drm/bridge: tc358767: read display_props in get_modes()
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 28 May 2019 08:27:44 +0000 (11:27 +0300)
committerAndrzej Hajda <a.hajda@samsung.com>
Fri, 31 May 2019 13:41:29 +0000 (15:41 +0200)
We need to know the link bandwidth to filter out modes we cannot
support, so we need to have read the display props before doing the
filtering.

To ensure we have up to date display props, call tc_get_display_props()
in the beginning of tc_connector_get_modes().

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190528082747.3631-22-tomi.valkeinen@ti.com
drivers/gpu/drm/bridge/tc358767.c

index ffcbecf..2b9d604 100644 (file)
@@ -1188,6 +1188,13 @@ static int tc_connector_get_modes(struct drm_connector *connector)
        struct tc_data *tc = connector_to_tc(connector);
        struct edid *edid;
        unsigned int count;
+       int ret;
+
+       ret = tc_get_display_props(tc);
+       if (ret < 0) {
+               dev_err(tc->dev, "failed to read display props: %d\n", ret);
+               return 0;
+       }
 
        if (tc->panel && tc->panel->funcs && tc->panel->funcs->get_modes) {
                count = tc->panel->funcs->get_modes(tc->panel);