Re: [PATCH v7 7/7] drm/verisilicon: fix DC8200 primary plane disable clearing FB_EN
From: Joey Lu <hidden>
Date: 2026-09-21 02:43:46
Also in:
dri-devel, linux-arm-kernel, lkml
Icenowy Zheng 於 2026/9/18 下午 01:52 寫道:
在 2026-09-18五的 11:01 +0800,Joey Lu写道:quoted
vs_dc8200_primary_plane_disable_ex() 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. This bug predates this series: it was carried over unchanged from vs_primary_plane_atomic_disable() when patch "drm/verisilicon: introduce per-variant hardware ops table" split the DC8200-specific implementation out into vs_dc8200.c. Fixes: dbf21777caa8 ("drm: verisilicon: add a driver for Verisilicon display controllers")Maybe it'd be better to fix this before adding DC variant abstraction, for easier backporting. Thanks, Icenowy
Makes sense. Should I send it as a standalone patch targeting drm-misc-fixes (separate from this series), or do you have a different preference for how to split it?
quoted
Signed-off-by: Joey Lu <redacted> --- drivers/gpu/drm/verisilicon/vs_dc8200.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)diff --git a/drivers/gpu/drm/verisilicon/vs_dc8200.cb/drivers/gpu/drm/verisilicon/vs_dc8200.c index f72da10295e1b..25b5906a1c5fc 100644--- a/drivers/gpu/drm/verisilicon/vs_dc8200.c +++ b/drivers/gpu/drm/verisilicon/vs_dc8200.c@@ -70,8 +70,8 @@ static voidvs_dc8200_primary_plane_enable_ex(struct vs_dc *dc, unsigned int out static void vs_dc8200_primary_plane_disable_ex(struct vs_dc *dc, unsigned int output) { - 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_dc8200_plane_commit(dc, output); }