Skip to content

Commit ac596de

Browse files
msatwoodlucasdemarchi
authored andcommitted
drm/xe: Move Wa_15015404425 to use the new XE_DEVICE_WA macro
Move Wa_15015404425 to use the new implemented OOB macro XE_DEVICE_WA() v2: rename from SoC to Device v5: move workaround call back into the flush call v6: remove redundant commenting Reviewed-by: Lucas De Marchi <[email protected]> Signed-off-by: Matt Atwood <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Lucas De Marchi <[email protected]>
1 parent 661a695 commit ac596de

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
15015404425 PLATFORM(LUNARLAKE)

drivers/gpu/drm/xe/xe_mmio.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@
2222
#include "xe_macros.h"
2323
#include "xe_sriov.h"
2424
#include "xe_trace.h"
25+
#include "xe_wa.h"
26+
27+
#include "generated/xe_device_wa_oob.h"
2528

2629
static void tiles_fini(void *arg)
2730
{
@@ -167,7 +170,7 @@ static void mmio_flush_pending_writes(struct xe_mmio *mmio)
167170
#define DUMMY_REG_OFFSET 0x130030
168171
int i;
169172

170-
if (mmio->tile->xe->info.platform != XE_LUNARLAKE)
173+
if (!XE_DEVICE_WA(mmio->tile->xe, 15015404425))
171174
return;
172175

173176
/* 4 dummy writes */
@@ -180,7 +183,6 @@ u8 xe_mmio_read8(struct xe_mmio *mmio, struct xe_reg reg)
180183
u32 addr = xe_mmio_adjusted_addr(mmio, reg.addr);
181184
u8 val;
182185

183-
/* Wa_15015404425 */
184186
mmio_flush_pending_writes(mmio);
185187

186188
val = readb(mmio->regs + addr);
@@ -194,7 +196,6 @@ u16 xe_mmio_read16(struct xe_mmio *mmio, struct xe_reg reg)
194196
u32 addr = xe_mmio_adjusted_addr(mmio, reg.addr);
195197
u16 val;
196198

197-
/* Wa_15015404425 */
198199
mmio_flush_pending_writes(mmio);
199200

200201
val = readw(mmio->regs + addr);
@@ -221,7 +222,6 @@ u32 xe_mmio_read32(struct xe_mmio *mmio, struct xe_reg reg)
221222
u32 addr = xe_mmio_adjusted_addr(mmio, reg.addr);
222223
u32 val;
223224

224-
/* Wa_15015404425 */
225225
mmio_flush_pending_writes(mmio);
226226

227227
if (!reg.vf && IS_SRIOV_VF(mmio->tile->xe))

0 commit comments

Comments
 (0)