Check the pixel clock for the mode in atomic_check and ensure that
it is within the range supported by the bridge.

Signed-off-by: Jayesh Choudhary <j-choudh...@ti.com>
---
 drivers/gpu/drm/bridge/sii902x.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c
index bae551e107f9..a5b7ee1e3bbe 100644
--- a/drivers/gpu/drm/bridge/sii902x.c
+++ b/drivers/gpu/drm/bridge/sii902x.c
@@ -517,6 +517,12 @@ static int sii902x_bridge_atomic_check(struct drm_bridge 
*bridge,
                                       struct drm_crtc_state *crtc_state,
                                       struct drm_connector_state *conn_state)
 {
+       if (crtc_state->mode.clock < SII902X_MIN_PIXEL_CLOCK_KHZ)
+               return MODE_CLOCK_LOW;
+
+       if (crtc_state->mode.clock > SII902X_MAX_PIXEL_CLOCK_KHZ)
+               return MODE_CLOCK_HIGH;
+
        /*
         * There might be flags negotiation supported in future but
         * set the bus flags in atomic_check statically for now.
-- 
2.25.1

Reply via email to