Home
last modified time | relevance | path

Searched refs:fsl_chan (Results 1 - 10 of 10) sorted by relevance

/kernel/linux/linux-6.6/drivers/dma/
H A Dfsl-edma-common.c45 void fsl_edma_tx_chan_handler(struct fsl_edma_chan *fsl_chan) in fsl_edma_tx_chan_handler() argument
47 spin_lock(&fsl_chan->vchan.lock); in fsl_edma_tx_chan_handler()
49 if (!fsl_chan->edesc) { in fsl_edma_tx_chan_handler()
51 spin_unlock(&fsl_chan->vchan.lock); in fsl_edma_tx_chan_handler()
55 if (!fsl_chan->edesc->iscyclic) { in fsl_edma_tx_chan_handler()
56 list_del(&fsl_chan->edesc->vdesc.node); in fsl_edma_tx_chan_handler()
57 vchan_cookie_complete(&fsl_chan->edesc->vdesc); in fsl_edma_tx_chan_handler()
58 fsl_chan->edesc = NULL; in fsl_edma_tx_chan_handler()
59 fsl_chan->status = DMA_COMPLETE; in fsl_edma_tx_chan_handler()
60 fsl_chan in fsl_edma_tx_chan_handler()
71 fsl_edma3_enable_request(struct fsl_edma_chan *fsl_chan) fsl_edma3_enable_request() argument
109 fsl_edma_enable_request(struct fsl_edma_chan *fsl_chan) fsl_edma_enable_request() argument
129 fsl_edma3_disable_request(struct fsl_edma_chan *fsl_chan) fsl_edma3_disable_request() argument
143 fsl_edma_disable_request(struct fsl_edma_chan *fsl_chan) fsl_edma_disable_request() argument
163 mux_configure8(struct fsl_edma_chan *fsl_chan, void __iomem *addr, u32 off, u32 slot, bool enable) mux_configure8() argument
176 mux_configure32(struct fsl_edma_chan *fsl_chan, void __iomem *addr, u32 off, u32 slot, bool enable) mux_configure32() argument
189 fsl_edma_chan_mux(struct fsl_edma_chan *fsl_chan, unsigned int slot, bool enable) fsl_edma_chan_mux() argument
241 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_terminate_all() local
261 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_pause() local
276 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_resume() local
289 fsl_edma_unprep_slave_dma(struct fsl_edma_chan *fsl_chan) fsl_edma_unprep_slave_dma() argument
299 fsl_edma_prep_slave_dma(struct fsl_edma_chan *fsl_chan, enum dma_transfer_direction dir) fsl_edma_prep_slave_dma() argument
341 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_slave_config() local
349 fsl_edma_desc_residue(struct fsl_edma_chan *fsl_chan, struct virt_dma_desc *vdesc, bool in_progress) fsl_edma_desc_residue() argument
401 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_tx_status() local
429 fsl_edma_set_tcd_regs(struct fsl_edma_chan *fsl_chan, struct fsl_edma_hw_tcd *tcd) fsl_edma_set_tcd_regs() argument
480 fsl_edma_fill_tcd(struct fsl_edma_chan *fsl_chan, struct fsl_edma_hw_tcd *tcd, u32 src, u32 dst, u16 attr, u16 soff, u32 nbytes, u32 slast, u16 citer, u16 biter, u16 doff, u32 dlast_sga, bool major_int, bool disable_req, bool enable_sg) fsl_edma_fill_tcd() argument
545 fsl_edma_alloc_desc(struct fsl_edma_chan *fsl_chan, int sg_len) fsl_edma_alloc_desc() argument
578 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_prep_dma_cyclic() local
653 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_prep_slave_sg() local
748 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_prep_memcpy() local
766 fsl_edma_xfer_desc(struct fsl_edma_chan *fsl_chan) fsl_edma_xfer_desc() argument
784 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_issue_pending() local
803 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_alloc_chan_resources() local
813 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_free_chan_resources() local
[all...]
H A Dfsl-edma-main.c30 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); in fsl_edma_synchronize() local
32 vchan_synchronize(&fsl_chan->vchan); in fsl_edma_synchronize()
56 struct fsl_edma_chan *fsl_chan = dev_id; in fsl_edma3_tx_handler() local
59 intr = edma_readl_chreg(fsl_chan, ch_int); in fsl_edma3_tx_handler()
63 edma_writel_chreg(fsl_chan, 1, ch_int); in fsl_edma3_tx_handler()
65 fsl_edma_tx_chan_handler(fsl_chan); in fsl_edma3_tx_handler()
103 struct fsl_edma_chan *fsl_chan; in fsl_edma_xlate() local
118 fsl_chan = to_fsl_edma_chan(chan); in fsl_edma_xlate()
119 fsl_chan->slave_id = dma_spec->args[1]; in fsl_edma_xlate()
120 fsl_edma_chan_mux(fsl_chan, fsl_cha in fsl_edma_xlate()
136 struct fsl_edma_chan *fsl_chan; fsl_edma3_xlate() local
232 struct fsl_edma_chan *fsl_chan = &fsl_edma->chans[i]; fsl_edma3_irq_init() local
384 struct fsl_edma_chan *fsl_chan; fsl_edma3_attach_pd() local
523 struct fsl_edma_chan *fsl_chan = &fsl_edma->chans[i]; fsl_edma_probe() local
641 struct fsl_edma_chan *fsl_chan; fsl_edma_suspend_late() local
667 struct fsl_edma_chan *fsl_chan; fsl_edma_resume_early() local
[all...]
H A Dfsl-qdma.c307 struct fsl_qdma_chan *fsl_chan = to_fsl_qdma_chan(chan); in fsl_qdma_free_chan_resources() local
308 struct fsl_qdma_queue *fsl_queue = fsl_chan->queue; in fsl_qdma_free_chan_resources()
309 struct fsl_qdma_engine *fsl_qdma = fsl_chan->qdma; in fsl_qdma_free_chan_resources()
314 spin_lock_irqsave(&fsl_chan->vchan.lock, flags); in fsl_qdma_free_chan_resources()
315 vchan_get_all_descriptors(&fsl_chan->vchan, &head); in fsl_qdma_free_chan_resources()
316 spin_unlock_irqrestore(&fsl_chan->vchan.lock, flags); in fsl_qdma_free_chan_resources()
318 vchan_dma_desc_free_list(&fsl_chan->vchan, &head); in fsl_qdma_free_chan_resources()
457 *fsl_qdma_request_enqueue_desc(struct fsl_qdma_chan *fsl_chan) in fsl_qdma_request_enqueue_desc() argument
462 struct fsl_qdma_queue *queue = fsl_chan->queue; in fsl_qdma_request_enqueue_desc()
473 comp_temp->qchan = fsl_chan; in fsl_qdma_request_enqueue_desc()
978 struct fsl_qdma_chan *fsl_chan = to_fsl_qdma_chan(chan); fsl_qdma_prep_memcpy() local
990 fsl_qdma_enqueue_desc(struct fsl_qdma_chan *fsl_chan) fsl_qdma_enqueue_desc() argument
1037 struct fsl_qdma_chan *fsl_chan = to_fsl_qdma_chan(chan); fsl_qdma_issue_pending() local
1050 struct fsl_qdma_chan *fsl_chan = to_fsl_qdma_chan(chan); fsl_qdma_synchronize() local
1059 struct fsl_qdma_chan *fsl_chan = to_fsl_qdma_chan(chan); fsl_qdma_terminate_all() local
1071 struct fsl_qdma_chan *fsl_chan = to_fsl_qdma_chan(chan); fsl_qdma_alloc_chan_resources() local
1124 struct fsl_qdma_chan *fsl_chan; fsl_qdma_probe() local
1210 struct fsl_qdma_chan *fsl_chan = &fsl_qdma->chans[i]; fsl_qdma_probe() local
[all...]
H A Dfsl-edma-common.h306 static inline u32 fsl_edma_drvflags(struct fsl_edma_chan *fsl_chan) in fsl_edma_drvflags() argument
308 return fsl_chan->edma->drvdata->flags; in fsl_edma_drvflags()
316 static inline void fsl_edma_err_chan_handler(struct fsl_edma_chan *fsl_chan) in fsl_edma_err_chan_handler() argument
318 fsl_chan->status = DMA_ERROR; in fsl_edma_err_chan_handler()
319 fsl_chan->idle = true; in fsl_edma_err_chan_handler()
322 void fsl_edma_tx_chan_handler(struct fsl_edma_chan *fsl_chan);
323 void fsl_edma_disable_request(struct fsl_edma_chan *fsl_chan);
324 void fsl_edma_chan_mux(struct fsl_edma_chan *fsl_chan,
345 void fsl_edma_xfer_desc(struct fsl_edma_chan *fsl_chan);
H A Dfsldma.h183 void (*toggle_ext_pause)(struct fsldma_chan *fsl_chan, int enable);
184 void (*toggle_ext_start)(struct fsldma_chan *fsl_chan, int enable);
185 void (*set_src_loop_size)(struct fsldma_chan *fsl_chan, int size);
186 void (*set_dst_loop_size)(struct fsldma_chan *fsl_chan, int size);
187 void (*set_request_count)(struct fsldma_chan *fsl_chan, int size);
256 #define DMA_TO_CPU(fsl_chan, d, width) \
257 (((fsl_chan)->feature & FSL_DMA_BIG_ENDIAN) ? \
260 #define CPU_TO_DMA(fsl_chan, c, width) \
261 (((fsl_chan)->feature & FSL_DMA_BIG_ENDIAN) ? \
/kernel/linux/linux-5.10/drivers/dma/
H A Dfsl-edma-common.c45 static void fsl_edma_enable_request(struct fsl_edma_chan *fsl_chan) in fsl_edma_enable_request() argument
47 struct edma_regs *regs = &fsl_chan->edma->regs; in fsl_edma_enable_request()
48 u32 ch = fsl_chan->vchan.chan.chan_id; in fsl_edma_enable_request()
50 if (fsl_chan->edma->drvdata->version == v1) { in fsl_edma_enable_request()
51 edma_writeb(fsl_chan->edma, EDMA_SEEI_SEEI(ch), regs->seei); in fsl_edma_enable_request()
52 edma_writeb(fsl_chan->edma, ch, regs->serq); in fsl_edma_enable_request()
62 void fsl_edma_disable_request(struct fsl_edma_chan *fsl_chan) in fsl_edma_disable_request() argument
64 struct edma_regs *regs = &fsl_chan->edma->regs; in fsl_edma_disable_request()
65 u32 ch = fsl_chan->vchan.chan.chan_id; in fsl_edma_disable_request()
67 if (fsl_chan in fsl_edma_disable_request()
80 mux_configure8(struct fsl_edma_chan *fsl_chan, void __iomem *addr, u32 off, u32 slot, bool enable) mux_configure8() argument
93 mux_configure32(struct fsl_edma_chan *fsl_chan, void __iomem *addr, u32 off, u32 slot, bool enable) mux_configure32() argument
106 fsl_edma_chan_mux(struct fsl_edma_chan *fsl_chan, unsigned int slot, bool enable) fsl_edma_chan_mux() argument
162 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_terminate_all() local
179 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_pause() local
195 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_resume() local
209 fsl_edma_unprep_slave_dma(struct fsl_edma_chan *fsl_chan) fsl_edma_unprep_slave_dma() argument
219 fsl_edma_prep_slave_dma(struct fsl_edma_chan *fsl_chan, enum dma_transfer_direction dir) fsl_edma_prep_slave_dma() argument
261 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_slave_config() local
270 fsl_edma_desc_residue(struct fsl_edma_chan *fsl_chan, struct virt_dma_desc *vdesc, bool in_progress) fsl_edma_desc_residue() argument
316 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_tx_status() local
345 fsl_edma_set_tcd_regs(struct fsl_edma_chan *fsl_chan, struct fsl_edma_hw_tcd *tcd) fsl_edma_set_tcd_regs() argument
421 fsl_edma_alloc_desc(struct fsl_edma_chan *fsl_chan, int sg_len) fsl_edma_alloc_desc() argument
454 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_prep_dma_cyclic() local
523 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_prep_slave_sg() local
590 fsl_edma_xfer_desc(struct fsl_edma_chan *fsl_chan) fsl_edma_xfer_desc() argument
609 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_issue_pending() local
629 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_alloc_chan_resources() local
640 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_edma_free_chan_resources() local
[all...]
H A Dfsl-edma.c25 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); in fsl_edma_synchronize() local
27 vchan_synchronize(&fsl_chan->vchan); in fsl_edma_synchronize()
35 struct fsl_edma_chan *fsl_chan; in fsl_edma_tx_handler() local
45 fsl_chan = &fsl_edma->chans[ch]; in fsl_edma_tx_handler()
47 spin_lock(&fsl_chan->vchan.lock); in fsl_edma_tx_handler()
49 if (!fsl_chan->edesc) { in fsl_edma_tx_handler()
51 spin_unlock(&fsl_chan->vchan.lock); in fsl_edma_tx_handler()
55 if (!fsl_chan->edesc->iscyclic) { in fsl_edma_tx_handler()
56 list_del(&fsl_chan->edesc->vdesc.node); in fsl_edma_tx_handler()
57 vchan_cookie_complete(&fsl_chan in fsl_edma_tx_handler()
108 struct fsl_edma_chan *fsl_chan; fsl_edma_xlate() local
272 struct fsl_edma_chan *fsl_chan; fsl_edma_probe() local
353 struct fsl_edma_chan *fsl_chan = &fsl_edma->chans[i]; fsl_edma_probe() local
437 struct fsl_edma_chan *fsl_chan; fsl_edma_suspend_late() local
461 struct fsl_edma_chan *fsl_chan; fsl_edma_resume_early() local
[all...]
H A Dfsl-qdma.c306 struct fsl_qdma_chan *fsl_chan = to_fsl_qdma_chan(chan); in fsl_qdma_free_chan_resources() local
307 struct fsl_qdma_queue *fsl_queue = fsl_chan->queue; in fsl_qdma_free_chan_resources()
308 struct fsl_qdma_engine *fsl_qdma = fsl_chan->qdma; in fsl_qdma_free_chan_resources()
313 spin_lock_irqsave(&fsl_chan->vchan.lock, flags); in fsl_qdma_free_chan_resources()
314 vchan_get_all_descriptors(&fsl_chan->vchan, &head); in fsl_qdma_free_chan_resources()
315 spin_unlock_irqrestore(&fsl_chan->vchan.lock, flags); in fsl_qdma_free_chan_resources()
317 vchan_dma_desc_free_list(&fsl_chan->vchan, &head); in fsl_qdma_free_chan_resources()
455 *fsl_qdma_request_enqueue_desc(struct fsl_qdma_chan *fsl_chan) in fsl_qdma_request_enqueue_desc() argument
460 struct fsl_qdma_queue *queue = fsl_chan->queue; in fsl_qdma_request_enqueue_desc()
471 comp_temp->qchan = fsl_chan; in fsl_qdma_request_enqueue_desc()
976 struct fsl_qdma_chan *fsl_chan = to_fsl_qdma_chan(chan); fsl_qdma_prep_memcpy() local
988 fsl_qdma_enqueue_desc(struct fsl_qdma_chan *fsl_chan) fsl_qdma_enqueue_desc() argument
1035 struct fsl_qdma_chan *fsl_chan = to_fsl_qdma_chan(chan); fsl_qdma_issue_pending() local
1048 struct fsl_qdma_chan *fsl_chan = to_fsl_qdma_chan(chan); fsl_qdma_synchronize() local
1057 struct fsl_qdma_chan *fsl_chan = to_fsl_qdma_chan(chan); fsl_qdma_terminate_all() local
1069 struct fsl_qdma_chan *fsl_chan = to_fsl_qdma_chan(chan); fsl_qdma_alloc_chan_resources() local
1123 struct fsl_qdma_chan *fsl_chan; fsl_qdma_probe() local
1216 struct fsl_qdma_chan *fsl_chan = &fsl_qdma->chans[i]; fsl_qdma_probe() local
[all...]
H A Dfsldma.h183 void (*toggle_ext_pause)(struct fsldma_chan *fsl_chan, int enable);
184 void (*toggle_ext_start)(struct fsldma_chan *fsl_chan, int enable);
185 void (*set_src_loop_size)(struct fsldma_chan *fsl_chan, int size);
186 void (*set_dst_loop_size)(struct fsldma_chan *fsl_chan, int size);
187 void (*set_request_count)(struct fsldma_chan *fsl_chan, int size);
256 #define DMA_TO_CPU(fsl_chan, d, width) \
257 (((fsl_chan)->feature & FSL_DMA_BIG_ENDIAN) ? \
260 #define CPU_TO_DMA(fsl_chan, c, width) \
261 (((fsl_chan)->feature & FSL_DMA_BIG_ENDIAN) ? \
H A Dfsl-edma-common.h224 void fsl_edma_disable_request(struct fsl_edma_chan *fsl_chan);
225 void fsl_edma_chan_mux(struct fsl_edma_chan *fsl_chan,
243 void fsl_edma_xfer_desc(struct fsl_edma_chan *fsl_chan);

Completed in 9 milliseconds