Skip to contentSkip to conversation

FAILED: patch "[PATCH] drm/i915: Don't use stolen memory for ring buffers with LLC" failed to apply to 5.15-stable tree

PATCH New [email protected] 3 participants 3 messages Mar 7, 2023 – Mar 18, 2023

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 5.15-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

To reproduce the conflict and resubmit, you may use the following commands:

git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.15.y
git checkout FETCH_HEAD
git cherry-pick -x 690e0ec8e63da9a29b39fedc6ed5da09c7c82651
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '[email protected]' --subject-prefix 'PATCH 5.15.y' HEAD^..

Possible dependencies:

690e0ec8e63d ("drm/i915: Don't use stolen memory for ring buffers with LLC") 0d8ee5ba8db4 ("drm/i915: Don't back up pinned LMEM context images and rings during suspend") c56ce9565374 ("drm/i915 Implement LMEM backup and restore for suspend / resume") 0d9388635a22 ("drm/i915/ttm: Implement a function to copy the contents of two TTM-based objects") 48b096126954 ("drm/i915: Move __i915_gem_free_object to ttm_bo_destroy") d8ac30fd479c ("drm/i915/ttm: Reorganize the ttm move code somewhat")

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 690e0ec8e63da9a29b39fedc6ed5da09c7c82651 Mon Sep 17 00:00:00 2001
From: John Harrison <[email protected]>
Date: Wed, 15 Feb 2023 17:11:00 -0800
Subject: [PATCH] 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

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.

Fixes c58b735fc762 ("drm/i915: Allocate rings from stolen")
Cc Chris Wilson <[email protected]>
Cc Joonas Lahtinen <[email protected]>
Cc Jani Nikula <[email protected]>
Cc Rodrigo Vivi <[email protected]>
Cc Tvrtko Ursulin <[email protected]>
Cc <[email protected]> # v4.9+
(cherry picked from commit f54c1f6c697c4297f7ed94283c184acc338a5cf8)
drivers/gpu/drm/i915/gt/intel_ring.c +1 -1
index 15ec64d881c4..fb1d2595392e 100644
@@ -116,7 +116,7 @@ static struct i915_vma *create_ring_vma(struct i915_ggtt *ggtt, int size)
 
 	obj = i915_gem_object_create_lmem(i915, size, I915_BO_ALLOC_VOLATILE |
 					  I915_BO_ALLOC_PM_VOLATILE);
-	if (IS_ERR(obj) && i915_ggtt_has_aperture(ggtt))
+	if (IS_ERR(obj) && i915_ggtt_has_aperture(ggtt) && !HAS_LLC(i915))
 		obj = i915_gem_object_create_stolen(i915, size);
 	if (IS_ERR(obj))
 		obj = i915_gem_object_create_internal(i915, size);
#1 lore raw

PATCH 1/1 drm/i915: Don't use stolen memory for ring buffers with LLC

From: John Harrison <[email protected]>

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.

Fixes c58b735fc762 ("drm/i915: Allocate rings from stolen")
Cc Chris Wilson <[email protected]>
Cc Joonas Lahtinen <[email protected]>
Cc Jani Nikula <[email protected]>
Cc Rodrigo Vivi <[email protected]>
Cc Tvrtko Ursulin <[email protected]>
Cc <[email protected]> # v4.9+
(cherry picked from commit f54c1f6c697c4297f7ed94283c184acc338a5cf8)
(cherry picked from commit 690e0ec8e63da9a29b39fedc6ed5da09c7c82651)
---
 drivers/gpu/drm/i915/gt/intel_ring.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/gpu/drm/i915/gt/intel_ring.c +1 -1
index 7c4d5158e03b..7d82545d15e5 100644
@@ -113,7 +113,7 @@ static struct i915_vma *create_ring_vma(struct i915_ggtt *ggtt, int size)
 	struct i915_vma *vma;
 
 	obj = i915_gem_object_create_lmem(i915, size, I915_BO_ALLOC_VOLATILE);
-	if (IS_ERR(obj) && i915_ggtt_has_aperture(ggtt))
+	if (IS_ERR(obj) && i915_ggtt_has_aperture(ggtt) && !HAS_LLC(i915))
 		obj = i915_gem_object_create_stolen(i915, size);
 	if (IS_ERR(obj))
 		obj = i915_gem_object_create_internal(i915, size);
Signature · 1 line
2.39.1
#2 lore raw

[Intel-gfx] ✗ Fi.CI.BUILD: failure for drm/i915: Don't use stolen memory for ring buffers with LLC (rev5)

In reply to [email protected]
== Series Details ==

== Series Details ==

Series: drm/i915: Don't use stolen memory for ring buffers with LLC (rev5)
URL : https://patchwork.freedesktop.org/series/115334/
State : failure

== Summary ==

Error: patch https://patchwork.freedesktop.org/api/1.0/series/115334/revisions/5/mbox/ not applied
Applying: drm/i915: Don't use stolen memory for ring buffers with LLC
Using index info to reconstruct a base tree...
M drivers/gpu/drm/i915/gt/intel_ring.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/gpu/drm/i915/gt/intel_ring.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/gt/intel_ring.c
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 drm/i915: Don't use stolen memory for ring buffers with LLC When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
Build failed, no error log produced