Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1471093 > unrolled thread

[PATCH] drm/rockchip: vop: make vop register setting take effect

Started byChris Zhong <zyw@rock-chips.com>
First post2016-08-27 05:50 +0200
Last post2016-08-29 05:00 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] drm/rockchip: vop: make vop register setting take effect Chris Zhong <zyw@rock-chips.com> - 2016-08-27 05:50 +0200
    Re: [PATCH] drm/rockchip: vop: make vop register setting take effect Mark yao <mark.yao@rock-chips.com> - 2016-08-29 05:00 +0200

#1471093 — [PATCH] drm/rockchip: vop: make vop register setting take effect

FromChris Zhong <zyw@rock-chips.com>
Date2016-08-27 05:50 +0200
Subject[PATCH] drm/rockchip: vop: make vop register setting take effect
Message-ID<saCN3-7JW-1@gated-at.bofh.it>
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(+)

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);
 
 	/*
-- 
1.9.1

[toc] | [next] | [standalone]


#1471520

FromMark yao <mark.yao@rock-chips.com>
Date2016-08-29 05:00 +0200
Message-ID<sbkXL-1Bz-3@gated-at.bofh.it>
In reply to#1471093
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);
>   
>   	/*

-- 
Mark Yao

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web