aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/sgi-gru/grufault.c
diff options
context:
space:
mode:
authorJack Steiner <steiner@sgi.com>2009-06-17 19:28:27 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-06-18 16:04:02 -0400
commit270952a907220c0331fdaecbb55df892921c5e2d (patch)
tree374bc1a642108f2c878a86903a70d8af8cd7a04a /drivers/misc/sgi-gru/grufault.c
parenteb5bd5e52a8eafb1ddb42f983d41f97552afa106 (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/grufault.c')
-rw-r--r--drivers/misc/sgi-gru/grufault.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/misc/sgi-gru/grufault.c b/drivers/misc/sgi-gru/grufault.c
index 8443e90f9f6c..a489807613f8 100644
--- a/drivers/misc/sgi-gru/grufault.c
+++ b/drivers/misc/sgi-gru/grufault.c
@@ -339,8 +339,12 @@ static int gru_try_dropin(struct gru_thread_state *gts,
339 * Might be a hardware race OR a stupid user. Ignore FMM because FMM 339 * Might be a hardware race OR a stupid user. Ignore FMM because FMM
340 * is a transient state. 340 * is a transient state.
341 */ 341 */
342 if (tfh->status != TFHSTATUS_EXCEPTION) 342 if (tfh->status != TFHSTATUS_EXCEPTION) {
343 goto failnoexception; 343 gru_flush_cache(tfh);
344 if (tfh->status != TFHSTATUS_EXCEPTION)
345 goto failnoexception;
346 STAT(tfh_stale_on_fault);
347 }
344 if (tfh->state == TFHSTATE_IDLE) 348 if (tfh->state == TFHSTATE_IDLE)
345 goto failidle; 349 goto failidle;
346 if (tfh->state == TFHSTATE_MISS_FMM && cb) 350 if (tfh->state == TFHSTATE_MISS_FMM && cb)