1/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright �� 2022 Intel Corporation
4 */
5
6#ifndef _XE_GT_MCR_H_
7#define _XE_GT_MCR_H_
8
9#include "regs/xe_reg_defs.h"
10
11struct drm_printer;
12struct xe_gt;
13
14void xe_gt_mcr_init(struct xe_gt *gt);
15
16void xe_gt_mcr_set_implicit_defaults(struct xe_gt *gt);
17
18u32 xe_gt_mcr_unicast_read(struct xe_gt *gt, struct xe_reg_mcr mcr_reg,
19			   int group, int instance);
20u32 xe_gt_mcr_unicast_read_any(struct xe_gt *gt, struct xe_reg_mcr mcr_reg);
21
22void xe_gt_mcr_unicast_write(struct xe_gt *gt, struct xe_reg_mcr mcr_reg,
23			     u32 value, int group, int instance);
24void xe_gt_mcr_multicast_write(struct xe_gt *gt, struct xe_reg_mcr mcr_reg,
25			       u32 value);
26
27void xe_gt_mcr_steering_dump(struct xe_gt *gt, struct drm_printer *p);
28
29#endif /* _XE_GT_MCR_H_ */
30