diff options
author | Jack Steiner <steiner@sgi.com> | 2008-10-16 01:05:13 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-16 14:21:51 -0400 |
commit | 923f7f6970bd448b8e88b9e4be10fd01fc7106a4 (patch) | |
tree | 5e9f5646f547eaa345068f177815ebadd6a95454 /drivers/misc/sgi-gru/gru_instructions.h | |
parent | ebf3f09c634906d371f2bfd71b41c7e0c52efe7e (diff) |
GRU driver: minor updates
A few minor updates for the GRU driver.
- documentation changes found in code reviews
- changes to #ifdefs to make them recognized by "unifdef"
(used in simulator testing)
- change GRU context load/unload to prefetch data
[akpm@linux-foundation.org: fix typo in comment]
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 | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/misc/sgi-gru/gru_instructions.h b/drivers/misc/sgi-gru/gru_instructions.h index 0dc36225c7c6..48762e7b98be 100644 --- a/drivers/misc/sgi-gru/gru_instructions.h +++ b/drivers/misc/sgi-gru/gru_instructions.h | |||
@@ -26,7 +26,7 @@ | |||
26 | * Architecture dependent functions | 26 | * Architecture dependent functions |
27 | */ | 27 | */ |
28 | 28 | ||
29 | #if defined CONFIG_IA64 | 29 | #if defined(CONFIG_IA64) |
30 | #include <linux/compiler.h> | 30 | #include <linux/compiler.h> |
31 | #include <asm/intrinsics.h> | 31 | #include <asm/intrinsics.h> |
32 | #define __flush_cache(p) ia64_fc(p) | 32 | #define __flush_cache(p) ia64_fc(p) |
@@ -36,7 +36,7 @@ | |||
36 | barrier(); \ | 36 | barrier(); \ |
37 | *((volatile int *)(p)) = v; /* force st.rel */ \ | 37 | *((volatile int *)(p)) = v; /* force st.rel */ \ |
38 | } while (0) | 38 | } while (0) |
39 | #elif defined CONFIG_X86_64 | 39 | #elif defined(CONFIG_X86_64) |
40 | #define __flush_cache(p) clflush(p) | 40 | #define __flush_cache(p) clflush(p) |
41 | #define gru_ordered_store_int(p,v) \ | 41 | #define gru_ordered_store_int(p,v) \ |
42 | do { \ | 42 | do { \ |
@@ -299,6 +299,7 @@ static inline void gru_flush_cache(void *p) | |||
299 | static inline void gru_start_instruction(struct gru_instruction *ins, int op32) | 299 | static inline void gru_start_instruction(struct gru_instruction *ins, int op32) |
300 | { | 300 | { |
301 | gru_ordered_store_int(ins, op32); | 301 | gru_ordered_store_int(ins, op32); |
302 | gru_flush_cache(ins); | ||
302 | } | 303 | } |
303 | 304 | ||
304 | 305 | ||
@@ -604,8 +605,9 @@ static inline int gru_get_cb_substatus(void *cb) | |||
604 | static inline int gru_check_status(void *cb) | 605 | static inline int gru_check_status(void *cb) |
605 | { | 606 | { |
606 | struct gru_control_block_status *cbs = (void *)cb; | 607 | struct gru_control_block_status *cbs = (void *)cb; |
607 | int ret = cbs->istatus; | 608 | int ret; |
608 | 609 | ||
610 | ret = cbs->istatus; | ||
609 | if (ret == CBS_CALL_OS) | 611 | if (ret == CBS_CALL_OS) |
610 | ret = gru_check_status_proc(cb); | 612 | ret = gru_check_status_proc(cb); |
611 | return ret; | 613 | return ret; |
@@ -617,7 +619,7 @@ static inline int gru_check_status(void *cb) | |||
617 | static inline int gru_wait(void *cb) | 619 | static inline int gru_wait(void *cb) |
618 | { | 620 | { |
619 | struct gru_control_block_status *cbs = (void *)cb; | 621 | struct gru_control_block_status *cbs = (void *)cb; |
620 | int ret = cbs->istatus;; | 622 | int ret = cbs->istatus; |
621 | 623 | ||
622 | if (ret != CBS_IDLE) | 624 | if (ret != CBS_IDLE) |
623 | ret = gru_wait_proc(cb); | 625 | ret = gru_wait_proc(cb); |