• Jesse Barnes's avatar
    drm/i915: make sure GPU freq drops to minimum after entering RC6 v4 · 52ceb908
    Jesse Barnes authored
    On VLV, the Punit doesn't automatically drop the GPU to it's minimum
    voltage level when entering RC6, so we arm a timer to do it for us from
    the RPS interrupt handler.  It'll generally only fire when we go idle
    (or if for some reason there's a long delay between RPS interrupts), but
    won't be re-armed again until the next RPS event, so shouldn't affect
    power consumption after we go idle and it triggers.
    
    v2: use delayed work instead of timer + work queue combo (Ville)
    v3: fix up delayed work cancel (must be outside lock) (Daniel)
        fix up delayed work handling func for delayed work (Jesse)
    v4: cancel delayed work before RPS shutdown (Jani)
        pass delay not absolute time to mod_delayed_work (Jani)
    Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    52ceb908
i915_irq.c 98.9 KB