Files
linux/drivers/gpu/drm/xe/xe_wa.h
Matt Atwood 342d1f8432 drm/xe: Update function names for GT specific workarounds
Now that there distinctly different OOB functions, update the names to
reflect the IPs they interact with.

Signed-off-by: Matt Atwood <matthew.s.atwood@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://lore.kernel.org/r/20250807214224.32728-2-matthew.s.atwood@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2025-08-08 10:50:45 -04:00

54 lines
1.6 KiB
C

/* SPDX-License-Identifier: MIT */
/*
* Copyright © 2022 Intel Corporation
*/
#ifndef _XE_WA_
#define _XE_WA_
#include "xe_assert.h"
struct drm_printer;
struct xe_gt;
struct xe_hw_engine;
struct xe_tile;
int xe_wa_device_init(struct xe_device *xe);
int xe_wa_gt_init(struct xe_gt *gt);
void xe_wa_process_device_oob(struct xe_device *xe);
void xe_wa_process_gt_oob(struct xe_gt *gt);
void xe_wa_process_gt(struct xe_gt *gt);
void xe_wa_process_engine(struct xe_hw_engine *hwe);
void xe_wa_process_lrc(struct xe_hw_engine *hwe);
void xe_wa_apply_tile_workarounds(struct xe_tile *tile);
void xe_wa_device_dump(struct xe_device *xe, struct drm_printer *p);
void xe_wa_dump(struct xe_gt *gt, struct drm_printer *p);
/**
* XE_GT_WA - Out-of-band GT workarounds, to be queried and called as needed.
* @gt__: gt instance
* @id__: XE_OOB_<id__>, as generated by build system in generated/xe_wa_oob.h
*/
#define XE_GT_WA(gt__, id__) ({ \
xe_gt_assert(gt__, (gt__)->wa_active.oob_initialized); \
test_bit(XE_WA_OOB_ ## id__, (gt__)->wa_active.oob); \
})
/**
* XE_DEVICE_WA - Out-of-band Device workarounds, to be queried and called
* as needed.
* @xe__: xe_device
* @id__: XE_DEVICE_WA_OOB_<id__>, as generated by build system in generated/xe_device_wa_oob.h
*/
#define XE_DEVICE_WA(xe__, id__) ({ \
xe_assert(xe__, (xe__)->wa_active.oob_initialized); \
test_bit(XE_DEVICE_WA_OOB_ ## id__, (xe__)->wa_active.oob); \
})
#define XE_DEVICE_WA_DISABLE(xe__, id__) ({ \
xe_assert(xe__, (xe__)->wa_active.oob_initialized); \
clear_bit(XE_DEVICE_WA_OOB_ ## id__, (xe__)->wa_active.oob); \
})
#endif