From 30f29a81244a29eb65f6b524d6cf2598c09e877e Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 15 Mar 2023 08:50:48 +0100 Subject: [PATCH] 5.4-stable patches added patches: drm-i915-don-t-use-bar-mappings-for-ring-buffers-with-llc.patch --- ...r-mappings-for-ring-buffers-with-llc.patch | 57 +++++++++++++++++++ queue-5.4/series | 1 + 2 files changed, 58 insertions(+) create mode 100644 queue-5.4/drm-i915-don-t-use-bar-mappings-for-ring-buffers-with-llc.patch diff --git a/queue-5.4/drm-i915-don-t-use-bar-mappings-for-ring-buffers-with-llc.patch b/queue-5.4/drm-i915-don-t-use-bar-mappings-for-ring-buffers-with-llc.patch new file mode 100644 index 00000000000..fa0b8882b4d --- /dev/null +++ b/queue-5.4/drm-i915-don-t-use-bar-mappings-for-ring-buffers-with-llc.patch @@ -0,0 +1,57 @@ +From 85636167e3206c3fbd52254fc432991cc4e90194 Mon Sep 17 00:00:00 2001 +From: John Harrison +Date: Wed, 15 Feb 2023 17:11:01 -0800 +Subject: drm/i915: Don't use BAR mappings for ring buffers with LLC +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: John Harrison + +commit 85636167e3206c3fbd52254fc432991cc4e90194 upstream. + +Direction from hardware is that ring buffers should never be mapped +via the BAR on systems with LLC. There are too many caching pitfalls +due to the way BAR accesses are routed. So it is safest to just not +use it. + +Signed-off-by: John Harrison +Fixes: 9d80841ea4c9 ("drm/i915: Allow ringbuffers to be bound anywhere") +Cc: Chris Wilson +Cc: Joonas Lahtinen +Cc: Jani Nikula +Cc: Rodrigo Vivi +Cc: Tvrtko Ursulin +Cc: intel-gfx@lists.freedesktop.org +Cc: # v4.9+ +Tested-by: Jouni Högander +Reviewed-by: Daniele Ceraolo Spurio +Link: https://patchwork.freedesktop.org/patch/msgid/20230216011101.1909009-3-John.C.Harrison@Intel.com +(cherry picked from commit 65c08339db1ada87afd6cfe7db8e60bb4851d919) +Signed-off-by: Jani Nikula +Signed-off-by: John Harrison +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/i915/gt/intel_ringbuffer.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/gpu/drm/i915/gt/intel_ringbuffer.c ++++ b/drivers/gpu/drm/i915/gt/intel_ringbuffer.c +@@ -1208,7 +1208,7 @@ int intel_ring_pin(struct intel_ring *ri + if (unlikely(ret)) + goto err_unpin; + +- if (i915_vma_is_map_and_fenceable(vma)) ++ if (i915_vma_is_map_and_fenceable(vma) && !HAS_LLC(vma->vm->i915)) + addr = (void __force *)i915_vma_pin_iomap(vma); + else + addr = i915_gem_object_pin_map(vma->obj, +@@ -1252,7 +1252,7 @@ void intel_ring_unpin(struct intel_ring + intel_ring_reset(ring, ring->emit); + + i915_vma_unset_ggtt_write(vma); +- if (i915_vma_is_map_and_fenceable(vma)) ++ if (i915_vma_is_map_and_fenceable(vma) && !HAS_LLC(vma->vm->i915)) + i915_vma_unpin_iomap(vma); + else + i915_gem_object_unpin_map(vma->obj); diff --git a/queue-5.4/series b/queue-5.4/series index ce548e77d5c..1a7b05b1f4f 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -68,4 +68,5 @@ pci-avoid-flr-for-solidrun-snet-dpu-rev-1.patch media-ov5640-fix-analogue-gain-control.patch ipmi-watchdog-replace-atomic_add-and-atomic_sub.patch ipmi-watchdog-set-panic-count-to-proper-value-on-a-panic.patch +drm-i915-don-t-use-bar-mappings-for-ring-buffers-with-llc.patch skbuff-fix-nfct-leak-on-napi-stolen.patch -- 2.47.3