Home
last modified time | relevance | path

Searched refs:ioat (Results 1 – 6 of 6) sorted by relevance

/drivers/dma/ioat/
Ddma_v2.c56 void __ioat2_issue_pending(struct ioat2_dma_chan *ioat) in __ioat2_issue_pending() argument
58 struct ioat_chan_common *chan = &ioat->base; in __ioat2_issue_pending()
60 ioat->dmacount += ioat2_ring_pending(ioat); in __ioat2_issue_pending()
61 ioat->issued = ioat->head; in __ioat2_issue_pending()
62 writew(ioat->dmacount, chan->reg_base + IOAT_CHAN_DMACOUNT_OFFSET); in __ioat2_issue_pending()
65 __func__, ioat->head, ioat->tail, ioat->issued, ioat->dmacount); in __ioat2_issue_pending()
70 struct ioat2_dma_chan *ioat = to_ioat2_chan(c); in ioat2_issue_pending() local
72 if (ioat2_ring_pending(ioat)) { in ioat2_issue_pending()
73 spin_lock_bh(&ioat->prep_lock); in ioat2_issue_pending()
74 __ioat2_issue_pending(ioat); in ioat2_issue_pending()
[all …]
Ddma.c51 static void ioat1_cleanup(struct ioat_dma_chan *ioat);
52 static void ioat1_dma_start_null_desc(struct ioat_dma_chan *ioat);
131 struct ioat_dma_chan *ioat; in ioat1_enumerate_channels() local
153 ioat = devm_kzalloc(dev, sizeof(*ioat), GFP_KERNEL); in ioat1_enumerate_channels()
154 if (!ioat) in ioat1_enumerate_channels()
157 ioat_init_channel(device, &ioat->base, i); in ioat1_enumerate_channels()
158 ioat->xfercap = xfercap; in ioat1_enumerate_channels()
159 spin_lock_init(&ioat->desc_lock); in ioat1_enumerate_channels()
160 INIT_LIST_HEAD(&ioat->free_desc); in ioat1_enumerate_channels()
161 INIT_LIST_HEAD(&ioat->used_desc); in ioat1_enumerate_channels()
[all …]
Ddma_v2.h77 static inline u32 ioat2_ring_size(struct ioat2_dma_chan *ioat) in ioat2_ring_size() argument
79 return 1 << ioat->alloc_order; in ioat2_ring_size()
83 static inline u16 ioat2_ring_active(struct ioat2_dma_chan *ioat) in ioat2_ring_active() argument
85 return CIRC_CNT(ioat->head, ioat->tail, ioat2_ring_size(ioat)); in ioat2_ring_active()
89 static inline u16 ioat2_ring_pending(struct ioat2_dma_chan *ioat) in ioat2_ring_pending() argument
91 return CIRC_CNT(ioat->head, ioat->issued, ioat2_ring_size(ioat)); in ioat2_ring_pending()
94 static inline u32 ioat2_ring_space(struct ioat2_dma_chan *ioat) in ioat2_ring_space() argument
96 return ioat2_ring_size(ioat) - ioat2_ring_active(ioat); in ioat2_ring_space()
99 static inline u16 ioat2_xferlen_to_descs(struct ioat2_dma_chan *ioat, size_t len) in ioat2_xferlen_to_descs() argument
101 u16 num_descs = len >> ioat->xfercap_log; in ioat2_xferlen_to_descs()
[all …]
Ddma_v3.c97 static void ioat3_eh(struct ioat2_dma_chan *ioat);
299 static void ioat3_dma_unmap(struct ioat2_dma_chan *ioat, in ioat3_dma_unmap() argument
302 struct ioat_chan_common *chan = &ioat->base; in ioat3_dma_unmap()
332 ext = ioat2_get_ring_ent(ioat, idx + 1); in ioat3_dma_unmap()
369 ext = ioat2_get_ring_ent(ioat, idx + 1); in ioat3_dma_unmap()
514 desc_get_errstat(struct ioat2_dma_chan *ioat, struct ioat_ring_ent *desc) in desc_get_errstat() argument
550 static void __cleanup(struct ioat2_dma_chan *ioat, dma_addr_t phys_complete) in __cleanup() argument
552 struct ioat_chan_common *chan = &ioat->base; in __cleanup()
556 int idx = ioat->tail, i; in __cleanup()
560 __func__, ioat->head, ioat->tail, ioat->issued); in __cleanup()
[all …]
Ddma.h309 static inline void ioat_set_chainaddr(struct ioat_dma_chan *ioat, u64 addr) in ioat_set_chainaddr() argument
311 struct ioat_chan_common *chan = &ioat->base; in ioat_set_chainaddr()
/drivers/dma/
DMakefile12 obj-$(CONFIG_INTEL_IOATDMA) += ioat/