public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 1/1] mfd: intel-lpss: Fix the fractional clock divider flags
@ 2023-12-11 11:14 Andy Shevchenko
  2023-12-13 16:13 ` Lee Jones
  2023-12-13 16:19 ` (subset) " Lee Jones
  0 siblings, 2 replies; 8+ messages in thread
From: Andy Shevchenko @ 2023-12-11 11:14 UTC (permalink / raw)
  To: Lee Jones, Andy Shevchenko, linux-kernel; +Cc: Alex Vinarskis

The conversion to CLK_FRAC_DIVIDER_POWER_OF_TWO_PS uses wrong flags
in the parameters and hence miscalculates the values in the clock
divider. Fix this by applying the flag to the proper parameter.

Fixes: 82f53f9ee577 ("clk: fractional-divider: Introduce POWER_OF_TWO_PS flag")
Reported-by: Alex Vinarskis <alex.vinarskis@gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/mfd/intel-lpss.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mfd/intel-lpss.c b/drivers/mfd/intel-lpss.c
index 177915845ba2..eff423f7dd28 100644
--- a/drivers/mfd/intel-lpss.c
+++ b/drivers/mfd/intel-lpss.c
@@ -309,8 +309,8 @@ static int intel_lpss_register_clock_divider(struct intel_lpss *lpss,
 
 	snprintf(name, sizeof(name), "%s-div", devname);
 	tmp = clk_register_fractional_divider(NULL, name, __clk_get_name(tmp),
+					      0, lpss->priv, 1, 15, 16, 15,
 					      CLK_FRAC_DIVIDER_POWER_OF_TWO_PS,
-					      lpss->priv, 1, 15, 16, 15, 0,
 					      NULL);
 	if (IS_ERR(tmp))
 		return PTR_ERR(tmp);
-- 
2.43.0.rc1.1.gbec44491f096


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v1 1/1] mfd: intel-lpss: Fix the fractional clock divider flags
  2023-12-11 11:14 [PATCH v1 1/1] mfd: intel-lpss: Fix the fractional clock divider flags Andy Shevchenko
@ 2023-12-13 16:13 ` Lee Jones
  2023-12-13 16:17   ` Andy Shevchenko
  2023-12-13 16:19 ` (subset) " Lee Jones
  1 sibling, 1 reply; 8+ messages in thread
From: Lee Jones @ 2023-12-13 16:13 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: linux-kernel, Alex Vinarskis

On Mon, 11 Dec 2023, Andy Shevchenko wrote:

> The conversion to CLK_FRAC_DIVIDER_POWER_OF_TWO_PS uses wrong flags
> in the parameters and hence miscalculates the values in the clock
> divider. Fix this by applying the flag to the proper parameter.
> 
> Fixes: 82f53f9ee577 ("clk: fractional-divider: Introduce POWER_OF_TWO_PS flag")
> Reported-by: Alex Vinarskis <alex.vinarskis@gmail.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/mfd/intel-lpss.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/mfd/intel-lpss.c b/drivers/mfd/intel-lpss.c
> index 177915845ba2..eff423f7dd28 100644
> --- a/drivers/mfd/intel-lpss.c
> +++ b/drivers/mfd/intel-lpss.c
> @@ -309,8 +309,8 @@ static int intel_lpss_register_clock_divider(struct intel_lpss *lpss,
>  
>  	snprintf(name, sizeof(name), "%s-div", devname);
>  	tmp = clk_register_fractional_divider(NULL, name, __clk_get_name(tmp),
> +					      0, lpss->priv, 1, 15, 16, 15,
>  					      CLK_FRAC_DIVIDER_POWER_OF_TWO_PS,
> -					      lpss->priv, 1, 15, 16, 15, 0,
>  					      NULL);

What an ugly interface.  Intel-only too, right?

Have you also fixed this in: drivers/acpi/acpi_lpss.c

>  	if (IS_ERR(tmp))
>  		return PTR_ERR(tmp);
> -- 
> 2.43.0.rc1.1.gbec44491f096
> 

-- 
Lee Jones [李琼斯]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v1 1/1] mfd: intel-lpss: Fix the fractional clock divider flags
  2023-12-13 16:13 ` Lee Jones
@ 2023-12-13 16:17   ` Andy Shevchenko
  2023-12-13 16:18     ` Lee Jones
  0 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2023-12-13 16:17 UTC (permalink / raw)
  To: Lee Jones; +Cc: linux-kernel, Alex Vinarskis

On Wed, Dec 13, 2023 at 04:13:52PM +0000, Lee Jones wrote:
> On Mon, 11 Dec 2023, Andy Shevchenko wrote:

...

