From patchwork Fri Feb 24 12:54:55 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Keeping X-Patchwork-Id: 9590127 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id CBC54601AE for ; Fri, 24 Feb 2017 12:59:21 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 90BC528756 for ; Fri, 24 Feb 2017 12:59:21 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 842A52875C; Fri, 24 Feb 2017 12:59:21 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 146EB28756 for ; Fri, 24 Feb 2017 12:59:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=8r9OHwCT3RhdzY5/mvvdXjPnxBRpTgntLC3YdzFkwao=; b=tS+1WpGTWywodV7N7fqWIEs9bP bc75oNaFAZ6t8NORHtI8dy6qr8L7rjfKFao3AaHzN/pHYIR/oQMwKGNE+iHkODULNLB/2ssUK5w2J qhZwS2QohQv8sgySpwfWBekQ5G0HS5E8X3ybn6M4jCBqab6Z1eQFjwQfu7mei183aMinJO6TsIM6u mPRF2a+2XmHYfd0pKtXgF2Ifj22hw12qRCiLDDVpl5F/nEaX19BkobqM8l5EezrV59C83m7x2Bwgi i9Qm3yyZqT3e24NBhfzUYp8FyPeTJr+imjK6TcW+FKvd/bYk98xjDLnqo5rS8nWs0knURItYXujxc zv8eBQSg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1chFSu-0008Gc-TR; Fri, 24 Feb 2017 12:59:16 +0000 Received: from merlin.infradead.org ([2001:4978:20e::2]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1chFPi-0006Y5-7c; Fri, 24 Feb 2017 12:55:58 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=merlin.20170209; h=References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=v0SRb2J9rP38Qg1h6TTpl+tjCFFXgMOrABiuk+mxGo8=; b=RezReLpCF23tq9i/8e79xyNS1 XBak4dzKIE5PEkRUbBR6zw+l8K47Nul7IXhQQ4EQzO6nOQbxByIQ5ScL9zmHUyPiPdweGwhrRQh91 fIiP2omVeT5+cJVfB55oUZVG61x5SIAjhPpUq82/Z4X4WhiescTceE2NtN1Itx75Q5/vkAwxdSUdx Kym8+it2gtTRlhEjyHyd8NuICJSSDf7j97QzjnMR51Kol2uoYYancri+tpLk6Og/rTZ2ZzqmWheBA lL/8v/Xv5WZ36QGJvmRWHhh2IC/bbiHPPOVao9cqPY/6Hlr6GIC6nmUma0MgJTq9vCs5CpM95xeCu 3vKqnlocw==; Received: from dougal.metanate.com ([90.155.101.14] helo=metanate.com) by merlin.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1chFPd-00039Q-JY; Fri, 24 Feb 2017 12:55:57 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=simple/simple; d=metanate.com; s=stronger; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From; bh=5ipxTd0NJQh5n+HE2ee5r7fMx0frHorzU0Qm4zV7MK0=; b=e9eUVHKtxO5OLGfAdmd3rDPTaMQ/5zphQgYXQYf7cIvoq7uqrZrQI8qrNbmC38gWxAyajFwkrIXtvHAQ1uM7NSW6YMv+hOBf3H+NKdBWAXO0VcuaYf5+BR3M9UCIROiKUFNfNaNBdltqryPpwe05xT3bSdtYdJ9KePrW15KPq3uMcZSrtM/xwFAqQycCz2HrofAvk+klcKP4+KlEJ89Zlp2LVsqC7+6tU8Kc3Qi5be2lCdilYGogirJqNsrllRm2SKCWfglOLE7tMIWt76wyS7RjZlVw0M/DzImA13kTo+dyhIjYDc+kl4xSGC/8gDhlzDi1NVHW3u5HvtEVYyemWw==; Received: from brian ([192.168.88.1] helo=leela.metanate.com) by shrek.metanate.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-GCM-SHA256:128) (Exim 4.83_RC2) (envelope-from ) id 1chFP0-0006ml-UP; Fri, 24 Feb 2017 12:55:15 +0000 From: John Keeping To: Mark Yao Subject: [PATCH v4 12/23] drm/rockchip: dw-mipi-dsi: allow commands in panel_disable Date: Fri, 24 Feb 2017 12:54:55 +0000 Message-Id: <20170224125506.21533-13-john@metanate.com> X-Mailer: git-send-email 2.12.0.rc0.230.gf625d4cdb9.dirty In-Reply-To: <20170224125506.21533-1-john@metanate.com> References: <20170224125506.21533-1-john@metanate.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170224_075553_871389_3F0D28F6 X-CRM114-Status: UNSURE ( 8.42 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, Sean Paul , Chris Zhong , John Keeping , linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Panel drivers may want to sent commands during the disable function, for example MIPI_DCS_SET_DISPLAY_OFF before the video signal ends. In order to send commands we need to write to registers, so pclk must be enabled. While changing this, remove the unnecessary code after the panel unprepare call which seems to be a workaround for a specific panel and thus belongs in the panel driver. Signed-off-by: John Keeping Reviewed-by: Chris Zhong Reviewed-by: Sean Paul --- v4: - Add Sean's Reviewed-by v3: - Add Chris' Reviewed-by Unchanged in v2 --- drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c index 53515404d0ca..4201a2143295 100644 --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c @@ -848,24 +848,16 @@ static void dw_mipi_dsi_encoder_disable(struct drm_encoder *encoder) { struct dw_mipi_dsi *dsi = encoder_to_dsi(encoder); - drm_panel_disable(dsi->panel); - if (clk_prepare_enable(dsi->pclk)) { dev_err(dsi->dev, "%s: Failed to enable pclk\n", __func__); return; } + drm_panel_disable(dsi->panel); + dw_mipi_dsi_set_mode(dsi, DW_MIPI_DSI_CMD_MODE); drm_panel_unprepare(dsi->panel); - dw_mipi_dsi_set_mode(dsi, DW_MIPI_DSI_VID_MODE); - /* - * This is necessary to make sure the peripheral will be driven - * normally when the display is enabled again later. - */ - msleep(120); - - dw_mipi_dsi_set_mode(dsi, DW_MIPI_DSI_CMD_MODE); dw_mipi_dsi_disable(dsi); clk_disable_unprepare(dsi->pclk); }