diff options
Diffstat (limited to 'include/asm-powerpc/spu.h')
-rw-r--r-- | include/asm-powerpc/spu.h | 19 |
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 | ||
206 | int spu_add_sysdev_attr(struct sysdev_attribute *attr); | ||
207 | void spu_remove_sysdev_attr(struct sysdev_attribute *attr); | ||
208 | |||
209 | int spu_add_sysdev_attr_group(struct attribute_group *attrs); | ||
210 | void 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 */ |