Home
last modified time | relevance | path

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

/linux-4.1.27/drivers/dma/ioat/
Ddma_v2.c52 void __ioat2_issue_pending(struct ioat2_dma_chan *ioat) in __ioat2_issue_pending() argument
54 struct ioat_chan_common *chan = &ioat->base; in __ioat2_issue_pending()
56 ioat->dmacount += ioat2_ring_pending(ioat); in __ioat2_issue_pending()
57 ioat->issued = ioat->head; in __ioat2_issue_pending()
58 writew(ioat->dmacount, chan->reg_base + IOAT_CHAN_DMACOUNT_OFFSET); in __ioat2_issue_pending()
61 __func__, ioat->head, ioat->tail, ioat->issued, ioat->dmacount); in __ioat2_issue_pending()
66 struct ioat2_dma_chan *ioat = to_ioat2_chan(c); in ioat2_issue_pending() local
68 if (ioat2_ring_pending(ioat)) { in ioat2_issue_pending()
69 spin_lock_bh(&ioat->prep_lock); in ioat2_issue_pending()
70 __ioat2_issue_pending(ioat); in ioat2_issue_pending()
[all …]
Ddma_v2.h73 static inline u32 ioat2_ring_size(struct ioat2_dma_chan *ioat) in ioat2_ring_size() argument
75 return 1 << ioat->alloc_order; in ioat2_ring_size()
79 static inline u16 ioat2_ring_active(struct ioat2_dma_chan *ioat) in ioat2_ring_active() argument
81 return CIRC_CNT(ioat->head, ioat->tail, ioat2_ring_size(ioat)); in ioat2_ring_active()
85 static inline u16 ioat2_ring_pending(struct ioat2_dma_chan *ioat) in ioat2_ring_pending() argument
87 return CIRC_CNT(ioat->head, ioat->issued, ioat2_ring_size(ioat)); in ioat2_ring_pending()
90 static inline u32 ioat2_ring_space(struct ioat2_dma_chan *ioat) in ioat2_ring_space() argument
92 return ioat2_ring_size(ioat) - ioat2_ring_active(ioat); in ioat2_ring_space()
95 static inline u16 ioat2_xferlen_to_descs(struct ioat2_dma_chan *ioat, size_t len) in ioat2_xferlen_to_descs() argument
97 u16 num_descs = len >> ioat->xfercap_log; in ioat2_xferlen_to_descs()
[all …]
Ddma.c47 static void ioat1_cleanup(struct ioat_dma_chan *ioat);
48 static void ioat1_dma_start_null_desc(struct ioat_dma_chan *ioat);
128 struct ioat_dma_chan *ioat; in ioat1_enumerate_channels() local
150 ioat = devm_kzalloc(dev, sizeof(*ioat), GFP_KERNEL); in ioat1_enumerate_channels()
151 if (!ioat) in ioat1_enumerate_channels()
154 ioat_init_channel(device, &ioat->base, i); in ioat1_enumerate_channels()
155 ioat->xfercap = xfercap; in ioat1_enumerate_channels()
156 spin_lock_init(&ioat->desc_lock); in ioat1_enumerate_channels()
157 INIT_LIST_HEAD(&ioat->free_desc); in ioat1_enumerate_channels()
158 INIT_LIST_HEAD(&ioat->used_desc); in ioat1_enumerate_channels()
[all …]
Ddma_v3.c88 static void ioat3_eh(struct ioat2_dma_chan *ioat);
335 desc_get_errstat(struct ioat2_dma_chan *ioat, struct ioat_ring_ent *desc) in desc_get_errstat() argument
371 static void __cleanup(struct ioat2_dma_chan *ioat, dma_addr_t phys_complete) in __cleanup() argument
373 struct ioat_chan_common *chan = &ioat->base; in __cleanup()
377 int idx = ioat->tail, i; in __cleanup()
381 __func__, ioat->head, ioat->tail, ioat->issued); in __cleanup()
393 active = ioat2_ring_active(ioat); in __cleanup()
398 prefetch(ioat2_get_ring_ent(ioat, idx + i + 1)); in __cleanup()
399 desc = ioat2_get_ring_ent(ioat, idx + i); in __cleanup()
400 dump_desc_dbg(ioat, desc); in __cleanup()
[all …]
Ddma.h296 static inline void ioat_set_chainaddr(struct ioat_dma_chan *ioat, u64 addr) in ioat_set_chainaddr() argument
298 struct ioat_chan_common *chan = &ioat->base; in ioat_set_chainaddr()
/linux-4.1.27/drivers/dma/
DMakefile10 obj-$(CONFIG_INTEL_IOATDMA) += ioat/
/linux-4.1.27/
DMAINTAINERS5166 F: drivers/dma/ioat*