xref: /openbmc/linux/include/uapi/drm/armada_drm.h (revision 6a14d01b)
196f60e37SRussell King /*
296f60e37SRussell King  * Copyright (C) 2012 Russell King
396f60e37SRussell King  *  With inspiration from the i915 driver
496f60e37SRussell King  *
596f60e37SRussell King  * This program is free software; you can redistribute it and/or modify
696f60e37SRussell King  * it under the terms of the GNU General Public License version 2 as
796f60e37SRussell King  * published by the Free Software Foundation.
896f60e37SRussell King  */
996f60e37SRussell King #ifndef DRM_ARMADA_IOCTL_H
1096f60e37SRussell King #define DRM_ARMADA_IOCTL_H
1196f60e37SRussell King 
126a14d01bSGabriel Laskar #include "drm.h"
136a14d01bSGabriel Laskar 
1496f60e37SRussell King #define DRM_ARMADA_GEM_CREATE		0x00
1596f60e37SRussell King #define DRM_ARMADA_GEM_MMAP		0x02
1696f60e37SRussell King #define DRM_ARMADA_GEM_PWRITE		0x03
1796f60e37SRussell King 
1896f60e37SRussell King #define ARMADA_IOCTL(dir, name, str) \
1996f60e37SRussell King 	DRM_##dir(DRM_COMMAND_BASE + DRM_ARMADA_##name, struct drm_armada_##str)
2096f60e37SRussell King 
2196f60e37SRussell King struct drm_armada_gem_create {
2296f60e37SRussell King 	uint32_t handle;
2396f60e37SRussell King 	uint32_t size;
2496f60e37SRussell King };
2596f60e37SRussell King #define DRM_IOCTL_ARMADA_GEM_CREATE \
2696f60e37SRussell King 	ARMADA_IOCTL(IOWR, GEM_CREATE, gem_create)
2796f60e37SRussell King 
2896f60e37SRussell King struct drm_armada_gem_mmap {
2996f60e37SRussell King 	uint32_t handle;
3096f60e37SRussell King 	uint32_t pad;
3196f60e37SRussell King 	uint64_t offset;
3296f60e37SRussell King 	uint64_t size;
3396f60e37SRussell King 	uint64_t addr;
3496f60e37SRussell King };
3596f60e37SRussell King #define DRM_IOCTL_ARMADA_GEM_MMAP \
3696f60e37SRussell King 	ARMADA_IOCTL(IOWR, GEM_MMAP, gem_mmap)
3796f60e37SRussell King 
3896f60e37SRussell King struct drm_armada_gem_pwrite {
3996f60e37SRussell King 	uint64_t ptr;
4096f60e37SRussell King 	uint32_t handle;
4196f60e37SRussell King 	uint32_t offset;
4296f60e37SRussell King 	uint32_t size;
4396f60e37SRussell King };
4496f60e37SRussell King #define DRM_IOCTL_ARMADA_GEM_PWRITE \
4596f60e37SRussell King 	ARMADA_IOCTL(IOW, GEM_PWRITE, gem_pwrite)
4696f60e37SRussell King 
4796f60e37SRussell King #endif
48