Initialize alpm for DP2.1 and separate out alpm mutex-init from alpm-init. v1: Initial version. v2: Separate out mutex-init. [Jani]
Cc: Jouni Högander <[email protected]> Signed-off-by: Animesh Manna <[email protected]> --- drivers/gpu/drm/i915/display/intel_alpm.c | 1 - drivers/gpu/drm/i915/display/intel_dp.c | 11 ++++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c b/drivers/gpu/drm/i915/display/intel_alpm.c index 6372f533f65b..639941e332f3 100644 --- a/drivers/gpu/drm/i915/display/intel_alpm.c +++ b/drivers/gpu/drm/i915/display/intel_alpm.c @@ -49,7 +49,6 @@ void intel_alpm_init(struct intel_dp *intel_dp) return; intel_dp->alpm_dpcd = dpcd; - mutex_init(&intel_dp->alpm.lock); } static int get_silence_period_symbols(const struct intel_crtc_state *crtc_state) diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index 0ec82fcbcf48..f995a98df2c3 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -6074,8 +6074,12 @@ intel_dp_detect(struct drm_connector *_connector, if (ret == 1) connector->base.epoch_counter++; - if (!intel_dp_is_edp(intel_dp)) + if (!intel_dp_is_edp(intel_dp)) { + if (DISPLAY_VER(display) >= 35) + intel_alpm_init(intel_dp); + intel_psr_init_dpcd(intel_dp); + } intel_dp_detect_dsc_caps(intel_dp, connector); @@ -6717,6 +6721,8 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp, intel_hpd_enable_detection(encoder); intel_alpm_init(intel_dp); + if (intel_dp->alpm_dpcd) + mutex_init(&intel_dp->alpm.lock); /* Cache DPCD and EDID for edp. */ has_dpcd = intel_edp_init_dpcd(intel_dp, connector); @@ -6932,6 +6938,9 @@ intel_dp_init_connector(struct intel_digital_port *dig_port, intel_psr_init(intel_dp); + if (DISPLAY_VER(display) >= 35) + mutex_init(&intel_dp->alpm.lock); + return true; fail: -- 2.29.0
