diff options
Diffstat (limited to 'include/uapi/linux/rk-pcie-dma.h')
-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) + |