Lines Matching defs:lli

174  * @lli_list: link list of lli nodes
337 static u32 llc_hw_flen(struct owl_dma_lli *lli)
339 return lli->hw[OWL_DMADESC_FLEN] & GENMASK(19, 0);
343 struct owl_dma_lli *lli)
345 list_del(&lli->node);
346 dma_pool_free(od->lli_pool, lli, lli->phys);
351 struct owl_dma_lli *lli;
354 lli = dma_pool_alloc(od->lli_pool, GFP_NOWAIT, &phys);
355 if (!lli)
358 INIT_LIST_HEAD(&lli->node);
359 lli->phys = phys;
361 return lli;
382 struct owl_dma_lli *lli,
430 lli->hw[OWL_DMADESC_CTRLA] = llc_hw_ctrla(mode,
439 lli->hw[OWL_DMADESC_NEXT_LLI] = 0; /* One link list by default */
440 lli->hw[OWL_DMADESC_SADDR] = src;
441 lli->hw[OWL_DMADESC_DADDR] = dst;
442 lli->hw[OWL_DMADESC_SRC_STRIDE] = 0;
443 lli->hw[OWL_DMADESC_DST_STRIDE] = 0;
447 lli->hw[OWL_DMADESC_FLEN] = len;
453 lli->hw[OWL_DMADESC_CTRLB] = FCNT_VAL | ctrlb;
461 lli->hw[OWL_DMADESC_FLEN] = len | FCNT_VAL << 20;
462 lli->hw[OWL_DMADESC_CTRLB] = ctrlb;
541 struct owl_dma_lli *lli;
553 lli = list_first_entry(&txd->lli_list,
564 pchan_writel(pchan, OWL_DMAX_NEXT_DESCRIPTOR, lli->phys);
678 struct owl_dma_lli *lli, *_lli;
683 list_for_each_entry_safe(lli, _lli, &txd->lli_list, node)
684 owl_dma_free_lli(od, lli);
775 struct owl_dma_lli *lli;
791 list_for_each_entry(lli, &txd->lli_list, node) {
793 if (lli->phys == next_lli_phy) {
794 list_for_each_entry(lli, &txd->lli_list, node)
795 bytes += llc_hw_flen(lli);
809 struct owl_dma_lli *lli;
825 list_for_each_entry(lli, &txd->lli_list, node)
826 bytes += llc_hw_flen(lli);
874 struct owl_dma_lli *lli, *prev = NULL;
889 lli = owl_dma_alloc_lli(od);
890 if (!lli) {
891 dev_warn(chan2dev(chan), "failed to allocate lli\n");
897 ret = owl_dma_cfg_lli(vchan, lli, src + offset, dst + offset,
901 dev_warn(chan2dev(chan), "failed to config lli\n");
905 prev = owl_dma_add_lli(txd, prev, lli, false);
926 struct owl_dma_lli *lli, *prev = NULL;
948 lli = owl_dma_alloc_lli(od);
949 if (!lli) {
950 dev_err(chan2dev(chan), "failed to allocate lli");
962 ret = owl_dma_cfg_lli(vchan, lli, src, dst, len, dir, sconfig,
965 dev_warn(chan2dev(chan), "failed to config lli");
969 prev = owl_dma_add_lli(txd, prev, lli, false);
991 struct owl_dma_lli *lli, *prev = NULL, *first = NULL;
1004 lli = owl_dma_alloc_lli(od);
1005 if (!lli) {
1006 dev_warn(chan2dev(chan), "failed to allocate lli");
1018 ret = owl_dma_cfg_lli(vchan, lli, src, dst, period_len,
1021 dev_warn(chan2dev(chan), "failed to config lli");
1026 first = lli;
1028 prev = owl_dma_add_lli(txd, prev, lli, false);