blob: af1c14c837c5af256ea89e1086d25861cf46970e [file] [log] [blame]
Christopher Ferris25981132017-11-14 16:53:49 -08001/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
Christopher Ferrise0845012014-07-09 14:58:51 -07002/*
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
Christopher Ferrisccfaccd2016-08-24 12:11:31 -070013#include "drm.h"
14
15#if defined(__cplusplus)
16extern "C" {
17#endif
18
Christopher Ferrise0845012014-07-09 14:58:51 -070019#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 {
Christopher Ferris25981132017-11-14 16:53:49 -080027 __u32 handle;
28 __u32 size;
Christopher Ferrise0845012014-07-09 14:58:51 -070029};
30#define DRM_IOCTL_ARMADA_GEM_CREATE \
31 ARMADA_IOCTL(IOWR, GEM_CREATE, gem_create)
32
33struct drm_armada_gem_mmap {
Christopher Ferris25981132017-11-14 16:53:49 -080034 __u32 handle;
35 __u32 pad;
36 __u64 offset;
37 __u64 size;
38 __u64 addr;
Christopher Ferrise0845012014-07-09 14:58:51 -070039};
40#define DRM_IOCTL_ARMADA_GEM_MMAP \
41 ARMADA_IOCTL(IOWR, GEM_MMAP, gem_mmap)
42
43struct drm_armada_gem_pwrite {
Christopher Ferris25981132017-11-14 16:53:49 -080044 __u64 ptr;
45 __u32 handle;
46 __u32 offset;
47 __u32 size;
Christopher Ferrise0845012014-07-09 14:58:51 -070048};
49#define DRM_IOCTL_ARMADA_GEM_PWRITE \
50 ARMADA_IOCTL(IOW, GEM_PWRITE, gem_pwrite)
51
Christopher Ferrisccfaccd2016-08-24 12:11:31 -070052#if defined(__cplusplus)
53}
54#endif
55
Christopher Ferrise0845012014-07-09 14:58:51 -070056#endif