> >  	tmp = clk_register_fractional_divider(NULL, name, __clk_get_name(tmp),
> > +					      0, lpss->priv, 1, 15, 16, 15,
> >  					      CLK_FRAC_DIVIDER_POWER_OF_TWO_PS,
> > -					      lpss->priv, 1, 15, 16, 15, 0,
> >  					      NULL);
> 
> What an ugly interface.  Intel-only too, right?

Nope, de facto way how custom clocks are being introduced.
See clk-provider.h for several similar APIs (that require an
additional, custom, flags to be supplied).

...

> Have you also fixed this in: drivers/acpi/acpi_lpss.c

Already pending in Rafael's tree, yes.

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v1 1/1] mfd: intel-lpss: Fix the fractional clock divider flags
  2023-12-13 16:17   ` Andy Shevchenko
@ 2023-12-13 16:18     ` Lee Jones
  2023-12-13 16:26       ` Andy Shevchenko
  0 siblings, 1 reply; 8+ messages in thread
From: Lee Jones @ 2023-12-13 16:18 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: linux-kernel, Alex Vinarskis

On Wed, 13 Dec 2023, Andy Shevchenko wrote:

> On Wed, Dec 13, 2023 at 04:13:52PM +0000, Lee Jones wrote:
> > On Mon, 11 Dec 2023, Andy Shevchenko wrote:
> 
> ...
> 
> > >  	tmp = clk_register_fractional_divider(NULL, name, __clk_get_name(tmp),
> > > +					      0, lpss->priv, 1, 15, 16, 15,
> > >  					      CLK_FRAC_DIVIDER_POWER_OF_TWO_PS,
> > > -					      lpss->priv, 1, 15, 16, 15, 0,
> > >  					      NULL);
> > 
> > What an ugly interface.  Intel-only too, right?
> 
> Nope, de facto way how custom clocks are being introduced.
> See clk-provider.h for several similar APIs (that require an
> additional, custom, flags to be supplied).

This call only has 2 call-sites, both Intel.

Anyway, just checking to ensure both are being fixed-up.

-- 
Lee Jones [李琼斯]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: (subset) [PATCH v1 1/1] mfd: intel-lpss: Fix the fractional clock divider flags
  2023-12-11 11:14 [PATCH v1 1/1] mfd: intel-lpss: Fix the fractional clock divider flags Andy Shevchenko
  2023-12-13 16:13 ` Lee Jones
@ 2023-12-13 16:19 ` Lee Jones
  1 sibling, 0 replies; 8+ messages in thread
From: Lee Jones @ 2023-12-13 16:19 UTC (permalink / raw)
  To: Lee Jones, linux-kernel, Andy Shevchenko; +Cc: Alex Vinarskis

On Mon, 11 Dec 2023 13:14:41 +0200, Andy Shevchenko wrote:
> The conversion to CLK_FRAC_DIVIDER_POWER_OF_TWO_PS uses wrong flags
> in the parameters and hence miscalculates the values in the clock
> divider. Fix this by applying the flag to the proper parameter.
> 
> 

Applied, thanks!

[1/1] mfd: intel-lpss: Fix the fractional clock divider flags
      commit: 03d790f04fb2507173913cad9c213272ac983a60

--
Lee Jones [李琼斯]


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v1 1/1] mfd: intel-lpss: Fix the fractional clock divider flags
  2023-12-13 16:18     ` Lee Jones
@ 2023-12-13 16:26       ` Andy Shevchenko
  2023-12-13 17:46         ` Lee Jones
  0 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2023-12-13 16:26 UTC (permalink / raw)
  To: Lee Jones; +Cc: linux-kernel, Alex Vinarskis

On Wed, Dec 13, 2023 at 04:18:54PM +0000, Lee Jones wrote:
> On Wed, 13 Dec 2023, Andy Shevchenko wrote:
> > On Wed, Dec 13, 2023 at 04:13:52PM +0000, Lee Jones wrote:
> > > On Mon, 11 Dec 2023, Andy Shevchenko wrote:

...

> > > >  	tmp = clk_register_fractional_divider(NULL, name, __clk_get_name(tmp),
> > > > +					      0, lpss->priv, 1, 15, 16, 15,
> > > >  					      CLK_FRAC_DIVIDER_POWER_OF_TWO_PS,
> > > > -					      lpss->priv, 1, 15, 16, 15, 0,
> > > >  					      NULL);
> > > 
> > > What an ugly interface.  Intel-only too, right?
> > 
> > Nope, de facto way how custom clocks are being introduced.
> > See clk-provider.h for several similar APIs (that require an
> > additional, custom, flags to be supplied).
> 
> This call only has 2 call-sites, both Intel.

Yes, but the clock fractional divider is used wider.

And again, it's not related to Intel, as this how clock framework
does the custom clocks. I don't know how to say this clearer.

