Re: [PATCH] cpufreq: cpufreq-cpu0: Use a sane boot frequency whenbooting with a mismatched bootloader configuration
From: Nishanth Menon
Date: Mon Nov 18 2013 - 11:41:52 EST
On 11/18/2013 09:57 AM, Shawn Guo wrote:
> On Mon, Nov 18, 2013 at 08:45:12AM -0600, Nishanth Menon wrote:
> <snip>
>> I do not agree about this stance - device tree describes hardware
>> capabilities to kernel -> I agree with that statement. Kernel should
>> not care if that is provided by bootloader/firmware/fused into
>> flash/ROM etc.
>
> Yea, ideally kernel should just believe that the device tree is always
> the correct one. But the following text in your commit log suggests
> that might not be always the case.
>
> | a) older or default bootloader in development platform without latest
> | updates
> | b) SoC documentation update that may have occurred in kernel
> | c) kernel definitions are out of date Vs bootloader which is updated
> | etc..
> |
> | In these cases, we should assume from a kernel perspective, the only
> | safe frequency that the system can be on is the ones available in the
> | OPP table. This may not handle case (c), but, that is a different
> | kernel bug of it's own.
>
> It says that the device tree might be wrong as well. That's why I
> think the best/safest thing that kernel can do when seeing a mismatch
> is to throw out an error message and fail out.
In the case of mismatch, to consider that device tree may be wrong in
driver is also to assume that hardware was always configured correctly
and we assume description is the flawed data. That is just plain
wrong. we need to assume device tree is the correct description of the
hardware and any mismatch must be assumed as bad configuration - and
this is what the patch does.
Now, if the description is wrong, that is a dts bug of it's own.
If the suggestion is to improve my commit message, I am more than
happy to do so - please suggest how I could improve the same.
>
> Shawn
>
>>
>> If we agree with that statement, the moment kernel sees device
>> operating in a configuration that is not hardware capability, it is
>> our job to switch to the right configuration if it is possible for us
>> to do so (which in this case, we can). to give a comparison - if i2c
>> bus was configured for 3.4MHz and device tree describes the bus to
>> operate at 100KHz, do we ignore device tree recommended configuration?
>> No. we would switch to 100KHz. as far as kernel is concerned, it can
>> detect invalid configuration and switch back to a valid configuration
>> based on hardware description provided by device tree.
>>
>>
>>
>> --
>> Regards,
>> Nishanth Menon
>
--
Regards,
Nishanth Menon
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/