From e95ab06761fec6a87be4c948723b69bbe39a46fa Mon Sep 17 00:00:00 2001 From: Jayesh Choudhary Date: Wed, 13 Mar 2024 11:18:12 +0530 Subject: drm/bridge: sii902x: Fix mode_valid hook Currently, mode_valid hook returns all mode as valid. Add the check for the maximum and minimum pixel clock that the bridge can support while validating a mode. Signed-off-by: Jayesh Choudhary Reviewed-by: Aradhya Bhatia --- drivers/gpu/drm/bridge/sii902x.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c index bc48919b0a16..cf2af687dda3 100644 --- a/drivers/gpu/drm/bridge/sii902x.c +++ b/drivers/gpu/drm/bridge/sii902x.c @@ -163,6 +163,10 @@ #define SII902X_AUDIO_PORT_INDEX 3 +/* drm_display_mode clock is in kHz */ +#define SII902X_MIN_PIXEL_CLOCK 25000 +#define SII902X_MAX_PIXEL_CLOCK 165000 + struct sii902x { struct i2c_client *i2c; struct regmap *regmap; @@ -322,7 +326,11 @@ static int sii902x_get_modes(struct drm_connector *connector) static enum drm_mode_status sii902x_mode_valid(struct drm_connector *connector, struct drm_display_mode *mode) { - /* TODO: check mode */ + if (mode->clock < SII902X_MIN_PIXEL_CLOCK) + return MODE_CLOCK_LOW; + + if (mode->clock > SII902X_MAX_PIXEL_CLOCK) + return MODE_CLOCK_HIGH; return MODE_OK; } -- cgit v1.2.3