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