1e7858254SMatt Roper /* SPDX-License-Identifier: MIT */ 2e7858254SMatt Roper /* 3e7858254SMatt Roper * Copyright © 2022 Intel Corporation 4e7858254SMatt Roper */ 5e7858254SMatt Roper 6e7858254SMatt Roper #ifndef __INTEL_GT_MCR__ 7e7858254SMatt Roper #define __INTEL_GT_MCR__ 8e7858254SMatt Roper 9e7858254SMatt Roper #include "intel_gt_types.h" 10e7858254SMatt Roper 11e7858254SMatt Roper void intel_gt_mcr_init(struct intel_gt *gt); 12e7858254SMatt Roper 13*3fe6c7f5SMatt Roper u32 intel_gt_mcr_read(struct intel_gt *gt, 14e7858254SMatt Roper i915_reg_t reg, 15*3fe6c7f5SMatt Roper int group, int instance); 16*3fe6c7f5SMatt Roper u32 intel_gt_mcr_read_any_fw(struct intel_gt *gt, i915_reg_t reg); 17*3fe6c7f5SMatt Roper u32 intel_gt_mcr_read_any(struct intel_gt *gt, i915_reg_t reg); 18*3fe6c7f5SMatt Roper 19*3fe6c7f5SMatt Roper void intel_gt_mcr_unicast_write(struct intel_gt *gt, 20e7858254SMatt Roper i915_reg_t reg, u32 value, 21*3fe6c7f5SMatt Roper int group, int instance); 22*3fe6c7f5SMatt Roper void intel_gt_mcr_multicast_write(struct intel_gt *gt, 23*3fe6c7f5SMatt Roper i915_reg_t reg, u32 value); 24*3fe6c7f5SMatt Roper void intel_gt_mcr_multicast_write_fw(struct intel_gt *gt, 25*3fe6c7f5SMatt Roper i915_reg_t reg, u32 value); 26e7858254SMatt Roper 27*3fe6c7f5SMatt Roper void intel_gt_mcr_get_nonterminated_steering(struct intel_gt *gt, 28*3fe6c7f5SMatt Roper i915_reg_t reg, 29*3fe6c7f5SMatt Roper u8 *group, u8 *instance); 30e7858254SMatt Roper 31*3fe6c7f5SMatt Roper void intel_gt_mcr_report_steering(struct drm_printer *p, struct intel_gt *gt, 32e7858254SMatt Roper bool dump_table); 33e7858254SMatt Roper 34e7858254SMatt Roper #endif /* __INTEL_GT_MCR__ */ 35