diff options
author | Chris Zhong <zyw@rock-chips.com> | 2016-08-26 20:39:38 -0700 |
---|---|---|
committer | Mark Yao <mark.yao@rock-chips.com> | 2017-02-05 16:16:07 +0800 |
commit | 17a794d768383527408e23f2a1a04ac64c3d2ba6 (patch) | |
tree | 294ae021062042fcf629737a6249c51d088ef1b2 /drivers/gpu/drm/rockchip/rockchip_drm_vop.c | |
parent | 99743ae4c5f52f8f8ceb17783056fcc9b4f8b64c (diff) | |
download | lwn-17a794d768383527408e23f2a1a04ac64c3d2ba6.tar.gz lwn-17a794d768383527408e23f2a1a04ac64c3d2ba6.zip |
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>
Diffstat (limited to 'drivers/gpu/drm/rockchip/rockchip_drm_vop.c')
-rw-r--r-- | drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c index fb5f001f51c3..4f8b8631956a 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -531,6 +531,8 @@ static int vop_enable(struct drm_crtc *crtc) } 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. */ @@ -582,6 +584,8 @@ static void vop_crtc_disable(struct drm_crtc *crtc) spin_unlock(&vop->reg_lock); } + vop_cfg_done(vop); + drm_crtc_vblank_off(crtc); /* |