OSDN Git Service

drm/rockchip: vop: call vop_cfg_done() under reg_lock
authorEmil Velikov <emil.velikov@collabora.com>
Tue, 5 May 2020 15:16:13 +0000 (16:16 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Sun, 17 May 2020 15:49:34 +0000 (16:49 +0100)
The function vop_cfg_done() is a simple VOP_REG_SET(). As such it should
be done under a reg_lock. A quick look through the driver shows that all
other instances (apart from driver init) have the lock. Do the same here

Cc: Sandy Huang <hjc@rock-chips.com>
Cc: Heiko Stübner <heiko@sntech.de>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Sandy Huang <hjc@rock-chips.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200505151613.2932456-1-emil.l.velikov@gmail.com
drivers/gpu/drm/rockchip/rockchip_drm_vop.c

index 33463b7..1d76455 100644 (file)
@@ -645,10 +645,10 @@ static int vop_enable(struct drm_crtc *crtc, struct drm_crtc_state *old_state)
                s->enable_afbc = false;
        }
 
-       spin_unlock(&vop->reg_lock);
-
        vop_cfg_done(vop);
 
+       spin_unlock(&vop->reg_lock);
+
        /*
         * At here, vop clock & iommu is enable, R/W vop regs would be safe.
         */