• Chris Wilson's avatar
    drm/i915: Delay the release of the forcewake by a jiffie · aec347ab
    Chris Wilson authored
    Obtaining the forcwake requires expensive and time consuming
    serialisation. And we often try to obtain the forcewake multiple times
    in very quick succession. We can reduce the overhead of these sequences
    by delaying the forcewake release, and so not hammer the hw quite so
    hard.
    
    I was hoping this would help with the spurious
    [drm:__gen6_gt_force_wake_mt_get] *ERROR* Timed out waiting for forcewake old ack to clear.
    found on Haswell. Alas not.
    
    v2: Fix teardown ordering - unmap the regs after turning off forcewake,
    and make sure we do turn off forcewake - both found by Ville.
    
    v3: As we introduce intel_uncore_fini(), use it to make sure everything
    is disabled before we hand back to the BIOS.
    
    Note: I have no claims for improved performance, stablity or power
    comsumption for this patch. We should not be hitting the registers often
    enough for this to improve benchmarks, but given the nature of our hw it
    is likely to improve long term stability.
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    aec347ab
intel_uncore.c 19.2 KB