diff options
author | Geoff Levand <geoffrey.levand@am.sony.com> | 2006-06-19 14:33:30 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-06-21 01:01:31 -0400 |
commit | a91942ae7ebd518006dcbeb2a1d7b147253c080e (patch) | |
tree | 74a923f4847495b509089d92010c42c0cb123f4a /include/asm-powerpc | |
parent | 540270d82db943855538cea5d0c790e7e669dda0 (diff) |
[POWERPC] spufs: fix spu irq affinity setting
This changes the hypervisor abstraction of setting cpu affinity to a
higher level to avoid platform dependent interrupt controller
routines. I replaced spu_priv1_ops:spu_int_route_set() with a
new routine spu_priv1_ops:spu_cpu_affinity_set().
As a by-product, this change eliminated what looked like an
existing bug in the set affinity code where spu_int_route_set()
mistakenly called int_stat_get().
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/asm-powerpc')
-rw-r--r-- | include/asm-powerpc/spu_priv1.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/asm-powerpc/spu_priv1.h b/include/asm-powerpc/spu_priv1.h index cb87d1f7e9bc..300c458b6d06 100644 --- a/include/asm-powerpc/spu_priv1.h +++ b/include/asm-powerpc/spu_priv1.h | |||
@@ -33,7 +33,7 @@ struct spu_priv1_ops | |||
33 | u64 (*int_mask_get) (struct spu *spu, int class); | 33 | u64 (*int_mask_get) (struct spu *spu, int class); |
34 | void (*int_stat_clear) (struct spu *spu, int class, u64 stat); | 34 | void (*int_stat_clear) (struct spu *spu, int class, u64 stat); |
35 | u64 (*int_stat_get) (struct spu *spu, int class); | 35 | u64 (*int_stat_get) (struct spu *spu, int class); |
36 | void (*int_route_set) (struct spu *spu, u64 route); | 36 | void (*cpu_affinity_set) (struct spu *spu, int cpu); |
37 | u64 (*mfc_dar_get) (struct spu *spu); | 37 | u64 (*mfc_dar_get) (struct spu *spu); |
38 | u64 (*mfc_dsisr_get) (struct spu *spu); | 38 | u64 (*mfc_dsisr_get) (struct spu *spu); |
39 | void (*mfc_dsisr_set) (struct spu *spu, u64 dsisr); | 39 | void (*mfc_dsisr_set) (struct spu *spu, u64 dsisr); |
@@ -88,9 +88,9 @@ spu_int_stat_get (struct spu *spu, int class) | |||
88 | } | 88 | } |
89 | 89 | ||
90 | static inline void | 90 | static inline void |
91 | spu_int_route_set (struct spu *spu, u64 route) | 91 | spu_cpu_affinity_set (struct spu *spu, int cpu) |
92 | { | 92 | { |
93 | spu_priv1_ops->int_stat_get(spu, route); | 93 | spu_priv1_ops->cpu_affinity_set(spu, cpu); |
94 | } | 94 | } |
95 | 95 | ||
96 | static inline u64 | 96 | static inline u64 |