• C
    drm/i915: Delay the release of the forcewake by a jiffie · aec347ab
    Chris Wilson 提交于
    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: NChris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
    aec347ab
intel_uncore.c 19.2 KB