summaryrefslogtreecommitdiff
path: root/include/linux/vc_sm_cma_ioctl.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/vc_sm_cma_ioctl.h')
-rw-r--r--include/linux/vc_sm_cma_ioctl.h135
1 files changed, 0 insertions, 135 deletions
diff --git a/include/linux/vc_sm_cma_ioctl.h b/include/linux/vc_sm_cma_ioctl.h
deleted file mode 100644
index 21b8758e..00000000
--- a/include/linux/vc_sm_cma_ioctl.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-Copyright (c) 2012, Broadcom Europe Ltd
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- * Neither the name of the copyright holder nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
- * Copyright 2019 Raspberry Pi (Trading) Ltd. All rights reserved.
- *
- * Based on vmcs_sm_ioctl.h Copyright Broadcom Corporation.
- */
-
-#ifndef __VC_SM_CMA_IOCTL_H
-#define __VC_SM_CMA_IOCTL_H
-
-/* ---- Include Files ---------------------------------------------------- */
-
-#include <linux/types.h> /* Needed for standard types */
-
-#include <linux/ioctl.h>
-
-/* ---- Constants and Types ---------------------------------------------- */
-
-#define VC_SM_CMA_RESOURCE_NAME 32
-#define VC_SM_CMA_RESOURCE_NAME_DEFAULT "sm-host-resource"
-
-/* Type define used to create unique IOCTL number */
-#define VC_SM_CMA_MAGIC_TYPE 'J'
-
-/* IOCTL commands on /dev/vc-sm-cma */
-enum vc_sm_cma_cmd_e {
- VC_SM_CMA_CMD_ALLOC = 0x5A, /* Start at 0x5A arbitrarily */
-
- VC_SM_CMA_CMD_IMPORT_DMABUF,
-
- VC_SM_CMA_CMD_CLEAN_INVALID2,
-
- VC_SM_CMA_CMD_LAST /* Do not delete */
-};
-
-/* Cache type supported, conveniently matches the user space definition in
- * user-vcsm.h.
- */
-enum vc_sm_cma_cache_e {
- VC_SM_CMA_CACHE_NONE,
- VC_SM_CMA_CACHE_HOST,
- VC_SM_CMA_CACHE_VC,
- VC_SM_CMA_CACHE_BOTH,
-};
-
-/* IOCTL Data structures */
-struct vc_sm_cma_ioctl_alloc {
- /* user -> kernel */
- __u32 size;
- __u32 num;
- __u32 cached; /* enum vc_sm_cma_cache_e */
- __u32 pad;
- __u8 name[VC_SM_CMA_RESOURCE_NAME];
-
- /* kernel -> user */
- __s32 handle;
- __u32 vc_handle;
- __u64 dma_addr;
-};
-
-struct vc_sm_cma_ioctl_import_dmabuf {
- /* user -> kernel */
- __s32 dmabuf_fd;
- __u32 cached; /* enum vc_sm_cma_cache_e */
- __u8 name[VC_SM_CMA_RESOURCE_NAME];
-
- /* kernel -> user */
- __s32 handle;
- __u32 vc_handle;
- __u32 size;
- __u32 pad;
- __u64 dma_addr;
-};
-
-/*
- * Cache functions to be set to struct vc_sm_cma_ioctl_clean_invalid2
- * invalidate_mode.
- */
-#define VC_SM_CACHE_OP_NOP 0x00
-#define VC_SM_CACHE_OP_INV 0x01
-#define VC_SM_CACHE_OP_CLEAN 0x02
-#define VC_SM_CACHE_OP_FLUSH 0x03
-
-struct vc_sm_cma_ioctl_clean_invalid2 {
- __u32 op_count;
- __u32 pad;
- struct vc_sm_cma_ioctl_clean_invalid_block {
- __u32 invalidate_mode;
- __u32 block_count;
- void * /*__user */start_address;
- __u32 block_size;
- __u32 inter_block_stride;
- } s[0];
-};
-
-/* IOCTL numbers */
-#define VC_SM_CMA_IOCTL_MEM_ALLOC\
- _IOR(VC_SM_CMA_MAGIC_TYPE, VC_SM_CMA_CMD_ALLOC,\
- struct vc_sm_cma_ioctl_alloc)
-
-#define VC_SM_CMA_IOCTL_MEM_IMPORT_DMABUF\
- _IOR(VC_SM_CMA_MAGIC_TYPE, VC_SM_CMA_CMD_IMPORT_DMABUF,\
- struct vc_sm_cma_ioctl_import_dmabuf)
-
-#define VC_SM_CMA_IOCTL_MEM_CLEAN_INVALID2\
- _IOR(VC_SM_CMA_MAGIC_TYPE, VC_SM_CMA_CMD_CLEAN_INVALID2,\
- struct vc_sm_cma_ioctl_clean_invalid2)
-
-#endif /* __VC_SM_CMA_IOCTL_H */