Home
last modified time | relevance | path

Searched refs:spu (Results 1 – 25 of 49) sorted by relevance

12

/linux-3.4.99/arch/powerpc/include/asm/
Dspu_priv1.h26 struct spu;
32 void (*int_mask_and) (struct spu *spu, int class, u64 mask);
33 void (*int_mask_or) (struct spu *spu, int class, u64 mask);
34 void (*int_mask_set) (struct spu *spu, int class, u64 mask);
35 u64 (*int_mask_get) (struct spu *spu, int class);
36 void (*int_stat_clear) (struct spu *spu, int class, u64 stat);
37 u64 (*int_stat_get) (struct spu *spu, int class);
38 void (*cpu_affinity_set) (struct spu *spu, int cpu);
39 u64 (*mfc_dar_get) (struct spu *spu);
40 u64 (*mfc_dsisr_get) (struct spu *spu);
[all …]
Dspu.h119 struct spu { struct
147 void (* wbox_callback)(struct spu *spu); argument
148 void (* ibox_callback)(struct spu *spu); argument
149 void (* stop_callback)(struct spu *spu, int irq); argument
150 void (* mfc_callback)(struct spu *spu); argument
201 void spu_init_channels(struct spu *spu); argument
202 void spu_irq_setaffinity(struct spu *spu, int cpu);
204 void spu_setup_kernel_slbs(struct spu *spu, struct spu_lscsa *lscsa,
207 extern void spu_invalidate_slbs(struct spu *spu);
208 extern void spu_associate_mm(struct spu *spu, struct mm_struct *mm);
/linux-3.4.99/arch/powerpc/platforms/cell/
Dspu_base.c83 void spu_invalidate_slbs(struct spu *spu) in spu_invalidate_slbs() argument
85 struct spu_priv2 __iomem *priv2 = spu->priv2; in spu_invalidate_slbs()
88 spin_lock_irqsave(&spu->register_lock, flags); in spu_invalidate_slbs()
89 if (spu_mfc_sr1_get(spu) & MFC_STATE1_RELOCATE_MASK) in spu_invalidate_slbs()
91 spin_unlock_irqrestore(&spu->register_lock, flags); in spu_invalidate_slbs()
100 struct spu *spu; in spu_flush_all_slbs() local
104 list_for_each_entry(spu, &spu_full_list, full_list) { in spu_flush_all_slbs()
105 if (spu->mm == mm) in spu_flush_all_slbs()
106 spu_invalidate_slbs(spu); in spu_flush_all_slbs()
122 void spu_associate_mm(struct spu *spu, struct mm_struct *mm) in spu_associate_mm() argument
[all …]
Dbeat_spu_priv1.c27 static inline void _int_mask_set(struct spu *spu, int class, u64 mask) in _int_mask_set() argument
29 spu->shadow_int_mask_RW[class] = mask; in _int_mask_set()
30 beat_set_irq_mask_for_spe(spu->spe_id, class, mask); in _int_mask_set()
33 static inline u64 _int_mask_get(struct spu *spu, int class) in _int_mask_get() argument
35 return spu->shadow_int_mask_RW[class]; in _int_mask_get()
38 static void int_mask_set(struct spu *spu, int class, u64 mask) in int_mask_set() argument
40 _int_mask_set(spu, class, mask); in int_mask_set()
43 static u64 int_mask_get(struct spu *spu, int class) in int_mask_get() argument
45 return _int_mask_get(spu, class); in int_mask_get()
48 static void int_mask_and(struct spu *spu, int class, u64 mask) in int_mask_and() argument
[all …]
Dspu_priv1_mmio.c39 static void int_mask_and(struct spu *spu, int class, u64 mask) in int_mask_and() argument
43 old_mask = in_be64(&spu->priv1->int_mask_RW[class]); in int_mask_and()
44 out_be64(&spu->priv1->int_mask_RW[class], old_mask & mask); in int_mask_and()
47 static void int_mask_or(struct spu *spu, int class, u64 mask) in int_mask_or() argument
51 old_mask = in_be64(&spu->priv1->int_mask_RW[class]); in int_mask_or()
52 out_be64(&spu->priv1->int_mask_RW[class], old_mask | mask); in int_mask_or()
55 static void int_mask_set(struct spu *spu, int class, u64 mask) in int_mask_set() argument
57 out_be64(&spu->priv1->int_mask_RW[class], mask); in int_mask_set()
60 static u64 int_mask_get(struct spu *spu, int class) in int_mask_get() argument
62 return in_be64(&spu->priv1->int_mask_RW[class]); in int_mask_get()
[all …]
Dspu_manage.c40 struct device_node *spu_devnode(struct spu *spu) in spu_devnode() argument
42 return spu->devnode; in spu_devnode()
70 static void spu_unmap(struct spu *spu) in spu_unmap() argument
73 iounmap(spu->priv1); in spu_unmap()
74 iounmap(spu->priv2); in spu_unmap()
75 iounmap(spu->problem); in spu_unmap()
76 iounmap((__force u8 __iomem *)spu->local_store); in spu_unmap()
79 static int __init spu_map_interrupts_old(struct spu *spu, in spu_map_interrupts_old() argument
95 nid = spu->node; in spu_map_interrupts_old()
103 spu->irqs[0] = irq_create_mapping(NULL, IIC_IRQ_CLASS_0 | isrc); in spu_map_interrupts_old()
[all …]
Dcbe_thermal.c81 struct spu *spu; in get_pmd_regs() local
83 spu = container_of(dev, struct spu, dev); in get_pmd_regs()
85 return cbe_get_pmd_regs(spu_devnode(spu)); in get_pmd_regs()
92 struct spu *spu; in spu_read_register_value() local
94 spu = container_of(dev, struct spu, dev); in spu_read_register_value()
97 return value.spe[spu->spe_id]; in spu_read_register_value()
257 static DEVICE_PREFIX_ATTR(spu, throttle_end, 0600);
258 static DEVICE_PREFIX_ATTR(spu, throttle_begin, 0600);
259 static DEVICE_PREFIX_ATTR(spu, throttle_full_stop, 0600);
DMakefile21 spu-priv1-$(CONFIG_PPC_CELL_COMMON) += spu_priv1_mmio.o
22 spu-manage-$(CONFIG_PPC_CELL_COMMON) += spu_manage.o
27 $(spu-priv1-y) \
28 $(spu-manage-y) \
Dspu_notify.c31 void spu_switch_notify(struct spu *spu, struct spu_context *ctx) in spu_switch_notify() argument
34 ctx ? ctx->object_id : 0, spu); in spu_switch_notify()
Dspu_priv1_mmio.h24 struct device_node *spu_devnode(struct spu *spu);
/linux-3.4.99/arch/powerpc/platforms/cell/spufs/
Dswitch.c78 static inline void acquire_spu_lock(struct spu *spu) in acquire_spu_lock() argument
87 static inline void release_spu_lock(struct spu *spu) in release_spu_lock() argument
95 static inline int check_spu_isolate(struct spu_state *csa, struct spu *spu) in check_spu_isolate() argument
97 struct spu_problem __iomem *prob = spu->problem; in check_spu_isolate()
111 static inline void disable_interrupts(struct spu_state *csa, struct spu *spu) in disable_interrupts() argument
124 spin_lock_irq(&spu->register_lock); in disable_interrupts()
126 csa->priv1.int_mask_class0_RW = spu_int_mask_get(spu, 0); in disable_interrupts()
127 csa->priv1.int_mask_class1_RW = spu_int_mask_get(spu, 1); in disable_interrupts()
128 csa->priv1.int_mask_class2_RW = spu_int_mask_get(spu, 2); in disable_interrupts()
130 spu_int_mask_set(spu, 0, 0ul); in disable_interrupts()
[all …]
Dhw_ops.c39 struct spu *spu = ctx->spu; in spu_hw_mbox_read() local
40 struct spu_problem __iomem *prob = spu->problem; in spu_hw_mbox_read()
44 spin_lock_irq(&spu->register_lock); in spu_hw_mbox_read()
50 spin_unlock_irq(&spu->register_lock); in spu_hw_mbox_read()
56 return in_be32(&ctx->spu->problem->mb_stat_R); in spu_hw_mbox_stat_read()
62 struct spu *spu = ctx->spu; in spu_hw_mbox_stat_poll() local
66 spin_lock_irq(&spu->register_lock); in spu_hw_mbox_stat_poll()
67 stat = in_be32(&spu->problem->mb_stat_R); in spu_hw_mbox_stat_poll()
78 spu_int_stat_clear(spu, 2, CLASS2_MAILBOX_INTR); in spu_hw_mbox_stat_poll()
79 spu_int_mask_or(spu, 2, CLASS2_ENABLE_MAILBOX_INTR); in spu_hw_mbox_stat_poll()
[all …]
Dsched.c154 node = ctx->spu->node; in spu_update_sched_info()
201 struct spu *spu; in do_notify_spus_active() local
204 list_for_each_entry(spu, &cbe_spu_info[node].spus, cbe_list) { in do_notify_spus_active()
205 if (spu->alloc_state != SPU_FREE) { in do_notify_spus_active()
206 struct spu_context *ctx = spu->ctx; in do_notify_spus_active()
222 static void spu_bind_context(struct spu *spu, struct spu_context *ctx) in spu_bind_context() argument
224 spu_context_trace(spu_bind_context__enter, ctx, spu); in spu_bind_context()
229 atomic_inc(&cbe_spu_info[spu->node].reserved_spus); in spu_bind_context()
231 ctx->stats.slb_flt_base = spu->stats.slb_flt; in spu_bind_context()
232 ctx->stats.class2_intr_base = spu->stats.class2_intr; in spu_bind_context()
[all …]
Dspufs.h81 struct spu *spu; /* pointer to a physical SPU */ member
168 struct spu *aff_ref_spu;
271 struct spu *affinity_check(struct spu_context *ctx);
300 void spu_switch_notify(struct spu *spu, struct spu_context *ctx);
301 void spu_switch_log_notify(struct spu *spu, struct spu_context *ctx,
347 void spufs_ibox_callback(struct spu *spu);
348 void spufs_wbox_callback(struct spu *spu);
349 void spufs_stop_callback(struct spu *spu, int irq);
350 void spufs_mfc_callback(struct spu *spu);
351 void spufs_dma_callback(struct spu *spu, int type);
[all …]
Dsputrace.h10 TP_PROTO(struct spu_context *ctx, struct spu *spu, const char *name),
11 TP_ARGS(ctx, spu, name),
22 __entry->number = spu ? spu->number : -1;
29 #define spu_context_trace(name, ctx, spu) \ argument
30 trace_spufs_context(ctx, spu, __stringify(name))
Drun.c14 void spufs_stop_callback(struct spu *spu, int irq) in spufs_stop_callback() argument
16 struct spu_context *ctx = spu->ctx; in spufs_stop_callback()
29 ctx->csa.class_0_pending = spu->class_0_pending; in spufs_stop_callback()
30 ctx->csa.class_0_dar = spu->class_0_dar; in spufs_stop_callback()
33 ctx->csa.class_1_dsisr = spu->class_1_dsisr; in spufs_stop_callback()
34 ctx->csa.class_1_dar = spu->class_1_dar; in spufs_stop_callback()
103 mfc_cntl = &ctx->spu->priv2->mfc_control_RW; in spu_setup_isolated()
124 sr1 = spu_mfc_sr1_get(ctx->spu); in spu_setup_isolated()
126 spu_mfc_sr1_set(ctx->spu, sr1); in spu_setup_isolated()
169 spu_mfc_sr1_set(ctx->spu, sr1); in spu_setup_isolated()
[all …]
Dfault.c139 ctx->spu->stats.hash_flt++; in spufs_handle_class1()
179 ctx->spu->stats.maj_flt++; in spufs_handle_class1()
181 ctx->spu->stats.min_flt++; in spufs_handle_class1()
184 if (ctx->spu) in spufs_handle_class1()
/linux-3.4.99/arch/powerpc/platforms/ps3/
Dspu.c128 static struct spu_pdata *spu_pdata(struct spu *spu) in spu_pdata() argument
130 return spu->pdata; in spu_pdata()
162 static int __init construct_spu(struct spu *spu) in construct_spu() argument
171 &spu_pdata(spu)->priv2_addr, &problem_phys, in construct_spu()
173 &spu_pdata(spu)->shadow_addr, in construct_spu()
174 &spu_pdata(spu)->spe_id); in construct_spu()
175 spu->problem_phys = problem_phys; in construct_spu()
176 spu->local_store_phys = local_store_phys; in construct_spu()
187 static void spu_unmap(struct spu *spu) in spu_unmap() argument
189 iounmap(spu->priv2); in spu_unmap()
[all …]
/linux-3.4.99/arch/powerpc/oprofile/cell/
Dspu_task_sync.c44 static void spu_buff_add(unsigned long int value, int spu) in spu_buff_add() argument
58 if (spu_buff[spu].head >= spu_buff[spu].tail) { in spu_buff_add()
59 if ((spu_buff[spu].head - spu_buff[spu].tail) in spu_buff_add()
63 } else if (spu_buff[spu].tail > spu_buff[spu].head) { in spu_buff_add()
64 if ((spu_buff[spu].tail - spu_buff[spu].head) in spu_buff_add()
70 spu_buff[spu].buff[spu_buff[spu].head] = value; in spu_buff_add()
71 spu_buff[spu].head++; in spu_buff_add()
73 if (spu_buff[spu].head >= max_spu_buff) in spu_buff_add()
74 spu_buff[spu].head = 0; in spu_buff_add()
92 int spu; in sync_spu_buff() local
[all …]
Dspu_profiler.c82 int spu; in spu_pc_extract() local
96 for (spu = SPUS_PER_TB_ENTRY-1; spu >= 0; spu--) { in spu_pc_extract()
100 samples[spu * TRACE_ARRAY_SIZE + entry] in spu_pc_extract()
102 samples[(spu + SPUS_PER_TB_ENTRY) * TRACE_ARRAY_SIZE + entry] in spu_pc_extract()
Dpr_util.h85 struct vma_to_fileoffset_map *create_vma_map(const struct spu *spu,
88 unsigned int vma, const struct spu *aSpu,
/linux-3.4.99/arch/powerpc/xmon/
Dxmon.c2916 struct spu *spu; member
2929 struct spu *spu; in xmon_register_spus() local
2931 list_for_each_entry(spu, list, full_list) { in xmon_register_spus()
2932 if (spu->number >= XMON_NUM_SPUS) { in xmon_register_spus()
2937 spu_info[spu->number].spu = spu; in xmon_register_spus()
2938 spu_info[spu->number].stopped_ok = 0; in xmon_register_spus()
2939 spu_info[spu->number].dump_addr = (unsigned long) in xmon_register_spus()
2940 spu_info[spu->number].spu->local_store; in xmon_register_spus()
2946 struct spu *spu; in stop_spus() local
2951 if (!spu_info[i].spu) in stop_spus()
[all …]
DMakefile13 obj-$(CONFIG_SPU_BASE) += spu-dis.o spu-opc.o
/linux-3.4.99/arch/m32r/kernel/
Dprocess.c144 regs->bbpc, regs->bbpsw, regs->spu, regs->spi); in show_regs()
229 int copy_thread(unsigned long clone_flags, unsigned long spu, in copy_thread() argument
238 childregs->spu = spu; in copy_thread()
252 return do_fork(SIGCHLD, regs.spu, &regs, 0, NULL, NULL); in sys_fork()
265 newsp = regs.spu; in sys_clone()
285 return do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, regs.spu, &regs, 0, in sys_vfork()
Dsignal.c38 return do_sigaltstack(uss, uoss, regs->spu); in sys_sigaltstack()
88 COPY(spu); in restore_sigcontext()
105 struct rt_sigframe __user *frame = (struct rt_sigframe __user *)regs->spu; in sys_rt_sigreturn()
123 if (do_sigaltstack(&frame->uc.uc_stack, NULL, regs->spu) == -EFAULT) in sys_rt_sigreturn()
166 COPY(spu); in setup_sigcontext()
199 frame = get_sigframe(ka, regs->spu, sizeof(*frame)); in setup_rt_frame()
224 err |= __put_user(sas_ss_flags(regs->spu), in setup_rt_frame()
236 regs->spu = (unsigned long)frame; in setup_rt_frame()

12