Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp666121ybl; Wed, 14 Aug 2019 04:12:21 -0700 (PDT) X-Google-Smtp-Source: APXvYqzQSZrreZ1pNC6te+CYjcBYSeNFiAIqc08dj5OwDroPq0XoiHP567IYqCcxcze/4fRJ5jZN X-Received: by 2002:a63:7245:: with SMTP id c5mr39094083pgn.11.1565781141388; Wed, 14 Aug 2019 04:12:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565781141; cv=none; d=google.com; s=arc-20160816; b=VrccjYMkWCDZuub4bp5uwvEXl5mIsB85weNzUbtCkM6nM1a3Qfvd50HqsmrznJEmx1 Ko0vBqcXuv30fiId9Me4c92OERzEj9rb2MADJZGv+0YmmzZTaxCSvdWHAaGzQ4M0vRFu nHR5F/MPk2J+eJSDAeuI2hx9lWL3JZS3aKAaDamonr7zNYgtpKFzbffMliso3JGORdOX cdRAhyy4cmtBS03awYSLu6uWCv4YRBMDMypktzKRzUZYe7WyvtBoSHNKpdAVody7tj9D NeBx6PmwkND6ey/d/ipXi4Bu+9IFMxaG+kGNegjCl81pqUJAaM6FBeBiObpCDqcqZ72D pUFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:references :in-reply-to:subject:cc:to:from:date:content-transfer-encoding :mime-version:dkim-signature; bh=zRklUTy3QCcdz7Bkr887Hhr50N5yYNjIq/X9BNXHI9o=; b=hIPHbUdIPfhuofA8Fxn78NsKMOzlbo6p7D805Ws07ZuVhqXmRv4mbnVW5UU3pOYp8+ PL8/1Q/L2+6E59K8vNY0VJPgfvvTPtFOY7h36YqlsPLGWrqs4juaD1jgVk6el1btWAQu 2KjN3aKDmp8qFEmySfTz0k7crG2BKrb4TKsckEzB0szNwMCW/RA/BXzbpC72cti6WIy8 8CpUdOASFaKGsIBLOhc5papyJuYev2jKDSQhfwBF7PuTX68Wr9o3AoYnvOz5WpB5piKI sD0/SZwUxEVb5qHu7GsvYTWjs4WRnxinBqMVkEQ17paeZBSSYNJn4XQkdty3y/ngNhXY Z3MA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@agner.ch header.s=dkim header.b=P48GOUeG; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t63si65966293pfb.5.2019.08.14.04.12.05; Wed, 14 Aug 2019 04:12:21 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@agner.ch header.s=dkim header.b=P48GOUeG; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727461AbfHNLLG (ORCPT + 99 others); Wed, 14 Aug 2019 07:11:06 -0400 Received: from mail.kmu-office.ch ([178.209.48.109]:35898 "EHLO mail.kmu-office.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725800AbfHNLLG (ORCPT ); Wed, 14 Aug 2019 07:11:06 -0400 Received: from webmail.kmu-office.ch (unknown [IPv6:2a02:418:6a02::a3]) by mail.kmu-office.ch (Postfix) with ESMTPSA id 1699A5C004F; Wed, 14 Aug 2019 13:11:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=agner.ch; s=dkim; t=1565781063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zRklUTy3QCcdz7Bkr887Hhr50N5yYNjIq/X9BNXHI9o=; b=P48GOUeG3b8/JKFr/iPezJAYy2vRasI5H5FGuhSf1Oui9OSQ/TWqInDlUfipc71nMFzgnl 5m2e6dcEsauQ+7NOZeOttr/XFpegaCauBfYtDSRcS3DKzfw8af/4baNMFgxeofHYoO7szY V8/kx1wss45GV6kJJB3mvMPXx9YbSdA= MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Date: Wed, 14 Aug 2019 13:11:03 +0200 From: Stefan Agner To: Robert Chiras Cc: =?UTF-8?Q?Guido_G=C3=BCnther?= , Marek Vasut , David Airlie , Daniel Vetter , Rob Herring , Mark Rutland , Shawn Guo , Sascha Hauer , Fabio Estevam , Pengutronix Kernel Team , NXP Linux Team , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 04/15] drm/mxsfb: Reset vital register for a proper initialization In-Reply-To: <1565779731-1300-5-git-send-email-robert.chiras@nxp.com> References: <1565779731-1300-1-git-send-email-robert.chiras@nxp.com> <1565779731-1300-5-git-send-email-robert.chiras@nxp.com> Message-ID: <18d5f58deba8044042ab7b8d98a72803@agner.ch> X-Sender: stefan@agner.ch User-Agent: Roundcube Webmail/1.3.9 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2019-08-14 12:48, Robert Chiras wrote: > Some of the regiters need, like LCDC_CTRL and CTRL2_OUTSTANDING_REQS Typo in registers, and there is a need to many. > needs to be properly cleared and initialized for a better start and stop > routine. > > Signed-off-by: Robert Chiras > --- > drivers/gpu/drm/mxsfb/mxsfb_crtc.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/gpu/drm/mxsfb/mxsfb_crtc.c > b/drivers/gpu/drm/mxsfb/mxsfb_crtc.c > index b69ace8..5e44f57 100644 > --- a/drivers/gpu/drm/mxsfb/mxsfb_crtc.c > +++ b/drivers/gpu/drm/mxsfb/mxsfb_crtc.c > @@ -127,6 +127,10 @@ static void mxsfb_enable_controller(struct > mxsfb_drm_private *mxsfb) > clk_prepare_enable(mxsfb->clk_disp_axi); > clk_prepare_enable(mxsfb->clk); > > + if (mxsfb->devdata->ipversion >= 4) > + writel(CTRL2_OUTSTANDING_REQS(REQ_16), > + mxsfb->base + LCDC_V4_CTRL2 + REG_SET); > + > /* If it was disabled, re-enable the mode again */ > writel(CTRL_DOTCLK_MODE, mxsfb->base + LCDC_CTRL + REG_SET); > > @@ -136,12 +140,19 @@ static void mxsfb_enable_controller(struct > mxsfb_drm_private *mxsfb) > writel(reg, mxsfb->base + LCDC_VDCTRL4); > > writel(CTRL_RUN, mxsfb->base + LCDC_CTRL + REG_SET); > + writel(CTRL1_RECOVERY_ON_UNDERFLOW, mxsfb->base + LCDC_CTRL1 + REG_SET); This seems not to be accounted for in the commit message. Can you do this in a separate commit? Also I suggest to introduce CTRL1_RECOVERY_ON_UNDERFLOW in that same commit. -- Stefan > } > > static void mxsfb_disable_controller(struct mxsfb_drm_private *mxsfb) > { > u32 reg; > > + if (mxsfb->devdata->ipversion >= 4) > + writel(CTRL2_OUTSTANDING_REQS(0x7), > + mxsfb->base + LCDC_V4_CTRL2 + REG_CLR); > + > + writel(CTRL_RUN, mxsfb->base + LCDC_CTRL + REG_CLR); > + > /* > * Even if we disable the controller here, it will still continue > * until its FIFOs are running out of data > @@ -295,6 +306,7 @@ void mxsfb_crtc_enable(struct mxsfb_drm_private *mxsfb) > dma_addr_t paddr; > > mxsfb_enable_axi_clk(mxsfb); > + writel(0, mxsfb->base + LCDC_CTRL); > mxsfb_crtc_mode_set_nofb(mxsfb); > > /* Write cur_buf as well to avoid an initial corrupt frame */