aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc/spu.h
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2007-12-20 02:39:59 -0500
committerPaul Mackerras <paulus@samba.org>2007-12-21 03:46:20 -0500
commitd6ad39bc53521275d14fde86bfb94d9b2ddb7a08 (patch)
tree07dcc592b343395cb7fbfb3053aa21103fb94352 /include/asm-powerpc/spu.h
parent8af30675c3e7b945bbaf6f57b724f246e56eb209 (diff)
[POWERPC] spufs: rework class 0 and 1 interrupt handling
Based on original patches from Arnd Bergmann <arnd.bergman@de.ibm.com>; and Luke Browning <lukebr@linux.vnet.ibm.com> Currently, spu contexts need to be loaded to the SPU in order to take class 0 and class 1 exceptions. This change makes the actual interrupt-handlers much simpler (ie, set the exception information in the context save area), and defers the handling code to the spufs_handle_class[01] functions, called from spufs_run_spu. This should improve the concurrency of the spu scheduling leading to greater SPU utilization when SPUs are overcommited. Signed-off-by: Jeremy Kerr <jk@ozlabs.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/asm-powerpc/spu.h')
-rw-r--r--include/asm-powerpc/spu.h3
1 files changed, 0 insertions, 3 deletions
diff --git a/include/asm-powerpc/spu.h b/include/asm-powerpc/spu.h
index 816e3dc1f66f..277460476aec 100644
--- a/include/asm-powerpc/spu.h
+++ b/include/asm-powerpc/spu.h
@@ -146,7 +146,6 @@ struct spu {
146 void (* ibox_callback)(struct spu *spu); 146 void (* ibox_callback)(struct spu *spu);
147 void (* stop_callback)(struct spu *spu); 147 void (* stop_callback)(struct spu *spu);
148 void (* mfc_callback)(struct spu *spu); 148 void (* mfc_callback)(struct spu *spu);
149 void (* dma_callback)(struct spu *spu, int type);
150 149
151 char irq_c0[8]; 150 char irq_c0[8];
152 char irq_c1[8]; 151 char irq_c1[8];
@@ -197,8 +196,6 @@ struct cbe_spu_info {
197extern struct cbe_spu_info cbe_spu_info[]; 196extern struct cbe_spu_info cbe_spu_info[];
198 197
199void spu_init_channels(struct spu *spu); 198void spu_init_channels(struct spu *spu);
200int spu_irq_class_0_bottom(struct spu *spu);
201int spu_irq_class_1_bottom(struct spu *spu);
202void spu_irq_setaffinity(struct spu *spu, int cpu); 199void spu_irq_setaffinity(struct spu *spu, int cpu);
203 200
204void spu_setup_kernel_slbs(struct spu *spu, struct spu_lscsa *lscsa, 201void spu_setup_kernel_slbs(struct spu *spu, struct spu_lscsa *lscsa,