| 1 |
|
| 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
|