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