summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-03-12 12:26:56 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-03-12 12:40:14 +0100
commitcba6bbf501be2ff15f4cd05ac2aeb24eee6f5cc2 (patch)
tree677bec1375e3708f6b4cc1fe13d84b09b57c287a
parentd214f240b0f61480f9dbc4384cef03f6a55e5d03 (diff)
Revert "drm/i915: Don't use BAR mappings for ring buffers with LLC"
This reverts commit 4eb6789f9177a5fdb90e1b7cdd4b069d1fb9ce45 which is commit 85636167e3206c3fbd52254fc432991cc4e90194 upstream. It has been reported to cause problems on Alpine Linux and Manjaro Linux 5.15-based releases, so revert it for now until it can be sorted out. Reported-by: "A.P. Jo." <apjo@tuta.io> Link: https://lore.kernel.org/r/NQJqG8n--3-9@tuta.io Link: https://gitlab.alpinelinux.org/alpine/aports/-/issues/14704 Reported-by: Philip Müller <philm@manjaro.org> Link: https://lore.kernel.org/r/d955327b-cb1c-4646-76b9-b0499c0c64c6@manjaro.org Link: https://gitlab.freedesktop.org/drm/intel/-/issues/8284 Cc: John Harrison <John.C.Harrison@Intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Cc: intel-gfx@lists.freedesktop.org Cc: <stable@vger.kernel.org> # v4.9+ Cc: Jouni Högander <jouni.hogander@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/gpu/drm/i915/gt/intel_ring.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/gt/intel_ring.c b/drivers/gpu/drm/i915/gt/intel_ring.c
index 6499f8ba953a..7c4d5158e03b 100644
--- a/drivers/gpu/drm/i915/gt/intel_ring.c
+++ b/drivers/gpu/drm/i915/gt/intel_ring.c
@@ -51,7 +51,7 @@ int intel_ring_pin(struct intel_ring *ring, struct i915_gem_ww_ctx *ww)
if (unlikely(ret))
goto err_unpin;
- if (i915_vma_is_map_and_fenceable(vma) && !HAS_LLC(vma->vm->i915)) {
+ if (i915_vma_is_map_and_fenceable(vma)) {
addr = (void __force *)i915_vma_pin_iomap(vma);
} else {
int type = i915_coherent_map_type(vma->vm->i915, vma->obj, false);
@@ -96,7 +96,7 @@ void intel_ring_unpin(struct intel_ring *ring)
return;
i915_vma_unset_ggtt_write(vma);
- if (i915_vma_is_map_and_fenceable(vma) && !HAS_LLC(vma->vm->i915))
+ if (i915_vma_is_map_and_fenceable(vma))
i915_vma_unpin_iomap(vma);
else
i915_gem_object_unpin_map(vma->obj);