Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

gru: update GRU structures to match latest hardware spec

Add a few new definitions for chipset MMR field names. This matches rev
0.7 of the hardware spec.

Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Jack Steiner and committed by
Linus Torvalds
5658366a 41314790

+15 -1
+4 -1
drivers/misc/sgi-gru/gru_instructions.h
··· 265 265 #define CBE_CAUSE_PROTOCOL_STATE_DATA_ERROR (1 << 16) 266 266 #define CBE_CAUSE_RA_RESPONSE_DATA_ERROR (1 << 17) 267 267 #define CBE_CAUSE_HA_RESPONSE_DATA_ERROR (1 << 18) 268 + #define CBE_CAUSE_FORCED_ERROR (1 << 19) 268 269 269 270 /* CBE cbrexecstatus bits */ 270 271 #define CBR_EXS_ABORT_OCC_BIT 0 ··· 274 273 #define CBR_EXS_QUEUED_BIT 3 275 274 #define CBR_EXS_TLB_INVAL_BIT 4 276 275 #define CBR_EXS_EXCEPTION_BIT 5 276 + #define CBR_EXS_CB_INT_PENDING_BIT 6 277 277 278 278 #define CBR_EXS_ABORT_OCC (1 << CBR_EXS_ABORT_OCC_BIT) 279 279 #define CBR_EXS_INT_OCC (1 << CBR_EXS_INT_OCC_BIT) 280 280 #define CBR_EXS_PENDING (1 << CBR_EXS_PENDING_BIT) 281 281 #define CBR_EXS_QUEUED (1 << CBR_EXS_QUEUED_BIT) 282 - #define CBR_TLB_INVAL (1 << CBR_EXS_TLB_INVAL_BIT) 282 + #define CBR_EXS_TLB_INVAL (1 << CBR_EXS_TLB_INVAL_BIT) 283 283 #define CBR_EXS_EXCEPTION (1 << CBR_EXS_EXCEPTION_BIT) 284 + #define CBR_EXS_CB_INT_PENDING (1 << CBR_EXS_CB_INT_PENDING_BIT) 284 285 285 286 /* 286 287 * Exceptions are retried for the following cases. If any OTHER bits are set
+11
drivers/misc/sgi-gru/gruhandles.h
··· 252 252 TGHSTATE_RESTART_CTX, 253 253 }; 254 254 255 + enum gru_tgh_cause { 256 + TGHCAUSE_RR_ECC, 257 + TGHCAUSE_TLB_ECC, 258 + TGHCAUSE_LRU_ECC, 259 + TGHCAUSE_PS_ECC, 260 + TGHCAUSE_MUL_ERR, 261 + TGHCAUSE_DATA_ERR, 262 + TGHCAUSE_SW_FORCE 263 + }; 264 + 265 + 255 266 /* 256 267 * TFH - TLB Global Handle 257 268 * Used for TLB dropins into the GRU TLB.