From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932578AbcH2CwK (ORCPT ); Sun, 28 Aug 2016 22:52:10 -0400 Received: from regular1.263xmail.com ([211.150.99.130]:38165 "EHLO regular1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756147AbcH2CwJ (ORCPT ); Sun, 28 Aug 2016 22:52:09 -0400 X-263anti-spam: KSV:0; X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-ADDR-CHECKED: 0 X-RL-SENDER: mark.yao@rock-chips.com X-FST-TO: briannorris@chromium.org X-SENDER-IP: 58.22.7.114 X-LOGIN-NAME: mark.yao@rock-chips.com X-UNIQUE-TAG: X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Subject: Re: [PATCH] drm/rockchip: vop: make vop register setting take effect To: Chris Zhong , yzq@rock-chips.com, tfiga@chromium.org, heiko@sntech.de, airlied@linux.ie References: <1472269178-16593-1-git-send-email-zyw@rock-chips.com> Cc: dianders@chromium.org, marcheu@chromium.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, seanpaul@chromium.org, briannorris@chromium.org From: Mark yao Message-ID: <57C3A341.9030302@rock-chips.com> Date: Mon, 29 Aug 2016 10:51:45 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <1472269178-16593-1-git-send-email-zyw@rock-chips.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > --- > 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