xref: /openbmc/linux/include/linux/dma/pxa-dma.h (revision 96de2506)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _PXA_DMA_H_
3 #define _PXA_DMA_H_
4 
5 enum pxad_chan_prio {
6 	PXAD_PRIO_HIGHEST = 0,
7 	PXAD_PRIO_NORMAL,
8 	PXAD_PRIO_LOW,
9 	PXAD_PRIO_LOWEST,
10 };
11 
12 /**
13  * struct pxad_param - dma channel request parameters
14  * @drcmr: requestor line number
15  * @prio: minimal mandatory priority of the channel
16  *
17  * If a requested channel is granted, its priority will be at least @prio,
18  * ie. if PXAD_PRIO_LOW is required, the requested channel will be either
19  * PXAD_PRIO_LOW, PXAD_PRIO_NORMAL or PXAD_PRIO_HIGHEST.
20  */
21 struct pxad_param {
22 	unsigned int drcmr;
23 	enum pxad_chan_prio prio;
24 };
25 
26 struct dma_chan;
27 
28 #ifdef CONFIG_PXA_DMA
29 bool pxad_filter_fn(struct dma_chan *chan, void *param);
30 #else
31 static inline bool pxad_filter_fn(struct dma_chan *chan, void *param)
32 {
33 	return false;
34 }
35 #endif
36 
37 #endif /* _PXA_DMA_H_ */
38