Re: [PATCH v2 1/2] clk: set initial best mux parent to current parent when determining rate

From: Maxime Ripard
Date: Wed Mar 06 2024 - 09:24:51 EST


Hi,

On Wed, Mar 06, 2024 at 12:22:23AM +0800, Yang Xiwen via B4 Relay wrote:
> From: Yang Xiwen <forbidden405@xxxxxxxxxxx>
>
> Originally, the initial clock rate is hardcoded to 0, this can lead to
> some problem when setting a very small rate with CLK_MUX_ROUND_CLOSEST.
>
> For example, if the lowest possible rate provided by the mux is 1000Hz,
> setting a rate below 500Hz will fail, because no clock can provide a
> better rate than the non-existant 0Hz. But it should succeed with 1000Hz
> being set.
>
> Setting the initial best parent to current parent could solve this bug.
>
> Signed-off-by: Yang Xiwen <forbidden405@xxxxxxxxxxx>

That patch makes sense to me, but this changes the behaviour of the function.

Before, if we couldn't find a good configuration for the rate, we were
error'ing out. Now, we keep the current configuration. We should
document the new behaviour in the function documentation, and we should
probably run that through kernelci to make sure we aren't breaking any
platform (and from experience, we probably are).

Maxime

Attachment: signature.asc
Description: PGP signature