• Tony Lindgren's avatar
    bus: ti-sysc: Add support for missing clockdomain handling · 2b2f7def
    Tony Lindgren authored
    We need to let ti-sysc driver manage clockdomain autoidle for the
    duration of of reset, enable and idle. And we need to do it before we
    enable the clock and after we disable it. Currently we are still
    relying on platform callbacks indirectly managing clockdomain autoidle.
    But I noticed that for device tree only probed drivers it now happens
    only after we enabling the clocks and before we disable the clocks,
    while it should be the other way around. So far I have not noticed
    any issues with this though.
    
    Let's add new ti_sysc_clkdm_deny_idle() and ti_sysc_clkdm_allow_idle()
    functions for ti-sysc driver to use to manage clockdomains directly via
    platform data callbacks. Note that we can implement the clockdomain
    functions in pdata-quirks.c as for probing devices without "ti,hwmods"
    custom property we don't need to use the other platform data callbacks.
    
    Let's do this in one patch as there's is still an unlikely chance we
    may need to apply this as a fix for v5.2 for dropping legacy platform
    data for some devices. We also do have the option of adding back the
    platform data if needed in case of trouble.
    Tested-by: default avatarKeerthy <j-keerthy@ti.com>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    2b2f7def
ti-sysc.c 53.3 KB