Home
last modified time | relevance | path

Searched refs:lli (Results 1 – 20 of 20) sorted by relevance

/linux/drivers/dma/
H A Dste_dma40_ll.c133 static int d40_phy_fill_lli(struct d40_phy_lli *lli, in d40_phy_fill_lli() argument
161 lli->reg_elt = (data_size / data_width) << D40_SREG_ELEM_PHY_ECNT_POS; in d40_phy_fill_lli()
168 lli->reg_elt |= data_width << D40_SREG_ELEM_PHY_EIDX_POS; in d40_phy_fill_lli()
171 lli->reg_ptr = data; in d40_phy_fill_lli()
172 lli->reg_cfg = reg_cfg; in d40_phy_fill_lli()
176 lli->reg_lnk = BIT(D40_SREG_LNK_PHY_TCP_POS); in d40_phy_fill_lli()
178 lli->reg_lnk = next_lli; in d40_phy_fill_lli()
182 lli->reg_cfg |= BIT(D40_SREG_CFG_TIM_POS); in d40_phy_fill_lli()
184 lli->reg_cfg &= ~BIT(D40_SREG_CFG_TIM_POS); in d40_phy_fill_lli()
213 d40_phy_buf_to_lli(struct d40_phy_lli *lli, dma_addr_t addr, u32 size, in d40_phy_buf_to_lli() argument
[all …]
H A Dloongson1-apb-dma.c193 struct ls1x_dma_lli *lli, *_lli; in ls1x_dma_free_desc() local
195 list_for_each_entry_safe(lli, _lli, &desc->lli_list, node) { in ls1x_dma_free_desc()
196 list_del(&lli->node); in ls1x_dma_free_desc()
197 dma_pool_free(chan->lli_pool, lli, lli->phys); in ls1x_dma_free_desc()
221 struct ls1x_dma_lli *lli, *prev = NULL, *first = NULL; in ls1x_dma_prep_lli() local
255 lli = dma_pool_zalloc(chan->lli_pool, GFP_NOWAIT, &phys); in ls1x_dma_prep_lli()
256 if (!lli) { in ls1x_dma_prep_lli()
262 lli->phys = phys; in ls1x_dma_prep_lli()
263 lli->hw[LS1X_DMADESC_SADDR] = buf_addr; in ls1x_dma_prep_lli()
264 lli->hw[LS1X_DMADESC_DADDR] = dev_addr; in ls1x_dma_prep_lli()
[all …]
H A Dowl-dma.c337 static u32 llc_hw_flen(struct owl_dma_lli *lli) in llc_hw_flen() argument
339 return lli->hw[OWL_DMADESC_FLEN] & GENMASK(19, 0); in llc_hw_flen()
343 struct owl_dma_lli *lli) in owl_dma_free_lli() argument
345 list_del(&lli->node); in owl_dma_free_lli()
346 dma_pool_free(od->lli_pool, lli, lli->phys); in owl_dma_free_lli()
351 struct owl_dma_lli *lli; in owl_dma_alloc_lli() local
354 lli = dma_pool_alloc(od->lli_pool, GFP_NOWAIT, &phys); in owl_dma_alloc_lli()
355 if (!lli) in owl_dma_alloc_lli()
358 INIT_LIST_HEAD(&lli->node); in owl_dma_alloc_lli()
359 lli->phys = phys; in owl_dma_alloc_lli()
[all …]
H A Dat_hdmac.c216 struct at_lli *lli; member
413 static void atc_dump_lli(struct at_dma_chan *atchan, struct at_lli *lli) in atc_dump_lli() argument
417 &lli->saddr, &lli->daddr, in atc_dump_lli()
418 lli->ctrla, lli->ctrlb, &lli->dscr); in atc_dump_lli()
482 u32 ctrlb = desc->sg[i].lli->ctrlb; in set_lli_eol()
487 desc->sg[i].lli->ctrlb = ctrlb; in set_lli_eol()
488 desc->sg[i].lli->dscr = 0; in set_lli_eol()
551 desc->sg[i - 1].lli->dscr = atdma_sg->lli_phys; in atdma_lli_chain()
599 if (desc->sg[i].lli) in atdma_desc_free()
600 dma_pool_free(atdma->lli_pool, desc->sg[i].lli, in atdma_desc_free()
[all …]
H A Didma64.c222 dma_pool_free(idma64c->pool, hw->lli, hw->llp); in idma64_desc_free()
241 struct idma64_lli *lli = hw->lli; in idma64_hw_desc_fill() local
263 lli->sar = sar; in idma64_hw_desc_fill()
264 lli->dar = dar; in idma64_hw_desc_fill()
266 lli->ctlhi = ctlhi; in idma64_hw_desc_fill()
267 lli->ctllo = ctllo | in idma64_hw_desc_fill()
273 lli->llp = llp; in idma64_hw_desc_fill()
282 struct idma64_lli *lli = hw->lli; in idma64_desc_fill() local
294 lli->ctllo |= IDMA64C_CTLL_INT_EN; in idma64_desc_fill()
297 lli->ctllo &= ~(IDMA64C_CTLL_LLP_S_EN | IDMA64C_CTLL_LLP_D_EN); in idma64_desc_fill()
[all …]
H A Dsun6i-dma.c353 struct sun6i_dma_lli *lli; in sun6i_get_chan_size() local
363 for (lli = txd->v_lli; lli; lli = lli->v_lli_next) { in sun6i_get_chan_size()
364 if (lli->p_lli_next == pos) { in sun6i_get_chan_size()
365 for (lli = lli->v_lli_next; lli; lli = lli->v_lli_next) in sun6i_get_chan_size()
366 bytes += lli->len; in sun6i_get_chan_size()
983 struct sun6i_dma_lli *lli; in sun6i_dma_tx_status() local
1000 for (lli = txd->v_lli; lli != NULL; lli = lli->v_lli_next) in sun6i_dma_tx_status()
1001 bytes += lli->len; in sun6i_dma_tx_status()
H A Damba-pl08x.c392 struct pl08x_phy_chan *phychan, const u32 *lli, u32 ccfg) in pl08x_write_lli() argument
398 phychan->id, lli[PL080_LLI_SRC], lli[PL080_LLI_DST], in pl08x_write_lli()
399 lli[PL080_LLI_LLI], lli[PL080_LLI_CCTL], in pl08x_write_lli()
400 lli[PL080S_LLI_CCTL2], ccfg); in pl08x_write_lli()
405 phychan->id, lli[PL080_LLI_SRC], lli[PL080_LLI_DST], in pl08x_write_lli()
406 lli[PL080_LLI_LLI], lli[PL080_LLI_CCTL], ccfg); in pl08x_write_lli()
408 writel_relaxed(lli[PL080_LLI_SRC], phychan->reg_src); in pl08x_write_lli()
409 writel_relaxed(lli[PL080_LLI_DST], phychan->reg_dst); in pl08x_write_lli()
410 writel_relaxed(lli[PL080_LLI_LLI], phychan->reg_lli); in pl08x_write_lli()
419 u32 llictl = lli[PL080_LLI_CCTL]; in pl08x_write_lli()
[all …]
H A Dk3dma.c61 u32 lli; member
163 writel_relaxed(hw->lli, phy->base + CX_LLI); in k3_dma_set_desc()
412 if (!ds->desc_hw[index].lli) in k3_dma_tx_status()
450 ds->desc_hw[num].lli = ds->desc_hw_lli + (num + 1) * in k3_dma_fill_desc()
453 ds->desc_hw[num].lli |= CX_LLI_CHAIN_EN; in k3_dma_fill_desc()
526 ds->desc_hw[num-1].lli = 0; /* end of link */ in k3_dma_prep_memcpy()
576 ds->desc_hw[num-1].lli = 0; /* end of link */ in k3_dma_prep_slave_sg()
642 ds->desc_hw[num - 1].lli |= ds->desc_hw_lli; in k3_dma_prep_dma_cyclic()
H A Didma64.h107 struct idma64_lli *lli; member
H A Dste_dma40_ll.h444 struct d40_phy_lli *lli,
H A Dste_dma40.c854 struct d40_log_lli_bidir *lli = &desc->lli_log; in d40_log_lli_to_lcxa() local
900 &lli->dst[lli_current], in d40_log_lli_to_lcxa()
901 &lli->src[lli_current], in d40_log_lli_to_lcxa()
928 &lli->dst[lli_current], in d40_log_lli_to_lcxa()
929 &lli->src[lli_current], in d40_log_lli_to_lcxa()
938 &lli->dst[lli_current], in d40_log_lli_to_lcxa()
939 &lli->src[lli_current], in d40_log_lli_to_lcxa()
/linux/drivers/dma/dw-edma/
H A Ddw-hdma-v0-core.c161 struct dw_hdma_v0_lli *lli = chunk->ll_region.vaddr.mem + ofs; in dw_hdma_v0_write_ll_data() local
163 lli->control = control; in dw_hdma_v0_write_ll_data()
164 lli->transfer_size = size; in dw_hdma_v0_write_ll_data()
165 lli->sar.reg = sar; in dw_hdma_v0_write_ll_data()
166 lli->dar.reg = dar; in dw_hdma_v0_write_ll_data()
168 struct dw_hdma_v0_lli __iomem *lli = chunk->ll_region.vaddr.io + ofs; in dw_hdma_v0_write_ll_data() local
170 writel(control, &lli->control); in dw_hdma_v0_write_ll_data()
171 writel(size, &lli->transfer_size); in dw_hdma_v0_write_ll_data()
172 writeq(sar, &lli->sar.reg); in dw_hdma_v0_write_ll_data()
173 writeq(dar, &lli->dar.reg); in dw_hdma_v0_write_ll_data()
H A Ddw-edma-v0-core.c285 struct dw_edma_v0_lli *lli = chunk->ll_region.vaddr.mem + ofs; in dw_edma_v0_write_ll_data() local
287 lli->control = control; in dw_edma_v0_write_ll_data()
288 lli->transfer_size = size; in dw_edma_v0_write_ll_data()
289 lli->sar.reg = sar; in dw_edma_v0_write_ll_data()
290 lli->dar.reg = dar; in dw_edma_v0_write_ll_data()
292 struct dw_edma_v0_lli __iomem *lli = chunk->ll_region.vaddr.io + ofs; in dw_edma_v0_write_ll_data() local
294 writel(control, &lli->control); in dw_edma_v0_write_ll_data()
295 writel(size, &lli->transfer_size); in dw_edma_v0_write_ll_data()
296 writeq(sar, &lli->sar.reg); in dw_edma_v0_write_ll_data()
297 writeq(dar, &lli->dar.reg); in dw_edma_v0_write_ll_data()
/linux/drivers/dma/dw-axi-dmac/
H A Ddw-axi-dmac-platform.c313 struct axi_dma_lli *lli; in axi_desc_get() local
316 lli = dma_pool_zalloc(chan->desc_pool, GFP_NOWAIT, &phys); in axi_desc_get()
317 if (unlikely(!lli)) { in axi_desc_get()
326 return lli; in axi_desc_get()
338 dma_pool_free(chan->desc_pool, hw_desc->lli, hw_desc->llp); in axi_desc_put()
391 desc->lli->llp = cpu_to_le64(adr); in write_desc_llp()
609 val = le32_to_cpu(desc->lli->ctl_hi); in set_desc_last()
611 desc->lli->ctl_hi = cpu_to_le32(val); in set_desc_last()
616 desc->lli->sar = cpu_to_le64(adr); in write_desc_sar()
621 desc->lli->dar = cpu_to_le64(adr); in write_desc_dar()
[all …]
/linux/drivers/dma/dw/
H A Dregs.h386 struct dw_lli lli; member
388 #define lli_set(d, reg, v) ((d)->lli.reg |= cpu_to_le32(v))
389 #define lli_clear(d, reg, v) ((d)->lli.reg &= ~cpu_to_le32(v))
390 #define lli_read(d, reg) le32_to_cpu((d)->lli.reg)
391 #define lli_write(d, reg, v) ((d)->lli.reg = cpu_to_le32(v))
H A Dcore.c602 prev->lli.llp = 0; in dwc_prep_dma_memcpy()
750 prev->lli.llp = 0; in dwc_prep_slave_sg()
/linux/drivers/net/ethernet/chelsio/cxgb4/
H A Dcxgb4_uld.c509 struct cxgb4_lld_info *lli) in uld_queue_init() argument
515 lli->rxq_ids = rxq_info->rspq_id; in uld_queue_init()
516 lli->nrxq = rxq_info->nrxq; in uld_queue_init()
517 lli->ciq_ids = rxq_info->rspq_id + rxq_info->nrxq; in uld_queue_init()
518 lli->nciq = rxq_info->nciq; in uld_queue_init()
519 lli->ntxq = txq_info->ntxq; in uld_queue_init()
640 struct cxgb4_lld_info lli; in uld_attach() local
643 uld_init(adap, &lli); in uld_attach()
644 uld_queue_init(adap, uld, &lli); in uld_attach()
646 handle = adap->uld[uld].add(&lli); in uld_attach()
/linux/drivers/dma/stm32/
H A Dstm32-dma3.c274 struct stm32_dma3_lli lli[] __counted_by(lli_size);
382 hwdesc = swdesc->lli[i].hwdesc; in stm32_dma3_chan_dump_hwdesc()
385 dev_dbg(chan2dev(chan), "[%d]@%pad\n", i, &swdesc->lli[i].hwdesc_addr); in stm32_dma3_chan_dump_hwdesc()
396 dev_dbg(chan2dev(chan), "-->[0]@%pad\n", &swdesc->lli[0].hwdesc_addr); in stm32_dma3_chan_dump_hwdesc()
418 swdesc = kzalloc_flex(*swdesc, lli, count, GFP_NOWAIT); in stm32_dma3_chan_desc_alloc()
424 swdesc->lli[i].hwdesc = dma_pool_zalloc(chan->lli_pool, GFP_NOWAIT, in stm32_dma3_chan_desc_alloc()
425 &swdesc->lli[i].hwdesc_addr); in stm32_dma3_chan_desc_alloc()
426 if (!swdesc->lli[i].hwdesc) in stm32_dma3_chan_desc_alloc()
432 writel_relaxed(swdesc->lli[0].hwdesc_addr & CLBAR_LBA, in stm32_dma3_chan_desc_alloc()
443 dma_pool_free(chan->lli_pool, swdesc->lli[i].hwdesc, swdesc->lli[i].hwdesc_addr); in stm32_dma3_chan_desc_alloc()
[all …]
/linux/arch/arm/boot/dts/st/
H A Dste-nomadik-stn8815.dtsi862 lli-bus-interface-ahb1;
863 lli-bus-interface-ahb2;
876 lli-bus-interface-ahb1;
877 lli-bus-interface-ahb2;
/linux/arch/arm/boot/dts/gemini/
H A Dgemini.dtsi421 lli-bus-interface-ahb2;