From 8af8e1bca7b9304eddedbe54947a0e3749e58a5c Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 20 Mar 2023 14:36:19 +0100 Subject: [PATCH] 4.14-stable patches added patches: drm-i915-don-t-use-stolen-memory-for-ring-buffers-with-llc.patch --- ...len-memory-for-ring-buffers-with-llc.patch | 53 +++++++++++++++++++ queue-4.14/series | 1 + 2 files changed, 54 insertions(+) create mode 100644 queue-4.14/drm-i915-don-t-use-stolen-memory-for-ring-buffers-with-llc.patch diff --git a/queue-4.14/drm-i915-don-t-use-stolen-memory-for-ring-buffers-with-llc.patch b/queue-4.14/drm-i915-don-t-use-stolen-memory-for-ring-buffers-with-llc.patch new file mode 100644 index 00000000000..c3235680dda --- /dev/null +++ b/queue-4.14/drm-i915-don-t-use-stolen-memory-for-ring-buffers-with-llc.patch @@ -0,0 +1,53 @@ +From 690e0ec8e63da9a29b39fedc6ed5da09c7c82651 Mon Sep 17 00:00:00 2001 +From: John Harrison +Date: Wed, 15 Feb 2023 17:11:00 -0800 +Subject: drm/i915: Don't use stolen memory for ring buffers with LLC +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: John Harrison + +commit 690e0ec8e63da9a29b39fedc6ed5da09c7c82651 upstream. + +Direction from hardware is that stolen memory should never be used for +ring buffer allocations on platforms with LLC. There are too many +caching pitfalls due to the way stolen memory accesses are routed. So +it is safest to just not use it. + +Signed-off-by: John Harrison +Fixes: c58b735fc762 ("drm/i915: Allocate rings from stolen") +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-2-John.C.Harrison@Intel.com +(cherry picked from commit f54c1f6c697c4297f7ed94283c184acc338a5cf8) +Signed-off-by: Jani Nikula +Signed-off-by: John Harrison +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/i915/intel_ringbuffer.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +--- a/drivers/gpu/drm/i915/intel_ringbuffer.c ++++ b/drivers/gpu/drm/i915/intel_ringbuffer.c +@@ -1359,10 +1359,11 @@ static struct i915_vma * + intel_ring_create_vma(struct drm_i915_private *dev_priv, int size) + { + struct i915_address_space *vm = &dev_priv->ggtt.base; +- struct drm_i915_gem_object *obj; ++ struct drm_i915_gem_object *obj = NULL; + struct i915_vma *vma; + +- obj = i915_gem_object_create_stolen(dev_priv, size); ++ if (!HAS_LLC(dev_priv)) ++ obj = i915_gem_object_create_stolen(dev_priv, size); + if (!obj) + obj = i915_gem_object_create_internal(dev_priv, size); + if (IS_ERR(obj)) diff --git a/queue-4.14/series b/queue-4.14/series index 737e5a32e7d..0e7cad62116 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -24,3 +24,4 @@ ext4-fix-task-hung-in-ext4_xattr_delete_inode.patch sh-intc-avoid-spurious-sizeof-pointer-div-warning.patch ftrace-fix-invalid-address-access-in-lookup_rec-when-index-is-0.patch fbdev-stifb-provide-valid-pixelclock-and-add-fb_check_var-checks.patch +drm-i915-don-t-use-stolen-memory-for-ring-buffers-with-llc.patch -- 2.47.3