1450N/A * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. 1450N/A * Copyright (c) 2007 Dave Airlie <airlied@linux.ie> 1450N/A * Copyright (c) 2007 Jakob Bornecrantz <wallbraker@gmail.com> 1450N/A * Copyright (c) 2008 Red Hat Inc. 1450N/A * Copyright (c) 2007-2008 Tungsten Graphics, Inc., Cedar Park, TX., USA 1450N/A * Copyright (c) 2007-2008, 2013, 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 shall be included in 1450N/A * all copies or substantial portions of the Software. 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 THE 1450N/A * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 1450N/A * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 1450N/A * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 1450N/A/* bit compatible with the xorg definitions. */ 1450N/A/* bit compatible with the xorg definitions. */ 1450N/A software can still scale) */ 1450N/A/* Dithering mode options */ 1450N/A/* Planes blend with or override other bits on the CRTC */ 1450N/A /* Signed dest location allows it to be partially off screen */ 1450N/A /* Source values are 16.16 fixed point */ 1450N/A/* This is for connectors with multiple signal types. */ 1450N/A/* Try to match DRM_MODE_CONNECTOR_X as closely as possible. */ 1450N/A /* driver specific handle */ 1450N/A * In case of planar formats, this ioctl allows up to 4 1450N/A * buffer objects with offets and pitches per plane. 1450N/A * The pitch and offset order is dictated by the fourcc, 1450N/A * YUV 4:2:0 image with a plane of 8 bit Y samples 1450N/A * followed by an interleaved U/V plane containing 1450N/A * 8 bit 2x2 subsampled colour difference samples. 1450N/A * So it would consist of Y as offset[0] and UV as 1450N/A * offeset[1]. Note that offset[0] will generally 1450N/A * Mark a region of a framebuffer as dirty. 1450N/A * Some hardware does not automatically update display contents 1450N/A * as a hardware or software draw to a framebuffer. This ioctl 1450N/A * allows userspace to tell the kernel and the hardware what 1450N/A * regions of the framebuffer have changed. 1450N/A * The kernel or hardware is free to update more then just the 1450N/A * region specified by the clip rects. The kernel or hardware 1450N/A * may also delay and/or coalesce several calls to dirty into a 1450N/A * Userspace may annotate the updates, the annotates are a 1450N/A * promise made by the caller that the change is either a copy 1450N/A * of pixels or a fill of a single color in the region specified. 1450N/A * If the DRM_MODE_FB_DIRTY_ANNOTATE_COPY flag is given then 1450N/A * the number of updated regions are half of num_clips given, 1450N/A * where the clip rects are paired in src and dst. The width and 1450N/A * height of each one of the pairs must match. 1450N/A * If the DRM_MODE_FB_DIRTY_ANNOTATE_FILL flag is given the caller 1450N/A * promises that the region specified of the clip rects is filled 1450N/A * completely with a single color as given in the color argument. 1450N/A * depending on the value in flags diffrent members are used. 1450N/A * handle - if 0 turns the cursor of 1450N/A /* driver specific handle */ 1450N/A /* driver specific handle */ 1450N/A * Request a page flip on the specified crtc. 1450N/A * This ioctl will ask KMS to schedule a page flip for the specified 1450N/A * crtc. Once any pending rendering targeting the specified fb (as of 1450N/A * ioctl time) has completed, the crtc will be reprogrammed to display 1450N/A * that fb after the next vertical refresh. The ioctl returns 1450N/A * immediately, but subsequent rendering to the current fb will block 1450N/A * in the execbuffer ioctl until the page flip happens. If a page 1450N/A * flip is already pending as the ioctl is called, EBUSY will be 1450N/A * The ioctl supports one flag, DRM_MODE_PAGE_FLIP_EVENT, which will 1450N/A * request that drm sends back a vblank event (see drm.h: struct 1450N/A * drm_event_vblank) when the page flip is done. The user_data field 1450N/A * passed in with this ioctl will be returned as the user_data field 1450N/A * in the vblank event struct. 1450N/A * The reserved field must be zero until we figure out something 1450N/A/* create a dumb scanout buffer */ 1450N/A /* handle, pitch, size will be returned */ 1450N/A/* set up for mmap of a dumb scanout buffer */ 1450N/A /** Handle for the object being mapped. */ 1450N/A * Fake offset to use for subsequent mmap call 1450N/A * This is a fixed-size type for 32/64 compatibility.