1*6ac142bfSSuman Kumar Chakraborty /* SPDX-License-Identifier: GPL-2.0-only */ 2*6ac142bfSSuman Kumar Chakraborty /* Copyright(c) 2026 Intel Corporation */ 3*6ac142bfSSuman Kumar Chakraborty #ifndef ADF_ANTI_RB_H_ 4*6ac142bfSSuman Kumar Chakraborty #define ADF_ANTI_RB_H_ 5*6ac142bfSSuman Kumar Chakraborty 6*6ac142bfSSuman Kumar Chakraborty #include <linux/types.h> 7*6ac142bfSSuman Kumar Chakraborty 8*6ac142bfSSuman Kumar Chakraborty #define GET_ANTI_RB_DATA(accel_dev) (&(accel_dev)->hw_device->anti_rb_data) 9*6ac142bfSSuman Kumar Chakraborty 10*6ac142bfSSuman Kumar Chakraborty #define ADF_SVN_NO_STS 0x00 11*6ac142bfSSuman Kumar Chakraborty #define ADF_SVN_PASS_STS 0x01 12*6ac142bfSSuman Kumar Chakraborty #define ADF_SVN_RETRY_STS 0x02 13*6ac142bfSSuman Kumar Chakraborty #define ADF_SVN_FAIL_STS 0x03 14*6ac142bfSSuman Kumar Chakraborty #define ADF_SVN_RETRY_MS 250 15*6ac142bfSSuman Kumar Chakraborty #define ADF_SVN_STS_MASK GENMASK(7, 0) 16*6ac142bfSSuman Kumar Chakraborty 17*6ac142bfSSuman Kumar Chakraborty enum anti_rb { 18*6ac142bfSSuman Kumar Chakraborty ARB_ENFORCED_MIN_SVN, 19*6ac142bfSSuman Kumar Chakraborty ARB_PERMANENT_MIN_SVN, 20*6ac142bfSSuman Kumar Chakraborty ARB_ACTIVE_SVN, 21*6ac142bfSSuman Kumar Chakraborty }; 22*6ac142bfSSuman Kumar Chakraborty 23*6ac142bfSSuman Kumar Chakraborty struct adf_accel_dev; 24*6ac142bfSSuman Kumar Chakraborty struct pci_dev; 25*6ac142bfSSuman Kumar Chakraborty 26*6ac142bfSSuman Kumar Chakraborty struct adf_anti_rb_hw_data { 27*6ac142bfSSuman Kumar Chakraborty bool (*anti_rb_enabled)(struct adf_accel_dev *accel_dev); 28*6ac142bfSSuman Kumar Chakraborty u32 svncheck_offset; 29*6ac142bfSSuman Kumar Chakraborty u32 svncheck_retry; 30*6ac142bfSSuman Kumar Chakraborty bool sysfs_added; 31*6ac142bfSSuman Kumar Chakraborty }; 32*6ac142bfSSuman Kumar Chakraborty 33*6ac142bfSSuman Kumar Chakraborty int adf_anti_rb_commit(struct adf_accel_dev *accel_dev); 34*6ac142bfSSuman Kumar Chakraborty int adf_anti_rb_query(struct adf_accel_dev *accel_dev, enum anti_rb cmd, u8 *svn); 35*6ac142bfSSuman Kumar Chakraborty int adf_anti_rb_check(struct pci_dev *pdev); 36*6ac142bfSSuman Kumar Chakraborty 37*6ac142bfSSuman Kumar Chakraborty #endif /* ADF_ANTI_RB_H_ */ 38