Lines Matching refs:segment
311 struct xilinx_vdma_tx_segment *segment; in xilinx_vdma_alloc_tx_segment() local
314 segment = dma_pool_alloc(chan->desc_pool, GFP_ATOMIC, &phys); in xilinx_vdma_alloc_tx_segment()
315 if (!segment) in xilinx_vdma_alloc_tx_segment()
318 memset(segment, 0, sizeof(*segment)); in xilinx_vdma_alloc_tx_segment()
319 segment->phys = phys; in xilinx_vdma_alloc_tx_segment()
321 return segment; in xilinx_vdma_alloc_tx_segment()
330 struct xilinx_vdma_tx_segment *segment) in xilinx_vdma_free_tx_segment() argument
332 dma_pool_free(chan->desc_pool, segment, segment->phys); in xilinx_vdma_free_tx_segment()
372 struct xilinx_vdma_tx_segment *segment, *next; in xilinx_vdma_free_tx_descriptor() local
377 list_for_each_entry_safe(segment, next, &desc->segments, node) { in xilinx_vdma_free_tx_descriptor()
378 list_del(&segment->node); in xilinx_vdma_free_tx_descriptor()
379 xilinx_vdma_free_tx_segment(chan, segment); in xilinx_vdma_free_tx_descriptor()
699 struct xilinx_vdma_tx_segment *segment, *last = NULL; in xilinx_vdma_start_transfer() local
702 list_for_each_entry(segment, &desc->segments, node) { in xilinx_vdma_start_transfer()
705 segment->hw.buf_addr); in xilinx_vdma_start_transfer()
706 last = segment; in xilinx_vdma_start_transfer()
936 struct xilinx_vdma_tx_segment *segment, *prev = NULL; in xilinx_vdma_dma_prep_interleaved() local
958 segment = xilinx_vdma_alloc_tx_segment(chan); in xilinx_vdma_dma_prep_interleaved()
959 if (!segment) in xilinx_vdma_dma_prep_interleaved()
963 hw = &segment->hw; in xilinx_vdma_dma_prep_interleaved()
980 prev->hw.next_desc = segment->phys; in xilinx_vdma_dma_prep_interleaved()
984 list_add_tail(&segment->node, &desc->segments); in xilinx_vdma_dma_prep_interleaved()
986 prev = segment; in xilinx_vdma_dma_prep_interleaved()
989 segment = list_first_entry(&desc->segments, in xilinx_vdma_dma_prep_interleaved()
991 prev->hw.next_desc = segment->phys; in xilinx_vdma_dma_prep_interleaved()