Linux 6.7-rc7
[linux-modified.git] / include / linux / platform_data / amd_xdma.h
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 */