diff options
author | Dave Stevenson <dave.stevenson@raspberrypi.com> | 2022-06-13 17:47:43 +0300 |
---|---|---|
committer | Maxime Ripard <maxime@cerno.tech> | 2022-06-28 15:55:38 +0300 |
commit | 7bcb9c8d0bc9f3cab8ac2634b056c2e6b63945ca (patch) | |
tree | f436b7250edb1a0fe542e4af460a188a08dc0a56 /drivers/gpu/drm | |
parent | bc5b815e06f90cccdb6461aba1e49fdc2f3c8cd1 (diff) | |
download | linux-7bcb9c8d0bc9f3cab8ac2634b056c2e6b63945ca.tar.xz |
drm/vc4: dsi: Add correct stop condition to vc4_dsi_encoder_disable iteration
vc4_dsi_encoder_disable is partially an open coded version of
drm_bridge_chain_disable, but it missed a termination condition
in the loop for ->disable which meant that no post_disable
calls were made.
Add in the termination clause.
Fixes: 033bfe7538a1 ("drm/vc4: dsi: Fix bridge chain handling")
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://lore.kernel.org/r/20220613144800.326124-17-maxime@cerno.tech
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r-- | drivers/gpu/drm/vc4/vc4_dsi.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/vc4/vc4_dsi.c b/drivers/gpu/drm/vc4/vc4_dsi.c index 333ea96fcde4..b7b2c76770dc 100644 --- a/drivers/gpu/drm/vc4/vc4_dsi.c +++ b/drivers/gpu/drm/vc4/vc4_dsi.c @@ -803,6 +803,9 @@ static void vc4_dsi_encoder_disable(struct drm_encoder *encoder) list_for_each_entry_reverse(iter, &dsi->bridge_chain, chain_node) { if (iter->funcs->disable) iter->funcs->disable(iter); + + if (iter == dsi->bridge) + break; } vc4_dsi_ulps(dsi, true); |