Commit | Line | Data |
---|---|---|
e7858254 MR |
1 | /* SPDX-License-Identifier: MIT */ |
2 | /* | |
3 | * Copyright © 2022 Intel Corporation | |
4 | */ | |
5 | ||
6 | #ifndef __INTEL_GT_MCR__ | |
7 | #define __INTEL_GT_MCR__ | |
8 | ||
9 | #include "intel_gt_types.h" | |
10 | ||
11 | void intel_gt_mcr_init(struct intel_gt *gt); | |
12 | ||
13 | u32 intel_uncore_read_with_mcr_steering_fw(struct intel_uncore *uncore, | |
14 | i915_reg_t reg, | |
15 | int slice, int subslice); | |
16 | u32 intel_uncore_read_with_mcr_steering(struct intel_uncore *uncore, | |
17 | i915_reg_t reg, int slice, int subslice); | |
18 | void intel_uncore_write_with_mcr_steering(struct intel_uncore *uncore, | |
19 | i915_reg_t reg, u32 value, | |
20 | int slice, int subslice); | |
21 | ||
22 | u32 intel_gt_read_register_fw(struct intel_gt *gt, i915_reg_t reg); | |
23 | u32 intel_gt_read_register(struct intel_gt *gt, i915_reg_t reg); | |
24 | ||
25 | static inline bool intel_gt_needs_read_steering(struct intel_gt *gt, | |
26 | enum intel_steering_type type) | |
27 | { | |
28 | return gt->steering_table[type]; | |
29 | } | |
30 | ||
31 | void intel_gt_get_valid_steering_for_reg(struct intel_gt *gt, i915_reg_t reg, | |
32 | u8 *sliceid, u8 *subsliceid); | |
33 | ||
34 | void intel_gt_report_steering(struct drm_printer *p, struct intel_gt *gt, | |
35 | bool dump_table); | |
36 | ||
37 | #endif /* __INTEL_GT_MCR__ */ |