Skip to content

Commit 690e0ec

Browse files
johnharr-inteljnikula
authored andcommitted
drm/i915: Don't use stolen memory for ring buffers with LLC
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 <[email protected]> Fixes: c58b735 ("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] Cc: <[email protected]> # v4.9+ Tested-by: Jouni Högander <[email protected]> Reviewed-by: Daniele Ceraolo Spurio <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] (cherry picked from commit f54c1f6) Signed-off-by: Jani Nikula <[email protected]>
1 parent 5e438bf commit 690e0ec

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/gpu/drm/i915/gt/intel_ring.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ static struct i915_vma *create_ring_vma(struct i915_ggtt *ggtt, int size)
116116

117117
obj = i915_gem_object_create_lmem(i915, size, I915_BO_ALLOC_VOLATILE |
118118
I915_BO_ALLOC_PM_VOLATILE);
119-
if (IS_ERR(obj) && i915_ggtt_has_aperture(ggtt))
119+
if (IS_ERR(obj) && i915_ggtt_has_aperture(ggtt) && !HAS_LLC(i915))
120120
obj = i915_gem_object_create_stolen(i915, size);
121121
if (IS_ERR(obj))
122122
obj = i915_gem_object_create_internal(i915, size);

0 commit comments

Comments
 (0)