diff mbox

[1/9] mmc: meson-gx: fix setting f_min

Message ID 476265c8-b7e8-acdb-1964-5663c629caa3@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Heiner Kallweit Jan. 31, 2017, 8:57 p.m. UTC
Currently f_min is set to 4 MHz whilst the comment states 400 MHz.
I think the itention is to set f_min to 400 kHz.
Change value and comment accordingly.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
 drivers/mmc/host/meson-gx-mmc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jaehoon Chung Feb. 1, 2017, 11:49 a.m. UTC | #1
On 02/01/2017 05:57 AM, Heiner Kallweit wrote:
> Currently f_min is set to 4 MHz whilst the comment states 400 MHz.
> I think the itention is to set f_min to 400 kHz.
> Change value and comment accordingly.
> 
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
> ---
>  drivers/mmc/host/meson-gx-mmc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
> index 5eca88bc..da3cce31 100644
> --- a/drivers/mmc/host/meson-gx-mmc.c
> +++ b/drivers/mmc/host/meson-gx-mmc.c
> @@ -268,7 +268,7 @@ static int meson_mmc_clk_init(struct meson_host *host)
>  	if (f_min != UINT_MAX)
>  		f_min = DIV_ROUND_UP(CLK_SRC_XTAL_RATE, CLK_DIV_MAX);
>  	else
> -		f_min = 4000000;  /* default min: 400 MHz */
> +		f_min = 400000;  /* default min: 400 kHz */

I'm not sure but f_min can be 100KHz by default, not 400KHz.
Because mmc-core should be try to find frequency from 400KHz to "f_min" value.

Best Regards,
Jaehoon Chung

>  	host->mmc->f_min = f_min;
>  
>  	/* create the mux */
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Heiner Kallweit Feb. 1, 2017, 8:14 p.m. UTC | #2
Am 01.02.2017 um 12:49 schrieb Jaehoon Chung:
> On 02/01/2017 05:57 AM, Heiner Kallweit wrote:
>> Currently f_min is set to 4 MHz whilst the comment states 400 MHz.
>> I think the itention is to set f_min to 400 kHz.
>> Change value and comment accordingly.
>>
>> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
>> ---
>>  drivers/mmc/host/meson-gx-mmc.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
>> index 5eca88bc..da3cce31 100644
>> --- a/drivers/mmc/host/meson-gx-mmc.c
>> +++ b/drivers/mmc/host/meson-gx-mmc.c
>> @@ -268,7 +268,7 @@ static int meson_mmc_clk_init(struct meson_host *host)
>>  	if (f_min != UINT_MAX)
>>  		f_min = DIV_ROUND_UP(CLK_SRC_XTAL_RATE, CLK_DIV_MAX);
>>  	else
>> -		f_min = 4000000;  /* default min: 400 MHz */
>> +		f_min = 400000;  /* default min: 400 kHz */
> 
> I'm not sure but f_min can be 100KHz by default, not 400KHz.
> Because mmc-core should be try to find frequency from 400KHz to "f_min" value.
> 
Actually I wonder how we can ever reach this part of the if clause.
If at least one parent clock is defined and we can get its clock rate
then f_min != UINT_MAX.
Can we think of a case where no parent clock is defined?
And would it make sense at all to proceed in this case?

> Best Regards,
> Jaehoon Chung
> 
>>  	host->mmc->f_min = f_min;
>>  
>>  	/* create the mux */
>>
> 
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kevin Hilman Feb. 3, 2017, 1:58 p.m. UTC | #3
Heiner Kallweit <hkallweit1@gmail.com> writes:

> Am 01.02.2017 um 12:49 schrieb Jaehoon Chung:
>> On 02/01/2017 05:57 AM, Heiner Kallweit wrote:
>>> Currently f_min is set to 4 MHz whilst the comment states 400 MHz.
>>> I think the itention is to set f_min to 400 kHz.
>>> Change value and comment accordingly.
>>>
>>> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
>>> ---
>>>  drivers/mmc/host/meson-gx-mmc.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
>>> index 5eca88bc..da3cce31 100644
>>> --- a/drivers/mmc/host/meson-gx-mmc.c
>>> +++ b/drivers/mmc/host/meson-gx-mmc.c
>>> @@ -268,7 +268,7 @@ static int meson_mmc_clk_init(struct meson_host *host)
>>>  	if (f_min != UINT_MAX)
>>>  		f_min = DIV_ROUND_UP(CLK_SRC_XTAL_RATE, CLK_DIV_MAX);
>>>  	else
>>> -		f_min = 4000000;  /* default min: 400 MHz */
>>> +		f_min = 400000;  /* default min: 400 kHz */
>> 
>> I'm not sure but f_min can be 100KHz by default, not 400KHz.
>> Because mmc-core should be try to find frequency from 400KHz to "f_min" value.
>> 
> Actually I wonder how we can ever reach this part of the if clause.
> If at least one parent clock is defined and we can get its clock rate
> then f_min != UINT_MAX.
> Can we think of a case where no parent clock is defined?
> And would it make sense at all to proceed in this case?

This is actually common while adding a new board or SoC and is a useful
fallback/safeguard.

Kevin
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
index 5eca88bc..da3cce31 100644
--- a/drivers/mmc/host/meson-gx-mmc.c
+++ b/drivers/mmc/host/meson-gx-mmc.c
@@ -268,7 +268,7 @@  static int meson_mmc_clk_init(struct meson_host *host)
 	if (f_min != UINT_MAX)
 		f_min = DIV_ROUND_UP(CLK_SRC_XTAL_RATE, CLK_DIV_MAX);
 	else
-		f_min = 4000000;  /* default min: 400 MHz */
+		f_min = 400000;  /* default min: 400 kHz */
 	host->mmc->f_min = f_min;
 
 	/* create the mux */