[PATCH 1/3] drm/rockchip: Remove unnecessary vblank get/put from vop driver

Sean Paul seanpaul at chromium.org
Thu Aug 18 23:34:09 UTC 2016


vblank references are handled in the top-level atomic complete
function, so no need to grab them again in the vop driver.

Signed-off-by: Sean Paul <seanpaul at chromium.org>
---
 drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index 1787084..7003e4d 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -112,7 +112,6 @@ struct vop {
 	struct device *dev;
 	struct drm_device *drm_dev;
 	bool is_enabled;
-	bool vblank_active;
 
 	/* mutex vsync_ work */
 	struct mutex vsync_mutex;
@@ -1108,10 +1107,6 @@ static void vop_crtc_atomic_begin(struct drm_crtc *crtc,
 	struct vop *vop = to_vop(crtc);
 
 	spin_lock_irq(&crtc->dev->event_lock);
-	vop->vblank_active = true;
-	WARN_ON(drm_crtc_vblank_get(crtc) != 0);
-	WARN_ON(vop->event);
-
 	if (crtc->state->event) {
 		vop->event = crtc->state->event;
 		crtc->state->event = NULL;
@@ -1201,11 +1196,6 @@ static void vop_handle_vblank(struct vop *vop)
 	if (vop->event) {
 		drm_crtc_send_vblank_event(crtc, vop->event);
 		vop->event = NULL;
-
-	}
-	if (vop->vblank_active) {
-		vop->vblank_active = false;
-		drm_crtc_vblank_put(crtc);
 	}
 	spin_unlock_irqrestore(&drm->event_lock, flags);
 
@@ -1476,7 +1466,6 @@ static int vop_initial(struct vop *vop)
 	clk_disable(vop->aclk);
 
 	vop->is_enabled = false;
-	vop->vblank_active = false;
 
 	return 0;
 
-- 
2.8.0.rc3.226.g39d4020



More information about the dri-devel mailing list