The eDP controller does not have a reliable way keep panel
powered on to read the sink capabilities. So, the controller
driver cannot validate if a mode can be supported by the
source. We will rely on the panel driver to populate only
the supported modes for now.

Signed-off-by: Sankeerth Billakanti <quic_sbill...@quicinc.com>
Reviewed-by: Douglas Anderson <diand...@chromium.org>
Reviewed-by: Stephen Boyd <swb...@chromium.org>
---
Changes in v10:
  - none 

Changes in v9:
  - none

Changes in v8:
  - add the drm/msm/dp tag in the commit title

 drivers/gpu/drm/msm/dp/dp_display.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c 
b/drivers/gpu/drm/msm/dp/dp_display.c
index fd1dddb9..637fb63 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -998,6 +998,14 @@ enum drm_mode_status dp_bridge_mode_valid(struct 
drm_bridge *bridge,
                return -EINVAL;
        }
 
+       /*
+        * The eDP controller currently does not have a reliable way of
+        * enabling panel power to read sink capabilities. So, we rely
+        * on the panel driver to populate only supported modes for now.
+        */
+       if (dp->is_edp)
+               return MODE_OK;
+
        if ((dp->max_pclk_khz <= 0) ||
                        (dp->max_pclk_khz > DP_MAX_PIXEL_CLK_KHZ) ||
                        (mode->clock > dp->max_pclk_khz))
-- 
2.7.4

Reply via email to