• Ionela Voinescu's avatar
    cppc_cpufreq: replace per-cpu data array with a list · a28b2bfc
    Ionela Voinescu authored
    The cppc_cpudata per-cpu storage was inefficient (1) additional to causing
    functional issues (2) when CPUs are hotplugged out, due to per-cpu data
    being improperly initialised.
    
    (1) The amount of information needed for CPPC performance control in its
        cpufreq driver depends on the domain (PSD) coordination type:
    
        ANY:    One set of CPPC control and capability data (e.g desired
                performance, highest/lowest performance, etc) applies to all
                CPUs in the domain.
    
        ALL:    Same as ANY. To be noted that this type is not currently
                supported. When supported, information about which CPUs
                belong to a domain is needed in order for frequency change
                requests to be sent to each of them.
    
        HW:     It's necessary to store CPPC control and capability
                information for all the CPUs. HW will then coordinate the
                performance state based on their limitations and requests.
    
        NONE: ...
    a28b2bfc
cppc_cpufreq.c 14.1 KB