| From 8436c26b406dfd0e92fd82d9d6e38734a3bb6252 Mon Sep 17 00:00:00 2001 |
| From: Tomi Valkeinen <tomi.valkeinen@ti.com> |
| Date: Tue, 28 May 2019 11:27:44 +0300 |
| Subject: drm/bridge: tc358767: read display_props in get_modes() |
| |
| [ Upstream commit 3231573065ad4f4ecc5c9147b24f29f846dc0c2f ] |
| |
| 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 |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/gpu/drm/bridge/tc358767.c | 7 +++++++ |
| 1 file changed, 7 insertions(+) |
| |
| diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c |
| index 391547358756..aaca5248da07 100644 |
| --- a/drivers/gpu/drm/bridge/tc358767.c |
| +++ b/drivers/gpu/drm/bridge/tc358767.c |
| @@ -1149,6 +1149,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); |
| -- |
| 2.20.1 |
| |