Home | History | Annotate | Download | only in drm
      1 /*
      2  * Copyright (C) 2012 Russell King
      3  *  With inspiration from the i915 driver
      4  *
      5  * This program is free software; you can redistribute it and/or modify
      6  * it under the terms of the GNU General Public License version 2 as
      7  * published by the Free Software Foundation.
      8  */
      9 #ifndef DRM_ARMADA_IOCTL_H
     10 #define DRM_ARMADA_IOCTL_H
     11 
     12 #define DRM_ARMADA_GEM_CREATE		0x00
     13 #define DRM_ARMADA_GEM_MMAP		0x02
     14 #define DRM_ARMADA_GEM_PWRITE		0x03
     15 
     16 #define ARMADA_IOCTL(dir, name, str) \
     17 	DRM_##dir(DRM_COMMAND_BASE + DRM_ARMADA_##name, struct drm_armada_##str)
     18 
     19 struct drm_armada_gem_create {
     20 	uint32_t handle;
     21 	uint32_t size;
     22 };
     23 #define DRM_IOCTL_ARMADA_GEM_CREATE \
     24 	ARMADA_IOCTL(IOWR, GEM_CREATE, gem_create)
     25 
     26 struct drm_armada_gem_mmap {
     27 	uint32_t handle;
     28 	uint32_t pad;
     29 	uint64_t offset;
     30 	uint64_t size;
     31 	uint64_t addr;
     32 };
     33 #define DRM_IOCTL_ARMADA_GEM_MMAP \
     34 	ARMADA_IOCTL(IOWR, GEM_MMAP, gem_mmap)
     35 
     36 struct drm_armada_gem_pwrite {
     37 	uint64_t ptr;
     38 	uint32_t handle;
     39 	uint32_t offset;
     40 	uint32_t size;
     41 };
     42 #define DRM_IOCTL_ARMADA_GEM_PWRITE \
     43 	ARMADA_IOCTL(IOW, GEM_PWRITE, gem_pwrite)
     44 
     45 #endif
     46