Abstract ALPM DPCD initialization into its own function.

v2:
- Improve commit description. [Suraj, Jouni]

Cc: Jouni Högander <[email protected]>
Signed-off-by: Animesh Manna <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_alpm.c | 11 +++++++++++
 drivers/gpu/drm/i915/display/intel_alpm.h |  1 +
 drivers/gpu/drm/i915/display/intel_dp.c   |  6 +-----
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c 
b/drivers/gpu/drm/i915/display/intel_alpm.c
index 10943539bc7c..a6743fe62d48 100644
--- a/drivers/gpu/drm/i915/display/intel_alpm.c
+++ b/drivers/gpu/drm/i915/display/intel_alpm.c
@@ -43,6 +43,17 @@ bool intel_alpm_is_alpm_aux_less(struct intel_dp *intel_dp,
                (crtc_state->has_lobf && 
intel_alpm_aux_less_wake_supported(intel_dp));
 }
 
+bool intel_alpm_init_dpcd(struct intel_dp *intel_dp)
+{
+       u8 dpcd;
+
+       if (drm_dp_dpcd_read_byte(&intel_dp->aux, DP_RECEIVER_ALPM_CAP, &dpcd) 
< 0)
+               return false;
+
+       intel_dp->alpm_dpcd = dpcd;
+       return true;
+}
+
 void intel_alpm_init(struct intel_dp *intel_dp)
 {
        mutex_init(&intel_dp->alpm.lock);
diff --git a/drivers/gpu/drm/i915/display/intel_alpm.h 
b/drivers/gpu/drm/i915/display/intel_alpm.h
index f8f605d94f96..56c3e1482e37 100644
--- a/drivers/gpu/drm/i915/display/intel_alpm.h
+++ b/drivers/gpu/drm/i915/display/intel_alpm.h
@@ -15,6 +15,7 @@ struct intel_connector;
 struct intel_atomic_state;
 struct intel_crtc;
 
+bool intel_alpm_init_dpcd(struct intel_dp *intel_dp);
 void intel_alpm_init(struct intel_dp *intel_dp);
 bool intel_alpm_compute_params(struct intel_dp *intel_dp,
                               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 0cd5e6b5034c..650c8b39270b 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -4783,7 +4783,6 @@ static bool
 intel_edp_init_dpcd(struct intel_dp *intel_dp, struct intel_connector 
*connector)
 {
        struct intel_display *display = to_intel_display(intel_dp);
-       int ret;
        u8 dprx;
 
        /* this function is meant to be called only once */
@@ -4829,10 +4828,7 @@ intel_edp_init_dpcd(struct intel_dp *intel_dp, struct 
intel_connector *connector
         */
        intel_dp_init_source_oui(intel_dp);
 
-       /* Read the ALPM DPCD caps */
-       ret = drm_dp_dpcd_read_byte(&intel_dp->aux, DP_RECEIVER_ALPM_CAP,
-                                   &intel_dp->alpm_dpcd);
-       if (ret < 0)
+       if (!intel_alpm_init_dpcd(intel_dp))
                return false;
 
        /*
-- 
2.29.0

Reply via email to