• Javi Merino's avatar
    thermal: power_allocator: round the division when divvying up power · ea54cac9
    Javi Merino authored
    In situations where there is an uneven number of cooling devices, the
    division of power among them can lead to a milliwatt being dropped on
    the floor due to rounding errors.  This doesn't sound like a lot, but
    some devices only grant the lowest cooling device state for their
    maximum power.  So for instance, if the granted_power is the maximum
    power and all devices are getting their maximum power, one would get
    max_power - 1, making it choose cooling device state 1, instead of 0.
    
    Round the division to make the calculation more accurate.
    
    Cc: Zhang Rui <rui.zhang@intel.com>
    Cc: Eduardo Valentin <edubezval@gmail.com>
    Signed-off-by: default avatarJavi Merino <javi.merino@arm.com>
    Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
    ea54cac9
power_allocator.c 14.7 KB