GNU Linux-libre 4.19.211-gnu1
[releases.git] / include / linux / dma / pxa-dma.h
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_ */