]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
drm: xylon: connector: Call the encoder slave's mode_valid() function
authorHyun Kwon <hyun.kwon@xilinx.com>
Tue, 6 May 2014 02:52:32 +0000 (19:52 -0700)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 8 May 2014 06:48:33 +0000 (08:48 +0200)
Call the mode valid function of the necoder slave, and let the encoder
slave driver check validity of given mode.

Signed-off-by: Hyun Kwon <hyunk@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/gpu/drm/xylon/xylon_connector.c

index b637dd68a111fe854ec0e3f9aebf05eb8b109034..5f628f31423c5b245e55d72fda9d7db8bace9c8b 100644 (file)
@@ -55,10 +55,18 @@ static int xylon_drm_connector_get_modes(struct drm_connector *base_connector)
 static int xylon_drm_connector_mode_valid(struct drm_connector *base_connector,
                                          struct drm_display_mode *mode)
 {
-       if (mode->clock > CLOCK_HIGH_LIMIT)
-               return MODE_CLOCK_HIGH;
+       struct xylon_drm_connector *connector =
+               to_xylon_connector(base_connector);
+       struct drm_encoder *encoder = connector->encoder;
+       struct drm_encoder_slave *encoder_slave = to_encoder_slave(encoder);
+       struct drm_encoder_slave_funcs *encoder_sfuncs =
+               encoder_slave->slave_funcs;
+       int ret = MODE_OK;
+
+       if (encoder_sfuncs->mode_valid)
+               ret = encoder_sfuncs->mode_valid(encoder, mode);
 
-       return MODE_OK;
+       return ret;
 }
 
 static struct drm_encoder *