> Subject: [PATCH v4 13/13] dm: clk: Extend clk_get_parent_rate() to support
> CLK_GET_RATE_NOCACHE flag
> 
> If the CLK_GET_RATE_NOCACHE flag is set - the clk_get_parent_rate()
> provides recalculated clock value without considering the cache setting.
> 
> This may be necessary for some clocks tightly coupled with power domains
> (i.e. imx8), and prevents from reading invalid cached values.
> 
> Signed-off-by: Lukasz Majewski <lu...@denx.de>
> 
> ---
> 
> Changes in v4:
> - New patch
> 
> Changes in v3: None
> 
>  drivers/clk/clk-uclass.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c index
> 6f054396e3..3dcfae85c4 100644
> --- a/drivers/clk/clk-uclass.c
> +++ b/drivers/clk/clk-uclass.c
> @@ -13,6 +13,7 @@
>  #include <dm/read.h>
>  #include <dt-structs.h>
>  #include <errno.h>
> +#include <linux/clk-provider.h>
> 
>  static inline const struct clk_ops *clk_dev_ops(struct udevice *dev)  { @@
> -409,8 +410,8 @@ ulong clk_get_parent_rate(struct clk *clk)
>       if (!ops->get_rate)
>               return -ENOSYS;
> 
> -     /* Read the 'rate' if not already set */
> -     if (!pclk->rate)
> +     /* Read the 'rate' if not already set or if proper flag set*/
> +     if (!pclk->rate || pclk->flags & CLK_GET_RATE_NOCACHE)
>               pclk->rate = clk_get_rate(pclk);

Reviewed-by: Peng Fan <peng....@nxp.com>

> 
>       return pclk->rate;
> --
> 2.11.0

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to