From 6360ebd1a12384efa984b44b057b79edce6484df Mon Sep 17 00:00:00 2001 From: Koby Elbaz Date: Thu, 5 Oct 2023 11:06:15 -0400 Subject: [PATCH] drm/xe: add read/write support for MMIO extension space A distinction has to be made when addressing the MMIO space or the additional MMIO extension space. Signed-off-by: Koby Elbaz Reviewed-by: Ofir Bitton Reviewed-by: Moti Haimovski Signed-off-by: Rodrigo Vivi --- drivers/gpu/drm/xe/xe_mmio.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/xe/xe_mmio.h b/drivers/gpu/drm/xe/xe_mmio.h index 9e0fd4a6fb29..ae09f777d711 100644 --- a/drivers/gpu/drm/xe/xe_mmio.h +++ b/drivers/gpu/drm/xe/xe_mmio.h @@ -29,7 +29,7 @@ static inline u8 xe_mmio_read8(struct xe_gt *gt, struct xe_reg reg) if (reg.addr < gt->mmio.adj_limit) reg.addr += gt->mmio.adj_offset; - return readb(tile->mmio.regs + reg.addr); + return readb((reg.ext ? tile->mmio_ext.regs : tile->mmio.regs) + reg.addr); } static inline u16 xe_mmio_read16(struct xe_gt *gt, struct xe_reg reg) @@ -39,7 +39,7 @@ static inline u16 xe_mmio_read16(struct xe_gt *gt, struct xe_reg reg) if (reg.addr < gt->mmio.adj_limit) reg.addr += gt->mmio.adj_offset; - return readw(tile->mmio.regs + reg.addr); + return readw((reg.ext ? tile->mmio_ext.regs : tile->mmio.regs) + reg.addr); } static inline void xe_mmio_write32(struct xe_gt *gt, @@ -50,7 +50,7 @@ static inline void xe_mmio_write32(struct xe_gt *gt, if (reg.addr < gt->mmio.adj_limit) reg.addr += gt->mmio.adj_offset; - writel(val, tile->mmio.regs + reg.addr); + writel(val, (reg.ext ? tile->mmio_ext.regs : tile->mmio.regs) + reg.addr); } static inline u32 xe_mmio_read32(struct xe_gt *gt, struct xe_reg reg) @@ -60,7 +60,7 @@ static inline u32 xe_mmio_read32(struct xe_gt *gt, struct xe_reg reg) if (reg.addr < gt->mmio.adj_limit) reg.addr += gt->mmio.adj_offset; - return readl(tile->mmio.regs + reg.addr); + return readl((reg.ext ? tile->mmio_ext.regs : tile->mmio.regs) + reg.addr); } static inline u32 xe_mmio_rmw32(struct xe_gt *gt, struct xe_reg reg, u32 clr, -- 2.25.1