• Matthias Kaehlcke's avatar
    arm64: dts: qcom: sc7180: Add 'sustainable_power' for CPU thermal zones · 5a4d9f3e
    Matthias Kaehlcke authored
    The 'sustainable_power' attribute provides an estimate of the sustained
    power that can be dissipated at the desired control temperature. One
    could argue that this value is not necessarily the same for all devices
    with the same SoC, which may have different form factors or thermal
    designs. However there are reasons to specify a (default) value at SoC
    level for SC7180: most importantly, if no value is specified at all the
    power_allocator thermal governor (aka 'IPA') estimates a value, using the
    minimum power of all cooling devices of the zone, which can result in
    overly aggressive thermal throttling. For most devices an approximate
    conservative value should be more useful than the minimum guesstimate
    of power_allocator. Devices that need a different value can overwrite
    it in their <device>.dts. Also the thermal zones for SC7180 have a high
    level of granularity (essentially one for each function block), which
    makes it more likely that the default value just works for many devices.
    
    The values correspond to 1901 MHz for the big cores, and 1804 MHz for
    the small cores. The values were determined by limiting the CPU
    frequencies to different max values and launching a bunch of processes
    that cause high CPU load ('while true; do true; done &' is simple and
    does a good job). A frequency is deemed sustainable if the CPU
    temperatures don't rise (consistently) above the second trip point
    ('control temperature', 95 degC in this case). Once the highest
    sustainable frequency is found, the sustainable power can be calculated
    by multiplying the energy consumption per core at this frequency (which
    can be found in /sys/kernel/debug/energy_model/) with the number of
    cores that are specified as cooling devices.
    
    The sustainable frequencies were determined at room temperature
    on a device without heat sink or other passive cooling elements.
    Reviewed-by: default avatarDouglas Anderson <dianders@chromium.org>
    Signed-off-by: default avatarMatthias Kaehlcke <mka@chromium.org>
    Link: https://lore.kernel.org/r/20200813113030.1.I89c33c4119eaffb986b1e8c1bc6f0e30267089cd@changeidSigned-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
    5a4d9f3e
sc7180.dtsi 101 KB