xref: /linux/drivers/gpu/drm/i915/display/intel_alpm.h (revision 53597deca0e38c30e6cd4ba2114fa42d2bcd85bb)
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 			       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_lobf_disable(const struct intel_crtc_state *new_crtc_state);
29 void intel_alpm_port_configure(struct intel_dp *intel_dp,
30 			       const struct intel_crtc_state *crtc_state);
31 void intel_alpm_lobf_enable(const struct intel_crtc_state *new_crtc_state);
32 void intel_alpm_lobf_debugfs_add(struct intel_connector *connector);
33 bool intel_alpm_aux_wake_supported(struct intel_dp *intel_dp);
34 bool intel_alpm_aux_less_wake_supported(struct intel_dp *intel_dp);
35 bool intel_alpm_is_alpm_aux_less(struct intel_dp *intel_dp,
36 				 const struct intel_crtc_state *crtc_state);
37 void intel_alpm_disable(struct intel_dp *intel_dp);
38 bool intel_alpm_get_error(struct intel_dp *intel_dp);
39 void intel_alpm_lobf_compute_config_late(struct intel_dp *intel_dp,
40 					 struct intel_crtc_state *crtc_state);
41 int intel_alpm_lobf_min_guardband(struct intel_crtc_state *crtc_state);
42 #endif
43