Lines Matching refs:segment
672 struct xilinx_vdma_tx_segment *segment; in xilinx_vdma_alloc_tx_segment() local
675 segment = dma_pool_zalloc(chan->desc_pool, GFP_ATOMIC, &phys); in xilinx_vdma_alloc_tx_segment()
676 if (!segment) in xilinx_vdma_alloc_tx_segment()
679 segment->phys = phys; in xilinx_vdma_alloc_tx_segment()
681 return segment; in xilinx_vdma_alloc_tx_segment()
693 struct xilinx_cdma_tx_segment *segment; in xilinx_cdma_alloc_tx_segment() local
696 segment = dma_pool_zalloc(chan->desc_pool, GFP_ATOMIC, &phys); in xilinx_cdma_alloc_tx_segment()
697 if (!segment) in xilinx_cdma_alloc_tx_segment()
700 segment->phys = phys; in xilinx_cdma_alloc_tx_segment()
702 return segment; in xilinx_cdma_alloc_tx_segment()
714 struct xilinx_axidma_tx_segment *segment = NULL; in xilinx_axidma_alloc_tx_segment() local
719 segment = list_first_entry(&chan->free_seg_list, in xilinx_axidma_alloc_tx_segment()
722 list_del(&segment->node); in xilinx_axidma_alloc_tx_segment()
726 if (!segment) in xilinx_axidma_alloc_tx_segment()
729 return segment; in xilinx_axidma_alloc_tx_segment()
741 struct xilinx_aximcdma_tx_segment *segment = NULL; in xilinx_aximcdma_alloc_tx_segment() local
746 segment = list_first_entry(&chan->free_seg_list, in xilinx_aximcdma_alloc_tx_segment()
749 list_del(&segment->node); in xilinx_aximcdma_alloc_tx_segment()
753 return segment; in xilinx_aximcdma_alloc_tx_segment()
784 struct xilinx_axidma_tx_segment *segment) in xilinx_dma_free_tx_segment() argument
786 xilinx_dma_clean_hw_desc(&segment->hw); in xilinx_dma_free_tx_segment()
788 list_add_tail(&segment->node, &chan->free_seg_list); in xilinx_dma_free_tx_segment()
798 segment) in xilinx_mcdma_free_tx_segment()
800 xilinx_mcdma_clean_hw_desc(&segment->hw); in xilinx_mcdma_free_tx_segment()
802 list_add_tail(&segment->node, &chan->free_seg_list); in xilinx_mcdma_free_tx_segment()
811 struct xilinx_cdma_tx_segment *segment) in xilinx_cdma_free_tx_segment() argument
813 dma_pool_free(chan->desc_pool, segment, segment->phys); in xilinx_cdma_free_tx_segment()
822 struct xilinx_vdma_tx_segment *segment) in xilinx_vdma_free_tx_segment() argument
824 dma_pool_free(chan->desc_pool, segment, segment->phys); in xilinx_vdma_free_tx_segment()
856 struct xilinx_vdma_tx_segment *segment, *next; in xilinx_dma_free_tx_descriptor() local
865 list_for_each_entry_safe(segment, next, &desc->segments, node) { in xilinx_dma_free_tx_descriptor()
866 list_del(&segment->node); in xilinx_dma_free_tx_descriptor()
867 xilinx_vdma_free_tx_segment(chan, segment); in xilinx_dma_free_tx_descriptor()
1368 struct xilinx_vdma_tx_segment *segment, *last = NULL; in xilinx_vdma_start_transfer() local
1431 list_for_each_entry(segment, &desc->segments, node) { in xilinx_vdma_start_transfer()
1435 segment->hw.buf_addr, in xilinx_vdma_start_transfer()
1436 segment->hw.buf_addr_msb); in xilinx_vdma_start_transfer()
1440 segment->hw.buf_addr); in xilinx_vdma_start_transfer()
1442 last = segment; in xilinx_vdma_start_transfer()
1511 struct xilinx_cdma_tx_segment *segment; in xilinx_cdma_start_transfer() local
1514 segment = list_first_entry(&head_desc->segments, in xilinx_cdma_start_transfer()
1518 hw = &segment->hw; in xilinx_cdma_start_transfer()
1591 struct xilinx_axidma_tx_segment *segment; in xilinx_dma_start_transfer() local
1594 segment = list_first_entry(&head_desc->segments, in xilinx_dma_start_transfer()
1597 hw = &segment->hw; in xilinx_dma_start_transfer()
2049 struct xilinx_vdma_tx_segment *segment; in xilinx_vdma_dma_prep_interleaved() local
2075 segment = xilinx_vdma_alloc_tx_segment(chan); in xilinx_vdma_dma_prep_interleaved()
2076 if (!segment) in xilinx_vdma_dma_prep_interleaved()
2080 hw = &segment->hw; in xilinx_vdma_dma_prep_interleaved()
2105 list_add_tail(&segment->node, &desc->segments); in xilinx_vdma_dma_prep_interleaved()
2108 segment = list_first_entry(&desc->segments, in xilinx_vdma_dma_prep_interleaved()
2110 desc->async_tx.phys = segment->phys; in xilinx_vdma_dma_prep_interleaved()
2135 struct xilinx_cdma_tx_segment *segment; in xilinx_cdma_prep_memcpy() local
2149 segment = xilinx_cdma_alloc_tx_segment(chan); in xilinx_cdma_prep_memcpy()
2150 if (!segment) in xilinx_cdma_prep_memcpy()
2153 hw = &segment->hw; in xilinx_cdma_prep_memcpy()
2163 list_add_tail(&segment->node, &desc->segments); in xilinx_cdma_prep_memcpy()
2165 desc->async_tx.phys = segment->phys; in xilinx_cdma_prep_memcpy()
2166 hw->next_desc = segment->phys; in xilinx_cdma_prep_memcpy()
2193 struct xilinx_axidma_tx_segment *segment = NULL; in xilinx_dma_prep_slave_sg() local
2220 segment = xilinx_axidma_alloc_tx_segment(chan); in xilinx_dma_prep_slave_sg()
2221 if (!segment) in xilinx_dma_prep_slave_sg()
2230 hw = &segment->hw; in xilinx_dma_prep_slave_sg()
2250 list_add_tail(&segment->node, &desc->segments); in xilinx_dma_prep_slave_sg()
2254 segment = list_first_entry(&desc->segments, in xilinx_dma_prep_slave_sg()
2256 desc->async_tx.phys = segment->phys; in xilinx_dma_prep_slave_sg()
2260 segment->hw.control |= XILINX_DMA_BD_SOP; in xilinx_dma_prep_slave_sg()
2261 segment = list_last_entry(&desc->segments, in xilinx_dma_prep_slave_sg()
2264 segment->hw.control |= XILINX_DMA_BD_EOP; in xilinx_dma_prep_slave_sg()
2295 struct xilinx_axidma_tx_segment *segment, *head_segment, *prev = NULL; in xilinx_dma_prep_dma_cyclic() local
2328 segment = xilinx_axidma_alloc_tx_segment(chan); in xilinx_dma_prep_dma_cyclic()
2329 if (!segment) in xilinx_dma_prep_dma_cyclic()
2338 hw = &segment->hw; in xilinx_dma_prep_dma_cyclic()
2344 prev->hw.next_desc = segment->phys; in xilinx_dma_prep_dma_cyclic()
2346 prev = segment; in xilinx_dma_prep_dma_cyclic()
2353 list_add_tail(&segment->node, &desc->segments); in xilinx_dma_prep_dma_cyclic()
2366 segment = list_last_entry(&desc->segments, in xilinx_dma_prep_dma_cyclic()
2369 segment->hw.next_desc = (u32) head_segment->phys; in xilinx_dma_prep_dma_cyclic()
2374 segment->hw.control |= XILINX_DMA_BD_EOP; in xilinx_dma_prep_dma_cyclic()
2403 struct xilinx_aximcdma_tx_segment *segment = NULL; in xilinx_mcdma_prep_slave_sg() local
2430 segment = xilinx_aximcdma_alloc_tx_segment(chan); in xilinx_mcdma_prep_slave_sg()
2431 if (!segment) in xilinx_mcdma_prep_slave_sg()
2440 hw = &segment->hw; in xilinx_mcdma_prep_slave_sg()
2457 list_add_tail(&segment->node, &desc->segments); in xilinx_mcdma_prep_slave_sg()
2461 segment = list_first_entry(&desc->segments, in xilinx_mcdma_prep_slave_sg()
2463 desc->async_tx.phys = segment->phys; in xilinx_mcdma_prep_slave_sg()
2467 segment->hw.control |= XILINX_MCDMA_BD_SOP; in xilinx_mcdma_prep_slave_sg()
2468 segment = list_last_entry(&desc->segments, in xilinx_mcdma_prep_slave_sg()
2471 segment->hw.control |= XILINX_MCDMA_BD_EOP; in xilinx_mcdma_prep_slave_sg()