This fix rounds the clock rate properly by using quotient and not
remainder in the calculation. This issue was found while testing HDMI
in the Juno platform.
Signed-off-by: Amit Daniel Kachhap <[email protected]>
---
drivers/clk/clk-scmi.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/clk/clk-scmi.c b/drivers/clk/clk-scmi.c
index bb2a6f2..a985bf5 100644
--- a/drivers/clk/clk-scmi.c
+++ b/drivers/clk/clk-scmi.c
@@ -38,7 +38,6 @@ static unsigned long scmi_clk_recalc_rate(struct clk_hw *hw,
static long scmi_clk_round_rate(struct clk_hw *hw, unsigned long rate,
unsigned long *parent_rate)
{
- int step;
u64 fmin, fmax, ftmp;
struct scmi_clk *clk = to_scmi_clk(hw);
@@ -60,9 +59,9 @@ static long scmi_clk_round_rate(struct clk_hw *hw, unsigned long rate,
ftmp = rate - fmin;
ftmp += clk->info->range.step_size - 1; /* to round up */
- step = do_div(ftmp, clk->info->range.step_size);
+ do_div(ftmp, clk->info->range.step_size);
- return step * clk->info->range.step_size + fmin;
+ return ftmp * clk->info->range.step_size + fmin;
}
static int scmi_clk_set_rate(struct clk_hw *hw, unsigned long rate,
--
2.7.4
Quoting Amit Daniel Kachhap (2018-07-27 07:01:52)
> This fix rounds the clock rate properly by using quotient and not
> remainder in the calculation. This issue was found while testing HDMI
> in the Juno platform.
>
> Signed-off-by: Amit Daniel Kachhap <[email protected]>
Any Fixes: tag here?
> ---
> drivers/clk/clk-scmi.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/clk/clk-scmi.c b/drivers/clk/clk-scmi.c
> index bb2a6f2..a985bf5 100644
> --- a/drivers/clk/clk-scmi.c
> +++ b/drivers/clk/clk-scmi.c
> @@ -60,9 +59,9 @@ static long scmi_clk_round_rate(struct clk_hw *hw, unsigned long rate,
>
> ftmp = rate - fmin;
> ftmp += clk->info->range.step_size - 1; /* to round up */
> - step = do_div(ftmp, clk->info->range.step_size);
> + do_div(ftmp, clk->info->range.step_size);
>
> - return step * clk->info->range.step_size + fmin;
> + return ftmp * clk->info->range.step_size + fmin;
Good catch.
Hi,
On Fri, Jul 27, 2018 at 10:07 PM, Stephen Boyd <[email protected]> wrote:
> Quoting Amit Daniel Kachhap (2018-07-27 07:01:52)
>> This fix rounds the clock rate properly by using quotient and not
>> remainder in the calculation. This issue was found while testing HDMI
>> in the Juno platform.
>>
>> Signed-off-by: Amit Daniel Kachhap <[email protected]>
>
> Any Fixes: tag here?
Yes, This patch is tested with Linux v4.18-rc6 tag.
>
>> ---
>> drivers/clk/clk-scmi.c | 5 ++---
>> 1 file changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/clk/clk-scmi.c b/drivers/clk/clk-scmi.c
>> index bb2a6f2..a985bf5 100644
>> --- a/drivers/clk/clk-scmi.c
>> +++ b/drivers/clk/clk-scmi.c
>> @@ -60,9 +59,9 @@ static long scmi_clk_round_rate(struct clk_hw *hw, unsigned long rate,
>>
>> ftmp = rate - fmin;
>> ftmp += clk->info->range.step_size - 1; /* to round up */
>> - step = do_div(ftmp, clk->info->range.step_size);
>> + do_div(ftmp, clk->info->range.step_size);
>>
>> - return step * clk->info->range.step_size + fmin;
>> + return ftmp * clk->info->range.step_size + fmin;
>
> Good catch.
Thanks.
>
Regards,
Amit
On Fri, Jul 27, 2018 at 07:31:52PM +0530, Amit Daniel Kachhap wrote:
> This fix rounds the clock rate properly by using quotient and not
> remainder in the calculation. This issue was found while testing HDMI
> in the Juno platform.
>
Good find, thanks.
Acked-by: Sudeep Holla <[email protected]>
--
Regards,
Sudeep
On Mon, Jul 30, 2018 at 11:03:51AM +0530, Amit Daniel Kachhap wrote:
> Hi,
>
> On Fri, Jul 27, 2018 at 10:07 PM, Stephen Boyd <[email protected]> wrote:
> > Quoting Amit Daniel Kachhap (2018-07-27 07:01:52)
> >> This fix rounds the clock rate properly by using quotient and not
> >> remainder in the calculation. This issue was found while testing HDMI
> >> in the Juno platform.
> >>
> >> Signed-off-by: Amit Daniel Kachhap <[email protected]>
> >
> > Any Fixes: tag here?
> Yes, This patch is tested with Linux v4.18-rc6 tag.
>
No Stephen meant the commit that this fixes, something like below:
Fixes: 6d6a1d82eaef ("clk: add support for clocks provided by SCMI")
so that it can get backported if required.
--
Regards,
Sudeep
Quoting Sudeep Holla (2018-07-30 04:40:56)
> On Mon, Jul 30, 2018 at 11:03:51AM +0530, Amit Daniel Kachhap wrote:
> > Hi,
> >
> > On Fri, Jul 27, 2018 at 10:07 PM, Stephen Boyd <[email protected]> wrote:
> > > Quoting Amit Daniel Kachhap (2018-07-27 07:01:52)
> > >> This fix rounds the clock rate properly by using quotient and not
> > >> remainder in the calculation. This issue was found while testing HDMI
> > >> in the Juno platform.
> > >>
> > >> Signed-off-by: Amit Daniel Kachhap <[email protected]>
> > >
> > > Any Fixes: tag here?
> > Yes, This patch is tested with Linux v4.18-rc6 tag.
> >
>
> No Stephen meant the commit that this fixes, something like below:
>
> Fixes: 6d6a1d82eaef ("clk: add support for clocks provided by SCMI")
>
> so that it can get backported if required.
>
Yep! Thanks!
On Mon, Jul 30, 2018 at 5:10 PM, Sudeep Holla <[email protected]> wrote:
> On Mon, Jul 30, 2018 at 11:03:51AM +0530, Amit Daniel Kachhap wrote:
>> Hi,
>>
>> On Fri, Jul 27, 2018 at 10:07 PM, Stephen Boyd <[email protected]> wrote:
>> > Quoting Amit Daniel Kachhap (2018-07-27 07:01:52)
>> >> This fix rounds the clock rate properly by using quotient and not
>> >> remainder in the calculation. This issue was found while testing HDMI
>> >> in the Juno platform.
>> >>
>> >> Signed-off-by: Amit Daniel Kachhap <[email protected]>
>> >
>> > Any Fixes: tag here?
>> Yes, This patch is tested with Linux v4.18-rc6 tag.
>>
>
> No Stephen meant the commit that this fixes, something like below:
>
> Fixes: 6d6a1d82eaef ("clk: add support for clocks provided by SCMI")
>
> so that it can get backported if required.
ok my mistake. Thanks for the clarification.
>
> --
> Regards,
> Sudeep
This fix rounds the clock rate properly by using quotient and not
remainder in the calculation. This issue was found while testing HDMI
in the Juno platform.
Fixes: 6d6a1d82eaef7 ("clk: add support for clocks provided by SCMI")
Acked-by: Sudeep Holla <[email protected]>
Signed-off-by: Amit Daniel Kachhap <[email protected]>
---
drivers/clk/clk-scmi.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/clk/clk-scmi.c b/drivers/clk/clk-scmi.c
index bb2a6f2..a985bf5 100644
--- a/drivers/clk/clk-scmi.c
+++ b/drivers/clk/clk-scmi.c
@@ -38,7 +38,6 @@ static unsigned long scmi_clk_recalc_rate(struct clk_hw *hw,
static long scmi_clk_round_rate(struct clk_hw *hw, unsigned long rate,
unsigned long *parent_rate)
{
- int step;
u64 fmin, fmax, ftmp;
struct scmi_clk *clk = to_scmi_clk(hw);
@@ -60,9 +59,9 @@ static long scmi_clk_round_rate(struct clk_hw *hw, unsigned long rate,
ftmp = rate - fmin;
ftmp += clk->info->range.step_size - 1; /* to round up */
- step = do_div(ftmp, clk->info->range.step_size);
+ do_div(ftmp, clk->info->range.step_size);
- return step * clk->info->range.step_size + fmin;
+ return ftmp * clk->info->range.step_size + fmin;
}
static int scmi_clk_set_rate(struct clk_hw *hw, unsigned long rate,
--
2.7.4
Quoting Amit Daniel Kachhap (2018-07-30 22:55:55)
> This fix rounds the clock rate properly by using quotient and not
> remainder in the calculation. This issue was found while testing HDMI
> in the Juno platform.
>
> Fixes: 6d6a1d82eaef7 ("clk: add support for clocks provided by SCMI")
> Acked-by: Sudeep Holla <[email protected]>
> Signed-off-by: Amit Daniel Kachhap <[email protected]>
> ---
Applied to clk-next