[PATCH] drm/i2c: tda998x: add some basic mode validation

Russell King rmk+kernel at arm.linux.org.uk
Thu Jun 26 03:08:51 PDT 2014


The TDA998x can't handle modes with clocks above 150MHz, or resolutions
larger than 8192x2048.

Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
---
David, this will be part of a pull request which I intend to send during
the next few days.  Luckily, the mode_valid method in tda998x hasn't was
not deleted.

 drivers/gpu/drm/i2c/tda998x_drv.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
index 3ff7d0713bfb..5a738ad0c241 100644
--- a/drivers/gpu/drm/i2c/tda998x_drv.c
+++ b/drivers/gpu/drm/i2c/tda998x_drv.c
@@ -810,6 +810,12 @@ static int
 tda998x_encoder_mode_valid(struct drm_encoder *encoder,
 			  struct drm_display_mode *mode)
 {
+	if (mode->clock > 150000)
+		return MODE_CLOCK_HIGH;
+	if (mode->htotal >= BIT(13))
+		return MODE_BAD_HVALUE;
+	if (mode->vtotal >= BIT(11))
+		return MODE_BAD_VVALUE;
 	return MODE_OK;
 }
 
-- 
1.8.3.1



More information about the dri-devel mailing list