[PATCH] drm/xe: Avoid plain modulus in devcoredump

Matthew Brost matthew.brost at intel.com
Sat Apr 26 00:10:39 UTC 2025


Avoid plain modulus in devcoredump rather use div_s64_rem to fix xtensa
build.

Reported-by: kernel test robot <lkp at intel.com>
Closes:  https://lore.kernel.org/oe-kbuild-all/202504251238.JsNgFeFc-lkp@intel.com/
Fixes: c4a2e5f865b7 ("drm/xe: Add devcoredump chunking")
Signed-off-by: Matthew Brost <matthew.brost at intel.com>
---
 drivers/gpu/drm/xe/xe_devcoredump.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
index a9e618abf8ac..13ee5973d2b9 100644
--- a/drivers/gpu/drm/xe/xe_devcoredump.c
+++ b/drivers/gpu/drm/xe/xe_devcoredump.c
@@ -177,6 +177,7 @@ static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
 	struct xe_devcoredump *coredump = data;
 	struct xe_devcoredump_snapshot *ss;
 	ssize_t byte_copied;
+	u32 remainder;
 
 	if (!coredump)
 		return -ENODEV;
@@ -213,8 +214,8 @@ static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
 
 	byte_copied = count < ss->read.size - offset ? count :
 		ss->read.size - offset;
-	memcpy(buffer, ss->read.buffer +
-	       (offset % XE_DEVCOREDUMP_CHUNK_MAX), byte_copied);
+	div_s64_rem(offset, XE_DEVCOREDUMP_CHUNK_MAX, &remainder);
+	memcpy(buffer, ss->read.buffer + remainder, byte_copied);
 
 	mutex_unlock(&coredump->lock);
 
-- 
2.34.1



More information about the Intel-xe mailing list