diff options
author | Simon Xue <xxm@rock-chips.com> | 2018-11-29 15:58:26 +0800 |
---|---|---|
committer | Tao Huang <huangtao@rock-chips.com> | 2018-12-11 16:07:26 +0800 |
commit | 81094fad0826a9454fcd03b9ef7f118623f754eb (patch) | |
tree | b4fd3950fc373e9532078af05a9bc03ae1e8a157 /include | |
parent | df8183eff9cd9e1d8752e7e46fe98aa859093c17 (diff) |
PCI: rockchip: Add support for PCIe dma transfer function
Change-Id: Ie577d9816205c1e6d04ba666d68a6c7e57efa12d
Signed-off-by: Simon Xue <xxm@rock-chips.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/uapi/linux/rk-pcie-dma.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/include/uapi/linux/rk-pcie-dma.h b/include/uapi/linux/rk-pcie-dma.h new file mode 100644 index 000000000000..d6515389629b --- /dev/null +++ b/include/uapi/linux/rk-pcie-dma.h @@ -0,0 +1,45 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2018 Rockchip Electronics Co., Ltd. + */ + +enum transfer_type { + PCIE_DMA_DATA_SND, + PCIE_DMA_DATA_RCV_ACK, + PCIE_DMA_DATA_FREE_ACK, +}; + +union pcie_dma_ioctl_param { + struct { + u32 idx; + u32 l_widx; + u32 r_widx; + u32 size; + u32 type; + } in; + struct { + u32 lwa; + u32 rwa; + } out; + u32 lra; + u32 count; +}; + +#define PCIE_BASE 'P' +#define PCIE_DMA_START \ + _IOW(PCIE_BASE, 0, union pcie_dma_ioctl_param) +#define PCIE_DMA_GET_LOCAL_READ_BUFFER_INDEX \ + _IOR(PCIE_BASE, 1, union pcie_dma_ioctl_param) +#define PCIE_DMA_GET_LOCAL_REMOTE_WRITE_BUFFER_INDEX \ + _IOR(PCIE_BASE, 2, union pcie_dma_ioctl_param) +#define PCIE_DMA_SET_LOCAL_READ_BUFFER_INDEX \ + _IOW(PCIE_BASE, 3, union pcie_dma_ioctl_param) +#define PCIE_DMA_SYNC_BUFFER_FOR_CPU \ + _IOW(PCIE_BASE, 4, union pcie_dma_ioctl_param) +#define PCIE_DMA_SYNC_BUFFER_TO_DEVICE \ + _IOW(PCIE_BASE, 5, union pcie_dma_ioctl_param) +#define PCIE_DMA_WAIT_TRANSFER_COMPLETE \ + _IO(PCIE_BASE, 6) +#define PCIE_DMA_SET_LOOP_COUNT \ + _IOW(PCIE_BASE, 7, union pcie_dma_ioctl_param) + |