Lines Matching refs:segment

637 	struct xilinx_vdma_tx_segment *segment;  in xilinx_vdma_alloc_tx_segment()  local
640 segment = dma_pool_zalloc(chan->desc_pool, GFP_ATOMIC, &phys); in xilinx_vdma_alloc_tx_segment()
641 if (!segment) in xilinx_vdma_alloc_tx_segment()
644 segment->phys = phys; in xilinx_vdma_alloc_tx_segment()
646 return segment; in xilinx_vdma_alloc_tx_segment()
658 struct xilinx_cdma_tx_segment *segment; in xilinx_cdma_alloc_tx_segment() local
661 segment = dma_pool_zalloc(chan->desc_pool, GFP_ATOMIC, &phys); in xilinx_cdma_alloc_tx_segment()
662 if (!segment) in xilinx_cdma_alloc_tx_segment()
665 segment->phys = phys; in xilinx_cdma_alloc_tx_segment()
667 return segment; in xilinx_cdma_alloc_tx_segment()
679 struct xilinx_axidma_tx_segment *segment = NULL; in xilinx_axidma_alloc_tx_segment() local
684 segment = list_first_entry(&chan->free_seg_list, in xilinx_axidma_alloc_tx_segment()
687 list_del(&segment->node); in xilinx_axidma_alloc_tx_segment()
691 if (!segment) in xilinx_axidma_alloc_tx_segment()
694 return segment; in xilinx_axidma_alloc_tx_segment()
706 struct xilinx_aximcdma_tx_segment *segment = NULL; in xilinx_aximcdma_alloc_tx_segment() local
711 segment = list_first_entry(&chan->free_seg_list, in xilinx_aximcdma_alloc_tx_segment()
714 list_del(&segment->node); in xilinx_aximcdma_alloc_tx_segment()
718 return segment; in xilinx_aximcdma_alloc_tx_segment()
749 struct xilinx_axidma_tx_segment *segment) in xilinx_dma_free_tx_segment() argument
751 xilinx_dma_clean_hw_desc(&segment->hw); in xilinx_dma_free_tx_segment()
753 list_add_tail(&segment->node, &chan->free_seg_list); in xilinx_dma_free_tx_segment()
763 segment) in xilinx_mcdma_free_tx_segment()
765 xilinx_mcdma_clean_hw_desc(&segment->hw); in xilinx_mcdma_free_tx_segment()
767 list_add_tail(&segment->node, &chan->free_seg_list); in xilinx_mcdma_free_tx_segment()
776 struct xilinx_cdma_tx_segment *segment) in xilinx_cdma_free_tx_segment() argument
778 dma_pool_free(chan->desc_pool, segment, segment->phys); in xilinx_cdma_free_tx_segment()
787 struct xilinx_vdma_tx_segment *segment) in xilinx_vdma_free_tx_segment() argument
789 dma_pool_free(chan->desc_pool, segment, segment->phys); in xilinx_vdma_free_tx_segment()
821 struct xilinx_vdma_tx_segment *segment, *next; in xilinx_dma_free_tx_descriptor() local
830 list_for_each_entry_safe(segment, next, &desc->segments, node) { in xilinx_dma_free_tx_descriptor()
831 list_del(&segment->node); in xilinx_dma_free_tx_descriptor()
832 xilinx_vdma_free_tx_segment(chan, segment); in xilinx_dma_free_tx_descriptor()
1328 struct xilinx_vdma_tx_segment *segment, *last = NULL; in xilinx_vdma_start_transfer() local
1389 list_for_each_entry(segment, &desc->segments, node) { in xilinx_vdma_start_transfer()
1393 segment->hw.buf_addr, in xilinx_vdma_start_transfer()
1394 segment->hw.buf_addr_msb); in xilinx_vdma_start_transfer()
1398 segment->hw.buf_addr); in xilinx_vdma_start_transfer()
1400 last = segment; in xilinx_vdma_start_transfer()
1470 struct xilinx_cdma_tx_segment *segment; in xilinx_cdma_start_transfer() local
1473 segment = list_first_entry(&head_desc->segments, in xilinx_cdma_start_transfer()
1477 hw = &segment->hw; in xilinx_cdma_start_transfer()
1547 struct xilinx_axidma_tx_segment *segment; in xilinx_dma_start_transfer() local
1550 segment = list_first_entry(&head_desc->segments, in xilinx_dma_start_transfer()
1553 hw = &segment->hw; in xilinx_dma_start_transfer()
1989 struct xilinx_vdma_tx_segment *segment; in xilinx_vdma_dma_prep_interleaved() local
2011 segment = xilinx_vdma_alloc_tx_segment(chan); in xilinx_vdma_dma_prep_interleaved()
2012 if (!segment) in xilinx_vdma_dma_prep_interleaved()
2016 hw = &segment->hw; in xilinx_vdma_dma_prep_interleaved()
2041 list_add_tail(&segment->node, &desc->segments); in xilinx_vdma_dma_prep_interleaved()
2044 segment = list_first_entry(&desc->segments, in xilinx_vdma_dma_prep_interleaved()
2046 desc->async_tx.phys = segment->phys; in xilinx_vdma_dma_prep_interleaved()
2071 struct xilinx_cdma_tx_segment *segment; in xilinx_cdma_prep_memcpy() local
2085 segment = xilinx_cdma_alloc_tx_segment(chan); in xilinx_cdma_prep_memcpy()
2086 if (!segment) in xilinx_cdma_prep_memcpy()
2089 hw = &segment->hw; in xilinx_cdma_prep_memcpy()
2099 list_add_tail(&segment->node, &desc->segments); in xilinx_cdma_prep_memcpy()
2101 desc->async_tx.phys = segment->phys; in xilinx_cdma_prep_memcpy()
2102 hw->next_desc = segment->phys; in xilinx_cdma_prep_memcpy()
2129 struct xilinx_axidma_tx_segment *segment = NULL; in xilinx_dma_prep_slave_sg() local
2156 segment = xilinx_axidma_alloc_tx_segment(chan); in xilinx_dma_prep_slave_sg()
2157 if (!segment) in xilinx_dma_prep_slave_sg()
2166 hw = &segment->hw; in xilinx_dma_prep_slave_sg()
2186 list_add_tail(&segment->node, &desc->segments); in xilinx_dma_prep_slave_sg()
2190 segment = list_first_entry(&desc->segments, in xilinx_dma_prep_slave_sg()
2192 desc->async_tx.phys = segment->phys; in xilinx_dma_prep_slave_sg()
2196 segment->hw.control |= XILINX_DMA_BD_SOP; in xilinx_dma_prep_slave_sg()
2197 segment = list_last_entry(&desc->segments, in xilinx_dma_prep_slave_sg()
2200 segment->hw.control |= XILINX_DMA_BD_EOP; in xilinx_dma_prep_slave_sg()
2228 struct xilinx_axidma_tx_segment *segment, *head_segment, *prev = NULL; in xilinx_dma_prep_dma_cyclic() local
2261 segment = xilinx_axidma_alloc_tx_segment(chan); in xilinx_dma_prep_dma_cyclic()
2262 if (!segment) in xilinx_dma_prep_dma_cyclic()
2271 hw = &segment->hw; in xilinx_dma_prep_dma_cyclic()
2277 prev->hw.next_desc = segment->phys; in xilinx_dma_prep_dma_cyclic()
2279 prev = segment; in xilinx_dma_prep_dma_cyclic()
2286 list_add_tail(&segment->node, &desc->segments); in xilinx_dma_prep_dma_cyclic()
2299 segment = list_last_entry(&desc->segments, in xilinx_dma_prep_dma_cyclic()
2302 segment->hw.next_desc = (u32) head_segment->phys; in xilinx_dma_prep_dma_cyclic()
2307 segment->hw.control |= XILINX_DMA_BD_EOP; in xilinx_dma_prep_dma_cyclic()
2336 struct xilinx_aximcdma_tx_segment *segment = NULL; in xilinx_mcdma_prep_slave_sg() local
2363 segment = xilinx_aximcdma_alloc_tx_segment(chan); in xilinx_mcdma_prep_slave_sg()
2364 if (!segment) in xilinx_mcdma_prep_slave_sg()
2373 hw = &segment->hw; in xilinx_mcdma_prep_slave_sg()
2390 list_add_tail(&segment->node, &desc->segments); in xilinx_mcdma_prep_slave_sg()
2394 segment = list_first_entry(&desc->segments, in xilinx_mcdma_prep_slave_sg()
2396 desc->async_tx.phys = segment->phys; in xilinx_mcdma_prep_slave_sg()
2400 segment->hw.control |= XILINX_MCDMA_BD_SOP; in xilinx_mcdma_prep_slave_sg()
2401 segment = list_last_entry(&desc->segments, in xilinx_mcdma_prep_slave_sg()
2404 segment->hw.control |= XILINX_MCDMA_BD_EOP; in xilinx_mcdma_prep_slave_sg()