drm.h revision 1450
1450N/A * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. 1450N/A * Header for the Direct Rendering Manager 1450N/A * \author Rickard E. (Rik) Faith <faith@valinux.com> 1450N/A * Dec 1999, Richard Henderson <rth@twiddle.net>, move to generic \c cmpxchg. 1450N/A * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. 1450N/A * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. 1450N/A * Copyright (c) 2009, Intel Corporation. 1450N/A * Permission is hereby granted, free of charge, to any person obtaining a 1450N/A * copy of this software and associated documentation files (the "Software"), 1450N/A * to deal in the Software without restriction, including without limitation 1450N/A * the rights to use, copy, modify, merge, publish, distribute, sublicense, 1450N/A * and/or sell copies of the Software, and to permit persons to whom the 1450N/A * Software is furnished to do so, subject to the following conditions: 1450N/A * The above copyright notice and this permission notice (including the next 1450N/A * paragraph) shall be included in all copies or substantial portions of the 1450N/A * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1450N/A * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1450N/A * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 1450N/A * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 1450N/A * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 1450N/A * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 1450N/A * OTHER DEALINGS IN THE SOFTWARE. 1450N/A/* used for X server compile */ 1450N/A#
endif /* __Solaris__ or sun */ 1450N/A * \warning: If you change this structure, make sure you change 1450N/A * XF86DRIClipRectRec in the server as well 1450N/A * \note KW: Actually it's illegal to change either for 1450N/A * backwards-compatibility reasons. 1450N/A * The lock structure is a simple cache-line aligned integer. To avoid 1450N/A * processor bus contention on a multiprocessor system, there should not be any 1450N/A * other data stored in the same cache line. 1450N/A * DRM_IOCTL_VERSION ioctl argument type. 1450N/A * DRM_IOCTL_GET_UNIQUE ioctl argument type. 1450N/A * \sa drmGetBusid() and drmSetBusId(). 1450N/A * DRM_IOCTL_CONTROL ioctl argument type. 1450N/A * \sa drmCtlInstHandler() and drmCtlUninstHandler(). 1450N/A unsigned int ctx_id;
/**< Context requesting private mapping */ 1450N/A * DRM_IOCTL_GET_MAP, DRM_IOCTL_ADD_MAP and DRM_IOCTL_RM_MAP ioctls 1450N/A unsigned long long offset;
/**< Requested physical address (0 for SAREA)*/ 1450N/A /**< User-space: "Handle" to pass to mmap() */ 1450N/A /**< Kernel-space: kernel-virtual address */ 1450N/A unsigned long size;
/**< Requested physical size (bytes) */ 1450N/A * DRM_IOCTL_GET_CLIENT ioctl argument type. 1450N/A /* Add to the *END* of the list */ 1450N/A * DRM_IOCTL_GET_STATS ioctl argument type. 1450N/A /* These *HALT* flags aren't supported yet 1450N/A -- they will be used to support the 1450N/A full-screen DGA-like mode. */ 1450N/A * DRM_IOCTL_LOCK, DRM_IOCTL_UNLOCK and DRM_IOCTL_FINISH ioctl argument type. 1450N/A * \sa drmGetLock() and drmUnlock(). 1450N/A /* Flags for DMA buffer dispatch */ 1450N/A * Block until buffer dispatched. 1450N/A * \note The buffer may not yet have 1450N/A * been processed by the hardware -- 1450N/A * getting a hardware lock with the 1450N/A * hardware quiescent will ensure 1450N/A /* Flags for DMA buffer request */ 1450N/A * DRM_IOCTL_ADD_BUFS and DRM_IOCTL_MARK_BUFS ioctl argument type. 1450N/A * Start address of where the AGP buffers are 1450N/A * DRM_IOCTL_INFO_BUFS ioctl argument type. 1450N/A * DRM_IOCTL_FREE_BUFS ioctl argument type. 1450N/A int idx;
/**< Index into the master buffer list */ 1450N/A int used;
/**< Amount of buffer in use (for DMA) */ 1450N/A * DRM_IOCTL_MAP_BUFS ioctl argument type. 1450N/A * DRM_IOCTL_DMA ioctl argument type. 1450N/A * Indices here refer to the offset into the buffer list in drm_buf_get. 1450N/A * DRM_IOCTL_ADD_CTX ioctl argument type. 1450N/A * \sa drmCreateContext() and drmDestroyContext(). 1450N/A * DRM_IOCTL_RES_CTX ioctl argument type. 1450N/A * DRM_IOCTL_ADD_DRAW and DRM_IOCTL_RM_DRAW ioctl argument type. 1450N/A * DRM_IOCTL_UPDATE_DRAW ioctl argument type. 1450N/A * DRM_IOCTL_GET_MAGIC and DRM_IOCTL_AUTH_MAGIC ioctl argument type. 1450N/A * DRM_IOCTL_IRQ_BUSID ioctl argument type. 1450N/A * \sa drmGetInterruptFromBusID(). 1450N/A /* bits 1-6 are reserved for high crtcs */ 1450N/A * DRM_IOCTL_WAIT_VBLANK ioctl argument type. 1450N/A * DRM_IOCTL_MODESET_CTL ioctl argument type 1450N/A * DRM_IOCTL_AGP_ENABLE ioctl argument type. 1450N/A * DRM_IOCTL_AGP_ALLOC and DRM_IOCTL_AGP_FREE ioctls argument type. 1450N/A * \sa drmAgpAlloc() and drmAgpFree(). 1450N/A unsigned long size;
/**< In bytes -- will round to page boundary */ 1450N/A unsigned long handle;
/**< Used for binding / unbinding */ 1450N/A unsigned long type;
/**< Type of memory to allocate */ 1450N/A * DRM_IOCTL_AGP_BIND and DRM_IOCTL_AGP_UNBIND ioctls argument type. 1450N/A * \sa drmAgpBind() and drmAgpUnbind(). 1450N/A unsigned long offset;
/**< In bytes -- will round to page boundary */ 1450N/A * DRM_IOCTL_AGP_INFO ioctl argument type. 1450N/A * \sa drmAgpVersionMajor(), drmAgpVersionMinor(), drmAgpGetMode(), 1450N/A * drmAgpBase(), drmAgpSize(), drmAgpMemoryUsed(), drmAgpMemoryAvail(), 1450N/A * drmAgpVendorId() and drmAgpDeviceId(). 1450N/A * DRM_IOCTL_SG_ALLOC ioctl argument type. 1450N/A unsigned long size;
/**< In bytes -- will round to page boundary */ 1450N/A unsigned long handle;
/**< Used for mapping / unmapping */ 1450N/A * DRM_IOCTL_SET_VERSION ioctl argument type. 1450N/A/** DRM_IOCTL_GEM_CLOSE ioctl argument type */ 1450N/A /** Handle of the object to be closed. */ 1450N/A/** DRM_IOCTL_GEM_FLINK ioctl argument type */ 1450N/A /** Handle for the object being named */ 1450N/A /** Returned global name */ 1450N/A/** DRM_IOCTL_GEM_OPEN ioctl argument type */ 1450N/A /** Name of object being opened */ 1450N/A /** Returned handle for the object */ 1450N/A /** Returned size of the object */ 1450N/A/** DRM_IOCTL_GET_CAP ioctl argument type */ 1450N/A /** Flags.. only applicable for handle->fd */ 1450N/A /** Returned dmabuf file descriptor */ 1450N/A * Device specific ioctls should only be in their respective headers 1450N/A * The device specific ioctl range is from 0x40 to 0x99. 1450N/A * Generic IOCTLS restart at 0xA0. 1450N/A * \sa drmCommandNone(), drmCommandRead(), drmCommandWrite(), and 1450N/A * Header for events written back to userspace on the drm fd. The 1450N/A * type defines the type of event, the length specifies the total 1450N/A * length of the event (including the header), and user_data is 1450N/A * typically a 64 bit value passed with the ioctl that triggered the 1450N/A * event. A read on the drm fd will always only return complete 1450N/A * events, that is, if for example the read buffer is 100 bytes, and 1450N/A * there are two 64 byte events pending, only one will be returned. 1450N/A * Event types 0 - 0x7fffffff are generic drm events, 0x80000000 and