summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSimon Xue <xxm@rock-chips.com>2018-11-29 15:58:26 +0800
committerTao Huang <huangtao@rock-chips.com>2018-12-11 16:07:26 +0800
commit81094fad0826a9454fcd03b9ef7f118623f754eb (patch)
treeb4fd3950fc373e9532078af05a9bc03ae1e8a157 /include
parentdf8183eff9cd9e1d8752e7e46fe98aa859093c17 (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.h45
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)
+