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/grufault.c | |
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/grufault.c')
-rw-r--r-- | drivers/misc/sgi-gru/grufault.c | 8 |
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) |