diff options
author | Dmitry Baryshkov <dmitry.baryshkov@linaro.org> | 2020-10-15 18:36:28 +0300 |
---|---|---|
committer | Dmitry Baryshkov <dmitry.baryshkov@linaro.org> | 2020-10-15 21:05:41 +0300 |
commit | cf4b988a64dc6896d8641e28e08a2a827686104a (patch) | |
tree | 54ce512f7384a84e13ac88499a1862ecdcffaa6f | |
parent | 1bd4270d9df2c3553e7554642ea151078367fd63 (diff) |
drm: bridge: lt9611uxc: reset bridge on mode setting
Internal LT9611UXC logic can easily get wrong timings during mode
change. So reset the chip to help it switching to the new mode.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-rw-r--r-- | drivers/gpu/drm/bridge/lontium-lt9611uxc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c index 98f56753d87f..bff8ac960079 100644 --- a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c +++ b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c @@ -314,12 +314,14 @@ lt9611uxc_bridge_mode_valid(struct drm_bridge *bridge, static void lt9611uxc_bridge_post_disable(struct drm_bridge *bridge) { +#if 0 struct lt9611uxc *lt9611uxc = bridge_to_lt9611uxc(bridge); lt9611uxc_lock(lt9611uxc); regmap_update_bits(lt9611uxc->regmap, 0xb024, 0x1, 0x1); lt9611uxc->sleep = true; lt9611uxc_unlock(lt9611uxc); +#endif } static void lt9611uxc_video_setup(struct lt9611uxc *lt9611uxc, @@ -371,8 +373,7 @@ static void lt9611uxc_bridge_mode_set(struct drm_bridge *bridge, { struct lt9611uxc *lt9611uxc = bridge_to_lt9611uxc(bridge); - if (lt9611uxc->sleep) - lt9611uxc_reset(lt9611uxc); + lt9611uxc_reset(lt9611uxc); lt9611uxc_lock(lt9611uxc); lt9611uxc_video_setup(lt9611uxc, mode); |