Commit ac596dee authored by Matt Atwood's avatar Matt Atwood Committed by Lucas De Marchi
Browse files

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: default avatarLucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: default avatarMatt Atwood <matthew.s.atwood@intel.com>
Link: https://lore.kernel.org/r/20250709221605.172516-6-matthew.s.atwood@intel.com


Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
parent 661a6950
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
15015404425     PLATFORM(LUNARLAKE)
+4 −4
Original line number Diff line number Diff line
@@ -22,6 +22,9 @@
#include "xe_macros.h"
#include "xe_sriov.h"
#include "xe_trace.h"
#include "xe_wa.h"

#include "generated/xe_device_wa_oob.h"

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

	if (mmio->tile->xe->info.platform != XE_LUNARLAKE)
	if (!XE_DEVICE_WA(mmio->tile->xe, 15015404425))
		return;

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

	/* Wa_15015404425 */
	mmio_flush_pending_writes(mmio);

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

	/* Wa_15015404425 */
	mmio_flush_pending_writes(mmio);

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

	/* Wa_15015404425 */
	mmio_flush_pending_writes(mmio);

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