| /linux/drivers/dma/ |
| H A D | ste_dma40_ll.c | 133 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 D | loongson1-apb-dma.c | 193 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 D | owl-dma.c | 337 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 D | at_hdmac.c | 216 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 D | idma64.c | 222 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 D | sun6i-dma.c | 353 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 D | amba-pl08x.c | 392 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 D | k3dma.c | 61 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 D | idma64.h | 107 struct idma64_lli *lli; member
|
| H A D | ste_dma40_ll.h | 444 struct d40_phy_lli *lli,
|
| H A D | ste_dma40.c | 854 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 D | dw-hdma-v0-core.c | 161 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 D | dw-edma-v0-core.c | 285 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 D | dw-axi-dmac-platform.c | 313 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 D | regs.h | 386 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 D | core.c | 602 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 D | cxgb4_uld.c | 509 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 D | stm32-dma3.c | 274 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 D | ste-nomadik-stn8815.dtsi | 862 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 D | gemini.dtsi | 421 lli-bus-interface-ahb2;
|