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

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

 



While implementing DSS support for AM43xx I encountered a problem with clock
mux: clk mux may change the parent clock automatically, and with
set-rate-parent this leads to changing clocks for other devices. The problem is
described in more detail in the actual patch.

The problem doesn't seem to happen in -rc1, even if it was there in linux-next
(20140527). However, in -rc1, if I add debug prints to clk.c, I can see that
the code is going through the parents, but it decides to use the first one (the
correct one). So I presume it's just a matter of right clock rates or such
which will cause the parent to be changed.

Thus I think the problem is still there and should be fixed until it happens
again, either for DSS or for some other device.

This patch changes the behavior for all TI mux-clocks. I think it's much better
to default to CLK_SET_RATE_NO_REPARENT as changing the parent automatically
feels rather dangerouns to me.

Another option could be to set CLK_SET_RATE_NO_REPARENT only when the mux has
"ti,set-rate-parent" set, as (maybe) it's safe to change the parent if the
parent's rate will not be changed.

However, I'm fine with doing this only for the DSS, if someone has ideas how to
do that. A DT property would be easy, but I guess the argument against it is
the same as for the PLL rounding: it's not a hardware property.

Tomi Valkeinen (1):
  clk: ti: set CLK_SET_RATE_NO_REPARENT for ti,mux-clock

 drivers/clk/ti/mux.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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