| /* |
| * drivers/staging/android/uapi/ion.h |
| * |
| * Copyright (C) 2011 Google, Inc. |
| * |
| * This software is licensed under the terms of the GNU General Public |
| * License version 2, as published by the Free Software Foundation, and |
| * may be copied, distributed, and modified under those terms. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| * |
| */ |
| |
| #ifndef _UAPI_LINUX_ION_TEST_H |
| #define _UAPI_LINUX_ION_TEST_H |
| |
| #include <linux/ioctl.h> |
| #include <linux/types.h> |
| |
| /** |
| * struct ion_test_rw_data - metadata passed to the kernel to read handle |
| * @ptr: a pointer to an area at least as large as size |
| * @offset: offset into the ion buffer to start reading |
| * @size: size to read or write |
| * @write: 1 to write, 0 to read |
| */ |
| struct ion_test_rw_data { |
| __u64 ptr; |
| __u64 offset; |
| __u64 size; |
| int write; |
| int __padding; |
| }; |
| |
| #define ION_IOC_MAGIC 'I' |
| |
| /** |
| * DOC: ION_IOC_TEST_SET_DMA_BUF - attach a dma buf to the test driver |
| * |
| * Attaches a dma buf fd to the test driver. Passing a second fd or -1 will |
| * release the first fd. |
| */ |
| #define ION_IOC_TEST_SET_FD \ |
| _IO(ION_IOC_MAGIC, 0xf0) |
| |
| /** |
| * DOC: ION_IOC_TEST_DMA_MAPPING - read or write memory from a handle as DMA |
| * |
| * Reads or writes the memory from a handle using an uncached mapping. Can be |
| * used by unit tests to emulate a DMA engine as close as possible. Only |
| * expected to be used for debugging and testing, may not always be available. |
| */ |
| #define ION_IOC_TEST_DMA_MAPPING \ |
| _IOW(ION_IOC_MAGIC, 0xf1, struct ion_test_rw_data) |
| |
| /** |
| * DOC: ION_IOC_TEST_KERNEL_MAPPING - read or write memory from a handle |
| * |
| * Reads or writes the memory from a handle using a kernel mapping. Can be |
| * used by unit tests to test heap map_kernel functions. Only expected to be |
| * used for debugging and testing, may not always be available. |
| */ |
| #define ION_IOC_TEST_KERNEL_MAPPING \ |
| _IOW(ION_IOC_MAGIC, 0xf2, struct ion_test_rw_data) |
| |
| |
| #endif /* _UAPI_LINUX_ION_H */ |