Home
last modified time | relevance | path

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

12

/linux/arch/powerpc/platforms/cell/
H A Dspu_base.c65 void spu_invalidate_slbs(struct spu *spu) in spu_invalidate_slbs() argument
67 struct spu_priv2 __iomem *priv2 = spu->priv2; in spu_invalidate_slbs()
70 spin_lock_irqsave(&spu->register_lock, flags); in spu_invalidate_slbs()
71 if (spu_mfc_sr1_get(spu) & MFC_STATE1_RELOCATE_MASK) in spu_invalidate_slbs()
73 spin_unlock_irqrestore(&spu->register_lock, flags); in spu_invalidate_slbs()
82 struct spu *spu; in spu_flush_all_slbs() local
86 list_for_each_entry(spu, &spu_full_list, full_list) { in spu_flush_all_slbs()
87 if (spu->mm == mm) in spu_flush_all_slbs()
88 spu_invalidate_slbs(spu); in spu_flush_all_slbs()
104 void spu_associate_mm(struct spu *spu, struct mm_struct *mm) in spu_associate_mm() argument
[all …]
H A Dspu_manage.c30 struct device_node *spu_devnode(struct spu *spu) in spu_devnode() argument
32 return spu->devnode; in spu_devnode()
60 static void spu_unmap(struct spu *spu) in spu_unmap() argument
63 iounmap(spu->priv1); in spu_unmap()
64 iounmap(spu->priv2); in spu_unmap()
65 iounmap(spu->problem); in spu_unmap()
66 iounmap((__force u8 __iomem *)spu->local_store); in spu_unmap()
69 static int __init spu_map_interrupts_old(struct spu *spu, in spu_map_interrupts_old() argument
85 nid = spu->node; in spu_map_interrupts_old()
93 spu->irqs[0] = irq_create_mapping(NULL, IIC_IRQ_CLASS_0 | isrc); in spu_map_interrupts_old()
[all …]
H A Dspu_priv1_mmio.c26 static void int_mask_and(struct spu *spu, int class, u64 mask) in int_mask_and() argument
30 old_mask = in_be64(&spu->priv1->int_mask_RW[class]); in int_mask_and()
31 out_be64(&spu->priv1->int_mask_RW[class], old_mask & mask); in int_mask_and()
34 static void int_mask_or(struct spu *spu, int class, u64 mask) in int_mask_or() argument
38 old_mask = in_be64(&spu->priv1->int_mask_RW[class]); in int_mask_or()
39 out_be64(&spu->priv1->int_mask_RW[class], old_mask | mask); in int_mask_or()
42 static void int_mask_set(struct spu *spu, int class, u64 mask) in int_mask_set() argument
44 out_be64(&spu->priv1->int_mask_RW[class], mask); in int_mask_set()
47 static u64 int_mask_get(struct spu *spu, int class) in int_mask_get() argument
49 return in_be64(&spu->priv1->int_mask_RW[class]); in int_mask_get()
[all …]
H A Dcbe_thermal.c68 struct spu *spu; in get_pmd_regs() local
70 spu = container_of(dev, struct spu, dev); in get_pmd_regs()
72 return cbe_get_pmd_regs(spu_devnode(spu)); in get_pmd_regs()
79 struct spu *spu; in spu_read_register_value() local
81 spu = container_of(dev, struct spu, dev); in spu_read_register_value()
84 return value.spe[spu->spe_id]; in spu_read_register_value()
244 static DEVICE_PREFIX_ATTR(spu, throttle_end, 0600);
245 static DEVICE_PREFIX_ATTR(spu, throttle_begin, 0600);
246 static DEVICE_PREFIX_ATTR(spu, throttle_full_stop, 0600);
H A DMakefile18 spu-priv1-$(CONFIG_PPC_CELL_COMMON) += spu_priv1_mmio.o
19 spu-manage-$(CONFIG_PPC_CELL_COMMON) += spu_manage.o
23 $(spu-priv1-y) \
24 $(spu-manage-y) \
H A Dspu_priv1_mmio.h12 struct device_node *spu_devnode(struct spu *spu);
H A DKconfig100 This governor checks for spu usage to adjust the cpu frequency.
101 If no spu is running on a given cpu, that cpu will be throttled to
/linux/arch/powerpc/platforms/cell/spufs/
H A Dswitch.c64 static inline void acquire_spu_lock(struct spu *spu) in acquire_spu_lock() argument
73 static inline void release_spu_lock(struct spu *spu) in release_spu_lock() argument
81 static inline int check_spu_isolate(struct spu_state *csa, struct spu *spu) in check_spu_isolate() argument
83 struct spu_problem __iomem *prob = spu->problem; in check_spu_isolate()
97 static inline void disable_interrupts(struct spu_state *csa, struct spu *spu) in disable_interrupts() argument
110 spin_lock_irq(&spu->register_lock); in disable_interrupts()
112 csa->priv1.int_mask_class0_RW = spu_int_mask_get(spu, 0); in disable_interrupts()
113 csa->priv1.int_mask_class1_RW = spu_int_mask_get(spu, 1); in disable_interrupts()
114 csa->priv1.int_mask_class2_RW = spu_int_mask_get(spu, 2); in disable_interrupts()
116 spu_int_mask_set(spu, 0, 0ul); in disable_interrupts()
[all …]
H A Dhw_ops.c26 struct spu *spu = ctx->spu; in spu_hw_mbox_read() local
27 struct spu_problem __iomem *prob = spu->problem; in spu_hw_mbox_read()
31 spin_lock_irq(&spu->register_lock); in spu_hw_mbox_read()
37 spin_unlock_irq(&spu->register_lock); in spu_hw_mbox_read()
43 return in_be32(&ctx->spu->problem->mb_stat_R); in spu_hw_mbox_stat_read()
48 struct spu *spu = ctx->spu; in spu_hw_mbox_stat_poll() local
52 spin_lock_irq(&spu->register_lock); in spu_hw_mbox_stat_poll()
53 stat = in_be32(&spu->problem->mb_stat_R); in spu_hw_mbox_stat_poll()
64 spu_int_stat_clear(spu, 2, CLASS2_MAILBOX_INTR); in spu_hw_mbox_stat_poll()
65 spu_int_mask_or(spu, 2, CLASS2_ENABLE_MAILBOX_INTR); in spu_hw_mbox_stat_poll()
[all …]
H A Dsched.c142 node = ctx->spu->node; in spu_update_sched_info()
186 struct spu *spu; in do_notify_spus_active() local
189 list_for_each_entry(spu, &cbe_spu_info[node].spus, cbe_list) { in do_notify_spus_active()
190 if (spu->alloc_state != SPU_FREE) { in do_notify_spus_active()
191 struct spu_context *ctx = spu->ctx; in do_notify_spus_active()
207 static void spu_bind_context(struct spu *spu, struct spu_context *ctx) in spu_bind_context() argument
209 spu_context_trace(spu_bind_context__enter, ctx, spu); in spu_bind_context()
214 atomic_inc(&cbe_spu_info[spu->node].reserved_spus); in spu_bind_context()
216 ctx->stats.slb_flt_base = spu->stats.slb_flt; in spu_bind_context()
217 ctx->stats.class2_intr_base = spu->stats.class2_intr; in spu_bind_context()
[all …]
H A Dspufs.h68 struct spu *spu; /* pointer to a physical SPU */ member
152 struct spu *aff_ref_spu;
255 struct spu *affinity_check(struct spu_context *ctx);
284 void spu_switch_log_notify(struct spu *spu, struct spu_context *ctx,
330 void spufs_ibox_callback(struct spu *spu);
331 void spufs_wbox_callback(struct spu *spu);
332 void spufs_stop_callback(struct spu *spu, int irq);
333 void spufs_mfc_callback(struct spu *spu);
334 void spufs_dma_callback(struct spu *spu, int type);
346 extern int spu_save(struct spu_state *prev, struct spu *spu);
[all …]
H A Dsputrace.h12 TP_PROTO(struct spu_context *ctx, struct spu *spu, const char *name),
13 TP_ARGS(ctx, spu, name),
24 __entry->number = spu ? spu->number : -1;
31 #define spu_context_trace(name, ctx, spu) \ argument
32 trace_spufs_context(ctx, spu, __stringify(name))
H A Drun.c15 void spufs_stop_callback(struct spu *spu, int irq) in spufs_stop_callback() argument
17 struct spu_context *ctx = spu->ctx; in spufs_stop_callback()
30 ctx->csa.class_0_pending = spu->class_0_pending; in spufs_stop_callback()
31 ctx->csa.class_0_dar = spu->class_0_dar; in spufs_stop_callback()
34 ctx->csa.class_1_dsisr = spu->class_1_dsisr; in spufs_stop_callback()
35 ctx->csa.class_1_dar = spu->class_1_dar; in spufs_stop_callback()
104 mfc_cntl = &ctx->spu->priv2->mfc_control_RW; in spu_setup_isolated()
125 sr1 = spu_mfc_sr1_get(ctx->spu); in spu_setup_isolated()
127 spu_mfc_sr1_set(ctx->spu, sr1); in spu_setup_isolated()
170 spu_mfc_sr1_set(ctx->spu, sr1); in spu_setup_isolated()
H A Dfault.c115 ctx->spu->stats.hash_flt++; in spufs_handle_class1()
155 ctx->spu->stats.maj_flt++; in spufs_handle_class1()
157 ctx->spu->stats.min_flt++; in spufs_handle_class1()
160 if (ctx->spu) in spufs_handle_class1()
H A Dfile.c252 pfn = (ctx->spu->local_store_phys + offset) >> PAGE_SHIFT; in spufs_mem_mmap_fault()
349 spu_context_trace(spufs_ps_fault__wake, ctx, ctx->spu); in spufs_ps_fault()
352 area = ctx->spu->problem_phys + ps_offs; in spufs_ps_fault()
355 spu_context_trace(spufs_ps_fault__insert, ctx, ctx->spu); in spufs_ps_fault()
674 void spufs_ibox_callback(struct spu *spu) in spufs_ibox_callback() argument
676 struct spu_context *ctx = spu->ctx; in spufs_ibox_callback()
805 void spufs_wbox_callback(struct spu *spu) in spufs_wbox_callback() argument
807 struct spu_context *ctx = spu->ctx; in spufs_wbox_callback()
1458 void spufs_mfc_callback(struct spu *spu) in spufs_mfc_callback() argument
1460 struct spu_context *ctx = spu->ctx; in spufs_mfc_callback()
[all …]
/linux/arch/powerpc/platforms/ps3/
H A Dspu.c116 static struct spu_pdata *spu_pdata(struct spu *spu) in spu_pdata() argument
118 return spu->pdata; in spu_pdata()
150 static int __init construct_spu(struct spu *spu) in construct_spu() argument
159 &spu_pdata(spu)->priv2_addr, &problem_phys, in construct_spu()
161 &spu_pdata(spu)->shadow_addr, in construct_spu()
162 &spu_pdata(spu)->spe_id); in construct_spu()
163 spu->problem_phys = problem_phys; in construct_spu()
164 spu->local_store_phys = local_store_phys; in construct_spu()
175 static void spu_unmap(struct spu *spu) in spu_unmap() argument
177 iounmap(spu->priv2); in spu_unmap()
[all …]
H A DMakefile8 obj-$(CONFIG_SPU_BASE) += spu.o
/linux/tools/perf/arch/powerpc/entry/syscalls/
H A Dsyscall.tbl8 # The <abi> can be common, spu, nospu, 64, or 32 for this file.
25 13 spu time sys_time
32 18 spu oldstat sys_ni_syscall
38 22 spu umount sys_ni_syscall
43 25 spu stime sys_stime
48 28 spu oldfstat sys_ni_syscall
82 59 spu oldolduname sys_ni_syscall
92 67 spu sigaction sys_ni_syscall
99 72 spu sigsuspend sys_ni_syscall
102 73 spu sigpendin
[all...]
/linux/arch/powerpc/include/asm/
H A Dspu.h108 struct spu { struct
136 void (* wbox_callback)(struct spu *spu); argument
137 void (* ibox_callback)(struct spu *spu); argument
138 void (* stop_callback)(struct spu *spu, int irq); argument
139 void (* mfc_callback)(struct spu *spu); argument
190 void spu_init_channels(struct spu *spu); argument
191 void spu_irq_setaffinity(struct spu *spu, int cpu);
193 void spu_setup_kernel_slbs(struct spu *spu, struct spu_lscsa *lscsa,
196 extern void spu_invalidate_slbs(struct spu *spu);
197 extern void spu_associate_mm(struct spu *spu, struct mm_struct *mm);
/linux/arch/powerpc/xmon/
H A DMakefile21 obj-$(CONFIG_SPU_BASE) += spu-dis.o spu-opc.o
/linux/drivers/mailbox/
H A Dbcm-flexrm-mailbox.c568 if (!msg->spu.src || !msg->spu.dst) in flexrm_spu_sanity_check()
570 for (sg = msg->spu.src; sg; sg = sg_next(sg)) { in flexrm_spu_sanity_check()
579 for (sg = msg->spu.dst; sg; sg = sg_next(sg)) { in flexrm_spu_sanity_check()
596 struct scatterlist *src_sg = msg->spu.src, *dst_sg = msg->spu.dst; in flexrm_spu_estimate_nonheader_desc_count()
623 rc = dma_map_sg(dev, msg->spu.src, sg_nents(msg->spu.src), in flexrm_spu_dma_map()
628 rc = dma_map_sg(dev, msg->spu.dst, sg_nents(msg->spu.dst), in flexrm_spu_dma_map()
631 dma_unmap_sg(dev, msg->spu.src, sg_nents(msg->spu.src), in flexrm_spu_dma_map()
641 dma_unmap_sg(dev, msg->spu.dst, sg_nents(msg->spu.dst), in flexrm_spu_dma_unmap()
643 dma_unmap_sg(dev, msg->spu.src, sg_nents(msg->spu.src), in flexrm_spu_dma_unmap()
655 struct scatterlist *src_sg = msg->spu.src, *dst_sg = msg->spu.dst; in flexrm_spu_write_descs()
H A Dbcm-pdc-mailbox.c1205 src_nent = sg_nents(mssg->spu.src); in pdc_send_data()
1207 nent = dma_map_sg(dev, mssg->spu.src, src_nent, DMA_TO_DEVICE); in pdc_send_data()
1212 dst_nent = sg_nents(mssg->spu.dst); in pdc_send_data()
1214 nent = dma_map_sg(dev, mssg->spu.dst, dst_nent, in pdc_send_data()
1217 dma_unmap_sg(dev, mssg->spu.src, src_nent, in pdc_send_data()
1232 tx_desc_req = pdc_desc_count(mssg->spu.src); in pdc_send_data()
1233 rx_desc_req = pdc_desc_count(mssg->spu.dst); in pdc_send_data()
1238 err = pdc_rx_list_init(pdcs, mssg->spu.dst, mssg->ctx); in pdc_send_data()
1239 err |= pdc_rx_list_sg_add(pdcs, mssg->spu.dst); in pdc_send_data()
1242 err |= pdc_tx_list_sg_add(pdcs, mssg->spu.src); in pdc_send_data()
/linux/drivers/crypto/bcm/
H A Dutil.c373 ipriv->spu.num_spu); in spu_debugfs_read()
455 if (ipriv->spu.spu_type == SPU_TYPE_SPUM) in spu_debugfs_read()
456 for (i = 0; i < ipriv->spu.num_spu; i++) { in spu_debugfs_read()
457 spu_ofifo_ctrl = ioread32(ipriv->spu.reg_vbase[i] + in spu_debugfs_read()
H A DMakefile14 bcm_crypto_spu-objs := util.o spu.o spu2.o cipher.o
/linux/Documentation/filesystems/spufs/
H A Dspu_create.rst9 spu_create - create a new spu context
18 #include <sys/spu.h>
111 convention, it gets mounted in /spu.

12