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

Kevin Hilman
2017-02-03T13:58:14Z

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