blob: af1c14c837c5af256ea89e1086d25861cf46970e [file] [log] [blame]
Greg Kroah-Hartmane2be04c2017-11-01 15:09:13 +01001/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
Russell King96f60e32012-08-15 13:59:49 +01002/*
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
Gabriel Laskar6a14d012015-11-30 15:10:41 +010013#include "drm.h"
14
Emil Velikov12246492016-04-07 18:47:05 +010015#if defined(__cplusplus)
16extern "C" {
17#endif
18
Russell King96f60e32012-08-15 13:59:49 +010019#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
26struct drm_armada_gem_create {
Mikko Rapeliadb8a5a2017-08-06 18:44:23 +020027 __u32 handle;
28 __u32 size;
Russell King96f60e32012-08-15 13:59:49 +010029};
30#define DRM_IOCTL_ARMADA_GEM_CREATE \
31 ARMADA_IOCTL(IOWR, GEM_CREATE, gem_create)
32
33struct drm_armada_gem_mmap {
Mikko Rapeliadb8a5a2017-08-06 18:44:23 +020034 __u32 handle;
35 __u32 pad;
36 __u64 offset;
37 __u64 size;
38 __u64 addr;
Russell King96f60e32012-08-15 13:59:49 +010039};
40#define DRM_IOCTL_ARMADA_GEM_MMAP \
41 ARMADA_IOCTL(IOWR, GEM_MMAP, gem_mmap)
42
43struct drm_armada_gem_pwrite {
Mikko Rapeliadb8a5a2017-08-06 18:44:23 +020044 __u64 ptr;
45 __u32 handle;
46 __u32 offset;
47 __u32 size;
Russell King96f60e32012-08-15 13:59:49 +010048};
49#define DRM_IOCTL_ARMADA_GEM_PWRITE \
50 ARMADA_IOCTL(IOW, GEM_PWRITE, gem_pwrite)
51
Emil Velikov12246492016-04-07 18:47:05 +010052#if defined(__cplusplus)
53}
54#endif
55
Russell King96f60e32012-08-15 13:59:49 +010056#endif