7229c75404
[ Upstream commit 6b44aa559d6c7f4ea591ef9d2352a7250138d62a ] The RK3066 VOP sets a dma_stop bit when it's done scanning out a frame and needs the driver to acknowledge that by clearing the bit. Unless we clear it "between" frames, the RGB output only shows noise instead of the picture. atomic_flush is the place for it that least affects other code (doing it on vblank would require converting all other usages of the reg_lock to spin_(un)lock_irq, which would affect performance for everyone). This seems to be a redundant synchronization mechanism that was removed in later iterations of the VOP hardware block. Fixes: f4a6de855eae ("drm: rockchip: vop: add rk3066 vop definitions") Cc: stable@vger.kernel.org Signed-off-by: Val Packett <val@packett.cool> Signed-off-by: Heiko Stuebner <heiko@sntech.de> Link: https://patchwork.freedesktop.org/patch/msgid/20240624204054.5524-2-val@packett.cool Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
---|---|---|
.. | ||
analogix_dp-rockchip.c | ||
cdn-dp-core.c | ||
cdn-dp-core.h | ||
cdn-dp-reg.c | ||
cdn-dp-reg.h | ||
dw-mipi-dsi-rockchip.c | ||
dw_hdmi-rockchip.c | ||
inno_hdmi.c | ||
inno_hdmi.h | ||
Kconfig | ||
Makefile | ||
rk3066_hdmi.c | ||
rk3066_hdmi.h | ||
rockchip_drm_drv.c | ||
rockchip_drm_drv.h | ||
rockchip_drm_fb.c | ||
rockchip_drm_fb.h | ||
rockchip_drm_fbdev.c | ||
rockchip_drm_fbdev.h | ||
rockchip_drm_gem.c | ||
rockchip_drm_gem.h | ||
rockchip_drm_vop.c | ||
rockchip_drm_vop.h | ||
rockchip_lvds.c | ||
rockchip_lvds.h | ||
rockchip_rgb.c | ||
rockchip_rgb.h | ||
rockchip_vop_reg.c | ||
rockchip_vop_reg.h |