aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc/spu.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-powerpc/spu.h')
-rw-r--r--include/asm-powerpc/spu.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/include/asm-powerpc/spu.h b/include/asm-powerpc/spu.h
index e73ea00efd8b..ffa4df083609 100644
--- a/include/asm-powerpc/spu.h
+++ b/include/asm-powerpc/spu.h
@@ -115,10 +115,10 @@ struct spu {
115 struct spu_priv2 __iomem *priv2; 115 struct spu_priv2 __iomem *priv2;
116 struct list_head list; 116 struct list_head list;
117 struct list_head sched_list; 117 struct list_head sched_list;
118 struct list_head full_list;
118 int number; 119 int number;
119 int nid; 120 int nid;
120 unsigned int irqs[3]; 121 unsigned int irqs[3];
121 u32 isrc;
122 u32 node; 122 u32 node;
123 u64 flags; 123 u64 flags;
124 u64 dar; 124 u64 dar;
@@ -144,6 +144,8 @@ struct spu {
144 char irq_c1[8]; 144 char irq_c1[8];
145 char irq_c2[8]; 145 char irq_c2[8];
146 146
147 struct device_node *devnode;
148
147 struct sys_device sysdev; 149 struct sys_device sysdev;
148}; 150};
149 151
@@ -182,8 +184,10 @@ extern struct spufs_calls {
182 */ 184 */
183#define SPU_CREATE_EVENTS_ENABLED 0x0001 185#define SPU_CREATE_EVENTS_ENABLED 0x0001
184#define SPU_CREATE_GANG 0x0002 186#define SPU_CREATE_GANG 0x0002
187#define SPU_CREATE_NOSCHED 0x0004
188#define SPU_CREATE_ISOLATE 0x0008
185 189
186#define SPU_CREATE_FLAG_ALL 0x0003 /* mask of all valid flags */ 190#define SPU_CREATE_FLAG_ALL 0x000f /* mask of all valid flags */
187 191
188 192
189#ifdef CONFIG_SPU_FS_MODULE 193#ifdef CONFIG_SPU_FS_MODULE
@@ -199,6 +203,12 @@ static inline void unregister_spu_syscalls(struct spufs_calls *calls)
199} 203}
200#endif /* MODULE */ 204#endif /* MODULE */
201 205
206int spu_add_sysdev_attr(struct sysdev_attribute *attr);
207void spu_remove_sysdev_attr(struct sysdev_attribute *attr);
208
209int spu_add_sysdev_attr_group(struct attribute_group *attrs);
210void spu_remove_sysdev_attr_group(struct attribute_group *attrs);
211
202 212
203/* 213/*
204 * Notifier blocks: 214 * Notifier blocks:
@@ -277,6 +287,7 @@ struct spu_problem {
277 u32 spu_runcntl_RW; /* 0x401c */ 287 u32 spu_runcntl_RW; /* 0x401c */
278#define SPU_RUNCNTL_STOP 0L 288#define SPU_RUNCNTL_STOP 0L
279#define SPU_RUNCNTL_RUNNABLE 1L 289#define SPU_RUNCNTL_RUNNABLE 1L
290#define SPU_RUNCNTL_ISOLATE 2L
280 u8 pad_0x4020_0x4024[0x4]; /* 0x4020 */ 291 u8 pad_0x4020_0x4024[0x4]; /* 0x4020 */
281 u32 spu_status_R; /* 0x4024 */ 292 u32 spu_status_R; /* 0x4024 */
282#define SPU_STOP_STATUS_SHIFT 16 293#define SPU_STOP_STATUS_SHIFT 16
@@ -289,8 +300,8 @@ struct spu_problem {
289#define SPU_STATUS_INVALID_INSTR 0x20 300#define SPU_STATUS_INVALID_INSTR 0x20
290#define SPU_STATUS_INVALID_CH 0x40 301#define SPU_STATUS_INVALID_CH 0x40
291#define SPU_STATUS_ISOLATED_STATE 0x80 302#define SPU_STATUS_ISOLATED_STATE 0x80
292#define SPU_STATUS_ISOLATED_LOAD_STAUTUS 0x200 303#define SPU_STATUS_ISOLATED_LOAD_STATUS 0x200
293#define SPU_STATUS_ISOLATED_EXIT_STAUTUS 0x400 304#define SPU_STATUS_ISOLATED_EXIT_STATUS 0x400
294 u8 pad_0x4028_0x402c[0x4]; /* 0x4028 */ 305 u8 pad_0x4028_0x402c[0x4]; /* 0x4028 */
295 u32 spu_spe_R; /* 0x402c */ 306 u32 spu_spe_R; /* 0x402c */
296 u8 pad_0x4030_0x4034[0x4]; /* 0x4030 */ 307 u8 pad_0x4030_0x4034[0x4]; /* 0x4030 */