All of lore.kernel.org
 help / color / mirror / Atom feed
From: tomi.valkeinen@ti.com (Tomi Valkeinen)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH RFC v9 01/20] clk: divider: Correct parent clk round rate if no bestdiv is normally found
Date: Mon, 16 Feb 2015 13:18:13 +0200	[thread overview]
Message-ID: <54E1D1F5.2050603@ti.com> (raw)
In-Reply-To: <20150213185713.GA12209@pengutronix.de>

On 13/02/15 20:57, Sascha Hauer wrote:
> On Fri, Feb 13, 2015 at 04:35:36PM +0200, Tomi Valkeinen wrote:
>> On 12/02/15 15:41, Sascha Hauer wrote:
>>
>>> Tomis patch is based on the assumption that clk_set_rate(clk_round_rate(rate))
>>> is equal to clk_round_rate(rate). So when this assumption is wrong then
>>> it should simply be reverted.
>>
>> When is it not equal?
>>
>> I agree that doing clk_set_rate(clk, clk_round_rate(clk, rate)) is
>> pointless, but shouldn't it still work?
>>
>> And we can forget about clk_round_rate. Without my patch, this would
>> behave oddly also:
>>
>> rate = clk_get_rate(clk);
>> clk_set_rate(clk, rate);
>>
>> The end result could be something else than 'rate'.
> 
> I agree that it's a bit odd, but I think it has to be like this.
> Consider that you request a rate of 100Hz, but the clock can only
> produce 99.5Hz, so due to rounding clk_round_rate() returns 99Hz.
> Now when you request 99Hz from clk_set_rate() the 99.5Hz value
> can't be used because it's too high.

Would that problem better be fixed by changing the clock driver so that
when asked for 99Hz, it would look for rates less than 100Hz?

I think the old behavior was so odd that I would call it broken, so I
hope the current problems can be fixed via some other ways than breaking
it again.

 Tomi


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150216/131b241b/attachment.sig>

WARNING: multiple messages have this Message-ID (diff)
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Liu Ying <Ying.Liu@freescale.com>,
	dri-devel@lists.freedesktop.org, stefan.wahren@i2se.com,
	devicetree@vger.kernel.org, kernel@pengutronix.de,
	sboyd@codeaurora.org, linux-kernel@vger.kernel.org,
	a.hajda@samsung.com, andy.yan@rock-chips.com,
	mturquette@linaro.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH RFC v9 01/20] clk: divider: Correct parent clk round rate if no bestdiv is normally found
Date: Mon, 16 Feb 2015 13:18:13 +0200	[thread overview]
Message-ID: <54E1D1F5.2050603@ti.com> (raw)
In-Reply-To: <20150213185713.GA12209@pengutronix.de>

[-- Attachment #1: Type: text/plain, Size: 1347 bytes --]

On 13/02/15 20:57, Sascha Hauer wrote:
> On Fri, Feb 13, 2015 at 04:35:36PM +0200, Tomi Valkeinen wrote:
>> On 12/02/15 15:41, Sascha Hauer wrote:
>>
>>> Tomis patch is based on the assumption that clk_set_rate(clk_round_rate(rate))
>>> is equal to clk_round_rate(rate). So when this assumption is wrong then
>>> it should simply be reverted.
>>
>> When is it not equal?
>>
>> I agree that doing clk_set_rate(clk, clk_round_rate(clk, rate)) is
>> pointless, but shouldn't it still work?
>>
>> And we can forget about clk_round_rate. Without my patch, this would
>> behave oddly also:
>>
>> rate = clk_get_rate(clk);
>> clk_set_rate(clk, rate);
>>
>> The end result could be something else than 'rate'.
> 
> I agree that it's a bit odd, but I think it has to be like this.
> Consider that you request a rate of 100Hz, but the clock can only
> produce 99.5Hz, so due to rounding clk_round_rate() returns 99Hz.
> Now when you request 99Hz from clk_set_rate() the 99.5Hz value
> can't be used because it's too high.

Would that problem better be fixed by changing the clock driver so that
when asked for 99Hz, it would look for rates less than 100Hz?

I think the old behavior was so odd that I would call it broken, so I
hope the current problems can be fixed via some other ways than breaking
it again.

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Liu Ying <Ying.Liu@freescale.com>,
	<dri-devel@lists.freedesktop.org>, <stefan.wahren@i2se.com>,
	<devicetree@vger.kernel.org>, <kernel@pengutronix.de>,
	<sboyd@codeaurora.org>, <linux-kernel@vger.kernel.org>,
	<a.hajda@samsung.com>, <andy.yan@rock-chips.com>,
	<mturquette@linaro.org>, <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH RFC v9 01/20] clk: divider: Correct parent clk round rate if no bestdiv is normally found
