From: maxime.ripard@free-electrons.com
To: Jernej Skrabec <jernej.skrabec@siol.net>
Cc: airlied@linux.ie, robh+dt@kernel.org, mark.rutland@arm.com,
wens@csie.org, architt@codeaurora.org, a.hajda@samsung.com,
Laurent.pinchart@ideasonboard.com, mturquette@baylibre.com,
sboyd@codeaurora.org, Jose.Abreu@synopsys.com,
narmstrong@baylibre.com, dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org,
linux-sunxi@googlegroups.com
Subject: Re: [PATCH 01/11] clk: sunxi-ng: Don't set k if width is 0 for nkmp plls
Date: Thu, 4 Jan 2018 15:25:30 +0100 [thread overview]
Message-ID: <20180104142530.ffz26qs66c6y7b2h@flea.lan> (raw)
In-Reply-To: <20171230210203.24115-2-jernej.skrabec@siol.net>
[-- Attachment #1: Type: text/plain, Size: 1738 bytes --]
Hi,
On Sat, Dec 30, 2017 at 10:01:53PM +0100, Jernej Skrabec wrote:
> For example, A83T have nmp plls which are modelled as nkmp plls. Since k
> is not specified, it has offset 0, shift 0 and lowest value 1. This
> means that LSB bit is always set to 1, which may change clock rate.
>
> Fix that by applying k factor only if k width is greater than 0.
>
> Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
This looks fine...
> ---
> drivers/clk/sunxi-ng/ccu_nkmp.c | 21 +++++++++++++--------
> 1 file changed, 13 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/clk/sunxi-ng/ccu_nkmp.c b/drivers/clk/sunxi-ng/ccu_nkmp.c
> index e58c95787f94..709f528af2b3 100644
> --- a/drivers/clk/sunxi-ng/ccu_nkmp.c
> +++ b/drivers/clk/sunxi-ng/ccu_nkmp.c
> @@ -81,7 +81,7 @@ static unsigned long ccu_nkmp_recalc_rate(struct clk_hw *hw,
> unsigned long parent_rate)
> {
> struct ccu_nkmp *nkmp = hw_to_ccu_nkmp(hw);
> - unsigned long n, m, k, p;
> + unsigned long n, m, k = 1, p;
> u32 reg;
>
> reg = readl(nkmp->common.base + nkmp->common.reg);
> @@ -92,11 +92,13 @@ static unsigned long ccu_nkmp_recalc_rate(struct clk_hw *hw,
> if (!n)
> n++;
>
> - k = reg >> nkmp->k.shift;
> - k &= (1 << nkmp->k.width) - 1;
> - k += nkmp->k.offset;
> - if (!k)
> - k++;
> + if (nkmp->k.width) {
> + k = reg >> nkmp->k.shift;
> + k &= (1 << nkmp->k.width) - 1;
> + k += nkmp->k.offset;
> + if (!k)
> + k++;
> + }
... but could you add a comment there to explain why you're using a
different construct than the one used for the other factors?
Thanks!
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2018-01-04 14:25 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-30 21:01 [PATCH 00/11] drm/sun4i: Add A83T HDMI support Jernej Skrabec
2017-12-30 21:01 ` [PATCH 01/11] clk: sunxi-ng: Don't set k if width is 0 for nkmp plls Jernej Skrabec
2018-01-04 14:25 ` maxime.ripard [this message]
2018-01-04 14:45 ` Chen-Yu Tsai
2018-01-04 19:28 ` Jernej Škrabec
2018-01-08 9:19 ` [linux-sunxi] " Chen-Yu Tsai
2018-01-09 15:54 ` Jernej Škrabec
2017-12-30 21:01 ` [PATCH 02/11] clk: sunxi-ng: a83t: Add M divider to TCON1 clock Jernej Skrabec
2018-01-03 5:46 ` Chen-Yu Tsai
2017-12-30 21:01 ` [PATCH 03/11] drm/bridge/synopsys: dw-hdmi: Enable workaround for v1.32a Jernej Skrabec
2018-01-09 12:56 ` Laurent Pinchart
2018-01-09 15:29 ` Neil Armstrong
2017-12-30 21:01 ` [PATCH 04/11] drm/bridge/synopsys: dw-hdmi: Export some PHY related functions Jernej Skrabec
2018-01-09 10:43 ` Archit Taneja
2018-01-09 15:58 ` Jernej Škrabec
2018-01-09 16:08 ` Laurent Pinchart
2018-01-09 16:33 ` Jernej Škrabec
2018-01-09 18:42 ` Jernej Škrabec
2018-01-09 13:30 ` Laurent Pinchart
2018-01-09 16:02 ` Jernej Škrabec
2017-12-30 21:01 ` [PATCH 05/11] drm/bridge/synopsys: dw-hdmi: Add deinit callback Jernej Skrabec
2017-12-30 21:01 ` [PATCH 06/11] dt-bindings: display: sun4i-drm: Add A83T HDMI pipeline Jernej Skrabec
2018-01-03 20:21 ` Rob Herring
2018-01-03 21:32 ` Jernej Škrabec
2018-01-04 18:52 ` Maxime Ripard
2018-01-05 2:49 ` Icenowy Zheng
2018-01-05 6:20 ` [linux-sunxi] " Jernej Škrabec
2018-01-05 2:50 ` Icenowy Zheng
2017-12-30 21:01 ` [PATCH 07/11] drm/sun4i: Add support for A83T second TCON Jernej Skrabec
2018-01-04 15:50 ` Maxime Ripard
2017-12-30 21:02 ` [PATCH 08/11] drm/sun4i: Add support for A83T second DE2 mixer Jernej Skrabec
2018-01-04 15:50 ` Maxime Ripard
2017-12-30 21:02 ` [PATCH 09/11] drm/sun4i: Implement A83T HDMI driver Jernej Skrabec
2017-12-30 21:02 ` [PATCH 10/11] ARM: dts: sun8i: a83t: Add HDMI display pipeline Jernej Skrabec
2017-12-30 21:02 ` [PATCH 11/11] ARM: dts: sun8i: a83t: Enable HDMI on BananaPi M3 Jernej Skrabec
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180104142530.ffz26qs66c6y7b2h@flea.lan \
--to=maxime.ripard@free-electrons.com \
--cc=Jose.Abreu@synopsys.com \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=a.hajda@samsung.com \
--cc=airlied@linux.ie \
--cc=architt@codeaurora.org \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=jernej.skrabec@siol.net \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sunxi@googlegroups.com \
--cc=mark.rutland@arm.com \
--cc=mturquette@baylibre.com \
--cc=narmstrong@baylibre.com \
--cc=robh+dt@kernel.org \
--cc=sboyd@codeaurora.org \
--cc=wens@csie.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®