Skip to content
  • Daniel Lezcano's avatar
    thermal/drivers/cpu_cooling: Introduce the cpu idle cooling driver · 01907da6
    Daniel Lezcano authored
    The cpu idle cooling driver performs synchronized idle injection across all
    cpus belonging to the same cluster and offers a new method to cool down a SoC.
    
    Each cluster has its own idle cooling device, each core has its own idle
    injection thread, each idle injection thread uses play_idle to enter idle.  In
    order to reach the deepest idle state, each cooling device has the idle
    injection threads synchronized together.
    
    It has some similarity with the intel power clamp driver but it is actually
    designed to work on the ARM architecture via the DT with a mathematical proof
    with the power model which comes with the Documentation.
    
    The idle injection cycle is fixed while the running cycle is variable. That
    allows to have control on the device reactivity for the user experience. At
    the mitigation point the idle threads are unparked, they play idle the
    specified amount of time and they schedule themselves. The last thread sets
    the next idle inject...
    01907da6