From patchwork Fri Feb 24 12:54:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Keeping X-Patchwork-Id: 9590087 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 63762601AE for ; Fri, 24 Feb 2017 12:56:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2A6C12875B for ; Fri, 24 Feb 2017 12:56:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1F17928783; Fri, 24 Feb 2017 12:56:55 +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 A80CD2875B for ; Fri, 24 Feb 2017 12:56:54 +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=FBUnv3mgabnjzRRqrd7w9IadQEaGm+tEhipJIVRLccs=; b=Dlk5IyXh+/QH+mzJ/QrKZAVU8d gNWNpyyphGno0cUy/5V/T8p7ScpDlUKNBQBJrSVwl+NvPlV7kVcqJOdA0GhGCs0P50lb8fCk//Y1e CY9EYwLAs+EELiH+QQyri2Od4fILEAw3gB+qqGNbz7dM8gtQKqIldgqiP3RNsXeB4yG+Yqx1yxRO1 biRLFChvr7jo4QQmP6jzUWpA3ElSx1hqzVD8xkQkaC4WQD6ERrtWzx4uy9TfIqtClrZ8X/LyuXA2X QLwwFSqz9kB7RieO4jggDtCpdt0JDXT4i1ybQCfU/vDcyQGDlYzaGneKIr23n+jX+0VidGbT8Xx57 utMCpcdw==; 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 1chFQX-0006lV-Kc; Fri, 24 Feb 2017 12:56:49 +0000 Received: from dougal.metanate.com ([90.155.101.14] helo=metanate.com) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1chFPY-0006Qr-Ab; Fri, 24 Feb 2017 12:55:51 +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=RQidnUzwQjjxYiu0CDbkeBYWvH+lUsyGumaKXmVuq7Q=; b=d7vSpyTCKBhsMWBLhAp4VGDVbpu9i/eId9PUImS+1KZpqlVt/OY6NQqJyC/ID+U/+WJQ9OFEjqaOAF8ybD/y8tdfAh7RacR5eqbI8VO6Rh27LBrGysGetPcm9Oe9BB8LEHmvsvIfSImtiOH+ED0tY1RIYNZCkPkLdIrhDwWwPou21SDlNlHM9goiCyxU63ENESNFlqkOABt9IU99tgjxDF8WI4hxA2QymSYyDVCdh2Pr+6wiwCmPLANNb3ncnUNTVvboHH+6ETQKpU0wWoJydLnUHCtSs4mwMqW6LiRAuTVOqB6WDrn1moRhW+YMpIjmGr6/JeRE7tX4HUcsY8353A==; 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 1chFP1-0006ml-22; Fri, 24 Feb 2017 12:55:15 +0000 From: John Keeping To: Mark Yao Subject: [PATCH v4 13/23] drm/rockchip: dw-mipi-dsi: fix escape clock rate Date: Fri, 24 Feb 2017 12:54:56 +0000 Message-Id: <20170224125506.21533-14-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_045548_601045_46DDB4EC X-CRM114-Status: GOOD ( 10.47 ) 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 This clock rate is derived from the PHY PLL, so it should be calculated dynamically. This calculation is the same as that used by the vendor kernel and ensures that the escape clock runs at <20MHz as required by the MIPI specification. Signed-off-by: John Keeping Reviewed-by: Chris Zhong Reviewed-by: Sean Paul --- v4: - Add a comment explaining the calculation and reword the commit message so that the calculation doesn't seem so magical - Add Sean's Reviewed-by v3: - Improve the commit message a bit - Add Chris' Reviewed-by Unchanged in v2 --- drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c index 4201a2143295..0f9be41f0361 100644 --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c @@ -712,11 +712,21 @@ static void dw_mipi_dsi_disable(struct dw_mipi_dsi *dsi) static void dw_mipi_dsi_init(struct dw_mipi_dsi *dsi) { + /* + * The maximum permitted escape clock is 20MHz and it is derived from + * lanebyteclk, which is running at "lane_mbps / 8". Thus we want: + * + * (lane_mbps >> 3) / esc_clk_division < 20 + * which is: + * (lane_mbps >> 3) / 20 > esc_clk_division + */ + u32 esc_clk_division = (dsi->lane_mbps >> 3) / 20 + 1; + dsi_write(dsi, DSI_PWR_UP, RESET); dsi_write(dsi, DSI_PHY_RSTZ, PHY_DISFORCEPLL | PHY_DISABLECLK | PHY_RSTZ | PHY_SHUTDOWNZ); dsi_write(dsi, DSI_CLKMGR_CFG, TO_CLK_DIVIDSION(10) | - TX_ESC_CLK_DIVIDSION(7)); + TX_ESC_CLK_DIVIDSION(esc_clk_division)); } static void dw_mipi_dsi_dpi_config(struct dw_mipi_dsi *dsi,