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