diff options
author | Jack Steiner <steiner@sgi.com> | 2009-06-17 19:28:27 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-18 16:04:02 -0400 |
commit | 270952a907220c0331fdaecbb55df892921c5e2d (patch) | |
tree | 374bc1a642108f2c878a86903a70d8af8cd7a04a /drivers/misc/sgi-gru/gru_instructions.h | |
parent | eb5bd5e52a8eafb1ddb42f983d41f97552afa106 (diff) |
gru: update to rev 0.9 of gru spec
Update GRU driver to the latest version of the GRU spec. This consists
of minor updates:
- changes & additions to error status bits
- new restriction on handling of TLB misses while in FMM mode
- new field (not used by software) in TFH
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>
Diffstat (limited to 'drivers/misc/sgi-gru/gru_instructions.h')
-rw-r--r-- | drivers/misc/sgi-gru/gru_instructions.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/drivers/misc/sgi-gru/gru_instructions.h b/drivers/misc/sgi-gru/gru_instructions.h index 2feb885ca96f..eb9140d32e62 100644 --- a/drivers/misc/sgi-gru/gru_instructions.h +++ b/drivers/misc/sgi-gru/gru_instructions.h | |||
@@ -253,32 +253,37 @@ struct gru_instruction { | |||
253 | #define CBE_CAUSE_HA_RESPONSE_FATAL (1 << 13) | 253 | #define CBE_CAUSE_HA_RESPONSE_FATAL (1 << 13) |
254 | #define CBE_CAUSE_HA_RESPONSE_NON_FATAL (1 << 14) | 254 | #define CBE_CAUSE_HA_RESPONSE_NON_FATAL (1 << 14) |
255 | #define CBE_CAUSE_ADDRESS_SPACE_DECODE_ERROR (1 << 15) | 255 | #define CBE_CAUSE_ADDRESS_SPACE_DECODE_ERROR (1 << 15) |
256 | #define CBE_CAUSE_RESPONSE_DATA_ERROR (1 << 16) | 256 | #define CBE_CAUSE_PROTOCOL_STATE_DATA_ERROR (1 << 16) |
257 | #define CBE_CAUSE_PROTOCOL_STATE_DATA_ERROR (1 << 17) | 257 | #define CBE_CAUSE_RA_RESPONSE_DATA_ERROR (1 << 17) |
258 | #define CBE_CAUSE_HA_RESPONSE_DATA_ERROR (1 << 18) | ||
258 | 259 | ||
259 | /* CBE cbrexecstatus bits */ | 260 | /* CBE cbrexecstatus bits */ |
260 | #define CBR_EXS_ABORT_OCC_BIT 0 | 261 | #define CBR_EXS_ABORT_OCC_BIT 0 |
261 | #define CBR_EXS_INT_OCC_BIT 1 | 262 | #define CBR_EXS_INT_OCC_BIT 1 |
262 | #define CBR_EXS_PENDING_BIT 2 | 263 | #define CBR_EXS_PENDING_BIT 2 |
263 | #define CBR_EXS_QUEUED_BIT 3 | 264 | #define CBR_EXS_QUEUED_BIT 3 |
264 | #define CBR_EXS_TLBHW_BIT 4 | 265 | #define CBR_EXS_TLB_INVAL_BIT 4 |
265 | #define CBR_EXS_EXCEPTION_BIT 5 | 266 | #define CBR_EXS_EXCEPTION_BIT 5 |
266 | 267 | ||
267 | #define CBR_EXS_ABORT_OCC (1 << CBR_EXS_ABORT_OCC_BIT) | 268 | #define CBR_EXS_ABORT_OCC (1 << CBR_EXS_ABORT_OCC_BIT) |
268 | #define CBR_EXS_INT_OCC (1 << CBR_EXS_INT_OCC_BIT) | 269 | #define CBR_EXS_INT_OCC (1 << CBR_EXS_INT_OCC_BIT) |
269 | #define CBR_EXS_PENDING (1 << CBR_EXS_PENDING_BIT) | 270 | #define CBR_EXS_PENDING (1 << CBR_EXS_PENDING_BIT) |
270 | #define CBR_EXS_QUEUED (1 << CBR_EXS_QUEUED_BIT) | 271 | #define CBR_EXS_QUEUED (1 << CBR_EXS_QUEUED_BIT) |
271 | #define CBR_EXS_TLBHW (1 << CBR_EXS_TLBHW_BIT) | 272 | #define CBR_TLB_INVAL (1 << CBR_EXS_TLB_INVAL_BIT) |
272 | #define CBR_EXS_EXCEPTION (1 << CBR_EXS_EXCEPTION_BIT) | 273 | #define CBR_EXS_EXCEPTION (1 << CBR_EXS_EXCEPTION_BIT) |
273 | 274 | ||
274 | /* | 275 | /* |
275 | * Exceptions are retried for the following cases. If any OTHER bits are set | 276 | * Exceptions are retried for the following cases. If any OTHER bits are set |
276 | * in ecause, the exception is not retryable. | 277 | * in ecause, the exception is not retryable. |
277 | */ | 278 | */ |
278 | #define EXCEPTION_RETRY_BITS (CBE_CAUSE_RESPONSE_DATA_ERROR | \ | 279 | #define EXCEPTION_RETRY_BITS (CBE_CAUSE_EXECUTION_HW_ERROR | \ |
279 | CBE_CAUSE_RA_REQUEST_TIMEOUT | \ | ||
280 | CBE_CAUSE_TLBHW_ERROR | \ | 280 | CBE_CAUSE_TLBHW_ERROR | \ |
281 | CBE_CAUSE_HA_REQUEST_TIMEOUT) | 281 | CBE_CAUSE_RA_REQUEST_TIMEOUT | \ |
282 | CBE_CAUSE_RA_RESPONSE_NON_FATAL | \ | ||
283 | CBE_CAUSE_HA_RESPONSE_NON_FATAL | \ | ||
284 | CBE_CAUSE_RA_RESPONSE_DATA_ERROR | \ | ||
285 | CBE_CAUSE_HA_RESPONSE_DATA_ERROR \ | ||
286 | ) | ||
282 | 287 | ||
283 | /* Message queue head structure */ | 288 | /* Message queue head structure */ |
284 | union gru_mesqhead { | 289 | union gru_mesqhead { |