xref: /linux/include/linux/platform_data/amd_xdma.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Copyright (C) 2022, Advanced Micro Devices, Inc.
4  */
5 
6 #ifndef _PLATDATA_AMD_XDMA_H
7 #define _PLATDATA_AMD_XDMA_H
8 
9 #include <linux/dmaengine.h>
10 
11 /**
12  * struct xdma_chan_info - DMA channel information
13  *	This information is used to match channel when request dma channel
14  * @dir: Channel transfer direction
15  */
16 struct xdma_chan_info {
17 	enum dma_transfer_direction dir;
18 };
19 
20 #define XDMA_FILTER_PARAM(chan_info)	((void *)(chan_info))
21 
22 struct dma_slave_map;
23 
24 /**
25  * struct xdma_platdata - platform specific data for XDMA engine
26  * @max_dma_channels: Maximum dma channels in each direction
27  */
28 struct xdma_platdata {
29 	u32 max_dma_channels;
30 	u32 device_map_cnt;
31 	struct dma_slave_map *device_map;
32 };
33 
34 #endif /* _PLATDATA_AMD_XDMA_H */
35