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

From: Sascha Hauer
Date: Wed Mar 13 2019 - 06:42:01 EST


On Mon, Mar 11, 2019 at 10:41:40AM +0000, Abel Vesa wrote:
> 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).

Ok with me.

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

Which drivers do you have in mind? I hardly ever missed reparenting on
rate changes, so where is this feature useful?

Sascha

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