diff options
author | Sumit Gupta <sumitg@nvidia.com> | 2018-07-04 08:56:32 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-07-18 17:25:56 -0400 |
commit | 07a0ad3bc9497253f19b079ab57acfc088319643 (patch) | |
tree | 0d58806c4a9b1e4d49f536a079834fca2490aa25 /include | |
parent | e04e2233145933ebbd68278cf930d04c403863ba (diff) |
platform: tegra: create generic debugfs for RAS error inject
Creating generic debugfs node for injecting
RAS errors(one of each type).
How to use:
- reading the node gives help info about using.
cat /d/RAS_MCA_ERR-trip
- write node to cause error.
e.g:
echo EEDDCCBBAA > /d/RAS_MCA_ERR-trip
where:
EE[32-39] - L3_Bank_ID
DD[24-31] - Logical_Cluster_ID
CC[16-23] - Logical_CPU_ID
BB[08-15] - Error type(Corr is 0, UnCorr is 1)
AA[00-07] - Unit
Unit numbers will be printed in help info on reading same node
Bug 200420692
Change-Id: Ib83548b1781a55e9b980b0a506b93d5ef14b5119
Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1770600
GVS: Gerrit_Virtual_Submit
Reviewed-by: Alexander Van Brunt <avanbrunt@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/platform/tegra/carmel_ras.h | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/include/linux/platform/tegra/carmel_ras.h b/include/linux/platform/tegra/carmel_ras.h index d533439e3..d1f8c1371 100644 --- a/include/linux/platform/tegra/carmel_ras.h +++ b/include/linux/platform/tegra/carmel_ras.h | |||
@@ -40,7 +40,7 @@ | |||
40 | #define ERR_CTL_MTS_JSR_ERRUC_ERR RAS_BIT(32) | 40 | #define ERR_CTL_MTS_JSR_ERRUC_ERR RAS_BIT(32) |
41 | 41 | ||
42 | /* ERR_CTLR bits for LSD_1/LSD_STQ */ | 42 | /* ERR_CTLR bits for LSD_1/LSD_STQ */ |
43 | #define ERR_CTL_LSD1_CCDEMLECC_ERR RAS_BIT(41) | 43 | #define ERR_CTL_LSD1_CCDSMLECC_ERR RAS_BIT(41) |
44 | #define ERR_CTL_LSD1_CCDSECC_D_ERR RAS_BIT(40) | 44 | #define ERR_CTL_LSD1_CCDSECC_D_ERR RAS_BIT(40) |
45 | #define ERR_CTL_LSD1_CCDSECC_S_ERR RAS_BIT(39) | 45 | #define ERR_CTL_LSD1_CCDSECC_S_ERR RAS_BIT(39) |
46 | #define ERR_CTL_LSD1_CCDLECC_D_ERR RAS_BIT(38) | 46 | #define ERR_CTL_LSD1_CCDLECC_D_ERR RAS_BIT(38) |
@@ -167,3 +167,28 @@ | |||
167 | #define ERRi_MISC0_CONST 0x2222222222222222UL | 167 | #define ERRi_MISC0_CONST 0x2222222222222222UL |
168 | #define ERRi_MISC1_CONST 0x3333333333333333UL | 168 | #define ERRi_MISC1_CONST 0x3333333333333333UL |
169 | #define ERRi_ADDR_CONST 0x4444444444444444UL | 169 | #define ERRi_ADDR_CONST 0x4444444444444444UL |
170 | |||
171 | |||
172 | enum { | ||
173 | IFU, /* 0 */ | ||
174 | JSR_RET, /* 1 */ | ||
175 | JSR_MTS, /* 2 */ | ||
176 | LSD_STQ, /* 3 */ | ||
177 | LSD_DCC, /* 4 */ | ||
178 | LSD_L1HPF, /* 5 */ | ||
179 | L2, /* 6 */ | ||
180 | Cluster_Clocks, /* 7 */ | ||
181 | MMU, /* 8 */ | ||
182 | L3, /* 9 */ | ||
183 | CCPMU, /* A */ | ||
184 | SCF_IOB, /* B */ | ||
185 | SCF_SNOC, /* C */ | ||
186 | SCF_CTU, /* D */ | ||
187 | CMU_Clocks, /* E */ | ||
188 | }; | ||
189 | |||
190 | struct tegra_ras_impl_err_bit { | ||
191 | u64 uncorr_bit; | ||
192 | u64 corr_bit; | ||
193 | }; | ||
194 | |||