• Tom O'Rourke's avatar
    drm/i915: Use efficient frequency for HSW/BDW · 93ee2920
    Tom O'Rourke authored
    Added gen6_init_rps_frequencies() to initialize
    the rps frequency values.  This function replaces
    parse_rp_state_cap().  In addition to reading RPn,
    RP0, and RP1 from RP_STATE_CAP register, the new
    function reads efficient frequency (aka RPe) from
    pcode for Haswell and Broadwell and sets the turbo
    softlimits.  The turbo minimum frequency softlimit
    is set to RPe for Haswell and Broadwell and to RPn
    otherwise.
    
    For RPe, the efficiency is based on the frequency/power
    ratio (MHz/W); this is considering GT power and not
    package power.  The efficent frequency is the highest
    frequency for which the frequency/power ratio is within
    some threshold of the highest frequency/power ratio.
    A fixed decrease in frequency results in smaller
    decrease in power at frequencies less than RPe than
    at frequencies above RPe.
    
    v2: Following suggestions from Chris Wilson and
    Daniel Vetter to extend and rename parse_rp_state_cap
    and to open-code a poorly named function.
    Signed-off-by: default avatarTom O'Rourke <Tom.O'Rourke@intel.com>
    Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    [danvet: Remove unused variables.]
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    93ee2920
intel_pm.c 204 KB