xref: /openbmc/linux/include/uapi/drm/armada_drm.h (revision e2be04c7)
1e2be04c7SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
296f60e37SRussell King /*
396f60e37SRussell King  * Copyright (C) 2012 Russell King
496f60e37SRussell King  *  With inspiration from the i915 driver
596f60e37SRussell King  *
696f60e37SRussell King  * This program is free software; you can redistribute it and/or modify
796f60e37SRussell King  * it under the terms of the GNU General Public License version 2 as
896f60e37SRussell King  * published by the Free Software Foundation.
996f60e37SRussell King  */
1096f60e37SRussell King #ifndef DRM_ARMADA_IOCTL_H
1196f60e37SRussell King #define DRM_ARMADA_IOCTL_H
1296f60e37SRussell King 
136a14d01bSGabriel Laskar #include "drm.h"
146a14d01bSGabriel Laskar 
151224649aSEmil Velikov #if defined(__cplusplus)
161224649aSEmil Velikov extern "C" {
171224649aSEmil Velikov #endif
181224649aSEmil Velikov 
1996f60e37SRussell King #define DRM_ARMADA_GEM_CREATE		0x00
2096f60e37SRussell King #define DRM_ARMADA_GEM_MMAP		0x02
2196f60e37SRussell King #define DRM_ARMADA_GEM_PWRITE		0x03
2296f60e37SRussell King 
2396f60e37SRussell King #define ARMADA_IOCTL(dir, name, str) \
2496f60e37SRussell King 	DRM_##dir(DRM_COMMAND_BASE + DRM_ARMADA_##name, struct drm_armada_##str)
2596f60e37SRussell King 
2696f60e37SRussell King struct drm_armada_gem_create {
27adb8a5a5SMikko Rapeli 	__u32 handle;
28adb8a5a5SMikko Rapeli 	__u32 size;
2996f60e37SRussell King };
3096f60e37SRussell King #define DRM_IOCTL_ARMADA_GEM_CREATE \
3196f60e37SRussell King 	ARMADA_IOCTL(IOWR, GEM_CREATE, gem_create)
3296f60e37SRussell King 
3396f60e37SRussell King struct drm_armada_gem_mmap {
34adb8a5a5SMikko Rapeli 	__u32 handle;
35adb8a5a5SMikko Rapeli 	__u32 pad;
36adb8a5a5SMikko Rapeli 	__u64 offset;
37adb8a5a5SMikko Rapeli 	__u64 size;
38adb8a5a5SMikko Rapeli 	__u64 addr;
3996f60e37SRussell King };
4096f60e37SRussell King #define DRM_IOCTL_ARMADA_GEM_MMAP \
4196f60e37SRussell King 	ARMADA_IOCTL(IOWR, GEM_MMAP, gem_mmap)
4296f60e37SRussell King 
4396f60e37SRussell King struct drm_armada_gem_pwrite {
44adb8a5a5SMikko Rapeli 	__u64 ptr;
45adb8a5a5SMikko Rapeli 	__u32 handle;
46adb8a5a5SMikko Rapeli 	__u32 offset;
47adb8a5a5SMikko Rapeli 	__u32 size;
4896f60e37SRussell King };
4996f60e37SRussell King #define DRM_IOCTL_ARMADA_GEM_PWRITE \
5096f60e37SRussell King 	ARMADA_IOCTL(IOW, GEM_PWRITE, gem_pwrite)
5196f60e37SRussell King 
521224649aSEmil Velikov #if defined(__cplusplus)
531224649aSEmil Velikov }
541224649aSEmil Velikov #endif
551224649aSEmil Velikov 
5696f60e37SRussell King #endif
57