Date: Mon, 16 Feb 2015 13:18:13 +0200	[thread overview]
Message-ID: <54E1D1F5.2050603@ti.com> (raw)
In-Reply-To: <20150213185713.GA12209@pengutronix.de>

[-- Attachment #1: Type: text/plain, Size: 1347 bytes --]

On 13/02/15 20:57, Sascha Hauer wrote:
> On Fri, Feb 13, 2015 at 04:35:36PM +0200, Tomi Valkeinen wrote:
>> On 12/02/15 15:41, Sascha Hauer wrote:
>>
>>> Tomis patch is based on the assumption that clk_set_rate(clk_round_rate(rate))
>>> is equal to clk_round_rate(rate). So when this assumption is wrong then
>>> it should simply be reverted.
>>
>> When is it not equal?
>>
>> I agree that doing clk_set_rate(clk, clk_round_rate(clk, rate)) is
>> pointless, but shouldn't it still work?
>>
>> And we can forget about clk_round_rate. Without my patch, this would
>> behave oddly also:
>>
>> rate = clk_get_rate(clk);
>> clk_set_rate(clk, rate);
>>
>> The end result could be something else than 'rate'.
> 
> I agree that it's a bit odd, but I think it has to be like this.
> Consider that you request a rate of 100Hz, but the clock can only
> produce 99.5Hz, so due to rounding clk_round_rate() returns 99Hz.
> Now when you request 99Hz from clk_set_rate() the 99.5Hz value
> can't be used because it's too high.

Would that problem better be fixed by changing the clock driver so that
when asked for 99Hz, it would look for rates less than 100Hz?

I think the old behavior was so odd that I would call it broken, so I
hope the current problems can be fixed via some other ways than breaking
it again.

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  reply	other threads:[~2015-02-16 11:18 UTC|newest]

Thread overview: 194+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-12  6:01 [PATCH RFC v9 00/20] Add support for i.MX MIPI DSI DRM driver Liu Ying
2015-02-12  6:01 ` Liu Ying
2015-02-12  6:01 ` Liu Ying
2015-02-12  6:01 ` [PATCH RFC v9 01/20] clk: divider: Correct parent clk round rate if no bestdiv is normally found Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  9:33   ` Sascha Hauer
2015-02-12  9:33     ` Sascha Hauer
2015-02-12  9:33     ` Sascha Hauer
2015-02-12 10:39     ` Liu Ying
2015-02-12 10:39       ` Liu Ying
2015-02-12 10:39       ` Liu Ying
2015-02-12 12:24       ` Sascha Hauer
2015-02-12 12:24         ` Sascha Hauer
2015-02-12 12:24         ` Sascha Hauer
2015-02-12 12:56         ` Russell King - ARM Linux
2015-02-12 12:56           ` Russell King - ARM Linux
2015-02-12 12:56           ` Russell King - ARM Linux
2015-02-12 13:41           ` Sascha Hauer
2015-02-12 13:41             ` Sascha Hauer
2015-02-12 13:41             ` Sascha Hauer
2015-02-12 14:06             ` Liu Ying
2015-02-12 14:06               ` Liu Ying
2015-02-12 14:06               ` Liu Ying
2015-02-13  2:58               ` Liu Ying
2015-02-13  2:58                 ` Liu Ying
2015-02-13  2:58                 ` Liu Ying
2015-02-13  2:58                 ` Travis
2015-02-13  2:58                   ` Travis
2015-02-13  2:58                   ` Travis
2015-02-13 14:35             ` Tomi Valkeinen
2015-02-13 14:35               ` Tomi Valkeinen
2015-02-13 14:35               ` Tomi Valkeinen
2015-02-13 18:57               ` Sascha Hauer
2015-02-13 18:57                 ` Sascha Hauer
2015-02-13 18:57                 ` Sascha Hauer
2015-02-16 11:18                 ` Tomi Valkeinen [this message]
2015-02-16 11:18                   ` Tomi Valkeinen
2015-02-16 11:18                   ` Tomi Valkeinen
2015-02-17 10:32                   ` Sascha Hauer
2015-02-17 10:32                     ` Sascha Hauer
2015-02-17 10:32                     ` Sascha Hauer
2015-02-16 11:27                 ` Russell King - ARM Linux
2015-02-16 11:27                   ` Russell King - ARM Linux
2015-02-16 11:27                   ` Russell King - ARM Linux
2015-02-20 19:13                   ` Mike Turquette
2015-02-20 19:13                     ` Mike Turquette
2015-02-20 19:20                     ` Russell King - ARM Linux
2015-02-20 19:20                       ` Russell King - ARM Linux
2015-02-20 19:20                       ` Russell King - ARM Linux
2015-02-20 19:42                       ` Mike Turquette
2015-02-20 19:42                         ` Mike Turquette
2015-02-21  8:56         ` Uwe Kleine-König
2015-02-21  8:56           ` Uwe Kleine-König
2015-02-21  8:56           ` Uwe Kleine-König
2015-02-21 10:40           ` [PATCH 0/3] clk: divider: three exactness fixes (and a rant) Uwe Kleine-König
2015-02-21 10:40             ` Uwe Kleine-König
2015-02-21 10:40             ` [PATCH 1/3] clk: divider: fix calculation of maximal parent rate for a given divider Uwe Kleine-König
2015-02-21 10:40               ` Uwe Kleine-König
2015-02-23  7:32               ` Sascha Hauer
2015-02-23  7:32                 ` Sascha Hauer
2015-03-05  8:35               ` Uwe Kleine-König
2015-03-05  8:35                 ` Uwe Kleine-König
2015-02-21 10:40             ` [PATCH 2/3] clk: divider: fix selection of divider when rounding to closest Uwe Kleine-König
2015-02-21 10:40               ` Uwe Kleine-König
2015-02-23  9:46               ` Maxime Coquelin
2015-02-23  9:46                 ` Maxime Coquelin
2015-02-21 10:40             ` [PATCH 3/3] clk: divider: fix calculation of initial best " Uwe Kleine-König
2015-02-21 10:40               ` Uwe Kleine-König
2015-02-23  9:42               ` Maxime Coquelin
2015-02-23  9:42                 ` Maxime Coquelin
2015-02-23  7:23             ` [PATCH 0/3] clk: divider: three exactness fixes (and a rant) Sascha Hauer
2015-02-23  7:23               ` Sascha Hauer
2015-03-06 18:57             ` Mike Turquette
2015-03-06 18:57               ` Mike Turquette
2015-03-06 19:28               ` Uwe Kleine-König
2015-03-06 19:28                 ` Uwe Kleine-König
2015-03-06 19:40                 ` Stephen Boyd
2015-03-06 19:40                   ` Stephen Boyd
2015-03-09  9:58                   ` Philipp Zabel
2015-03-09  9:58                     ` Philipp Zabel
2015-03-09 19:05                     ` Stephen Boyd
2015-03-09 19:05                       ` Stephen Boyd
2015-03-09 20:23                       ` Uwe Kleine-König
2015-03-09 20:23                         ` Uwe Kleine-König
2015-03-09 21:07                       ` Mike Turquette
2015-03-09 21:07                         ` Mike Turquette
2015-03-09 21:58                         ` Uwe Kleine-König
2015-03-09 21:58                           ` Uwe Kleine-König
2015-03-09 22:40                           ` Stephen Boyd
2015-03-09 22:40                             ` Stephen Boyd
2015-03-09 23:34                             ` Uwe Kleine-König
2015-03-09 23:34                               ` Uwe Kleine-König
2015-03-12  1:21                               ` Stephen Boyd
2015-03-12  1:21                                 ` Stephen Boyd
2015-03-12  8:57                                 ` Philipp Zabel
2015-03-12  8:57                                   ` Philipp Zabel
2015-03-13  7:50                                   ` Uwe Kleine-König
2015-03-13  7:50                                     ` Uwe Kleine-König
2015-03-13  8:13                                     ` Philipp Zabel
2015-03-13  8:13                                       ` Philipp Zabel
2015-03-06 19:44               ` Stephen Boyd
2015-03-06 19:44                 ` Stephen Boyd
2015-03-06 21:09                 ` Uwe Kleine-König
2015-03-06 21:09                   ` Uwe Kleine-König
2015-02-12  6:01 ` [PATCH RFC v9 02/20] ARM: imx6q: Add GPR3 MIPI muxing control register field shift bits definition Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01 ` [PATCH RFC v9 03/20] ARM: imx6q: clk: Add the video_27m clock Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01 ` [PATCH RFC v9 04/20] ARM: imx6q: clk: Change hdmi_isfr clock's parent to be " Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01 ` [PATCH RFC v9 05/20] ARM: imx6q: clk: Change hsi_tx clock to be a shared clock gate Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01 ` [PATCH RFC v9 06/20] ARM: imx6q: clk: Add support for mipi_core_cfg clock as " Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01 ` [PATCH RFC v9 07/20] ARM: imx6q: clk: Add support for mipi_ipg " Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01 ` [PATCH RFC v9 08/20] ARM: dts: imx6qdl: Move existing MIPI DSI ports into a new 'ports' node Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01 ` [PATCH RFC v9 09/20] drm/dsi: Add a helper to get bits per pixel of MIPI DSI pixel format Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  9:26   ` Daniel Vetter
2015-02-12  9:26     ` Daniel Vetter
2015-02-12  9:26     ` Daniel Vetter
2015-02-13  5:01     ` Liu Ying
2015-02-13  5:01       ` Liu Ying
2015-02-13  5:01       ` Liu Ying
2015-03-03 11:07   ` Philipp Zabel
2015-03-03 11:07     ` Philipp Zabel
2015-03-03 11:07     ` Philipp Zabel
2015-04-03  3:28     ` Liu Ying
2015-04-03  3:28       ` Liu Ying
2015-04-09  7:10   ` Thierry Reding
2015-04-09  7:10     ` Thierry Reding
2015-04-09  7:10     ` Thierry Reding
2015-02-12  6:01 ` [PATCH RFC v9 10/20] Documentation: dt-bindings: Add bindings for Synopsys DW MIPI DSI DRM bridge driver Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01 ` [PATCH RFC v9 11/20] drm/bridge: Add Synopsys DesignWare MIPI DSI host controller driver Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-04-09  8:43   ` Thierry Reding
2015-04-09  8:43     ` Thierry Reding
2015-04-09  8:43     ` Thierry Reding
2015-04-16  5:39     ` Archit Taneja
2015-04-16  5:39       ` Archit Taneja
2015-04-16  5:39       ` Archit Taneja
2015-04-22 12:13       ` Heiko Stübner
2015-04-22 12:13         ` Heiko Stübner
2015-04-22 12:13         ` Heiko Stübner
2015-02-12  6:01 ` [PATCH RFC v9 12/20] Documentation: dt-bindings: Add bindings for i.MX specific Synopsys DW MIPI DSI driver Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01 ` [PATCH RFC v9 13/20] drm: imx: Support Synopsys DesignWare MIPI DSI host controller Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01 ` [PATCH RFC v9 14/20] Documentation: dt-bindings: Add bindings for Himax HX8369A DRM panel driver Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-04-09  7:20   ` Thierry Reding
2015-04-09  7:20     ` Thierry Reding
2015-04-09  7:20     ` Thierry Reding
2015-02-12  6:01 ` [PATCH RFC v9 15/20] drm: panel: Add support for Himax HX8369A MIPI DSI panel Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-04-09  8:09   ` Thierry Reding
2015-04-09  8:09     ` Thierry Reding
2015-04-09  8:09     ` Thierry Reding
2015-02-12  6:01 ` [PATCH RFC v9 16/20] ARM: dtsi: imx6qdl: Add support for MIPI DSI host controller Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01 ` [PATCH RFC v9 17/20] ARM: dts: imx6qdl-sabresd: Add support for TRULY TFT480800-16-E MIPI DSI panel Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01 ` [PATCH RFC v9 18/20] ARM: imx_v6_v7_defconfig: Cleanup for imx drm being moved out of staging Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01 ` [PATCH RFC v9 19/20] ARM: imx_v6_v7_defconfig: Add support for MIPI DSI host controller Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01 ` [PATCH RFC v9 20/20] ARM: imx_v6_v7_defconfig: Add support for Himax HX8369A panel Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-02-12  6:01   ` Liu Ying
2015-03-02 13:24 ` [PATCH RFC v9 00/20] Add support for i.MX MIPI DSI DRM driver Shawn Guo
2015-03-02 13:24   ` Shawn Guo
2015-03-02 13:24   ` Shawn Guo

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=54E1D1F5.2050603@ti.com \
    --to=tomi.valkeinen@ti.com \
    --cc=linux-arm-kernel@lists.infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.