From patchwork Thu Jan 18 18:45:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Brunet X-Patchwork-Id: 125003 Delivered-To: patch@linaro.org Received: by 10.46.64.27 with SMTP id n27csp247204lja; Thu, 18 Jan 2018 10:45:44 -0800 (PST) X-Google-Smtp-Source: ACJfBosWO8tvpseThPnkpEPDI2sEW5kkevyGKlFddepPHt0GehkgBx+4oPFrg9CfCw2MVLS+WkbC X-Received: by 10.98.144.213 with SMTP id q82mr17617654pfk.59.1516301144379; Thu, 18 Jan 2018 10:45:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516301144; cv=none; d=google.com; s=arc-20160816; b=wDC+7u4iEQHITgmqVZBqRTeIkbVhuWl9MKr8hCo264EMd3PeTNFFneUoD2Il2TyxDt e+9lZlQ5CZfObuXj0eV03uo0nCkCnd8kbltCmgE2/QBKASnK7Zm3DO2I3KSho8HXYu7F o3YZ1X+nP1x2NQPD+sOtVCGaEa4oJb29cYk2mTYgXy6/YSXlX0SqsWaiRtWSsxgbgiH0 9WBqrBwHRntc6XxBhspQbRcF1GJ8NxQq1+XEoc2RiP3FDTuGBCnhlJXd6lrBWUeF+QQ+ CHgQZCsiASi9AsxVdPjJk1DDpZfcnNzWJNIwcc1JRfLQoI9yAFnZWYxzEcmbTF/ZqC+r E+zA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=RItXkslxKZcjuxPXqK8QX2m70p44JFKu6G7KWp9RBIE=; b=BB7pJuNb1PSRYyDLABVtT6gjKhqIFCVNqcSKFFgY02ckH3oB0AhyxbKx2y9+a80l8Q GUnjVvsFgcFtyic7sAVSHFYFc0pG9jxKQUuCFmAl8MqAnzeg8Zmi6zIyaopnwHlpiONN hBOfOohWIVTMmNUjpn49J09/ouy3c7r1sTnnnXJ9JIzQZ4ZLOsVFmJnbf9EflWL0NMH6 Tk+BMPMOrUP6QmuUu9jhh3u/kF/i3IYhxiCWvgMS36kh6a/soBMpXElx51hc7L4m6S6G aedTdtZjkqzL2XUo0WJj3he8LZI4sMCJ/VAzGmKO2Pm6Hjec8oUuLGnZESeqQaSzT42U 2AXg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=lIzXOeAx; 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 a11-v6si113495plt.567.2018.01.18.10.45.44; Thu, 18 Jan 2018 10:45:44 -0800 (PST) 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=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=lIzXOeAx; 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 S1755791AbeARSpl (ORCPT + 28 others); Thu, 18 Jan 2018 13:45:41 -0500 Received: from mail-wr0-f196.google.com ([209.85.128.196]:38320 "EHLO mail-wr0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755383AbeARSph (ORCPT ); Thu, 18 Jan 2018 13:45:37 -0500 Received: by mail-wr0-f196.google.com with SMTP id x1so19457787wrb.5 for ; Thu, 18 Jan 2018 10:45:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=RItXkslxKZcjuxPXqK8QX2m70p44JFKu6G7KWp9RBIE=; b=lIzXOeAxpVl/CRATU+8FpCYZllldGrKvj1oVWNsiFvxVa/5r1Olo8aCydD/9fz40Ex UdwzhnOzqQru3WfZdZS0OuVgnRB7HiBs4nONXPiZ4Zvu1ITf+h1iggyVyWFma1WP/njB Q0v9/zN5RpBzvWlp/ljXV9bxQ9XQ9uuAvHYPGd99EDLRAVY3PtlWrZKoEYAWfh2eGVG6 oa7/+LjyNenSV8pbk6QtwoxExtNNxL7vug5d5UsG7zxVxOmUr8Kd+zZEmQ/Ksv/QKR2k gr2dCzf++PkJgxCOfsgx5lHkA5tYZRa3ifXEDJk/VTbTig44GvE5pJf0dq17Ta6Yqvj1 3pfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=RItXkslxKZcjuxPXqK8QX2m70p44JFKu6G7KWp9RBIE=; b=I+pfZhL39mlVD7US+jiwSaswiasVlT54FFHNohxAMrnZU9VeDga5ehf7A01RMXP/eX 963tF+P4A6UV5e0ECZMYbrJf4blwofb8UUFswaphCJS041+Zra8OzjPfLnOL8BpwQaf9 toHIaMBDMPbAatQw+/RSV+/OpoE91kQtCLwH++z7grpvdWTzjGhH7fnjEbF7soLmoCaS Fe3dwcSyp72/d6WVCbAN4dPGrwym3nNSxBwwiRV234yDeJNWovmwx5p+3RM2yriTTeXp CVBb6b0MA7IVKYx20OvPUANvIlCefQYB0DCZVJneora11ALECANMRCscPZeBtmmXQaHZ P65A== X-Gm-Message-State: AKwxytfiFqvbbMUINvIXqVDvh4pHrMvDlNApNitXdXiRbHwhZELNgzD+ bIEEf9AAMPsMGKPlgPa0nMz9og== X-Received: by 10.223.158.131 with SMTP id a3mr7496997wrf.83.1516301136235; Thu, 18 Jan 2018 10:45:36 -0800 (PST) Received: from boomer.baylibre.local ([90.63.244.31]) by smtp.googlemail.com with ESMTPSA id y62sm6240236wrb.48.2018.01.18.10.45.35 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 18 Jan 2018 10:45:35 -0800 (PST) From: Jerome Brunet To: Neil Armstrong Cc: Jerome Brunet , Kevin Hilman , Carlo Caione , Michael Turquette , Stephen Boyd , linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/9] clk: meson: check pll rate param table before using it Date: Thu, 18 Jan 2018 19:45:24 +0100 Message-Id: <20180118184532.6856-2-jbrunet@baylibre.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180118184532.6856-1-jbrunet@baylibre.com> References: <20180118184532.6856-1-jbrunet@baylibre.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Make sure the rate param table is available before using it. Some read-only pll don't provide it, which is ok because the table is not used by read-only clock. R/W clock are supposed to provide it, but it does not hurt check it. Signed-off-by: Jerome Brunet --- drivers/clk/meson/clk-pll.c | 10 ++++++++++ 1 file changed, 10 insertions(+) -- 2.14.3 diff --git a/drivers/clk/meson/clk-pll.c b/drivers/clk/meson/clk-pll.c index 01341553f50b..2614341fc4ad 100644 --- a/drivers/clk/meson/clk-pll.c +++ b/drivers/clk/meson/clk-pll.c @@ -94,6 +94,13 @@ static long meson_clk_pll_round_rate(struct clk_hw *hw, unsigned long rate, const struct pll_rate_table *rate_table = pll->rate_table; int i; + /* + * if the table is missing, just return the current rate + * since we don't have the other available frequencies + */ + if (!rate_table) + return meson_clk_pll_recalc_rate(hw, *parent_rate); + for (i = 0; i < pll->rate_count; i++) { if (rate <= rate_table[i].rate) return rate_table[i].rate; @@ -109,6 +116,9 @@ static const struct pll_rate_table *meson_clk_get_pll_settings(struct meson_clk_ const struct pll_rate_table *rate_table = pll->rate_table; int i; + if (!rate_table) + return NULL; + for (i = 0; i < pll->rate_count; i++) { if (rate == rate_table[i].rate) return &rate_table[i]; From patchwork Thu Jan 18 18:45:25 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Brunet X-Patchwork-Id: 125012 Delivered-To: patch@linaro.org Received: by 10.46.64.27 with SMTP id n27csp247855lja; Thu, 18 Jan 2018 10:47:42 -0800 (PST) X-Google-Smtp-Source: ACJfBouQcndr7YlCppO4irZsQ9K0cT3N+eWiDkH0Z9QzWB5fi+mdOfnfe3+6FmpTq+NK+iDHBhHf X-Received: by 10.101.89.3 with SMTP id f3mr25672672pgu.372.1516301262058; Thu, 18 Jan 2018 10:47:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516301262; cv=none; d=google.com; s=arc-20160816; b=F6nJUP7q4qimvHQuujpRCq1LNOsHR3cMvMcwldaC/9Lff3N29dEJ02899chIRsMoji QeggtnBiv8Lv1otcSFCMfXfu/dFDcBlzyEpVakaO35nuXrUccVJrXuO9IBu5+2Col3qi +vj50TR0dB2xg1dTEMhDXID7U51URI/S2ZVYy8Yi03Y8YioOPTnmd781rWBrEkiKODmK CcY+IsjLobcIKIFLv4tsbms2mwmPP8dUJJNvefHo6iAEpmvMJMk+sJMA4wF0PVkiHTdU +aC6JqV/5/caqLxuPMCAq1NSSP63A9rT8Jytqt7upBFuxZdknLiFYUHx4N7XsNBCq8Hv ROYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=cEVzdbzza3/BDTH/BzzyCgvmf2gyqJtnttAGY3Tiw2k=; b=mTb/mmPCV0vgF8ZDukh/0mdhIr5st2jpH4O5Nchti4Z5NhpumJJOUHy9N38SZ+Ici5 BtdLX+gU5bkV/4wyixjpmH/F+8FpIzT5tfzC8NYSyIFoicvN6pHI5OXBMGSHMu3eJhWT +ULx7C+CNE0pCFz6mLXnGcZ6h92z7CrbdKKuVK0Je6cGvwW6XtbTsLI+VU7OevSY1Wit hBje4lRIUwLcw+P6iZxM1Hr6ISftKDxqtp1opCQR+qW18uTUJKs/SOuhGWxYUZR5F4fS CH1Sm0jEJgvBHUHKKSZ6XkTB7xixLGgpcrkPfCMMe+abeVDKZEY6tiKn6vSCloIYCzOo TBUw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=svhL6fuw; 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 i1si6729064pgo.426.2018.01.18.10.47.41; Thu, 18 Jan 2018 10:47:42 -0800 (PST) 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=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=svhL6fuw; 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 S932758AbeARSrk (ORCPT + 28 others); Thu, 18 Jan 2018 13:47:40 -0500 Received: from mail-wm0-f67.google.com ([74.125.82.67]:36155 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755571AbeARSpi (ORCPT ); Thu, 18 Jan 2018 13:45:38 -0500 Received: by mail-wm0-f67.google.com with SMTP id f3so24988885wmc.1 for ; Thu, 18 Jan 2018 10:45:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=cEVzdbzza3/BDTH/BzzyCgvmf2gyqJtnttAGY3Tiw2k=; b=svhL6fuwKS+CyDMwQO0KPQI/UsGsh1fa/iVB6vIHEIcr4C+gtw5Z4bN9pdLUxeavhe 3mv3NLa70OXtqwjVSBPoGobQMiQuDJCkMUVK9C+4Ihdt9EbBCmT3RxvgT+JIrl5JEQo4 qpnEljhyeaZVT/ZahiBqip0ac563rVy2iHH6hDfDdk4uGifNGCkp3L7ibJX6gqSwTzdS 4aLJu0LeaZsNJWc7abUc73eYcZwQOlFpI/Jfm7Y1/0AVyxithkVXBT8cg9NPdf0YcBO4 +DR0E2tt2M1cXSIH7t3dcnwp/zFExjBwyJIalXNz5aKmxLHPyEJbp65k4lcu0zrCFOiM yp3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=cEVzdbzza3/BDTH/BzzyCgvmf2gyqJtnttAGY3Tiw2k=; b=Bqy0vTc34q+Ja1Tp1I2qu+IcLxM7L6+mLPI7WXKzjSbYAQGlO7gaIyfddkFXkEQgyG W2EOT8kPu0z2h8Wf6zsLzhcQmzuWBhdyx1IkWef5Gg+N3uhS2L9nvelykfxc+mHsgURX DeYV3UWFPHXkAb14rdUEOIm5uHzUIX2pXig8lu7UiaMtie61Q2ZupoYrpQvVoDU7UR8f TXw8upwZ3aqAMEDEFVhKrV7CfiwRsFr91McU8EyB9Iz4e+x51SM97A24C57+bjlVagHy dhocnCz9YZOKa2a3aNtzJ2C9qf9dbVAyuKKLB/T6cSfm0rnFyTFIb1ysQTwrPRPXzwZr HpaA== X-Gm-Message-State: AKwxytdcpztnoGBK4j/sGH4t+zADeCo3/31FSnhxLbfrfWEcci5U2X54 Q+qlTBYMavJIFH5fweY5LMNsXw== X-Received: by 10.28.174.20 with SMTP id x20mr5458771wme.87.1516301137150; Thu, 18 Jan 2018 10:45:37 -0800 (PST) Received: from boomer.baylibre.local ([90.63.244.31]) by smtp.googlemail.com with ESMTPSA id y62sm6240236wrb.48.2018.01.18.10.45.36 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 18 Jan 2018 10:45:36 -0800 (PST) From: Jerome Brunet To: Neil Armstrong Cc: Jerome Brunet , Kevin Hilman , Carlo Caione , Michael Turquette , Stephen Boyd , linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/9] clk: meson: remove useless pll rate param tables Date: Thu, 18 Jan 2018 19:45:25 +0100 Message-Id: <20180118184532.6856-3-jbrunet@baylibre.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180118184532.6856-1-jbrunet@baylibre.com> References: <20180118184532.6856-1-jbrunet@baylibre.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Read-only pll don't need param table to recalculate the rate. Providing them with a param table is just a waste of memory. Remove the useless tables from sys_pll on gxbb and axg. Signed-off-by: Jerome Brunet --- drivers/clk/meson/axg.c | 94 ------------------------------------------------ drivers/clk/meson/gxbb.c | 94 ------------------------------------------------ 2 files changed, 188 deletions(-) -- 2.14.3 diff --git a/drivers/clk/meson/axg.c b/drivers/clk/meson/axg.c index 02f4401d7bc3..56806c6bd9d5 100644 --- a/drivers/clk/meson/axg.c +++ b/drivers/clk/meson/axg.c @@ -21,98 +21,6 @@ static DEFINE_SPINLOCK(meson_clk_lock); -static const struct pll_rate_table sys_pll_rate_table[] = { - PLL_RATE(24000000, 56, 1, 2), - PLL_RATE(48000000, 64, 1, 2), - PLL_RATE(72000000, 72, 1, 2), - PLL_RATE(96000000, 64, 1, 2), - PLL_RATE(120000000, 80, 1, 2), - PLL_RATE(144000000, 96, 1, 2), - PLL_RATE(168000000, 56, 1, 1), - PLL_RATE(192000000, 64, 1, 1), - PLL_RATE(216000000, 72, 1, 1), - PLL_RATE(240000000, 80, 1, 1), - PLL_RATE(264000000, 88, 1, 1), - PLL_RATE(288000000, 96, 1, 1), - PLL_RATE(312000000, 52, 1, 2), - PLL_RATE(336000000, 56, 1, 2), - PLL_RATE(360000000, 60, 1, 2), - PLL_RATE(384000000, 64, 1, 2), - PLL_RATE(408000000, 68, 1, 2), - PLL_RATE(432000000, 72, 1, 2), - PLL_RATE(456000000, 76, 1, 2), - PLL_RATE(480000000, 80, 1, 2), - PLL_RATE(504000000, 84, 1, 2), - PLL_RATE(528000000, 88, 1, 2), - PLL_RATE(552000000, 92, 1, 2), - PLL_RATE(576000000, 96, 1, 2), - PLL_RATE(600000000, 50, 1, 1), - PLL_RATE(624000000, 52, 1, 1), - PLL_RATE(648000000, 54, 1, 1), - PLL_RATE(672000000, 56, 1, 1), - PLL_RATE(696000000, 58, 1, 1), - PLL_RATE(720000000, 60, 1, 1), - PLL_RATE(744000000, 62, 1, 1), - PLL_RATE(768000000, 64, 1, 1), - PLL_RATE(792000000, 66, 1, 1), - PLL_RATE(816000000, 68, 1, 1), - PLL_RATE(840000000, 70, 1, 1), - PLL_RATE(864000000, 72, 1, 1), - PLL_RATE(888000000, 74, 1, 1), - PLL_RATE(912000000, 76, 1, 1), - PLL_RATE(936000000, 78, 1, 1), - PLL_RATE(960000000, 80, 1, 1), - PLL_RATE(984000000, 82, 1, 1), - PLL_RATE(1008000000, 84, 1, 1), - PLL_RATE(1032000000, 86, 1, 1), - PLL_RATE(1056000000, 88, 1, 1), - PLL_RATE(1080000000, 90, 1, 1), - PLL_RATE(1104000000, 92, 1, 1), - PLL_RATE(1128000000, 94, 1, 1), - PLL_RATE(1152000000, 96, 1, 1), - PLL_RATE(1176000000, 98, 1, 1), - PLL_RATE(1200000000, 50, 1, 0), - PLL_RATE(1224000000, 51, 1, 0), - PLL_RATE(1248000000, 52, 1, 0), - PLL_RATE(1272000000, 53, 1, 0), - PLL_RATE(1296000000, 54, 1, 0), - PLL_RATE(1320000000, 55, 1, 0), - PLL_RATE(1344000000, 56, 1, 0), - PLL_RATE(1368000000, 57, 1, 0), - PLL_RATE(1392000000, 58, 1, 0), - PLL_RATE(1416000000, 59, 1, 0), - PLL_RATE(1440000000, 60, 1, 0), - PLL_RATE(1464000000, 61, 1, 0), - PLL_RATE(1488000000, 62, 1, 0), - PLL_RATE(1512000000, 63, 1, 0), - PLL_RATE(1536000000, 64, 1, 0), - PLL_RATE(1560000000, 65, 1, 0), - PLL_RATE(1584000000, 66, 1, 0), - PLL_RATE(1608000000, 67, 1, 0), - PLL_RATE(1632000000, 68, 1, 0), - PLL_RATE(1656000000, 68, 1, 0), - PLL_RATE(1680000000, 68, 1, 0), - PLL_RATE(1704000000, 68, 1, 0), - PLL_RATE(1728000000, 69, 1, 0), - PLL_RATE(1752000000, 69, 1, 0), - PLL_RATE(1776000000, 69, 1, 0), - PLL_RATE(1800000000, 69, 1, 0), - PLL_RATE(1824000000, 70, 1, 0), - PLL_RATE(1848000000, 70, 1, 0), - PLL_RATE(1872000000, 70, 1, 0), - PLL_RATE(1896000000, 70, 1, 0), - PLL_RATE(1920000000, 71, 1, 0), - PLL_RATE(1944000000, 71, 1, 0), - PLL_RATE(1968000000, 71, 1, 0), - PLL_RATE(1992000000, 71, 1, 0), - PLL_RATE(2016000000, 72, 1, 0), - PLL_RATE(2040000000, 72, 1, 0), - PLL_RATE(2064000000, 72, 1, 0), - PLL_RATE(2088000000, 72, 1, 0), - PLL_RATE(2112000000, 73, 1, 0), - { /* sentinel */ }, -}; - static struct meson_clk_pll axg_fixed_pll = { .m = { .reg_off = HHI_MPLL_CNTL, @@ -154,8 +62,6 @@ static struct meson_clk_pll axg_sys_pll = { .shift = 10, .width = 2, }, - .rate_table = sys_pll_rate_table, - .rate_count = ARRAY_SIZE(sys_pll_rate_table), .lock = &meson_clk_lock, .hw.init = &(struct clk_init_data){ .name = "sys_pll", diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c index 472a3cfbfbc5..2d851bad13fa 100644 --- a/drivers/clk/meson/gxbb.c +++ b/drivers/clk/meson/gxbb.c @@ -29,98 +29,6 @@ static DEFINE_SPINLOCK(meson_clk_lock); -static const struct pll_rate_table sys_pll_rate_table[] = { - PLL_RATE(24000000, 56, 1, 2), - PLL_RATE(48000000, 64, 1, 2), - PLL_RATE(72000000, 72, 1, 2), - PLL_RATE(96000000, 64, 1, 2), - PLL_RATE(120000000, 80, 1, 2), - PLL_RATE(144000000, 96, 1, 2), - PLL_RATE(168000000, 56, 1, 1), - PLL_RATE(192000000, 64, 1, 1), - PLL_RATE(216000000, 72, 1, 1), - PLL_RATE(240000000, 80, 1, 1), - PLL_RATE(264000000, 88, 1, 1), - PLL_RATE(288000000, 96, 1, 1), - PLL_RATE(312000000, 52, 1, 2), - PLL_RATE(336000000, 56, 1, 2), - PLL_RATE(360000000, 60, 1, 2), - PLL_RATE(384000000, 64, 1, 2), - PLL_RATE(408000000, 68, 1, 2), - PLL_RATE(432000000, 72, 1, 2), - PLL_RATE(456000000, 76, 1, 2), - PLL_RATE(480000000, 80, 1, 2), - PLL_RATE(504000000, 84, 1, 2), - PLL_RATE(528000000, 88, 1, 2), - PLL_RATE(552000000, 92, 1, 2), - PLL_RATE(576000000, 96, 1, 2), - PLL_RATE(600000000, 50, 1, 1), - PLL_RATE(624000000, 52, 1, 1), - PLL_RATE(648000000, 54, 1, 1), - PLL_RATE(672000000, 56, 1, 1), - PLL_RATE(696000000, 58, 1, 1), - PLL_RATE(720000000, 60, 1, 1), - PLL_RATE(744000000, 62, 1, 1), - PLL_RATE(768000000, 64, 1, 1), - PLL_RATE(792000000, 66, 1, 1), - PLL_RATE(816000000, 68, 1, 1), - PLL_RATE(840000000, 70, 1, 1), - PLL_RATE(864000000, 72, 1, 1), - PLL_RATE(888000000, 74, 1, 1), - PLL_RATE(912000000, 76, 1, 1), - PLL_RATE(936000000, 78, 1, 1), - PLL_RATE(960000000, 80, 1, 1), - PLL_RATE(984000000, 82, 1, 1), - PLL_RATE(1008000000, 84, 1, 1), - PLL_RATE(1032000000, 86, 1, 1), - PLL_RATE(1056000000, 88, 1, 1), - PLL_RATE(1080000000, 90, 1, 1), - PLL_RATE(1104000000, 92, 1, 1), - PLL_RATE(1128000000, 94, 1, 1), - PLL_RATE(1152000000, 96, 1, 1), - PLL_RATE(1176000000, 98, 1, 1), - PLL_RATE(1200000000, 50, 1, 0), - PLL_RATE(1224000000, 51, 1, 0), - PLL_RATE(1248000000, 52, 1, 0), - PLL_RATE(1272000000, 53, 1, 0), - PLL_RATE(1296000000, 54, 1, 0), - PLL_RATE(1320000000, 55, 1, 0), - PLL_RATE(1344000000, 56, 1, 0), - PLL_RATE(1368000000, 57, 1, 0), - PLL_RATE(1392000000, 58, 1, 0), - PLL_RATE(1416000000, 59, 1, 0), - PLL_RATE(1440000000, 60, 1, 0), - PLL_RATE(1464000000, 61, 1, 0), - PLL_RATE(1488000000, 62, 1, 0), - PLL_RATE(1512000000, 63, 1, 0), - PLL_RATE(1536000000, 64, 1, 0), - PLL_RATE(1560000000, 65, 1, 0), - PLL_RATE(1584000000, 66, 1, 0), - PLL_RATE(1608000000, 67, 1, 0), - PLL_RATE(1632000000, 68, 1, 0), - PLL_RATE(1656000000, 68, 1, 0), - PLL_RATE(1680000000, 68, 1, 0), - PLL_RATE(1704000000, 68, 1, 0), - PLL_RATE(1728000000, 69, 1, 0), - PLL_RATE(1752000000, 69, 1, 0), - PLL_RATE(1776000000, 69, 1, 0), - PLL_RATE(1800000000, 69, 1, 0), - PLL_RATE(1824000000, 70, 1, 0), - PLL_RATE(1848000000, 70, 1, 0), - PLL_RATE(1872000000, 70, 1, 0), - PLL_RATE(1896000000, 70, 1, 0), - PLL_RATE(1920000000, 71, 1, 0), - PLL_RATE(1944000000, 71, 1, 0), - PLL_RATE(1968000000, 71, 1, 0), - PLL_RATE(1992000000, 71, 1, 0), - PLL_RATE(2016000000, 72, 1, 0), - PLL_RATE(2040000000, 72, 1, 0), - PLL_RATE(2064000000, 72, 1, 0), - PLL_RATE(2088000000, 72, 1, 0), - PLL_RATE(2112000000, 73, 1, 0), - { /* sentinel */ }, -}; - static const struct pll_rate_table gxbb_gp0_pll_rate_table[] = { PLL_RATE(96000000, 32, 1, 3), PLL_RATE(99000000, 33, 1, 3), @@ -356,8 +264,6 @@ static struct meson_clk_pll gxbb_sys_pll = { .shift = 10, .width = 2, }, - .rate_table = sys_pll_rate_table, - .rate_count = ARRAY_SIZE(sys_pll_rate_table), .lock = &meson_clk_lock, .hw.init = &(struct clk_init_data){ .name = "sys_pll", From patchwork Thu Jan 18 18:45:26 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Brunet X-Patchwork-Id: 125011 Delivered-To: patch@linaro.org Received: by 10.46.64.27 with SMTP id n27csp247789lja; Thu, 18 Jan 2018 10:47:26 -0800 (PST) X-Google-Smtp-Source: ACJfBosaIREjwblchzQsnTLbI5+hMVwiGPLI/hxWuOWrR4glRWdpi9f9tPVAvzLZkcKQ7ryDvc3z X-Received: by 10.99.175.9 with SMTP id w9mr37907800pge.214.1516301246351; Thu, 18 Jan 2018 10:47:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516301246; cv=none; d=google.com; s=arc-20160816; b=Jv0lkVQ79BWiXzBnfClsfpVizCDZ/Ds5SQ9PS3gnTDQUKz7Xep6bovbHQ9/5sUKjtF IHyPJg0mIvIqIT9nbeVfCuzAmw62adDHmRiCOvycRLVCNvCKSyyXMMTUpeGUxzNBsT7B lAQ+r2MoDVDC9oCZnHXD7iLute46/Uqlj1PE0YaPPjaCYmxhqjxQPPW9ySqR+34GC1dP AZp9CShiGbOKc2WS5LJ0yRTpBZB5fvMN3eQMn6RBQALcRBSGYjjxMbekUb1pnmdPwpHv AHR9hDGbW0J+9PJgXGoNQg9BB2I65VLHQXdbAsdr4LkhUyKt4AsntWf3/Eii3h5O8A2T ncfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=CEwj8+aKvnsw6RvL6RGZY+g2z8uB/GU8+s1upffGAiI=; b=Kcqw/ju2EoqLDzYtuPC1UbWMg1/PKsfirUb4Wuwyn9nSMZe8M2Lmh3DozrxB0AngJv HcDN7a00/gLw5/HmIwC0rqpOXi6HqehJci7yTz+Jn0OqZnwmaqLO8FXB6T2G7LDIJZKq zcAaakI82bg/Zsa71WSF/ZqfJTegl9wQdGNeQuS//UGru+WCIo4/cu9JrSFaziqGfWw+ 4MYtrec8sgZDyHyUuthxlcV8iz74lKhZw6h2npk9Y23yhkcc+FXPbSQ8nNOH/B/eMuhU yYtSijsL4SYxRE3U7hDwTPiDtoU2y4BMGclXDceUWRueXnYKmYA1Ua5k6+6HeFo+xWYb 7mjw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=u1pEAs/C; 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 x10si6665263pgc.192.2018.01.18.10.47.26; Thu, 18 Jan 2018 10:47:26 -0800 (PST) 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=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=u1pEAs/C; 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 S932712AbeARSrY (ORCPT + 28 others); Thu, 18 Jan 2018 13:47:24 -0500 Received: from mail-wm0-f65.google.com ([74.125.82.65]:36156 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755733AbeARSpj (ORCPT ); Thu, 18 Jan 2018 13:45:39 -0500 Received: by mail-wm0-f65.google.com with SMTP id f3so24988950wmc.1 for ; Thu, 18 Jan 2018 10:45:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=CEwj8+aKvnsw6RvL6RGZY+g2z8uB/GU8+s1upffGAiI=; b=u1pEAs/CwI3Ctnb8dSVSKqyVmryBZTKZTrkESt3j5PTDhVee3Kmg+qhBkGiJicjC/i y8CNah/yU+1RM0EGCKeLddDHdFs7CklFyWSyVXvtA/ASO4LB2udoS2wyysJzfn4OoumX ZPCd7/6B1c3p0h63NzMYXHKhKGgzYmwSv+CnWqZieophUkGgcycnFqu56O2lkEIGDMPq eKlTMM4eOWV3a2pSXau8XMhrZj4xPXoEmJm6fHYeGcQp2Qb2MmRGLk7vluTFnr8B90sz DgtbGKm56WY+kQTNG1a+sBxgmlysoq9tSjVJ2M+DoIX3MmCFRInZ5yjiIt4jLeX+4XVY OeqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=CEwj8+aKvnsw6RvL6RGZY+g2z8uB/GU8+s1upffGAiI=; b=lOhpUT8SVx1TSRa76POWwG12M6WzXjm3faiaXYrIS29BMoQdqFVnc4gwuP4yzfDShJ rmuvMSbBht9FItAnpoKoqi3JX2L57LNH3CJPjR1yUO7vBdnEKFSUxX4HDZP7DsyOVhFz KrmRaPitOHGFuLerGWAMSnHa9oDuMsxHfJ8Jgl/YIhJ8isPghMKhP5uNfFTuqw0DR0AD gc4YNvCZ/7Ty42zRQhqhuFKXIaKK+u6Ld5PxO9AXTn9i2RMvObBMCCvNDxOd19lT/bhp FDD+Cc88X15LtVAdupAW6KarixV9jiuEJKp9h/gwrn6Y1RZs/O24ean+B+njU2BtHWwc 2uCw== X-Gm-Message-State: AKwxytd6VCS+5ZoZVozXICugWDArhWYYbl6/IZ2w1w5QnnXicUZPTIFX H1PHkyTGrH02FdYGBMi8xCF8zQ== X-Received: by 10.28.105.80 with SMTP id e77mr6209276wmc.123.1516301138073; Thu, 18 Jan 2018 10:45:38 -0800 (PST) Received: from boomer.baylibre.local ([90.63.244.31]) by smtp.googlemail.com with ESMTPSA id y62sm6240236wrb.48.2018.01.18.10.45.37 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 18 Jan 2018 10:45:37 -0800 (PST) From: Jerome Brunet To: Neil Armstrong Cc: Jerome Brunet , Kevin Hilman , Carlo Caione , Michael Turquette , Stephen Boyd , linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/9] clk: meson: remove unnecessary rounding in the pll clock Date: Thu, 18 Jan 2018 19:45:26 +0100 Message-Id: <20180118184532.6856-4-jbrunet@baylibre.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180118184532.6856-1-jbrunet@baylibre.com> References: <20180118184532.6856-1-jbrunet@baylibre.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The pll driver perform the rate calculation in Mhz, which adds an unnecessary rounding down to the Mhz of the rate. Use 64bits long integer to perform this calculation safely on meson8b and perform the calculation in Hz instead Fixes: 7a29a869434e ("clk: meson: Add support for Meson clock controller") Signed-off-by: Jerome Brunet --- drivers/clk/meson/clk-pll.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) -- 2.14.3 diff --git a/drivers/clk/meson/clk-pll.c b/drivers/clk/meson/clk-pll.c index 2614341fc4ad..fa4cec13d6e8 100644 --- a/drivers/clk/meson/clk-pll.c +++ b/drivers/clk/meson/clk-pll.c @@ -51,8 +51,7 @@ static unsigned long meson_clk_pll_recalc_rate(struct clk_hw *hw, { struct meson_clk_pll *pll = to_meson_clk_pll(hw); struct parm *p; - unsigned long parent_rate_mhz = parent_rate / 1000000; - unsigned long rate_mhz; + u64 rate; u16 n, m, frac = 0, od, od2 = 0; u32 reg; @@ -74,17 +73,18 @@ static unsigned long meson_clk_pll_recalc_rate(struct clk_hw *hw, od2 = PARM_GET(p->width, p->shift, reg); } + rate = (u64)m * parent_rate; + p = &pll->frac; if (p->width) { reg = readl(pll->base + p->reg_off); frac = PARM_GET(p->width, p->shift, reg); - rate_mhz = (parent_rate_mhz * m + \ - (parent_rate_mhz * frac >> 12)) * 2 / n; - rate_mhz = rate_mhz >> od >> od2; - } else - rate_mhz = (parent_rate_mhz * m / n) >> od >> od2; - return rate_mhz * 1000000; + rate += (u64)parent_rate * frac >> 12; + rate *= 2; + } + + return (rate / n) >> od >> od2; } static long meson_clk_pll_round_rate(struct clk_hw *hw, unsigned long rate, From patchwork Thu Jan 18 18:45:27 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Brunet X-Patchwork-Id: 125009 Delivered-To: patch@linaro.org Received: by 10.46.64.27 with SMTP id n27csp247659lja; Thu, 18 Jan 2018 10:47:07 -0800 (PST) X-Google-Smtp-Source: ACJfBou8vu1OynivlLXf6h/FyA9g5JwIHb39biLhMEapTE81d6WUcZNZ4GgSNtKg63kjYC/zhqud X-Received: by 10.99.149.67 with SMTP id t3mr5718491pgn.411.1516301227507; Thu, 18 Jan 2018 10:47:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516301227; cv=none; d=google.com; s=arc-20160816; b=ECVh9dRdbqQi0A6Z/qk49ZnLXoCMHfZAxBv07DwNKL3mgijKyLjcRRVj9DFNhl+xD4 jFCWt6K7eGOePqkgNLxmCMpUrHlj5VbiE923mLaEX8/ahrsPsyVWYU/mzqV1ApGjM3FM PuHTIcKyw07u7tOEi7XQggWJTOcscAv+gC1UQXnSfFyYNp+2mVy4BoXt2JDDeN/LhU7J eyI7RB2RXcHVqnL8khjT//FuHbp5Akotkd5MEncpv++hBYEfyqHb8e2KP/kj8btKeh9L 2xk2ZxdU0L/KzNCvIY+xeMHpNxc60Nguvs9zNeVqYitYA8GWgvDYR8qnIWShgN2rzpnw PMKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=+XIrCgDt5NBe08Q927BYRS4towZAMgpTkx6cXoR4EhI=; b=od8S58jFD3n/bcJeXi66eBKjOZFdEmFNRzQ1b9Zqc7IFdHFzvkAqySC1hSUoQDxKNG Z0EqMBMqZJBOf89yEspNBWkBYCAGf5jRu/hrzGObsuYpz9b1HqA9wx4KLBktZPPC/AuM zOo6JxNwilfqWfWxbuMm3Ol55RlcqZswn147RJ/r2o1XB3ayJxtn2eImJSOqSa8UFRVM yueE8N4BMZx4IMsFW6pfCb9vseS30oSeugiQ3vo1tEF1aB0AW6d5rWvD27urDrLlp0dO 8K2qrouCdhEBNB4veeanYlC4zzlp+AhQ3g+5JwkKowhn6ywc0ddX8zy3NxZQqCJ15m7M xobA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=qXG1kbzO; 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 x10si6665263pgc.192.2018.01.18.10.47.07; Thu, 18 Jan 2018 10:47:07 -0800 (PST) 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=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=qXG1kbzO; 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 S932537AbeARSrG (ORCPT + 28 others); Thu, 18 Jan 2018 13:47:06 -0500 Received: from mail-wm0-f68.google.com ([74.125.82.68]:40484 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755003AbeARSpk (ORCPT ); Thu, 18 Jan 2018 13:45:40 -0500 Received: by mail-wm0-f68.google.com with SMTP id v123so24983589wmd.5 for ; Thu, 18 Jan 2018 10:45:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=+XIrCgDt5NBe08Q927BYRS4towZAMgpTkx6cXoR4EhI=; b=qXG1kbzOal5r+PxBXz2LwlbpFPBhILf/LkcGK+9vDkI1usqejM0jhIKSWtD7jkEnIR z7O3zdHPTpgEM8pZ82PNz0hjzaK9X0yKm21i8LhXZ2/JSmJIINt5ltWu9+k7Y2Vni6Hx KloSG365KMUlnnZpE7HIRordpHaQyrOvN89enwmw/L4z77q8KKcL6UnEMsgzOamfs+Ur IYbKtuMXokEWEQnhRYvpEymzchtJ8BuZ7na3jJI6Ru+9UlSkXvBByLgmBK4XQ11133Y0 BrcCyAG4gTIS9mbdHy6VnJt/g6eWb9VB5WAmJOt5PEOBgZY+5V7UPOSZ9/KnYWDHk48T X4UQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=+XIrCgDt5NBe08Q927BYRS4towZAMgpTkx6cXoR4EhI=; b=GX1mvuXPhmxRDcDEbqXP5oqz5hSVlaRNA3E7Kj+RWbpCJuu+MKiVEXd7nZFCf+oe3N qq7hlNLqHKYCIYrnZCjmmE8phwUInZRZvxleCuN8zcUNQsaUSRcicfIRQs+cabkDVra3 vQGfTHUEo8vf7awrhW5dchTEC9qUUfmhZ8DnEiFyfPhBdWB2/mDF1b1fYf4aDBUbQ8QF XtFwO71SuwcZFviJzkOCaFi7nI/FCgoSrisx/zorddOJhn6WBRjzpUep/Pbr4dS1RxrG JYtMaG1uuMZZJCj81MhCm42odzkAA6lKliSNd9UJvQdpIOYf3sjDXhkQl0Jig0QPl30E nhdw== X-Gm-Message-State: AKwxytfz0JriniGlx71Gag1v55PcpRmkcdz4CPDi1JiVC3Sd/SpL5QaE gSCcFs0Ft+8hxhHuiRmTzA2ZL01c X-Received: by 10.28.140.9 with SMTP id o9mr2610060wmd.28.1516301138915; Thu, 18 Jan 2018 10:45:38 -0800 (PST) Received: from boomer.baylibre.local ([90.63.244.31]) by smtp.googlemail.com with ESMTPSA id y62sm6240236wrb.48.2018.01.18.10.45.38 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 18 Jan 2018 10:45:38 -0800 (PST) From: Jerome Brunet To: Neil Armstrong Cc: Jerome Brunet , Kevin Hilman , Carlo Caione , Michael Turquette , Stephen Boyd , linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/9] clk: meson: use frac parameter width instead of a constant Date: Thu, 18 Jan 2018 19:45:27 +0100 Message-Id: <20180118184532.6856-5-jbrunet@baylibre.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180118184532.6856-1-jbrunet@baylibre.com> References: <20180118184532.6856-1-jbrunet@baylibre.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Use the fractional part width in the calculation instead of 12, which happens to e the witdh right now. This is safer in case the field width ever change in the future Signed-off-by: Jerome Brunet --- drivers/clk/meson/clk-pll.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.14.3 diff --git a/drivers/clk/meson/clk-pll.c b/drivers/clk/meson/clk-pll.c index fa4cec13d6e8..d9efe725b7ad 100644 --- a/drivers/clk/meson/clk-pll.c +++ b/drivers/clk/meson/clk-pll.c @@ -80,7 +80,7 @@ static unsigned long meson_clk_pll_recalc_rate(struct clk_hw *hw, reg = readl(pll->base + p->reg_off); frac = PARM_GET(p->width, p->shift, reg); - rate += (u64)parent_rate * frac >> 12; + rate += (u64)parent_rate * frac >> p->width; rate *= 2; } From patchwork Thu Jan 18 18:45:28 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Brunet X-Patchwork-Id: 125004 Delivered-To: patch@linaro.org Received: by 10.46.64.27 with SMTP id n27csp247223lja; Thu, 18 Jan 2018 10:45:47 -0800 (PST) X-Google-Smtp-Source: ACJfBouj3ZOOzethKsrXYzaimZMN5WJfJHCVFLTPCDxOw+e7jDTqZqXTUCfyPog5/r0B13p1Cer4 X-Received: by 10.99.146.3 with SMTP id o3mr2219868pgd.309.1516301147292; Thu, 18 Jan 2018 10:45:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516301147; cv=none; d=google.com; s=arc-20160816; b=g36HcXtLUP6MgPe0zvbwYDk5OUnMBg5U81FF0bdWxF1XKx5pizVLInye3Qlqwyb6P0 ERhB/M7+7MIGCNygfSNK7Xe75TPSLv/LfNoIlQW5se00yYDrF6YeGAKimAJOgGTE1+H/ kalzjdUaSjPPk54P/l0zg/OXKq9ch4eayRJzMlFnh+b5HI2q1Pruod3sUCiRRML8PEXA ZWXGjwnuANqhohv/kKxEtjEOVUfXWrSVMjrL7EZwDy0XU/pSaHAjOeDlWybiIlAtYwxs gYQUhPDRxDIWF4dFao9AV+zwnBhwVkqFrB1RqGo3SnkBC5C0ENfAMdjq7+BdApOdFEA9 n/qQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=P4HFAmqGPAwUfw5JwPEhd4HxAn9UU2y38qwTSMN6woQ=; b=tsviMJBXB4rwCfM5CYcI7kNNLdOAKpu3lJA+DHeI5E1yGnBFPc3kHPmcYk/emtz5dw mQhfEVNM43Wpg4Q1yp7EUFWdXWBvXO1Q1D5YYKUCp0jTNV7zMSHHZez9XfPb/7MJhiUH i3bASKh4zVv4eUiAfKOmexz1AZnK2AZ5V2dhKCNJaC36unWtnsxIA6Y/OMZPF6vpkA6E lr7qnG3AVAFmEsMTneRObYpCQzB78zcvqdyCbYUpusA3k7zbfhWvwtMKDvCoT9jd133w eXaZQ7iJRO/L1AMx3MEF7AaXCCHsCp2543Ka8VpUp/IMKVLPlbcWM2o089J3AbbAqPgp ngvQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=OF/6tvUt; 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 a11-v6si113495plt.567.2018.01.18.10.45.46; Thu, 18 Jan 2018 10:45:47 -0800 (PST) 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=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=OF/6tvUt; 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 S932690AbeARSpo (ORCPT + 28 others); Thu, 18 Jan 2018 13:45:44 -0500 Received: from mail-wm0-f65.google.com ([74.125.82.65]:37875 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755821AbeARSpl (ORCPT ); Thu, 18 Jan 2018 13:45:41 -0500 Received: by mail-wm0-f65.google.com with SMTP id v71so24990397wmv.2 for ; Thu, 18 Jan 2018 10:45:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=P4HFAmqGPAwUfw5JwPEhd4HxAn9UU2y38qwTSMN6woQ=; b=OF/6tvUtLoNdHPCqw0KbU2t9DDBO0ll6DMfTukOEJh4nfPQP4XPu8bTt4r6IRpdly7 Ri+rW8ixRYNVa4LAN4rK+VoGWgbAdNK+VM32DiUQntoNR+1uszA4cpq4bO0lem/9E+mx lCCq8x7fu+dqgtSrue13k308UHZs8zpBMa8zw+W2vC8fS+Q5qqTnx8gWzsOW4rS7UY9H Ivicj2fmyAHJgp/yB+3jqoLNWK3E0Z7UxAw9Wi1L8/Hs8MFsQEAvYOZ0UNAtw/4MJ90+ tJw2lPx5tzxG241YdftanC4lKjX4haD2sYwIB0Xu4C+8UG/peTXxiCkwlTc/ay6TleV3 9laQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=P4HFAmqGPAwUfw5JwPEhd4HxAn9UU2y38qwTSMN6woQ=; b=OhBfFzmKBpTg3D5pb/CadeADFIOAILNRULnTHEAe0z/UJunYnK4HWkmfP0k3f2KwlU csvGNW1QaynDgwtWg2AgDVVoPWXG3eCVnETjs6X2aOpPofKl9ILBhXw++J073lQRVKCG FCLnJLbgljvoSXo98kPWuZ8xu2MUBTJchj0BLCb6qFOw2RYAHTpt2Y/r7zIO50V7Uk8E QDC0oEdw4VZ9XprYNgOwvabMjlGSTwdklYSBk+VeeF5KxnCyypjSFoAPnhMbjzlEyEGv qTqCcHF0+ygBjW+eA05g/Y/5SVPKx1g4hlSnLrul7AFOj+1UiB+wMKi8szJZniN6S0Jb mi6g== X-Gm-Message-State: AKwxytcjF/iDan2njvoNFkY6bRagNUTOh1Ie4SoC2DWj2BXQEdhGaWsE 7gLbBsYvGerl0pqH4zMX5vSnxUuw X-Received: by 10.28.48.10 with SMTP id w10mr6118087wmw.93.1516301139794; Thu, 18 Jan 2018 10:45:39 -0800 (PST) Received: from boomer.baylibre.local ([90.63.244.31]) by smtp.googlemail.com with ESMTPSA id y62sm6240236wrb.48.2018.01.18.10.45.38 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 18 Jan 2018 10:45:39 -0800 (PST) From: Jerome Brunet To: Neil Armstrong Cc: Jerome Brunet , Kevin Hilman , Carlo Caione , Michael Turquette , Stephen Boyd , linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 5/9] clk: meson: add od3 to the pll driver Date: Thu, 18 Jan 2018 19:45:28 +0100 Message-Id: <20180118184532.6856-6-jbrunet@baylibre.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180118184532.6856-1-jbrunet@baylibre.com> References: <20180118184532.6856-1-jbrunet@baylibre.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Some meson plls, such as the hdmi pll, are using a 3rd od parameter, which is yet another "power of 2" post divider. Add it to fix the calculation of the hdmi_pll rate Fixes: 738f66d3211d ("clk: gxbb: add AmLogic GXBB clk controller driver") Signed-off-by: Jerome Brunet --- drivers/clk/meson/clk-pll.c | 17 +++++++++++++++-- drivers/clk/meson/clkc.h | 2 ++ drivers/clk/meson/gxbb.c | 5 +++++ 3 files changed, 22 insertions(+), 2 deletions(-) -- 2.14.3 diff --git a/drivers/clk/meson/clk-pll.c b/drivers/clk/meson/clk-pll.c index d9efe725b7ad..3f560b2cd83b 100644 --- a/drivers/clk/meson/clk-pll.c +++ b/drivers/clk/meson/clk-pll.c @@ -52,7 +52,7 @@ static unsigned long meson_clk_pll_recalc_rate(struct clk_hw *hw, struct meson_clk_pll *pll = to_meson_clk_pll(hw); struct parm *p; u64 rate; - u16 n, m, frac = 0, od, od2 = 0; + u16 n, m, frac = 0, od, od2 = 0, od3 = 0; u32 reg; p = &pll->n; @@ -73,6 +73,12 @@ static unsigned long meson_clk_pll_recalc_rate(struct clk_hw *hw, od2 = PARM_GET(p->width, p->shift, reg); } + p = &pll->od3; + if (p->width) { + reg = readl(pll->base + p->reg_off); + od3 = PARM_GET(p->width, p->shift, reg); + } + rate = (u64)m * parent_rate; p = &pll->frac; @@ -84,7 +90,7 @@ static unsigned long meson_clk_pll_recalc_rate(struct clk_hw *hw, rate *= 2; } - return (rate / n) >> od >> od2; + return (rate / n) >> od >> od2 >> od3; } static long meson_clk_pll_round_rate(struct clk_hw *hw, unsigned long rate, @@ -225,6 +231,13 @@ static int meson_clk_pll_set_rate(struct clk_hw *hw, unsigned long rate, writel(reg, pll->base + p->reg_off); } + p = &pll->od3; + if (p->width) { + reg = readl(pll->base + p->reg_off); + reg = PARM_SET(p->width, p->shift, reg, rate_set->od3); + writel(reg, pll->base + p->reg_off); + } + p = &pll->frac; if (p->width) { reg = readl(pll->base + p->reg_off); diff --git a/drivers/clk/meson/clkc.h b/drivers/clk/meson/clkc.h index c2ff0520ce53..4acb35bda669 100644 --- a/drivers/clk/meson/clkc.h +++ b/drivers/clk/meson/clkc.h @@ -41,6 +41,7 @@ struct pll_rate_table { u16 n; u16 od; u16 od2; + u16 od3; u16 frac; }; @@ -92,6 +93,7 @@ struct meson_clk_pll { struct parm frac; struct parm od; struct parm od2; + struct parm od3; const struct pll_setup_params params; const struct pll_rate_table *rate_table; unsigned int rate_count; diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c index 2d851bad13fa..cf083a1906d1 100644 --- a/drivers/clk/meson/gxbb.c +++ b/drivers/clk/meson/gxbb.c @@ -238,6 +238,11 @@ static struct meson_clk_pll gxbb_hdmi_pll = { .shift = 22, .width = 2, }, + .od3 = { + .reg_off = HHI_HDMI_PLL_CNTL2, + .shift = 18, + .width = 2, + }, .lock = &meson_clk_lock, .hw.init = &(struct clk_init_data){ .name = "hdmi_pll", From patchwork Thu Jan 18 18:45:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Brunet X-Patchwork-Id: 125008 Delivered-To: patch@linaro.org Received: by 10.46.64.27 with SMTP id n27csp247448lja; Thu, 18 Jan 2018 10:46:28 -0800 (PST) X-Google-Smtp-Source: ACJfBosFwYJO0KBr7KSx9pqmXQB31WtoBeBKhhawLXDmiv0WTocx1J3kwE1Bm6Xlyn9c4J2EcVq8 X-Received: by 10.98.158.89 with SMTP id s86mr23643661pfd.203.1516301188426; Thu, 18 Jan 2018 10:46:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516301188; cv=none; d=google.com; s=arc-20160816; b=vVx9jdFtfFUTc2ZtAVZzpWLWInVVMDsk+7uKvHL17R5BMNdPm5iZj+RUHDke5eF/RA 0ahW7xit0Fw26Tg4zhbuxJp/9wytqohDEO7x08HKbAoE5vf8N5G/mQRGDfW+KVQtM4lu Cpg868hG752Fozu9m9/FmAWQtrFiUsKPKwP04+Nojgy4kr2nbf6ke/QYDVwIt/8caLNZ EVaBrsOm0JkPnI2NMBhPxd3D/M3wySt1MUB3G0E0CPoM0HWosSwUu4FQTImxpjnNoV34 2LV2SESv2Zcx69nlx5ixuksp678/aUyuMLg405WR0VfRHKVP5oLiQJdHuxe/aH1MmHO0 pNkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=aUsyxn3qKCQaAo3rtTr/Nydn9rZtVI7+J9ltTUWN6XA=; b=irb8UbI7kkjPkrnRKuOn0cvZdGW3U4BwF9LjlkzdwDqzoqwVrCqqJiZRQXleLTzCco KZlqujhHnPGIuNJuvWOom8RdMDiyjPB43Kja6Gq4/9iJp4Sacz2AZXNhldjLhueMdaU9 SnI0BMXiUCNFaA3ZBAH7fqX3nfsH+T3YTkT3yypDLY5/TVPHP7KO+4o2b3h1IOCpVv85 MwRaWi7muF+iew99HrQRnggSLpHdfTY0OCuy7tQjEzSZTHZwVcH5SGhxzSdEWKCzfbhi 0nayiCql61y4eLA/H6nCacWurKfJb6qZkzrpJ7R6sK9EPX8Xxl5q7b3PFzbQq08Qdafp 4X1Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=l4NJhsGm; 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 s17si6624629pge.525.2018.01.18.10.46.28; Thu, 18 Jan 2018 10:46:28 -0800 (PST) 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=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=l4NJhsGm; 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 S1756096AbeARSq0 (ORCPT + 28 others); Thu, 18 Jan 2018 13:46:26 -0500 Received: from mail-wr0-f195.google.com ([209.85.128.195]:46779 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755842AbeARSpl (ORCPT ); Thu, 18 Jan 2018 13:45:41 -0500 Received: by mail-wr0-f195.google.com with SMTP id g21so23597196wrb.13 for ; Thu, 18 Jan 2018 10:45:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=aUsyxn3qKCQaAo3rtTr/Nydn9rZtVI7+J9ltTUWN6XA=; b=l4NJhsGmggWKt7iLzvmwng/mCnXLejLFkhfIs+JYOlXi8/s/HNdOQLxIZPjxqquo21 lcg890kLdZ6hu5tXveu4P2E1ZqBSofo238QCavWCzk8eworcsv1aweAEo+so4j5lT0TJ +vGrxEs7RVzmCQkGRY/n7HkM3CStFgkGcI7KuzDUWkxuyZ6A9/5zweb34LieB9MkKP0g VRXORLnsvFBeENwYIIi4d4PVEDlw8jaQJQ2LKPW+5PNmqiZOiGvIjp7rW8jW0a4omVpf zJTI33MMLX7Kq2zc2blahpULcBBinIkti60P0oW0oOCcLl7hDtJ0OnlG9n5hGL3L8cWz /YXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=aUsyxn3qKCQaAo3rtTr/Nydn9rZtVI7+J9ltTUWN6XA=; b=YvNe+H6wKqGKa4wzBTuOaJjdTMSwLrIq+wBP1cMNIeik1NIHRfh2Ctsuphssc7ueon AN/B6SyOx4yC05IbDuM9qmtIAtNYGklksGg19sFg8OhHJosVYra59/xCM3O402JtV0Jh WCywzrnlB92BIJOiWoxbWhatLXLI6vZgtVIAQMFYIO5BmByq81Ix2/nIh4A17FImm3gS He135pgigLLlshBc1qbcjy9rrLMQ1ntRfHX6GzBCUxVYsSswEo35GVkunaBb2MKuWpzI qyK3+F+cl0lwqBohWUy/n4C1vDVOu3wMl6pcycypFx7QIz/fv7XQfeLGyr/7IeTpG9FI ivYw== X-Gm-Message-State: AKwxytdYAPqZHXGguMLiEoR0FN2411tHSi9n49AZ1R++DP7DP0XuW6aJ gFrF5ot2Yd6J95W6v2qZd86Q0A== X-Received: by 10.223.135.2 with SMTP id a2mr6787684wra.126.1516301140678; Thu, 18 Jan 2018 10:45:40 -0800 (PST) Received: from boomer.baylibre.local ([90.63.244.31]) by smtp.googlemail.com with ESMTPSA id y62sm6240236wrb.48.2018.01.18.10.45.39 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 18 Jan 2018 10:45:40 -0800 (PST) From: Jerome Brunet To: Neil Armstrong Cc: Jerome Brunet , Kevin Hilman , Carlo Caione , Michael Turquette , Stephen Boyd , linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 6/9] clk: meson: add gxl hdmi pll Date: Thu, 18 Jan 2018 19:45:29 +0100 Message-Id: <20180118184532.6856-7-jbrunet@baylibre.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180118184532.6856-1-jbrunet@baylibre.com> References: <20180118184532.6856-1-jbrunet@baylibre.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The hdmi pll used in the gxl family is actually different from the gxbb. The register layout is completely different, which explain why the hdmi pll rate has always been rubbish on the gxl. Adding the correct register field is the first part of the fix to get a correct rate out the hdmi pll Fixes: 0d48fc558d01 ("clk: meson-gxbb: Add GXL/GXM GP0 Variant") Signed-off-by: Jerome Brunet --- drivers/clk/meson/gxbb.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 2 deletions(-) -- 2.14.3 diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c index cf083a1906d1..08b3e1cdba5b 100644 --- a/drivers/clk/meson/gxbb.c +++ b/drivers/clk/meson/gxbb.c @@ -253,6 +253,52 @@ static struct meson_clk_pll gxbb_hdmi_pll = { }, }; +static struct meson_clk_pll gxl_hdmi_pll = { + .m = { + .reg_off = HHI_HDMI_PLL_CNTL, + .shift = 0, + .width = 9, + }, + .n = { + .reg_off = HHI_HDMI_PLL_CNTL, + .shift = 9, + .width = 5, + }, + .frac = { + /* + * On gxl, there a register shift due to HHI_HDMI_PLL_CNTL1 + * which does not exist on gxbb, so we compute the register + * offset based on the PLL base to get it right + */ + .reg_off = HHI_HDMI_PLL_CNTL + 4, + .shift = 0, + .width = 12, + }, + .od = { + .reg_off = HHI_HDMI_PLL_CNTL + 8, + .shift = 21, + .width = 2, + }, + .od2 = { + .reg_off = HHI_HDMI_PLL_CNTL + 8, + .shift = 23, + .width = 2, + }, + .od3 = { + .reg_off = HHI_HDMI_PLL_CNTL + 8, + .shift = 19, + .width = 2, + }, + .lock = &meson_clk_lock, + .hw.init = &(struct clk_init_data){ + .name = "hdmi_pll", + .ops = &meson_clk_pll_ro_ops, + .parent_names = (const char *[]){ "xtal" }, + .num_parents = 1, + .flags = CLK_GET_RATE_NOCACHE, + }, +}; + static struct meson_clk_pll gxbb_sys_pll = { .m = { .reg_off = HHI_SYS_PLL_CNTL, @@ -1520,7 +1566,7 @@ static struct clk_hw_onecell_data gxbb_hw_onecell_data = { static struct clk_hw_onecell_data gxl_hw_onecell_data = { .hws = { [CLKID_SYS_PLL] = &gxbb_sys_pll.hw, - [CLKID_HDMI_PLL] = &gxbb_hdmi_pll.hw, + [CLKID_HDMI_PLL] = &gxl_hdmi_pll.hw, [CLKID_FIXED_PLL] = &gxbb_fixed_pll.hw, [CLKID_FCLK_DIV2] = &gxbb_fclk_div2.hw, [CLKID_FCLK_DIV3] = &gxbb_fclk_div3.hw, @@ -1675,7 +1721,7 @@ static struct meson_clk_pll *const gxbb_clk_plls[] = { static struct meson_clk_pll *const gxl_clk_plls[] = { &gxbb_fixed_pll, - &gxbb_hdmi_pll, + &gxl_hdmi_pll, &gxbb_sys_pll, &gxl_gp0_pll, }; From patchwork Thu Jan 18 18:45:30 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Brunet X-Patchwork-Id: 125007 Delivered-To: patch@linaro.org Received: by 10.46.64.27 with SMTP id n27csp247438lja; Thu, 18 Jan 2018 10:46:25 -0800 (PST) X-Google-Smtp-Source: ACJfBouCtrk6saDf61SHiw518lf6GJrfrSi0hnAgumQmW8gdlJobnI82tUEv2h4iXcw8cN43kiF4 X-Received: by 2002:a17:902:121:: with SMTP id 30-v6mr238701plb.187.1516301185681; Thu, 18 Jan 2018 10:46:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516301185; cv=none; d=google.com; s=arc-20160816; b=NF2plMuI2+IYbaWV2vwgdNJTAmLOYow4Wk391Q5xrvJTdGSrmO+I8Aa0bqkbhXW7U9 i6on867rOSl94OvGhjukbtyMsoRQA4/SthClY9OXlFM9zw278nHEGTVaC/P3HpGQ7/A1 Paefuv9kLAs4goHW0up9KkaHOYOlk+5RaHOKqlxh8kmajnQowlp5U7xWoct9vfnDRozU 9pafMWl+KBRIdf3EocgpjU2XTwsVH9AOrMVbW9DCRwDGuHX/v6Qs4zF0QGAnjoPHBZHW fmS9cwnRHGpbirqJzK+h7IKLVv7oxlNw3PNvEISATNvKtEi7w5dMXts0hz72KtR2q4JR i+3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=w6EjjEdrPKEoNKhNDQMO21CbBaUHfd05Ifnbiyg/MxE=; b=A6p0Ma5eKKKvPu/sf0ywki+p9k9b6Cg1pjL/m7GWiSZ8OfYGImmtdp+WmSAyXXT61v 2TOcOYCgsqBNi8ninvLJ/7h/RnuoGiFnKs0TVXp87rVce3tHFX0n8C5Co+/EutjG9Xal lfXKGVIZs5q4n7U9BgAU73xAMK4Zo5iyqv+i+YqfhSifql0jy+cZXEfF+EL6Jsm20//Y m/Le01HuBXq41mEp1m8GJip5p+CfHGCnmDyMkAZMBMcrKw1d094mmnAGsn8zNVRTkL5M oO6OxeMXRm1BTwtFnEdOaz5Wab+7op0jFrV0Kmm2gXfc+IZTIvZlIvL4e9Gv/8eL7dPj Pzyg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=zoBFtJMX; 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 s17si6624629pge.525.2018.01.18.10.46.25; Thu, 18 Jan 2018 10:46:25 -0800 (PST) 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=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=zoBFtJMX; 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 S1756045AbeARSqX (ORCPT + 28 others); Thu, 18 Jan 2018 13:46:23 -0500 Received: from mail-wr0-f193.google.com ([209.85.128.193]:38329 "EHLO mail-wr0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755869AbeARSpm (ORCPT ); Thu, 18 Jan 2018 13:45:42 -0500 Received: by mail-wr0-f193.google.com with SMTP id x1so19458018wrb.5 for ; Thu, 18 Jan 2018 10:45:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=w6EjjEdrPKEoNKhNDQMO21CbBaUHfd05Ifnbiyg/MxE=; b=zoBFtJMXCER7a3TimijtilHMxFHmZTGEBzXURfZTADoh6HtLoKzlBcelsaa5qCvdQ1 SV0NORFd/wUGTRfgoQMztf1zqgGkzHibo5Cl7Sh7B/SiWcwWxI/TUsjAkesiG93ifI41 d/+PBXo5+wNR7t9zkOIal/HcUTVrVwCv50JmfnnUQGQGDSDhIjEfA0/FJha5SQd2iLyE kp0h/U5l3kr3aKO/F16UT1fAx7elAoHALv6hUHop3xxKrqD6WFM2u0SK2RMI8se8Uehs hlWz9IKwfRKG2/BTm7IkQol1qPYvGoVubq08UyPe0OCbrDd/qvsddNcbzWPGU939r56A 3G+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=w6EjjEdrPKEoNKhNDQMO21CbBaUHfd05Ifnbiyg/MxE=; b=I2MbDsiAhsWh0K6KoJKYtUqY18DAYagpfdpn45qmsfEcJqGdAJqSYL+bdc04muQWzf dwzkX/R4Ek+EIb7aTphgpBJaSmec0AQ8MAWbi7UPuBrLJTdOK6c0YxaLp+AlQmamCThB VldO71ydfbOTK94ycpudEfw7spLgmfpagy458mf7kZvJbbYS4h+pn8MFvwbmys0IMALP 0vfdc6G4HQYpkSZrCRZg1nfst6Hg44WYPdAZ2qYdheRKzh3g2tTDuLZ/CSCWZ+1ArDHx ZE2zFpwZ6GcjZQElopFFjmrhc1wHcrnfP/2TfDBbIS7v1xC0GD7pBlHMmpU9dt2ueuIX D5hA== X-Gm-Message-State: AKwxytemocvgAtL5SmXyM43AgosBxvn23xoVdzGuFAMKIoQWW9S/bB88 5e9vPC3LXqq/JILltZ8b7CiVgg== X-Received: by 10.223.139.11 with SMTP id n11mr6596027wra.102.1516301141638; Thu, 18 Jan 2018 10:45:41 -0800 (PST) Received: from boomer.baylibre.local ([90.63.244.31]) by smtp.googlemail.com with ESMTPSA id y62sm6240236wrb.48.2018.01.18.10.45.40 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 18 Jan 2018 10:45:41 -0800 (PST) From: Jerome Brunet To: Neil Armstrong Cc: Jerome Brunet , Kevin Hilman , Carlo Caione , Michael Turquette , Stephen Boyd , linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 7/9] clk: meson: fix pll with fractional part calculation Date: Thu, 18 Jan 2018 19:45:30 +0100 Message-Id: <20180118184532.6856-8-jbrunet@baylibre.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180118184532.6856-1-jbrunet@baylibre.com> References: <20180118184532.6856-1-jbrunet@baylibre.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The rate of the parent should not be multiplied by 2 when there is a fractional part to the pll. This is making the rate calculation of gxl_hdmi_pll wrong (and others as well). This multiplication is specific to the hdmi_pll of gxbb and is most likely due to a multiplier sitting in front of this particular pll. Add fixed factor clock in front on the gxbb pll and remove this constant from the calculation Fixes: 4a47295144dd ("clk: meson: fractional pll support") Signed-off-by: Jerome Brunet --- drivers/clk/meson/clk-pll.c | 1 - drivers/clk/meson/gxbb.c | 14 +++++++++++++- drivers/clk/meson/gxbb.h | 3 ++- 3 files changed, 15 insertions(+), 3 deletions(-) -- 2.14.3 diff --git a/drivers/clk/meson/clk-pll.c b/drivers/clk/meson/clk-pll.c index 3f560b2cd83b..8845f65aeb07 100644 --- a/drivers/clk/meson/clk-pll.c +++ b/drivers/clk/meson/clk-pll.c @@ -87,7 +87,6 @@ static unsigned long meson_clk_pll_recalc_rate(struct clk_hw *hw, frac = PARM_GET(p->width, p->shift, reg); rate += (u64)parent_rate * frac >> p->width; - rate *= 2; } return (rate / n) >> od >> od2 >> od3; diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c index 08b3e1cdba5b..9a92e64b428c 100644 --- a/drivers/clk/meson/gxbb.c +++ b/drivers/clk/meson/gxbb.c @@ -212,6 +212,17 @@ static struct meson_clk_pll gxbb_fixed_pll = { }, }; +static struct clk_fixed_factor gxbb_hdmi_pll_pre_mult = { + .mult = 2, + .div = 1, + .hw.init = &(struct clk_init_data){ + .name = "hdmi_pll_pre_mult", + .ops = &clk_fixed_factor_ops, + .parent_names = (const char *[]){ "xtal" }, + .num_parents = 1, + }, +}; + static struct meson_clk_pll gxbb_hdmi_pll = { .m = { .reg_off = HHI_HDMI_PLL_CNTL, @@ -247,7 +258,7 @@ static struct meson_clk_pll gxbb_hdmi_pll = { .hw.init = &(struct clk_init_data){ .name = "hdmi_pll", .ops = &meson_clk_pll_ro_ops, - .parent_names = (const char *[]){ "xtal" }, + .parent_names = (const char *[]){ "hdmi_pll_pre_mult" }, .num_parents = 1, .flags = CLK_GET_RATE_NOCACHE, }, @@ -1558,6 +1569,7 @@ static struct clk_hw_onecell_data gxbb_hw_onecell_data = { [CLKID_VAPB_1] = &gxbb_vapb_1.hw, [CLKID_VAPB_SEL] = &gxbb_vapb_sel.hw, [CLKID_VAPB] = &gxbb_vapb.hw, + [CLKID_HDMI_PLL_PRE_MULT] = &gxbb_hdmi_pll_pre_mult.hw, [NR_CLKS] = NULL, }, .num = NR_CLKS, diff --git a/drivers/clk/meson/gxbb.h b/drivers/clk/meson/gxbb.h index aee6fbba2004..42573b28a137 100644 --- a/drivers/clk/meson/gxbb.h +++ b/drivers/clk/meson/gxbb.h @@ -194,8 +194,9 @@ #define CLKID_VPU_1_DIV 130 #define CLKID_VAPB_0_DIV 134 #define CLKID_VAPB_1_DIV 137 +#define CLKID_HDMI_PLL_PRE_MULT 141 -#define NR_CLKS 141 +#define NR_CLKS 142 /* include the CLKIDs that have been made part of the DT binding */ #include From patchwork Thu Jan 18 18:45:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Brunet X-Patchwork-Id: 125006 Delivered-To: patch@linaro.org Received: by 10.46.64.27 with SMTP id n27csp247344lja; Thu, 18 Jan 2018 10:46:08 -0800 (PST) X-Google-Smtp-Source: ACJfBouhfm/bNyI6S0jTq4j7MQdgtx2jbFP9hU6fpwXt6/d0wAs2Ea/kA23AGn3xEeSHua3T1Mc1 X-Received: by 10.98.9.202 with SMTP id 71mr23665098pfj.122.1516301168385; Thu, 18 Jan 2018 10:46:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516301168; cv=none; d=google.com; s=arc-20160816; b=mksde/eiSdIe6IKr+ONoe/axjL7FJZRxmqSkOa2KfkVKneIGcsB9xGbGojruQducSc +g+R++hQ/SmsEtQAeFtg4aTNserNO2j/Z/uJr6HOnhJVcGJC/MNOVXSCqjYuALnKFs8Z 8kyCJfTP5vrbdkJ0T6bX9pgfGOr7fp5jsFpuJvyONAhcE1M46ifLTYHufgjgmzY3bg+t i9nVqkOhoCVLTzF0fTnw8+L8XQfH8oLG4D/qusG2ERNj3MZGWGqaikUL6d9HzVi7MCoY SEPx9zqK2nyWipjkBwCBRtGFQKPMUYm8CANJO3HwpmNAkz8QWzAKxEGMgpiyfta8va4B s8vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=7L5ReosigY5Wz0Mddf0vTiDY7cTwkv+RqLpdxdUdFeM=; b=OU5beqRxN846Yc4S7X2CXcKZu7TErFEc9obeiEFG4Ykner+gnEUErupfVqayUFkVvh UjiDWQ/EHhc8rSv0DLloaKN0gHOlYf2b8H2xmJIlQo6AaFCwJMT0esh5HvD8VySCFXdI GgMmOonH4gBQfHEycDTIOL2Fh+8bnrKDULoug9MO5tjoY+7qdn+teagJn3zKDmZthkOP pu7vyl7yKlUCTdXO9XVmEX/zuPgChKEAm0MDmyBirhWiFC35fx5RY0W6LZqiJzwf2qZF Us5b7r+FTrJB1557yHlcyIylEZhHt1hxJjIClTO7eMfCTMEOZ1nMRHibfXxIYe5errBn 7Evw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=wZxQ6Msv; 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 b2si6540752pgc.726.2018.01.18.10.46.08; Thu, 18 Jan 2018 10:46:08 -0800 (PST) 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=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=wZxQ6Msv; 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 S1756002AbeARSqH (ORCPT + 28 others); Thu, 18 Jan 2018 13:46:07 -0500 Received: from mail-wm0-f66.google.com ([74.125.82.66]:46018 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932469AbeARSpn (ORCPT ); Thu, 18 Jan 2018 13:45:43 -0500 Received: by mail-wm0-f66.google.com with SMTP id i186so23827804wmi.4 for ; Thu, 18 Jan 2018 10:45:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=7L5ReosigY5Wz0Mddf0vTiDY7cTwkv+RqLpdxdUdFeM=; b=wZxQ6Msv9QgVyBGOLHDIep8bgVTfOpb/lmgNc1oq8tM3lO7ZFddfOQmaPktlbUhyiQ Xj49uff0U239+OBuUoyZC5cB4QQ1fyFPofLausJwc9AZdaTwETZHseU9s6PPTDkmjhPh HiXpkxSZxdyg7yvIuA/cvoYmL6ySJYZawXjI9HhdUAG7fiSlmGJ2jAOHCHOUyoI+Xi8g KTGtfzhTP7z3WWUT826+EYqbCvNw662ziXTAquGZuFm2x5SNkKawV+Tk9VFUNToSaRw8 yc09HQHHvmHnfaZ18dWT7jweq1F3iojDkG3GfXv5zPwPzHpclUlMUXUp4qNHUicY0NPo 6/8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=7L5ReosigY5Wz0Mddf0vTiDY7cTwkv+RqLpdxdUdFeM=; b=k368sEkbSZWRVY/2Zc5iD0dLANWwU+VkY7t4nWvwr4Bgh/nOKRcjLjVR6sef8DOhCJ 9CKtzUm0TwP+SQsIrey7nSqYUoOfnk8u5KuUhU5XeNc9CQMUzw08XvQkveJ4LZxgeHh/ jMOEW6WNsCAzsQFHW2fEuBdLpysmQxb72SvcU5tS8f0hX3lFGrt2J97PIjImU/0cOSt0 /TA8qPkCA91jz0S4NYNDhlmfvDLA6v9TlONMDbTRUO9nm8Z3SVRNq0dgMyJpVZ3qDdh9 oiHMEFXdva0wzY2S0ZPt8UtiCyFSQoIDz1lUja7p3PHlUwnWW0Fj2BZeM1bL0zkIEhld qqAw== X-Gm-Message-State: AKwxytcFLobOP9o4CyN0Kxa7uIAivIjCeNRTb2xQSsWv7fpFl7yg7rSD FXmS8RW37IEWKnd+rCszjAu3b99N X-Received: by 10.28.185.196 with SMTP id j187mr6428134wmf.94.1516301142515; Thu, 18 Jan 2018 10:45:42 -0800 (PST) Received: from boomer.baylibre.local ([90.63.244.31]) by smtp.googlemail.com with ESMTPSA id y62sm6240236wrb.48.2018.01.18.10.45.41 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 18 Jan 2018 10:45:42 -0800 (PST) From: Jerome Brunet To: Neil Armstrong Cc: Jerome Brunet , Kevin Hilman , Carlo Caione , Michael Turquette , Stephen Boyd , linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 8/9] clk: meson: gxbb: add the fractional part of the fixed_pll Date: Thu, 18 Jan 2018 19:45:31 +0100 Message-Id: <20180118184532.6856-9-jbrunet@baylibre.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180118184532.6856-1-jbrunet@baylibre.com> References: <20180118184532.6856-1-jbrunet@baylibre.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The fixed_pll of gxbb and gxl also has a fractional parameter. This has not been a problem so far because fractional part is actually set to 0 on these platforms, so the rate remains correct when it is ignored. Still, it is better represent the pll the way it is, so add the frac parameter now Signed-off-by: Jerome Brunet --- drivers/clk/meson/gxbb.c | 5 +++++ 1 file changed, 5 insertions(+) -- 2.14.3 diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c index 9a92e64b428c..3202f85e69e5 100644 --- a/drivers/clk/meson/gxbb.c +++ b/drivers/clk/meson/gxbb.c @@ -202,6 +202,11 @@ static struct meson_clk_pll gxbb_fixed_pll = { .shift = 16, .width = 2, }, + .frac = { + .reg_off = HHI_MPLL_CNTL2, + .shift = 0, + .width = 12, + }, .lock = &meson_clk_lock, .hw.init = &(struct clk_init_data){ .name = "fixed_pll", From patchwork Thu Jan 18 18:45:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Brunet X-Patchwork-Id: 125005 Delivered-To: patch@linaro.org Received: by 10.46.64.27 with SMTP id n27csp247238lja; Thu, 18 Jan 2018 10:45:49 -0800 (PST) X-Google-Smtp-Source: ACJfBosZD+ie7q2mU/b8Kj8cyuALxJhYYK/YkRqw+1/0zxie5tkGqLuOQM5BJzcbRnJkNnkjVr0Z X-Received: by 2002:a17:902:760c:: with SMTP id k12-v6mr238792pll.438.1516301149078; Thu, 18 Jan 2018 10:45:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516301149; cv=none; d=google.com; s=arc-20160816; b=ciRic6kKtc0voDK5nK12M3agQoSlcsr5R3lXq/mmhjxJKroD2tAF3w/2ERv74jdmw+ XEQERQzxVbXqr6L9gCgYRcgjjmuu6r4Cm1FUz9/lEPJFvEzhHgd2TOeT4iAK63tg67FE XGcnvQ6Bfd2gwBSBssIUXLRTQ02DcItIZxM3uK4XzYy4JRc9QBn8AhmO0AK3ksoEYRcu I2lbNMD5ChdDWE/qkqPKQWNspNB/sgHVszqm3dw4Ldm8MVY+wKVExk3cmxracgnKUsRW psT/NPj904t1Z/xz2KEgf6dvUl6qHCdmsVJUA5sHJ9vngYZBgFXYURpw16RFJwvXYsYC RIQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=R6GpeAYtWpRxuOoEQheg8v/Osi3TIzDy3Z35Dyd1Ffk=; b=Te5e74Fo+4fd8OqsfkbKStyMANKQKUXkFdwZhWsBhoxUFCMnXEzzExp0y0aUZbwiQk VAGIgpcnMK7s0dvo3swnCL3jDcx8lzKtqyR7E61/2d3ALSk/XkDyZ5mKW+9apgiKdZVy 0mBH7OkAFo65NeXi7Xn2asGkUe6F04pr4EYmQs7hmjoE/9dxB+eJgdXD37BBbACteLls dmmAhsg8KJdbHYtd/HVlNR/heqwfVdFBumSEInT8tXr8nrs1GDDPVsS2BCng8aIg2mCt cu+LhsX3MlicyVN4ilNwNFOP8emTP7PJimLXyfBUZ8fL96UYTuR2eK3J9bfa0Mx1fUy8 y9pw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=yWJyoCuz; 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 a11-v6si113495plt.567.2018.01.18.10.45.48; Thu, 18 Jan 2018 10:45:49 -0800 (PST) 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=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=yWJyoCuz; 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 S1755938AbeARSpr (ORCPT + 28 others); Thu, 18 Jan 2018 13:45:47 -0500 Received: from mail-wm0-f65.google.com ([74.125.82.65]:46540 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932687AbeARSpo (ORCPT ); Thu, 18 Jan 2018 13:45:44 -0500 Received: by mail-wm0-f65.google.com with SMTP id 143so23823511wma.5 for ; Thu, 18 Jan 2018 10:45:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=R6GpeAYtWpRxuOoEQheg8v/Osi3TIzDy3Z35Dyd1Ffk=; b=yWJyoCuzWqfY61qjknzbGGU/Ju3u66tSFbRli9Ym2AS7IsxdbRxEaCoKCmZeIHYtwV rQZYjyGMGKjDsVX2pgck6sTmlnCJJ7Ni4JPmRAUUvXW6hSCDffojI5wEeUUCSoaQc7hx iEb/HROYZOhPYjjvjCj6MW1N/21lgJkVYLlW2XDuDVuGmkU/+q/q1XN2MBl87Wk42aiA NRvsJD2Emn0OSsWzbnrWku1ZY2pBVLQILV9GfC+vV7kgnobYnnD5opV4nodx5ZsjENOs mpZTwH/nE09GtTIWTRFXaPmw6wy9kNUsGifiD/uzMW9QqICGuC+xvzm0SVRvTqR3zSyu wSkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=R6GpeAYtWpRxuOoEQheg8v/Osi3TIzDy3Z35Dyd1Ffk=; b=EyQ4J1K+OZAKTqyG/lp6eAUQ2bF5YJmBZXAv+sfoKi8jztr4gWPeGlcZbO2IA0LGLf gq25oy8SzfZklXuaCf6hSd1KJ4c6/+t9I7TPaXDlZviEz/rZUjeBva74THjLe2i0nG7s WJt6QSZtiwk2w8XRXQa/yl+Bq+myDwwn4AXPx/nxv1Im/M5Dm0GZmoprqU5X+MvSoOyG kVgRzejw5Ky41X6NpsKDikHRX2fUJhMfa//1QRWDfSHBc+CQrhAvAG9/Luo256gM+i05 RY/mQlfsDELL1pc1tJ0l3v6QGf4zdX5xLX0WA9KtN+Cc4bGnLIuY2rkwBojT4VSEWEpK SxGw== X-Gm-Message-State: AKwxytc+VSedBIIGXBOKsLFZCmywkVFIJYroYjhKZvyeZoi6DasUqk93 PZT+46vTFzGdqb3kGF6NUauhNA== X-Received: by 10.28.199.201 with SMTP id x192mr5635429wmf.45.1516301143444; Thu, 18 Jan 2018 10:45:43 -0800 (PST) Received: from boomer.baylibre.local ([90.63.244.31]) by smtp.googlemail.com with ESMTPSA id y62sm6240236wrb.48.2018.01.18.10.45.42 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 18 Jan 2018 10:45:42 -0800 (PST) From: Jerome Brunet To: Neil Armstrong Cc: Jerome Brunet , Kevin Hilman , Carlo Caione , Michael Turquette , Stephen Boyd , linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 9/9] clk: meson: axg: add the fractional part of the fixed_pll Date: Thu, 18 Jan 2018 19:45:32 +0100 Message-Id: <20180118184532.6856-10-jbrunet@baylibre.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180118184532.6856-1-jbrunet@baylibre.com> References: <20180118184532.6856-1-jbrunet@baylibre.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The fixed_pll also has a fractional part. On axg s400 board, without this parameter, the calculated rate is off by ~8Mhz (0,4%). The fixed_pll being the root of peripheral clock tree, this error is propagated to the rest of the clocks Adding the definition of the parameter fixes the problem Fixes: 78b4af312f91 ("clk: meson-axg: add clock controller drivers") Signed-off-by: Jerome Brunet --- drivers/clk/meson/axg.c | 5 +++++ 1 file changed, 5 insertions(+) -- 2.14.3 diff --git a/drivers/clk/meson/axg.c b/drivers/clk/meson/axg.c index 56806c6bd9d5..953e119635a2 100644 --- a/drivers/clk/meson/axg.c +++ b/drivers/clk/meson/axg.c @@ -37,6 +37,11 @@ static struct meson_clk_pll axg_fixed_pll = { .shift = 16, .width = 2, }, + .frac = { + .reg_off = HHI_MPLL_CNTL2, + .shift = 0, + .width = 12, + }, .lock = &meson_clk_lock, .hw.init = &(struct clk_init_data){ .name = "fixed_pll",