Skip to contentSkip to conversation

FAILED: patch "[PATCH] drm/xe/vram: fix ccs offset calculation" failed to apply to 6.10-stable tree

PATCH [email protected] 1 participant 1 message Oct 8, 2024

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 6.10-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-6.10.y
git checkout FETCH_HEAD
git cherry-pick -x ee06c09ded3c2f722be4e240ed06287e23596bda
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2024100809-goes-diagnosis-d07c@gregkh' --subject-prefix 'PATCH 6.10.y' HEAD^..

Possible dependencies:

ee06c09ded3c ("drm/xe/vram: fix ccs offset calculation") 638d1c79cbf1 ("drm/xe: Promote VRAM initialization function to own file") 8c52ca22b15b ("drm/xe: Drop xe_ prefix from static functions in xe_mmio.c") 2d8865b27724 ("drm/xe: Move BAR definitions to dedicated file") 2adfc4e022f3 ("drm/xe: Move XEHP_MTCFG_ADDR register definition to xe_regs.h") c7117419784f ("drm/xe: reset mmio mappings with devm") a0b834c8957a ("drm/xe/mmio: move mmio_fini over to devm") f7e20cfb59c9 ("drm/xe: Cleanup xe_mmio.h")
93dd6ad89c7d ("drm/xe: Don't rely on xe_force_wake.h to be included elsewhere")

thanks,

greg k-h

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

From ee06c09ded3c2f722be4e240ed06287e23596bda Mon Sep 17 00:00:00 2001
From: Matthew Auld <[email protected]>
Date: Mon, 16 Sep 2024 09:49:12 +0100
Subject: [PATCH] drm/xe/vram: fix ccs offset calculation

Spec says SW is expected to round up to the nearest 128K, if not already aligned for the CC unit view of CCS. We are seeing the assert sometimes pop on BMG to tell us that there is a hole between GSM and CCS, as well as popping other asserts with having a vram size with strange alignment, which is likely caused by misaligned offset here.

v2 (Shuicheng):
- Do the round_up() on final SW address.

BSpec: 68023

Fixes b5c2ca0372dc ("drm/xe/xe2hpg: Determine flat ccs offset for vram")
Cc Himal Prasad Ghimiray <[email protected]>
Cc Akshata Jahagirdar <[email protected]>
Cc Lucas De Marchi <[email protected]>
Cc Shuicheng Lin <[email protected]>
Cc Matt Roper <[email protected]>
Cc [email protected] # v6.10+
(cherry picked from commit 37173392741c425191b959acb3adf70c9a4610c0)
drivers/gpu/drm/xe/xe_vram.c +1 -0
index 5bcd59190353..80ba2fc78837 100644
@@ -182,6 +182,7 @@ static inline u64 get_flat_ccs_offset(struct xe_gt *gt, u64 tile_size)
 		offset = offset_hi << 32; /* HW view bits 39:32 */
 		offset |= offset_lo << 6; /* HW view bits 31:6 */
 		offset *= num_enabled; /* convert to SW view */
+		offset = round_up(offset, SZ_128K); /* SW must round up to nearest 128K */
 
 		/* We don't expect any holes */
 		xe_assert_msg(xe, offset == (xe_mmio_read64_2x32(gt, GSMBASE) - ccs_size),