From: Uma Shankar <[email protected]>

In case of DSI, DDI PLL is not required.
Handle the same as part of DDI PLL handling.

Signed-off-by: Uma Shankar <[email protected]>
---
 drivers/gpu/drm/i915/intel_ddi.c | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)
 mode change 100644 => 100755 drivers/gpu/drm/i915/intel_ddi.c

diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
old mode 100644
new mode 100755
index 66b367d..16137ef
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -1102,13 +1102,13 @@ void intel_ddi_clock_get(struct intel_encoder *encoder,
 {
        struct intel_shared_dpll *pll;
 
-       pll = intel_get_shared_dpll(intel_crtc, crtc_state,
-                                   intel_encoder);
-       if (!pll)
+       pll = intel_get_shared_dpll(intel_crtc, crtc_state, intel_encoder);
+       if (pll == NULL) {
                DRM_DEBUG_DRIVER("failed to find PLL for pipe %c\n",
                                 pipe_name(intel_crtc->pipe));
-
-       return pll;
+               return false;
+       }
+       return true;
 }
 
 static bool
@@ -1124,7 +1124,6 @@ void intel_ddi_clock_get(struct intel_encoder *encoder,
                                 pipe_name(intel_crtc->pipe));
                return false;
        }
-
        return true;
 }
 
@@ -1133,7 +1132,15 @@ void intel_ddi_clock_get(struct intel_encoder *encoder,
                   struct intel_crtc_state *crtc_state,
                   struct intel_encoder *intel_encoder)
 {
-       return !!intel_get_shared_dpll(intel_crtc, crtc_state, intel_encoder);
+       struct intel_shared_dpll *pll;
+
+       pll = intel_get_shared_dpll(intel_crtc, crtc_state, intel_encoder);
+       if (pll == NULL) {
+               DRM_DEBUG_DRIVER("failed to find PLL for pipe %c\n",
+                                pipe_name(intel_crtc->pipe));
+               return false;
+       }
+       return true;
 }
 
 /*
@@ -1150,6 +1157,9 @@ bool intel_ddi_pll_select(struct intel_crtc *intel_crtc,
        struct intel_encoder *intel_encoder =
                intel_ddi_get_crtc_new_encoder(crtc_state);
 
+       if (intel_encoder->type == INTEL_OUTPUT_DSI)
+               return true;
+
        if (IS_SKYLAKE(dev_priv) || IS_KABYLAKE(dev_priv))
                return skl_ddi_pll_select(intel_crtc, crtc_state,
                                          intel_encoder);
-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to