From: Joey Lu <[email protected]>

vs_primary_plane_atomic_disable() calls regmap_set_bits() on
VSDC_FB_CONFIG_EX_FB_EN instead of regmap_clear_bits(), so disabling
the primary plane on DC8200-family hardware actually leaves the
framebuffer enable bit instead of clearing it.

Fixes: dbf21777caa8 ("drm: verisilicon: add a driver for Verisilicon display 
controllers")
Signed-off-by: Joey Lu <[email protected]>
[Icenowy: rebased on top of torvalds/master and reworked the commit
 message]
Signed-off-by: Icenowy Zheng <[email protected]>
---
 drivers/gpu/drm/verisilicon/vs_primary_plane.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/verisilicon/vs_primary_plane.c 
b/drivers/gpu/drm/verisilicon/vs_primary_plane.c
index 8e94491693019..d5563c3b825c3 100644
--- a/drivers/gpu/drm/verisilicon/vs_primary_plane.c
+++ b/drivers/gpu/drm/verisilicon/vs_primary_plane.c
@@ -88,8 +88,8 @@ static void vs_primary_plane_atomic_disable(struct drm_plane 
*plane,
        unsigned int output = vcrtc->id;
        struct vs_dc *dc = vcrtc->dc;
 
-       regmap_set_bits(dc->regs, VSDC_FB_CONFIG_EX(output),
-                       VSDC_FB_CONFIG_EX_FB_EN);
+       regmap_clear_bits(dc->regs, VSDC_FB_CONFIG_EX(output),
+                         VSDC_FB_CONFIG_EX_FB_EN);
 
        vs_primary_plane_commit(dc, output);
 }
-- 
2.56.0

Reply via email to