/Linux-v4.19/arch/powerpc/include/asm/ |
D | spu_priv1.h | 26 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 …]
|
D | spu.h | 121 struct spu { struct 149 void (* wbox_callback)(struct spu *spu); argument 150 void (* ibox_callback)(struct spu *spu); argument 151 void (* stop_callback)(struct spu *spu, int irq); argument 152 void (* mfc_callback)(struct spu *spu); argument 203 void spu_init_channels(struct spu *spu); argument 204 void spu_irq_setaffinity(struct spu *spu, int cpu); 206 void spu_setup_kernel_slbs(struct spu *spu, struct spu_lscsa *lscsa, 209 extern void spu_invalidate_slbs(struct spu *spu); 210 extern void spu_associate_mm(struct spu *spu, struct mm_struct *mm);
|
/Linux-v4.19/arch/powerpc/platforms/cell/ |
D | spu_base.c | 79 void spu_invalidate_slbs(struct spu *spu) in spu_invalidate_slbs() argument 81 struct spu_priv2 __iomem *priv2 = spu->priv2; in spu_invalidate_slbs() 84 spin_lock_irqsave(&spu->register_lock, flags); in spu_invalidate_slbs() 85 if (spu_mfc_sr1_get(spu) & MFC_STATE1_RELOCATE_MASK) in spu_invalidate_slbs() 87 spin_unlock_irqrestore(&spu->register_lock, flags); in spu_invalidate_slbs() 96 struct spu *spu; in spu_flush_all_slbs() local 100 list_for_each_entry(spu, &spu_full_list, full_list) { in spu_flush_all_slbs() 101 if (spu->mm == mm) in spu_flush_all_slbs() 102 spu_invalidate_slbs(spu); in spu_flush_all_slbs() 118 void spu_associate_mm(struct spu *spu, struct mm_struct *mm) in spu_associate_mm() argument [all …]
|
D | spu_priv1_mmio.c | 39 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 …]
|
D | spu_manage.c | 40 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 …]
|
D | cbe_thermal.c | 82 struct spu *spu; in get_pmd_regs() local 84 spu = container_of(dev, struct spu, dev); in get_pmd_regs() 86 return cbe_get_pmd_regs(spu_devnode(spu)); in get_pmd_regs() 93 struct spu *spu; in spu_read_register_value() local 95 spu = container_of(dev, struct spu, dev); in spu_read_register_value() 98 return value.spe[spu->spe_id]; in spu_read_register_value() 258 static DEVICE_PREFIX_ATTR(spu, throttle_end, 0600); 259 static DEVICE_PREFIX_ATTR(spu, throttle_begin, 0600); 260 static DEVICE_PREFIX_ATTR(spu, throttle_full_stop, 0600);
|
D | Makefile | 18 spu-priv1-$(CONFIG_PPC_CELL_COMMON) += spu_priv1_mmio.o 19 spu-manage-$(CONFIG_PPC_CELL_COMMON) += spu_manage.o 24 $(spu-priv1-y) \ 25 $(spu-manage-y) \
|
D | spu_notify.c | 31 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()
|
D | spu_priv1_mmio.h | 24 struct device_node *spu_devnode(struct spu *spu);
|
/Linux-v4.19/arch/powerpc/platforms/cell/spufs/ |
D | switch.c | 78 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 …]
|
D | hw_ops.c | 39 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() 61 struct spu *spu = ctx->spu; in spu_hw_mbox_stat_poll() local 65 spin_lock_irq(&spu->register_lock); in spu_hw_mbox_stat_poll() 66 stat = in_be32(&spu->problem->mb_stat_R); in spu_hw_mbox_stat_poll() 77 spu_int_stat_clear(spu, 2, CLASS2_MAILBOX_INTR); in spu_hw_mbox_stat_poll() 78 spu_int_mask_or(spu, 2, CLASS2_ENABLE_MAILBOX_INTR); in spu_hw_mbox_stat_poll() [all …]
|
D | sched.c | 155 node = ctx->spu->node; in spu_update_sched_info() 202 struct spu *spu; in do_notify_spus_active() local 205 list_for_each_entry(spu, &cbe_spu_info[node].spus, cbe_list) { in do_notify_spus_active() 206 if (spu->alloc_state != SPU_FREE) { in do_notify_spus_active() 207 struct spu_context *ctx = spu->ctx; in do_notify_spus_active() 223 static void spu_bind_context(struct spu *spu, struct spu_context *ctx) in spu_bind_context() argument 225 spu_context_trace(spu_bind_context__enter, ctx, spu); in spu_bind_context() 230 atomic_inc(&cbe_spu_info[spu->node].reserved_spus); in spu_bind_context() 232 ctx->stats.slb_flt_base = spu->stats.slb_flt; in spu_bind_context() 233 ctx->stats.class2_intr_base = spu->stats.class2_intr; in spu_bind_context() [all …]
|
D | spufs.h | 81 struct spu *spu; /* pointer to a physical SPU */ member 165 struct spu *aff_ref_spu; 268 struct spu *affinity_check(struct spu_context *ctx); 297 void spu_switch_notify(struct spu *spu, struct spu_context *ctx); 298 void spu_switch_log_notify(struct spu *spu, struct spu_context *ctx, 344 void spufs_ibox_callback(struct spu *spu); 345 void spufs_wbox_callback(struct spu *spu); 346 void spufs_stop_callback(struct spu *spu, int irq); 347 void spufs_mfc_callback(struct spu *spu); 348 void spufs_dma_callback(struct spu *spu, int type); [all …]
|
D | sputrace.h | 12 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))
|
D | run.c | 15 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() [all …]
|
D | fault.c | 139 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()
|
D | file.c | 258 pfn = (ctx->spu->local_store_phys + offset) >> PAGE_SHIFT; in spufs_mem_mmap_fault() 355 spu_context_trace(spufs_ps_fault__wake, ctx, ctx->spu); in spufs_ps_fault() 358 area = ctx->spu->problem_phys + ps_offs; in spufs_ps_fault() 361 spu_context_trace(spufs_ps_fault__insert, ctx, ctx->spu); in spufs_ps_fault() 690 void spufs_ibox_callback(struct spu *spu) in spufs_ibox_callback() argument 692 struct spu_context *ctx = spu->ctx; in spufs_ibox_callback() 828 void spufs_wbox_callback(struct spu *spu) in spufs_wbox_callback() argument 830 struct spu_context *ctx = spu->ctx; in spufs_wbox_callback() 1497 void spufs_mfc_callback(struct spu *spu) in spufs_mfc_callback() argument 1499 struct spu_context *ctx = spu->ctx; in spufs_mfc_callback() [all …]
|
/Linux-v4.19/arch/powerpc/platforms/ps3/ |
D | spu.c | 128 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-v4.19/arch/powerpc/oprofile/cell/ |
D | spu_task_sync.c | 45 static void spu_buff_add(unsigned long int value, int spu) in spu_buff_add() argument 59 if (spu_buff[spu].head >= spu_buff[spu].tail) { in spu_buff_add() 60 if ((spu_buff[spu].head - spu_buff[spu].tail) in spu_buff_add() 64 } else if (spu_buff[spu].tail > spu_buff[spu].head) { in spu_buff_add() 65 if ((spu_buff[spu].tail - spu_buff[spu].head) in spu_buff_add() 71 spu_buff[spu].buff[spu_buff[spu].head] = value; in spu_buff_add() 72 spu_buff[spu].head++; in spu_buff_add() 74 if (spu_buff[spu].head >= max_spu_buff) in spu_buff_add() 75 spu_buff[spu].head = 0; in spu_buff_add() 93 int spu; in sync_spu_buff() local [all …]
|
D | spu_profiler.c | 82 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()
|
D | pr_util.h | 85 struct vma_to_fileoffset_map *create_vma_map(const struct spu *spu, 88 unsigned int vma, const struct spu *aSpu,
|
/Linux-v4.19/drivers/crypto/bcm/ |
D | cipher.c | 120 return chan_idx % iproc_priv.spu.num_chan; in select_channel() 149 struct spu_hw *spu = &iproc_priv.spu; in spu_ablkcipher_rx_sg_create() local 154 mssg->spu.dst = kcalloc(rx_frag_num, sizeof(struct scatterlist), in spu_ablkcipher_rx_sg_create() 156 if (!mssg->spu.dst) in spu_ablkcipher_rx_sg_create() 159 sg = mssg->spu.dst; in spu_ablkcipher_rx_sg_create() 166 spu->spu_xts_tweak_in_payload()) in spu_ablkcipher_rx_sg_create() 187 sg_set_buf(sg, rctx->msg_buf.rx_stat, spu->spu_rx_status_len()); in spu_ablkcipher_rx_sg_create() 216 struct spu_hw *spu = &iproc_priv.spu; in spu_ablkcipher_tx_sg_create() local 222 mssg->spu.src = kcalloc(tx_frag_num, sizeof(struct scatterlist), in spu_ablkcipher_tx_sg_create() 224 if (unlikely(!mssg->spu.src)) in spu_ablkcipher_tx_sg_create() [all …]
|
/Linux-v4.19/arch/powerpc/xmon/ |
D | xmon.c | 3793 struct spu *spu; member 3806 struct spu *spu; in xmon_register_spus() local 3808 list_for_each_entry(spu, list, full_list) { in xmon_register_spus() 3809 if (spu->number >= XMON_NUM_SPUS) { in xmon_register_spus() 3814 spu_info[spu->number].spu = spu; in xmon_register_spus() 3815 spu_info[spu->number].stopped_ok = 0; in xmon_register_spus() 3816 spu_info[spu->number].dump_addr = (unsigned long) in xmon_register_spus() 3817 spu_info[spu->number].spu->local_store; in xmon_register_spus() 3823 struct spu *spu; in stop_spus() local 3828 if (!spu_info[i].spu) in stop_spus() [all …]
|
D | Makefile | 19 obj-$(CONFIG_SPU_BASE) += spu-dis.o spu-opc.o
|
/Linux-v4.19/drivers/mailbox/ |
D | bcm-flexrm-mailbox.c | 580 if (!msg->spu.src || !msg->spu.dst) in flexrm_spu_sanity_check() 582 for (sg = msg->spu.src; sg; sg = sg_next(sg)) { in flexrm_spu_sanity_check() 591 for (sg = msg->spu.dst; sg; sg = sg_next(sg)) { in flexrm_spu_sanity_check() 608 struct scatterlist *src_sg = msg->spu.src, *dst_sg = msg->spu.dst; in flexrm_spu_estimate_nonheader_desc_count() 635 rc = dma_map_sg(dev, msg->spu.src, sg_nents(msg->spu.src), in flexrm_spu_dma_map() 640 rc = dma_map_sg(dev, msg->spu.dst, sg_nents(msg->spu.dst), in flexrm_spu_dma_map() 643 dma_unmap_sg(dev, msg->spu.src, sg_nents(msg->spu.src), in flexrm_spu_dma_map() 653 dma_unmap_sg(dev, msg->spu.dst, sg_nents(msg->spu.dst), in flexrm_spu_dma_unmap() 655 dma_unmap_sg(dev, msg->spu.src, sg_nents(msg->spu.src), in flexrm_spu_dma_unmap() 667 struct scatterlist *src_sg = msg->spu.src, *dst_sg = msg->spu.dst; in flexrm_spu_write_descs()
|