• Daniel Vetter's avatar
    drm/i915: Release i915_gem_context from a worker · 75eefd82
    Daniel Vetter authored
    The only reason for this really is the i915_gem_engines->fence
    callback engines_notify(), which exists purely as a fairly funky
    reference counting scheme for that. Otherwise all other callers are
    from process context, and generally fairly benign locking context.
    
    Unfortunately untangling that requires some major surgery, and we have
    a few i915_gem_context reference counting bugs that need fixing, and
    they blow in the current hardirq calling context, so we need a
    stop-gap measure.
    
    Put a FIXME comment in when this should be removable again.
    
    v2: Fix mock_context(), noticed by intel-gfx-ci.
    Acked-by: default avatarAcked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
    Cc: Jon Bloomfield <jon.bloomfield@intel.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
    Cc: Matthew Auld <matthew.auld@intel.com>
    Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
    Cc: Dave Airlie <airlied@redhat.com>
    Cc: Jason Ekstrand <jason@jlekstrand.net>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210902142057.929669-1-daniel.vetter@ffwll.ch
    75eefd82
mock_context.c 3.55 KB