xref: /linux/drivers/gpu/drm/i915/display/intel_alpm.h (revision 22c55fb9eb92395d999b8404d73e58540d11bdd8)
1 /* SPDX-License-Identifier: MIT
2  *
3  * Copyright © 2024 Intel Corporation
4  */
5 
6 #ifndef _INTEL_ALPM_H
7 #define _INTEL_ALPM_H
8 
9 #include <linux/types.h>
10 
11 struct intel_dp;
12 struct intel_crtc_state;
13 struct drm_connector_state;
14 struct intel_connector;
15 struct intel_atomic_state;
16 struct intel_crtc;
17 
18 void intel_alpm_init(struct intel_dp *intel_dp);
19 bool intel_alpm_compute_params(struct intel_dp *intel_dp,
20 			       const struct intel_crtc_state *crtc_state);
21 void intel_alpm_lobf_compute_config(struct intel_dp *intel_dp,
22 				    struct intel_crtc_state *crtc_state,
23 				    struct drm_connector_state *conn_state);
24 void intel_alpm_configure(struct intel_dp *intel_dp,
25 			  const struct intel_crtc_state *crtc_state);
26 void intel_alpm_enable_sink(struct intel_dp *intel_dp,
27 			    const struct intel_crtc_state *crtc_state);
28 void intel_alpm_pre_plane_update(struct intel_atomic_state *state,
29 				 struct intel_crtc *crtc);
30 void intel_alpm_port_configure(struct intel_dp *intel_dp,
31 			       const struct intel_crtc_state *crtc_state);
32 void intel_alpm_post_plane_update(struct intel_atomic_state *state,
33 				  struct intel_crtc *crtc);
34 void intel_alpm_lobf_debugfs_add(struct intel_connector *connector);
35 bool intel_alpm_aux_wake_supported(struct intel_dp *intel_dp);
36 bool intel_alpm_aux_less_wake_supported(struct intel_dp *intel_dp);
37 bool intel_alpm_is_alpm_aux_less(struct intel_dp *intel_dp,
38 				 const struct intel_crtc_state *crtc_state);
39 void intel_alpm_disable(struct intel_dp *intel_dp);
40 bool intel_alpm_get_error(struct intel_dp *intel_dp);
41 #endif
42