• Chris Wilson's avatar
    drm/i915: Avoid sleeping inside per-engine reset · 5807e1c2
    Chris Wilson authored
    Only sleep and repeat when asked for a full device reset (ALL_ENGINES)
    and avoid using sleeping waits when asked for a per-engine reset. The
    goal is to be able to use a per-engine reset from hardirq/softirq/timer
    context. A consequence is that our individual wait timeouts are a
    thousand times shorter, on the order of a hundred microseconds rather
    than hundreds of millisecond. This may make hitting the timeouts more
    common, but hopefully the fallover to the full-device reset will be
    sufficient to pick up the pieces.
    
    Note, that the sleeps inside older gen (pre-gen8) have been left as they
    are only used in full device reset mode.
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
    Cc: Michał Winiarski <michal.winiarski@intel.com>
    CC: Michel Thierry <michel.thierry@intel.com>
    Cc: Jeff McGee <jeff.mcgee@intel.com>
    Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Reviewed-by: default avatarMichel Thierry <michel.thierry@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180329224519.13598-1-chris@chris-wilson.co.uk
    5807e1c2
intel_uncore.c 65.8 KB