]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Prevent machine hang from Broxton's vtd w/a and error capture
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 2 Nov 2018 16:12:12 +0000 (16:12 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 19 Nov 2018 17:16:44 +0000 (17:16 +0000)
commit3c752cb7c9e831f488729442d57382aafe05f32c
tree624fc138521ce6070fe0c23a71e589fc32b50aa9
parent90e709949d069205cb419f0a43eaf1b752ce4ccd
drm/i915: Prevent machine hang from Broxton's vtd w/a and error capture

Since capturing the error state requires fiddling around with the GGTT
to read arbitrary buffers and is itself run under stop_machine(), it
deadlocks the machine (effectively a hard hang) when run in conjunction
with Broxton's VTd workaround to serialize GGTT access.

v2: Store the ERR_PTR in first_error so that the error can be reported
to the user via sysfs.
v3: Mention the quirk in dmesg (using info as per usual)

Fixes: 0359347efd36 ("drm/i915: Serialize GTT/Aperture accesses on BXT")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Jon Bloomfield <jon.bloomfield@intel.com>
Cc: John Harrison <john.C.Harrison@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181102161232.17742-5-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem_gtt.c
drivers/gpu/drm/i915/i915_gpu_error.c
drivers/gpu/drm/i915/i915_gpu_error.h