Loading...
Note: File does not exist in v4.6.
1/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright © 2022 Intel Corporation
4 */
5
6#ifndef _XE_WA_
7#define _XE_WA_
8
9#include "xe_assert.h"
10
11struct drm_printer;
12struct xe_gt;
13struct xe_hw_engine;
14struct xe_tile;
15
16int xe_wa_init(struct xe_gt *gt);
17void xe_wa_process_oob(struct xe_gt *gt);
18void xe_wa_process_gt(struct xe_gt *gt);
19void xe_wa_process_engine(struct xe_hw_engine *hwe);
20void xe_wa_process_lrc(struct xe_hw_engine *hwe);
21void xe_wa_apply_tile_workarounds(struct xe_tile *tile);
22void xe_wa_dump(struct xe_gt *gt, struct drm_printer *p);
23
24/**
25 * XE_WA - Out-of-band workarounds, that don't fit the lifecycle any
26 * other more specific type
27 * @gt__: gt instance
28 * @id__: XE_OOB_<id__>, as generated by build system in generated/xe_wa_oob.h
29 */
30#define XE_WA(gt__, id__) ({ \
31 xe_gt_assert(gt__, (gt__)->wa_active.oob_initialized); \
32 test_bit(XE_WA_OOB_ ## id__, (gt__)->wa_active.oob); \
33})
34
35#endif