18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (C) 2012 Russell King 48c2ecf20Sopenharmony_ci * With inspiration from the i915 driver 58c2ecf20Sopenharmony_ci * 68c2ecf20Sopenharmony_ci * This program is free software; you can redistribute it and/or modify 78c2ecf20Sopenharmony_ci * it under the terms of the GNU General Public License version 2 as 88c2ecf20Sopenharmony_ci * published by the Free Software Foundation. 98c2ecf20Sopenharmony_ci */ 108c2ecf20Sopenharmony_ci#ifndef DRM_ARMADA_IOCTL_H 118c2ecf20Sopenharmony_ci#define DRM_ARMADA_IOCTL_H 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci#include "drm.h" 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci#if defined(__cplusplus) 168c2ecf20Sopenharmony_ciextern "C" { 178c2ecf20Sopenharmony_ci#endif 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci#define DRM_ARMADA_GEM_CREATE 0x00 208c2ecf20Sopenharmony_ci#define DRM_ARMADA_GEM_MMAP 0x02 218c2ecf20Sopenharmony_ci#define DRM_ARMADA_GEM_PWRITE 0x03 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci#define ARMADA_IOCTL(dir, name, str) \ 248c2ecf20Sopenharmony_ci DRM_##dir(DRM_COMMAND_BASE + DRM_ARMADA_##name, struct drm_armada_##str) 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_cistruct drm_armada_gem_create { 278c2ecf20Sopenharmony_ci __u32 handle; 288c2ecf20Sopenharmony_ci __u32 size; 298c2ecf20Sopenharmony_ci}; 308c2ecf20Sopenharmony_ci#define DRM_IOCTL_ARMADA_GEM_CREATE \ 318c2ecf20Sopenharmony_ci ARMADA_IOCTL(IOWR, GEM_CREATE, gem_create) 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_cistruct drm_armada_gem_mmap { 348c2ecf20Sopenharmony_ci __u32 handle; 358c2ecf20Sopenharmony_ci __u32 pad; 368c2ecf20Sopenharmony_ci __u64 offset; 378c2ecf20Sopenharmony_ci __u64 size; 388c2ecf20Sopenharmony_ci __u64 addr; 398c2ecf20Sopenharmony_ci}; 408c2ecf20Sopenharmony_ci#define DRM_IOCTL_ARMADA_GEM_MMAP \ 418c2ecf20Sopenharmony_ci ARMADA_IOCTL(IOWR, GEM_MMAP, gem_mmap) 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_cistruct drm_armada_gem_pwrite { 448c2ecf20Sopenharmony_ci __u64 ptr; 458c2ecf20Sopenharmony_ci __u32 handle; 468c2ecf20Sopenharmony_ci __u32 offset; 478c2ecf20Sopenharmony_ci __u32 size; 488c2ecf20Sopenharmony_ci}; 498c2ecf20Sopenharmony_ci#define DRM_IOCTL_ARMADA_GEM_PWRITE \ 508c2ecf20Sopenharmony_ci ARMADA_IOCTL(IOW, GEM_PWRITE, gem_pwrite) 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci#if defined(__cplusplus) 538c2ecf20Sopenharmony_ci} 548c2ecf20Sopenharmony_ci#endif 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci#endif 57