Whatever, thank you for review and applying this fix!

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v1 1/1] mfd: intel-lpss: Fix the fractional clock divider flags
  2023-12-13 16:26       ` Andy Shevchenko
@ 2023-12-13 17:46         ` Lee Jones
  2023-12-13 18:47           ` Andy Shevchenko
  0 siblings, 1 reply; 8+ messages in thread
From: Lee Jones @ 2023-12-13 17:46 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: linux-kernel, Alex Vinarskis

On Wed, 13 Dec 2023, Andy Shevchenko wrote:

> On Wed, Dec 13, 2023 at 04:18:54PM +0000, Lee Jones wrote:
> > On Wed, 13 Dec 2023, Andy Shevchenko wrote:
> > > On Wed, Dec 13, 2023 at 04:13:52PM +0000, Lee Jones wrote:
> > > > On Mon, 11 Dec 2023, Andy Shevchenko wrote:
> 
> ...
> 
> > > > >  	tmp = clk_register_fractional_divider(NULL, name, __clk_get_name(tmp),
> > > > > +					      0, lpss->priv, 1, 15, 16, 15,
> > > > >  					      CLK_FRAC_DIVIDER_POWER_OF_TWO_PS,
> > > > > -					      lpss->priv, 1, 15, 16, 15, 0,
> > > > >  					      NULL);
> > > > 
> > > > What an ugly interface.  Intel-only too, right?
> > > 
> > > Nope, de facto way how custom clocks are being introduced.
> > > See clk-provider.h for several similar APIs (that require an
> > > additional, custom, flags to be supplied).
> > 
> > This call only has 2 call-sites, both Intel.
> 
> Yes, but the clock fractional divider is used wider.
> 
> And again, it's not related to Intel, as this how clock framework
> does the custom clocks. I don't know how to say this clearer.

I'm not sure how you can say that.  Intel were the authors, hold the
_only_ copyright and are the _only_ users.  If it were to be removed,
there is only a single entity that would even notice.

Anyway, it was just a passing comment.  Not positive, not negative.

-- 
Lee Jones [李琼斯]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v1 1/1] mfd: intel-lpss: Fix the fractional clock divider flags
  2023-12-13 17:46         ` Lee Jones
@ 2023-12-13 18:47           ` Andy Shevchenko
  0 siblings, 0 replies; 8+ messages in thread
From: Andy Shevchenko @ 2023-12-13 18:47 UTC (permalink / raw)
  To: Lee Jones; +Cc: linux-kernel, Alex Vinarskis

On Wed, Dec 13, 2023 at 05:46:05PM +0000, Lee Jones wrote:
> On Wed, 13 Dec 2023, Andy Shevchenko wrote:
> > On Wed, Dec 13, 2023 at 04:18:54PM +0000, Lee Jones wrote:
> > > On Wed, 13 Dec 2023, Andy Shevchenko wrote:
> > > > On Wed, Dec 13, 2023 at 04:13:52PM +0000, Lee Jones wrote:
> > > > > On Mon, 11 Dec 2023, Andy Shevchenko wrote:

...

> > > > > >  	tmp = clk_register_fractional_divider(NULL, name, __clk_get_name(tmp),
> > > > > > +					      0, lpss->priv, 1, 15, 16, 15,
> > > > > >  					      CLK_FRAC_DIVIDER_POWER_OF_TWO_PS,
> > > > > > -					      lpss->priv, 1, 15, 16, 15, 0,
> > > > > >  					      NULL);
> > > > > 
> > > > > What an ugly interface.  Intel-only too, right?
> > > > 
> > > > Nope, de facto way how custom clocks are being introduced.
> > > > See clk-provider.h for several similar APIs (that require an
> > > > additional, custom, flags to be supplied).
> > > 
> > > This call only has 2 call-sites, both Intel.
> > 
> > Yes, but the clock fractional divider is used wider.
> > 
> > And again, it's not related to Intel, as this how clock framework
> > does the custom clocks. I don't know how to say this clearer.
> 
> I'm not sure how you can say that.  Intel were the authors, hold the
> _only_ copyright and are the _only_ users.  If it were to be removed,
> there is only a single entity that would even notice.

_This_ API is indeed used by only Intel code right now, but the _design_
of the API is dictated by CCF, and not anyhow related to Intel.

> Anyway, it was just a passing comment.  Not positive, not negative.

Okay!

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-12-13 18:47 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-11 11:14 [PATCH v1 1/1] mfd: intel-lpss: Fix the fractional clock divider flags Andy Shevchenko
2023-12-13 16:13 ` Lee Jones
2023-12-13 16:17   ` Andy Shevchenko
2023-12-13 16:18     ` Lee Jones
2023-12-13 16:26       ` Andy Shevchenko
2023-12-13 17:46         ` Lee Jones
2023-12-13 18:47           ` Andy Shevchenko
2023-12-13 16:19 ` (subset) " Lee Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox