Lines Matching refs:segment

562 	struct xilinx_vdma_tx_segment *segment;  in xilinx_vdma_alloc_tx_segment()  local
565 segment = dma_pool_zalloc(chan->desc_pool, GFP_ATOMIC, &phys); in xilinx_vdma_alloc_tx_segment()
566 if (!segment) in xilinx_vdma_alloc_tx_segment()
569 segment->phys = phys; in xilinx_vdma_alloc_tx_segment()
571 return segment; in xilinx_vdma_alloc_tx_segment()
583 struct xilinx_cdma_tx_segment *segment; in xilinx_cdma_alloc_tx_segment() local
586 segment = dma_pool_zalloc(chan->desc_pool, GFP_ATOMIC, &phys); in xilinx_cdma_alloc_tx_segment()
587 if (!segment) in xilinx_cdma_alloc_tx_segment()
590 segment->phys = phys; in xilinx_cdma_alloc_tx_segment()
592 return segment; in xilinx_cdma_alloc_tx_segment()
604 struct xilinx_axidma_tx_segment *segment = NULL; in xilinx_axidma_alloc_tx_segment() local
609 segment = list_first_entry(&chan->free_seg_list, in xilinx_axidma_alloc_tx_segment()
612 list_del(&segment->node); in xilinx_axidma_alloc_tx_segment()
616 return segment; in xilinx_axidma_alloc_tx_segment()
636 struct xilinx_axidma_tx_segment *segment) in xilinx_dma_free_tx_segment() argument
638 xilinx_dma_clean_hw_desc(&segment->hw); in xilinx_dma_free_tx_segment()
640 list_add_tail(&segment->node, &chan->free_seg_list); in xilinx_dma_free_tx_segment()
649 struct xilinx_cdma_tx_segment *segment) in xilinx_cdma_free_tx_segment() argument
651 dma_pool_free(chan->desc_pool, segment, segment->phys); in xilinx_cdma_free_tx_segment()
660 struct xilinx_vdma_tx_segment *segment) in xilinx_vdma_free_tx_segment() argument
662 dma_pool_free(chan->desc_pool, segment, segment->phys); in xilinx_vdma_free_tx_segment()
694 struct xilinx_vdma_tx_segment *segment, *next; in xilinx_dma_free_tx_descriptor() local
702 list_for_each_entry_safe(segment, next, &desc->segments, node) { in xilinx_dma_free_tx_descriptor()
703 list_del(&segment->node); in xilinx_dma_free_tx_descriptor()
704 xilinx_vdma_free_tx_segment(chan, segment); in xilinx_dma_free_tx_descriptor()
1006 struct xilinx_axidma_tx_segment *segment; in xilinx_dma_tx_status() local
1022 list_for_each_entry(segment, &desc->segments, node) { in xilinx_dma_tx_status()
1023 hw = &segment->hw; in xilinx_dma_tx_status()
1103 struct xilinx_vdma_tx_segment *segment, *last = NULL; in xilinx_vdma_start_transfer() local
1164 list_for_each_entry(segment, &desc->segments, node) { in xilinx_vdma_start_transfer()
1168 segment->hw.buf_addr, in xilinx_vdma_start_transfer()
1169 segment->hw.buf_addr_msb); in xilinx_vdma_start_transfer()
1173 segment->hw.buf_addr); in xilinx_vdma_start_transfer()
1175 last = segment; in xilinx_vdma_start_transfer()
1245 struct xilinx_cdma_tx_segment *segment; in xilinx_cdma_start_transfer() local
1248 segment = list_first_entry(&head_desc->segments, in xilinx_cdma_start_transfer()
1252 hw = &segment->hw; in xilinx_cdma_start_transfer()
1352 struct xilinx_axidma_tx_segment *segment; in xilinx_dma_start_transfer() local
1355 segment = list_first_entry(&head_desc->segments, in xilinx_dma_start_transfer()
1358 hw = &segment->hw; in xilinx_dma_start_transfer()
1641 struct xilinx_vdma_tx_segment *segment; in xilinx_vdma_dma_prep_interleaved() local
1663 segment = xilinx_vdma_alloc_tx_segment(chan); in xilinx_vdma_dma_prep_interleaved()
1664 if (!segment) in xilinx_vdma_dma_prep_interleaved()
1668 hw = &segment->hw; in xilinx_vdma_dma_prep_interleaved()
1693 list_add_tail(&segment->node, &desc->segments); in xilinx_vdma_dma_prep_interleaved()
1696 segment = list_first_entry(&desc->segments, in xilinx_vdma_dma_prep_interleaved()
1698 desc->async_tx.phys = segment->phys; in xilinx_vdma_dma_prep_interleaved()
1723 struct xilinx_cdma_tx_segment *segment; in xilinx_cdma_prep_memcpy() local
1737 segment = xilinx_cdma_alloc_tx_segment(chan); in xilinx_cdma_prep_memcpy()
1738 if (!segment) in xilinx_cdma_prep_memcpy()
1741 hw = &segment->hw; in xilinx_cdma_prep_memcpy()
1751 list_add_tail(&segment->node, &desc->segments); in xilinx_cdma_prep_memcpy()
1753 desc->async_tx.phys = segment->phys; in xilinx_cdma_prep_memcpy()
1754 hw->next_desc = segment->phys; in xilinx_cdma_prep_memcpy()
1781 struct xilinx_axidma_tx_segment *segment = NULL; in xilinx_dma_prep_slave_sg() local
1808 segment = xilinx_axidma_alloc_tx_segment(chan); in xilinx_dma_prep_slave_sg()
1809 if (!segment) in xilinx_dma_prep_slave_sg()
1818 hw = &segment->hw; in xilinx_dma_prep_slave_sg()
1838 list_add_tail(&segment->node, &desc->segments); in xilinx_dma_prep_slave_sg()
1842 segment = list_first_entry(&desc->segments, in xilinx_dma_prep_slave_sg()
1844 desc->async_tx.phys = segment->phys; in xilinx_dma_prep_slave_sg()
1848 segment->hw.control |= XILINX_DMA_BD_SOP; in xilinx_dma_prep_slave_sg()
1849 segment = list_last_entry(&desc->segments, in xilinx_dma_prep_slave_sg()
1852 segment->hw.control |= XILINX_DMA_BD_EOP; in xilinx_dma_prep_slave_sg()
1880 struct xilinx_axidma_tx_segment *segment, *head_segment, *prev = NULL; in xilinx_dma_prep_dma_cyclic() local
1913 segment = xilinx_axidma_alloc_tx_segment(chan); in xilinx_dma_prep_dma_cyclic()
1914 if (!segment) in xilinx_dma_prep_dma_cyclic()
1923 hw = &segment->hw; in xilinx_dma_prep_dma_cyclic()
1929 prev->hw.next_desc = segment->phys; in xilinx_dma_prep_dma_cyclic()
1931 prev = segment; in xilinx_dma_prep_dma_cyclic()
1938 list_add_tail(&segment->node, &desc->segments); in xilinx_dma_prep_dma_cyclic()
1951 segment = list_last_entry(&desc->segments, in xilinx_dma_prep_dma_cyclic()
1954 segment->hw.next_desc = (u32) head_segment->phys; in xilinx_dma_prep_dma_cyclic()
1959 segment->hw.control |= XILINX_DMA_BD_EOP; in xilinx_dma_prep_dma_cyclic()
1985 struct xilinx_axidma_tx_segment *segment; in xilinx_dma_prep_interleaved() local
2007 segment = xilinx_axidma_alloc_tx_segment(chan); in xilinx_dma_prep_interleaved()
2008 if (!segment) in xilinx_dma_prep_interleaved()
2011 hw = &segment->hw; in xilinx_dma_prep_interleaved()
2030 list_add_tail(&segment->node, &desc->segments); in xilinx_dma_prep_interleaved()
2033 segment = list_first_entry(&desc->segments, in xilinx_dma_prep_interleaved()
2035 desc->async_tx.phys = segment->phys; in xilinx_dma_prep_interleaved()
2039 segment->hw.control |= XILINX_DMA_BD_SOP; in xilinx_dma_prep_interleaved()
2040 segment = list_last_entry(&desc->segments, in xilinx_dma_prep_interleaved()
2043 segment->hw.control |= XILINX_DMA_BD_EOP; in xilinx_dma_prep_interleaved()