Re: [RFC] clk: imx: Allow re-parenting by default on set rate

From: Abel Vesa
Date: Mon Mar 11 2019 - 06:41:46 EST

On 19-03-11 11:28:25, Sascha Hauer wrote:
> Hi Abel,
> On Thu, Mar 07, 2019 at 09:20:37AM +0000, Abel Vesa wrote:
> > By default, the muxes should re-parent on set_rate.
> > This would allow the drivers to control only the leaf clock node,
> > leaving the rest to the clock driver, that way simplifying the
> > clock control.
> I am afraid of this change. Besides the rate there might be other
> reasons to choose one mux input over another, consider for example low
> power audio playback where we need one specific mux setting because it
> provides a clock which runs at low power mode.
> On the IPU on i.MX5/6 there are clocks being used as pixel clocks
> derived from different muxes. I don't think you want to pick an input
> clock just because it happens to deliver the best clock rate at that
> point in time, but really is shared with some other clock that changes
> its rate in the next moment.

> I have no concrete examples for things that break with this change, but
> I would be more confident if we change the behaviour explicitly only for
> the muxes that we have reviewed to cope with this change.

Fair enough. We could replace all the imx_clk_mux with imx_clk_mux_noreparent
and after that we can independently switch the clocks that are safe (to switch)
to imx_clk_mux (which would not have the noreparent flag set).

The main idea is to simplify the clock control from drivers point of view.

The end goal here would be to only have noreparent flag set for the clocks that
need specific mux control.

> Sascha
> --
> Pengutronix e.K. | |
> Industrial Linux Solutions | |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |