Lines Matching refs:segment
558 struct xilinx_vdma_tx_segment *segment; in xilinx_vdma_alloc_tx_segment() local
561 segment = dma_pool_zalloc(chan->desc_pool, GFP_ATOMIC, &phys); in xilinx_vdma_alloc_tx_segment()
562 if (!segment) in xilinx_vdma_alloc_tx_segment()
565 segment->phys = phys; in xilinx_vdma_alloc_tx_segment()
567 return segment; in xilinx_vdma_alloc_tx_segment()
579 struct xilinx_cdma_tx_segment *segment; in xilinx_cdma_alloc_tx_segment() local
582 segment = dma_pool_zalloc(chan->desc_pool, GFP_ATOMIC, &phys); in xilinx_cdma_alloc_tx_segment()
583 if (!segment) in xilinx_cdma_alloc_tx_segment()
586 segment->phys = phys; in xilinx_cdma_alloc_tx_segment()
588 return segment; in xilinx_cdma_alloc_tx_segment()
600 struct xilinx_axidma_tx_segment *segment = NULL; in xilinx_axidma_alloc_tx_segment() local
605 segment = list_first_entry(&chan->free_seg_list, in xilinx_axidma_alloc_tx_segment()
608 list_del(&segment->node); in xilinx_axidma_alloc_tx_segment()
612 return segment; in xilinx_axidma_alloc_tx_segment()
632 struct xilinx_axidma_tx_segment *segment) in xilinx_dma_free_tx_segment() argument
634 xilinx_dma_clean_hw_desc(&segment->hw); in xilinx_dma_free_tx_segment()
636 list_add_tail(&segment->node, &chan->free_seg_list); in xilinx_dma_free_tx_segment()
645 struct xilinx_cdma_tx_segment *segment) in xilinx_cdma_free_tx_segment() argument
647 dma_pool_free(chan->desc_pool, segment, segment->phys); in xilinx_cdma_free_tx_segment()
656 struct xilinx_vdma_tx_segment *segment) in xilinx_vdma_free_tx_segment() argument
658 dma_pool_free(chan->desc_pool, segment, segment->phys); in xilinx_vdma_free_tx_segment()
690 struct xilinx_vdma_tx_segment *segment, *next; in xilinx_dma_free_tx_descriptor() local
698 list_for_each_entry_safe(segment, next, &desc->segments, node) { in xilinx_dma_free_tx_descriptor()
699 list_del(&segment->node); in xilinx_dma_free_tx_descriptor()
700 xilinx_vdma_free_tx_segment(chan, segment); in xilinx_dma_free_tx_descriptor()
974 struct xilinx_axidma_tx_segment *segment; in xilinx_dma_tx_status() local
990 list_for_each_entry(segment, &desc->segments, node) { in xilinx_dma_tx_status()
991 hw = &segment->hw; in xilinx_dma_tx_status()
1151 struct xilinx_vdma_tx_segment *segment, *last = NULL; in xilinx_vdma_start_transfer() local
1157 list_for_each_entry(segment, &desc->segments, node) { in xilinx_vdma_start_transfer()
1161 segment->hw.buf_addr, in xilinx_vdma_start_transfer()
1162 segment->hw.buf_addr_msb); in xilinx_vdma_start_transfer()
1166 segment->hw.buf_addr); in xilinx_vdma_start_transfer()
1168 last = segment; in xilinx_vdma_start_transfer()
1239 struct xilinx_cdma_tx_segment *segment; in xilinx_cdma_start_transfer() local
1242 segment = list_first_entry(&head_desc->segments, in xilinx_cdma_start_transfer()
1246 hw = &segment->hw; in xilinx_cdma_start_transfer()
1344 struct xilinx_axidma_tx_segment *segment; in xilinx_dma_start_transfer() local
1347 segment = list_first_entry(&head_desc->segments, in xilinx_dma_start_transfer()
1350 hw = &segment->hw; in xilinx_dma_start_transfer()
1632 struct xilinx_vdma_tx_segment *segment; in xilinx_vdma_dma_prep_interleaved() local
1654 segment = xilinx_vdma_alloc_tx_segment(chan); in xilinx_vdma_dma_prep_interleaved()
1655 if (!segment) in xilinx_vdma_dma_prep_interleaved()
1659 hw = &segment->hw; in xilinx_vdma_dma_prep_interleaved()
1684 list_add_tail(&segment->node, &desc->segments); in xilinx_vdma_dma_prep_interleaved()
1687 segment = list_first_entry(&desc->segments, in xilinx_vdma_dma_prep_interleaved()
1689 desc->async_tx.phys = segment->phys; in xilinx_vdma_dma_prep_interleaved()
1714 struct xilinx_cdma_tx_segment *segment; in xilinx_cdma_prep_memcpy() local
1728 segment = xilinx_cdma_alloc_tx_segment(chan); in xilinx_cdma_prep_memcpy()
1729 if (!segment) in xilinx_cdma_prep_memcpy()
1732 hw = &segment->hw; in xilinx_cdma_prep_memcpy()
1742 list_add_tail(&segment->node, &desc->segments); in xilinx_cdma_prep_memcpy()
1744 desc->async_tx.phys = segment->phys; in xilinx_cdma_prep_memcpy()
1745 hw->next_desc = segment->phys; in xilinx_cdma_prep_memcpy()
1772 struct xilinx_axidma_tx_segment *segment = NULL; in xilinx_dma_prep_slave_sg() local
1799 segment = xilinx_axidma_alloc_tx_segment(chan); in xilinx_dma_prep_slave_sg()
1800 if (!segment) in xilinx_dma_prep_slave_sg()
1809 hw = &segment->hw; in xilinx_dma_prep_slave_sg()
1829 list_add_tail(&segment->node, &desc->segments); in xilinx_dma_prep_slave_sg()
1833 segment = list_first_entry(&desc->segments, in xilinx_dma_prep_slave_sg()
1835 desc->async_tx.phys = segment->phys; in xilinx_dma_prep_slave_sg()
1839 segment->hw.control |= XILINX_DMA_BD_SOP; in xilinx_dma_prep_slave_sg()
1840 segment = list_last_entry(&desc->segments, in xilinx_dma_prep_slave_sg()
1843 segment->hw.control |= XILINX_DMA_BD_EOP; in xilinx_dma_prep_slave_sg()
1871 struct xilinx_axidma_tx_segment *segment, *head_segment, *prev = NULL; in xilinx_dma_prep_dma_cyclic() local
1904 segment = xilinx_axidma_alloc_tx_segment(chan); in xilinx_dma_prep_dma_cyclic()
1905 if (!segment) in xilinx_dma_prep_dma_cyclic()
1914 hw = &segment->hw; in xilinx_dma_prep_dma_cyclic()
1920 prev->hw.next_desc = segment->phys; in xilinx_dma_prep_dma_cyclic()
1922 prev = segment; in xilinx_dma_prep_dma_cyclic()
1929 list_add_tail(&segment->node, &desc->segments); in xilinx_dma_prep_dma_cyclic()
1942 segment = list_last_entry(&desc->segments, in xilinx_dma_prep_dma_cyclic()
1945 segment->hw.next_desc = (u32) head_segment->phys; in xilinx_dma_prep_dma_cyclic()
1950 segment->hw.control |= XILINX_DMA_BD_EOP; in xilinx_dma_prep_dma_cyclic()
1976 struct xilinx_axidma_tx_segment *segment; in xilinx_dma_prep_interleaved() local
1998 segment = xilinx_axidma_alloc_tx_segment(chan); in xilinx_dma_prep_interleaved()
1999 if (!segment) in xilinx_dma_prep_interleaved()
2002 hw = &segment->hw; in xilinx_dma_prep_interleaved()
2021 list_add_tail(&segment->node, &desc->segments); in xilinx_dma_prep_interleaved()
2024 segment = list_first_entry(&desc->segments, in xilinx_dma_prep_interleaved()
2026 desc->async_tx.phys = segment->phys; in xilinx_dma_prep_interleaved()
2030 segment->hw.control |= XILINX_DMA_BD_SOP; in xilinx_dma_prep_interleaved()
2031 segment = list_last_entry(&desc->segments, in xilinx_dma_prep_interleaved()
2034 segment->hw.control |= XILINX_DMA_BD_EOP; in xilinx_dma_prep_interleaved()