Re: [RFC PATCH] clk: ti: set CLK_SET_RATE_NO_REPARENT for ti,mux-clock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Thu, Jun 19, 2014 at 02:33:14PM +0300, Tero Kristo wrote:
> On 06/17/2014 11:04 AM, Tomi Valkeinen wrote:
> >When setting the rate of a clock, by default the clock framework will
> >change the parent of the clock to the most suitable one in
> >__clk_mux_determine_rate() (most suitable by looking at the clock rate).
> >
> >This is a rather dangerous default, and causes problems on AM43x when
> >using display and ethernet. There are multiple ways to select the clock
> >muxes on AM43x, and some of those clock paths have the same source
> >clocks for display and ethernet. When changing the clock rate for the
> >display subsystem, the clock framework decides to change the display mux
> >from the dedicated display PLL to a shared PLL which is used by the
> >ethernet, and then changes the rate of the shared PLL, breaking the
> >ethernet.
> >
> >As I don't think there ever is a case where we want the clock framework
> >to automatically change the parent clock of a clock mux, this patch sets
> >the CLK_SET_RATE_NO_REPARENT for all ti,mux-clocks.
> >
> >Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx>
> >---
> >  drivers/clk/ti/mux.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> >diff --git a/drivers/clk/ti/mux.c b/drivers/clk/ti/mux.c
> >index 0197a478720c..e9d650e51287 100644
> >--- a/drivers/clk/ti/mux.c
> >+++ b/drivers/clk/ti/mux.c
> >@@ -160,7 +160,7 @@ static void of_mux_clk_setup(struct device_node *node)
> >  	u8 clk_mux_flags = 0;
> >  	u32 mask = 0;
> >  	u32 shift = 0;
> >-	u32 flags = 0;
> >+	u32 flags = CLK_SET_RATE_NO_REPARENT;
> >
> >  	num_parents = of_clk_get_parent_count(node);
> >  	if (num_parents < 2) {
> >
> 
> Thanks, queued for 3.16-rc fixes.

did you skip a few -rcs by any chance? Looks like this could've been
merged on v3.16-rc3... Just checking.

-- 
balbi

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux