• Ben Widawsky's avatar
    drm/i915: Use the real cpu max frequency for ring scaling · eda79642
    Ben Widawsky authored
    The policy's max frequency is not equal to the CPU's max frequency. The
    ring frequency is derived from the CPU frequency, and not the policy
    frequency.
    
    One example of how this may differ through sysfs. If the sysfs max
    frequency is modified, that will be used for the max ring frequency
    calculation.
    (/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq). As far as I
    know, no current governor uses anything but max as the default, but in
    theory, they could. Similarly distributions might set policy as part of
    their init process.
    
    It's ideal to use the real frequency because when we're currently scaled
    up on the GPU. In this case we likely want to race to idle, and using a
    less than max ring frequency is non-optimal for this situation.
    
    AFAIK, this patch should have no impact on a majority of people.
    
    This behavior hasn't been changed since it was first introduced:
    commit 23b2f8bb
    Author: Jesse Barnes <jbarnes@virtuousgeek.org>
    Date:   Tue Jun 28 13:04:16 2011 -0700
    
        drm/i915: load a ring frequency scaling table v3
    
    CC: Jesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
    Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@gmail.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    eda79642
intel_pm.c 162 KB