mirror of
https://github.com/torvalds/linux.git
synced 2026-06-03 20:14:06 +02:00
reg_sr programming that applies to an engines LRC cannot be verified by a simple CPU-based register readout because the reg_sr's values may not be in effect if no context is executing on the hardware at the time we check. Instead, we should verify correct reg_sr application by searching for the register in the default_lrc. Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Link: https://patch.msgid.link/20260218-sr_verify-v4-4-35d6deeb3421@intel.com Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
36 lines
896 B
C
36 lines
896 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2022 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _XE_REG_SR_
|
|
#define _XE_REG_SR_
|
|
|
|
/*
|
|
* Reg save/restore bookkeeping
|
|
*/
|
|
|
|
struct xe_device;
|
|
struct xe_gt;
|
|
struct xe_hw_engine;
|
|
struct xe_reg_sr;
|
|
struct xe_reg_sr_entry;
|
|
struct drm_printer;
|
|
|
|
int xe_reg_sr_init(struct xe_reg_sr *sr, const char *name, struct xe_device *xe);
|
|
void xe_reg_sr_dump(struct xe_reg_sr *sr, struct drm_printer *p);
|
|
void xe_reg_sr_readback_check(struct xe_reg_sr *sr,
|
|
struct xe_gt *gt,
|
|
struct drm_printer *p);
|
|
void xe_reg_sr_lrc_check(struct xe_reg_sr *sr,
|
|
struct xe_gt *gt,
|
|
struct xe_hw_engine *hwe,
|
|
struct drm_printer *p);
|
|
|
|
int xe_reg_sr_add(struct xe_reg_sr *sr, const struct xe_reg_sr_entry *e,
|
|
struct xe_gt *gt);
|
|
void xe_reg_sr_apply_mmio(struct xe_reg_sr *sr, struct xe_gt *gt);
|
|
void xe_reg_sr_apply_whitelist(struct xe_hw_engine *hwe);
|
|
|
|
#endif
|