xref: /aosp_15_r20/external/igt-gpu-tools/include/drm-uapi/armada_drm.h (revision d83cc019efdc2edc6c4b16e9034a3ceb8d35d77c)
1*d83cc019SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2*d83cc019SAndroid Build Coastguard Worker /*
3*d83cc019SAndroid Build Coastguard Worker  * Copyright (C) 2012 Russell King
4*d83cc019SAndroid Build Coastguard Worker  *  With inspiration from the i915 driver
5*d83cc019SAndroid Build Coastguard Worker  *
6*d83cc019SAndroid Build Coastguard Worker  * This program is free software; you can redistribute it and/or modify
7*d83cc019SAndroid Build Coastguard Worker  * it under the terms of the GNU General Public License version 2 as
8*d83cc019SAndroid Build Coastguard Worker  * published by the Free Software Foundation.
9*d83cc019SAndroid Build Coastguard Worker  */
10*d83cc019SAndroid Build Coastguard Worker #ifndef DRM_ARMADA_IOCTL_H
11*d83cc019SAndroid Build Coastguard Worker #define DRM_ARMADA_IOCTL_H
12*d83cc019SAndroid Build Coastguard Worker 
13*d83cc019SAndroid Build Coastguard Worker #include "drm.h"
14*d83cc019SAndroid Build Coastguard Worker 
15*d83cc019SAndroid Build Coastguard Worker #if defined(__cplusplus)
16*d83cc019SAndroid Build Coastguard Worker extern "C" {
17*d83cc019SAndroid Build Coastguard Worker #endif
18*d83cc019SAndroid Build Coastguard Worker 
19*d83cc019SAndroid Build Coastguard Worker #define DRM_ARMADA_GEM_CREATE		0x00
20*d83cc019SAndroid Build Coastguard Worker #define DRM_ARMADA_GEM_MMAP		0x02
21*d83cc019SAndroid Build Coastguard Worker #define DRM_ARMADA_GEM_PWRITE		0x03
22*d83cc019SAndroid Build Coastguard Worker 
23*d83cc019SAndroid Build Coastguard Worker #define ARMADA_IOCTL(dir, name, str) \
24*d83cc019SAndroid Build Coastguard Worker 	DRM_##dir(DRM_COMMAND_BASE + DRM_ARMADA_##name, struct drm_armada_##str)
25*d83cc019SAndroid Build Coastguard Worker 
26*d83cc019SAndroid Build Coastguard Worker struct drm_armada_gem_create {
27*d83cc019SAndroid Build Coastguard Worker 	__u32 handle;
28*d83cc019SAndroid Build Coastguard Worker 	__u32 size;
29*d83cc019SAndroid Build Coastguard Worker };
30*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_ARMADA_GEM_CREATE \
31*d83cc019SAndroid Build Coastguard Worker 	ARMADA_IOCTL(IOWR, GEM_CREATE, gem_create)
32*d83cc019SAndroid Build Coastguard Worker 
33*d83cc019SAndroid Build Coastguard Worker struct drm_armada_gem_mmap {
34*d83cc019SAndroid Build Coastguard Worker 	__u32 handle;
35*d83cc019SAndroid Build Coastguard Worker 	__u32 pad;
36*d83cc019SAndroid Build Coastguard Worker 	__u64 offset;
37*d83cc019SAndroid Build Coastguard Worker 	__u64 size;
38*d83cc019SAndroid Build Coastguard Worker 	__u64 addr;
39*d83cc019SAndroid Build Coastguard Worker };
40*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_ARMADA_GEM_MMAP \
41*d83cc019SAndroid Build Coastguard Worker 	ARMADA_IOCTL(IOWR, GEM_MMAP, gem_mmap)
42*d83cc019SAndroid Build Coastguard Worker 
43*d83cc019SAndroid Build Coastguard Worker struct drm_armada_gem_pwrite {
44*d83cc019SAndroid Build Coastguard Worker 	__u64 ptr;
45*d83cc019SAndroid Build Coastguard Worker 	__u32 handle;
46*d83cc019SAndroid Build Coastguard Worker 	__u32 offset;
47*d83cc019SAndroid Build Coastguard Worker 	__u32 size;
48*d83cc019SAndroid Build Coastguard Worker };
49*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_ARMADA_GEM_PWRITE \
50*d83cc019SAndroid Build Coastguard Worker 	ARMADA_IOCTL(IOW, GEM_PWRITE, gem_pwrite)
51*d83cc019SAndroid Build Coastguard Worker 
52*d83cc019SAndroid Build Coastguard Worker #if defined(__cplusplus)
53*d83cc019SAndroid Build Coastguard Worker }
54*d83cc019SAndroid Build Coastguard Worker #endif
55*d83cc019SAndroid Build Coastguard Worker 
56*d83cc019SAndroid Build Coastguard Worker #endif
57