• Tomi Valkeinen's avatar
    clk: ti: set CLK_SET_RATE_NO_REPARENT for ti,mux-clock · 7d5fc85d
    Tomi Valkeinen authored
    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: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
    Reviewed-by: default avatarPaul Walmsley <paul@pwsan.com>
    Tested-by: default avatarFelipe Balbi <balbi@ti.com>
    Signed-off-by: default avatarTero Kristo <t-kristo@ti.com>
    7d5fc85d
mux.c 5.68 KB