drm/rockchip: vop: make vop register setting take effect

The setting of vop registers need a reg_done writing to take effect.
In vop_enable the vop return to work by by restoring registers, but the
registers do not take effect immediately, it should a vop_cfg_done
after it. The same thing is needed by windows_disabled in
vop_crtc_disable.

Signed-off-by: Chris Zhong <zyw@rock-chips.com>
This commit is contained in:
Chris Zhong 2016-08-26 20:39:38 -07:00 committed by Mark Yao
parent 99743ae4c5
commit 17a794d768

View File

@ -531,6 +531,8 @@ static int vop_enable(struct drm_crtc *crtc)
} }
memcpy(vop->regs, vop->regsbak, vop->len); memcpy(vop->regs, vop->regsbak, vop->len);
vop_cfg_done(vop);
/* /*
* At here, vop clock & iommu is enable, R/W vop regs would be safe. * At here, vop clock & iommu is enable, R/W vop regs would be safe.
*/ */
@ -582,6 +584,8 @@ static void vop_crtc_disable(struct drm_crtc *crtc)
spin_unlock(&vop->reg_lock); spin_unlock(&vop->reg_lock);
} }
vop_cfg_done(vop);
drm_crtc_vblank_off(crtc); drm_crtc_vblank_off(crtc);
/* /*