1/* SPDX-License-Identifier: MIT */ 2/* 3 * Copyright �� 2022 Intel Corporation 4 */ 5 6#ifndef _XE_REG_SR_TYPES_ 7#define _XE_REG_SR_TYPES_ 8 9#include <linux/types.h> 10#include <linux/xarray.h> 11 12#include "regs/xe_reg_defs.h" 13 14struct xe_reg_sr_entry { 15 struct xe_reg reg; 16 u32 clr_bits; 17 u32 set_bits; 18 /* Mask for bits to consider when reading value back */ 19 u32 read_mask; 20}; 21 22struct xe_reg_sr { 23 struct { 24 struct xe_reg_sr_entry *arr; 25 unsigned int used; 26 unsigned int allocated; 27 unsigned int grow_step; 28 } pool; 29 struct xarray xa; 30 const char *name; 31 32#if IS_ENABLED(CONFIG_DRM_XE_KUNIT_TEST) 33 unsigned int errors; 34#endif 35}; 36 37#endif 38