Message ID | 1472269178-16593-1-git-send-email-zyw@rock-chips.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 2016年08月27日 11:39, Chris Zhong wrote: > 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> > --- > drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 4 ++++ > 1 file changed, 4 insertions(+) Thanks for your fix. applied to my drm-fixes. > diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c > index efbc41a..a0bfcff 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c > +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c > @@ -464,6 +464,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. > */ > @@ -513,6 +515,8 @@ static void vop_crtc_disable(struct drm_crtc *crtc) > spin_unlock(&vop->reg_lock); > } > > + vop_cfg_done(vop); > + > drm_crtc_vblank_off(crtc); > > /*
Hi Mark, On Mon, Aug 29, 2016 at 11:51 AM, Mark yao <mark.yao@rock-chips.com> wrote: > On 2016年08月27日 11:39, Chris Zhong wrote: >> >> 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> >> --- >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 4 ++++ >> 1 file changed, 4 insertions(+) > > Thanks for your fix. > > applied to my drm-fixes. This patch seems to have been lost in action. I don't see it in linux-next. Best regards, Tomasz
Hi Tomasz I had sent to Dave, but maybe something is wrong, it miss. the patch is on this pull-request: https://lists.freedesktop.org/archives/dri-devel/2016-September/118505.html I forgot to double check it, I will resend to Dave soon. Thanks. On 2017年01月17日 17:32, Tomasz Figa wrote: > Hi Mark, > > On Mon, Aug 29, 2016 at 11:51 AM, Mark yao <mark.yao@rock-chips.com> wrote: >> On 2016年08月27日 11:39, Chris Zhong wrote: >>> 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> >>> --- >>> drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 4 ++++ >>> 1 file changed, 4 insertions(+) >> Thanks for your fix. >> >> applied to my drm-fixes. > This patch seems to have been lost in action. I don't see it in linux-next. > > Best regards, > Tomasz > > >
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c index efbc41a..a0bfcff 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -464,6 +464,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. */ @@ -513,6 +515,8 @@ static void vop_crtc_disable(struct drm_crtc *crtc) spin_unlock(&vop->reg_lock); } + vop_cfg_done(vop); + drm_crtc_vblank_off(crtc); /*
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> --- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 4 ++++ 1 file changed, 4 insertions(+)