forked from KolibriOS/kolibrios
ddk: v4.5.7
git-svn-id: svn://kolibrios.org@6936 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -54,6 +54,7 @@ typedef int32_t __s32;
|
||||
typedef uint32_t __u32;
|
||||
typedef int64_t __s64;
|
||||
typedef uint64_t __u64;
|
||||
typedef size_t __kernel_size_t;
|
||||
typedef unsigned long drm_handle_t;
|
||||
|
||||
#endif
|
||||
@@ -129,11 +130,11 @@ struct drm_version {
|
||||
int version_major; /**< Major version */
|
||||
int version_minor; /**< Minor version */
|
||||
int version_patchlevel; /**< Patch level */
|
||||
size_t name_len; /**< Length of name buffer */
|
||||
__kernel_size_t name_len; /**< Length of name buffer */
|
||||
char __user *name; /**< Name of driver */
|
||||
size_t date_len; /**< Length of date buffer */
|
||||
__kernel_size_t date_len; /**< Length of date buffer */
|
||||
char __user *date; /**< User-space buffer to hold date */
|
||||
size_t desc_len; /**< Length of desc buffer */
|
||||
__kernel_size_t desc_len; /**< Length of desc buffer */
|
||||
char __user *desc; /**< User-space buffer to hold desc */
|
||||
};
|
||||
|
||||
@@ -143,7 +144,7 @@ struct drm_version {
|
||||
* \sa drmGetBusid() and drmSetBusId().
|
||||
*/
|
||||
struct drm_unique {
|
||||
size_t unique_len; /**< Length of unique */
|
||||
__kernel_size_t unique_len; /**< Length of unique */
|
||||
char __user *unique; /**< Unique name for driver instantiation */
|
||||
};
|
||||
|
||||
|
@@ -24,7 +24,7 @@
|
||||
#ifndef DRM_FOURCC_H
|
||||
#define DRM_FOURCC_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include "drm.h"
|
||||
|
||||
#define fourcc_code(a, b, c, d) ((__u32)(a) | ((__u32)(b) << 8) | \
|
||||
((__u32)(c) << 16) | ((__u32)(d) << 24))
|
||||
@@ -225,7 +225,7 @@
|
||||
* - multiple of 128 pixels for the width
|
||||
* - multiple of 32 pixels for the height
|
||||
*
|
||||
* For more information: see http://linuxtv.org/downloads/v4l-dvb-apis/re32.html
|
||||
* For more information: see https://linuxtv.org/downloads/v4l-dvb-apis/re32.html
|
||||
*/
|
||||
#define DRM_FORMAT_MOD_SAMSUNG_64_32_TILE fourcc_mod_code(SAMSUNG, 1)
|
||||
|
||||
|
@@ -27,7 +27,7 @@
|
||||
#ifndef _DRM_MODE_H
|
||||
#define _DRM_MODE_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include "drm.h"
|
||||
|
||||
#define DRM_DISPLAY_INFO_LEN 32
|
||||
#define DRM_CONNECTOR_NAME_LEN 32
|
||||
@@ -526,14 +526,14 @@ struct drm_mode_crtc_page_flip {
|
||||
|
||||
/* create a dumb scanout buffer */
|
||||
struct drm_mode_create_dumb {
|
||||
uint32_t height;
|
||||
uint32_t width;
|
||||
uint32_t bpp;
|
||||
uint32_t flags;
|
||||
__u32 height;
|
||||
__u32 width;
|
||||
__u32 bpp;
|
||||
__u32 flags;
|
||||
/* handle, pitch, size will be returned */
|
||||
uint32_t handle;
|
||||
uint32_t pitch;
|
||||
uint64_t size;
|
||||
__u32 handle;
|
||||
__u32 pitch;
|
||||
__u64 size;
|
||||
};
|
||||
|
||||
/* set up for mmap of a dumb scanout buffer */
|
||||
@@ -550,7 +550,7 @@ struct drm_mode_map_dumb {
|
||||
};
|
||||
|
||||
struct drm_mode_destroy_dumb {
|
||||
uint32_t handle;
|
||||
__u32 handle;
|
||||
};
|
||||
|
||||
/* page-flip flags are valid, plus: */
|
||||
|
@@ -32,7 +32,7 @@
|
||||
#ifndef _DRM_SAREA_H_
|
||||
#define _DRM_SAREA_H_
|
||||
|
||||
#include <drm/drm.h>
|
||||
#include "drm.h"
|
||||
|
||||
/* SAREA area needs to be at least a page */
|
||||
#if defined(__alpha__)
|
||||
|
@@ -27,7 +27,7 @@
|
||||
#ifndef _UAPI_I915_DRM_H_
|
||||
#define _UAPI_I915_DRM_H_
|
||||
|
||||
#include <drm/drm.h>
|
||||
#include "drm.h"
|
||||
|
||||
/* Please note that modifications to all structs defined here are
|
||||
* subject to backwards-compatibility constraints.
|
||||
@@ -356,6 +356,7 @@ typedef struct drm_i915_irq_wait {
|
||||
#define I915_PARAM_EU_TOTAL 34
|
||||
#define I915_PARAM_HAS_GPU_RESET 35
|
||||
#define I915_PARAM_HAS_RESOURCE_STREAMER 36
|
||||
#define I915_PARAM_HAS_EXEC_SOFTPIN 37
|
||||
|
||||
typedef struct drm_i915_getparam {
|
||||
__s32 param;
|
||||
@@ -682,8 +683,12 @@ struct drm_i915_gem_exec_object2 {
|
||||
__u64 alignment;
|
||||
|
||||
/**
|
||||
* Returned value of the updated offset of the object, for future
|
||||
* presumed_offset writes.
|
||||
* When the EXEC_OBJECT_PINNED flag is specified this is populated by
|
||||
* the user with the GTT offset at which this object will be pinned.
|
||||
* When the I915_EXEC_NO_RELOC flag is specified this must contain the
|
||||
* presumed_offset of the object.
|
||||
* During execbuffer2 the kernel populates it with the value of the
|
||||
* current GTT offset of the object, for future presumed_offset writes.
|
||||
*/
|
||||
__u64 offset;
|
||||
|
||||
@@ -691,7 +696,8 @@ struct drm_i915_gem_exec_object2 {
|
||||
#define EXEC_OBJECT_NEEDS_GTT (1<<1)
|
||||
#define EXEC_OBJECT_WRITE (1<<2)
|
||||
#define EXEC_OBJECT_SUPPORTS_48B_ADDRESS (1<<3)
|
||||
#define __EXEC_OBJECT_UNKNOWN_FLAGS -(EXEC_OBJECT_SUPPORTS_48B_ADDRESS<<1)
|
||||
#define EXEC_OBJECT_PINNED (1<<4)
|
||||
#define __EXEC_OBJECT_UNKNOWN_FLAGS -(EXEC_OBJECT_PINNED<<1)
|
||||
__u64 flags;
|
||||
|
||||
__u64 rsvd1;
|
||||
@@ -1079,6 +1085,12 @@ struct drm_i915_gem_context_destroy {
|
||||
};
|
||||
|
||||
struct drm_i915_reg_read {
|
||||
/*
|
||||
* Register offset.
|
||||
* For 64bit wide registers where the upper 32bits don't immediately
|
||||
* follow the lower 32bits, the offset of the lower 32bits must
|
||||
* be specified
|
||||
*/
|
||||
__u64 offset;
|
||||
__u64 val; /* Return value */
|
||||
};
|
||||
@@ -1127,6 +1139,7 @@ struct drm_i915_gem_context_param {
|
||||
__u64 param;
|
||||
#define I915_CONTEXT_PARAM_BAN_PERIOD 0x1
|
||||
#define I915_CONTEXT_PARAM_NO_ZEROMAP 0x2
|
||||
#define I915_CONTEXT_PARAM_GTT_SIZE 0x3
|
||||
__u64 value;
|
||||
};
|
||||
|
||||
|
@@ -793,9 +793,9 @@ typedef struct drm_radeon_surface_free {
|
||||
#define RADEON_GEM_DOMAIN_VRAM 0x4
|
||||
|
||||
struct drm_radeon_gem_info {
|
||||
uint64_t gart_size;
|
||||
uint64_t vram_size;
|
||||
uint64_t vram_visible;
|
||||
__u64 gart_size;
|
||||
__u64 vram_size;
|
||||
__u64 vram_visible;
|
||||
};
|
||||
|
||||
#define RADEON_GEM_NO_BACKING_STORE (1 << 0)
|
||||
@@ -807,11 +807,11 @@ struct drm_radeon_gem_info {
|
||||
#define RADEON_GEM_NO_CPU_ACCESS (1 << 4)
|
||||
|
||||
struct drm_radeon_gem_create {
|
||||
uint64_t size;
|
||||
uint64_t alignment;
|
||||
uint32_t handle;
|
||||
uint32_t initial_domain;
|
||||
uint32_t flags;
|
||||
__u64 size;
|
||||
__u64 alignment;
|
||||
__u32 handle;
|
||||
__u32 initial_domain;
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -825,10 +825,10 @@ struct drm_radeon_gem_create {
|
||||
#define RADEON_GEM_USERPTR_REGISTER (1 << 3)
|
||||
|
||||
struct drm_radeon_gem_userptr {
|
||||
uint64_t addr;
|
||||
uint64_t size;
|
||||
uint32_t flags;
|
||||
uint32_t handle;
|
||||
__u64 addr;
|
||||
__u64 size;
|
||||
__u32 flags;
|
||||
__u32 handle;
|
||||
};
|
||||
|
||||
#define RADEON_TILING_MACRO 0x1
|
||||
@@ -850,72 +850,72 @@ struct drm_radeon_gem_userptr {
|
||||
#define RADEON_TILING_EG_STENCIL_TILE_SPLIT_MASK 0xf
|
||||
|
||||
struct drm_radeon_gem_set_tiling {
|
||||
uint32_t handle;
|
||||
uint32_t tiling_flags;
|
||||
uint32_t pitch;
|
||||
__u32 handle;
|
||||
__u32 tiling_flags;
|
||||
__u32 pitch;
|
||||
};
|
||||
|
||||
struct drm_radeon_gem_get_tiling {
|
||||
uint32_t handle;
|
||||
uint32_t tiling_flags;
|
||||
uint32_t pitch;
|
||||
__u32 handle;
|
||||
__u32 tiling_flags;
|
||||
__u32 pitch;
|
||||
};
|
||||
|
||||
struct drm_radeon_gem_mmap {
|
||||
uint32_t handle;
|
||||
uint32_t pad;
|
||||
uint64_t offset;
|
||||
uint64_t size;
|
||||
uint64_t addr_ptr;
|
||||
__u32 handle;
|
||||
__u32 pad;
|
||||
__u64 offset;
|
||||
__u64 size;
|
||||
__u64 addr_ptr;
|
||||
};
|
||||
|
||||
struct drm_radeon_gem_set_domain {
|
||||
uint32_t handle;
|
||||
uint32_t read_domains;
|
||||
uint32_t write_domain;
|
||||
__u32 handle;
|
||||
__u32 read_domains;
|
||||
__u32 write_domain;
|
||||
};
|
||||
|
||||
struct drm_radeon_gem_wait_idle {
|
||||
uint32_t handle;
|
||||
uint32_t pad;
|
||||
__u32 handle;
|
||||
__u32 pad;
|
||||
};
|
||||
|
||||
struct drm_radeon_gem_busy {
|
||||
uint32_t handle;
|
||||
uint32_t domain;
|
||||
__u32 handle;
|
||||
__u32 domain;
|
||||
};
|
||||
|
||||
struct drm_radeon_gem_pread {
|
||||
/** Handle for the object being read. */
|
||||
uint32_t handle;
|
||||
uint32_t pad;
|
||||
__u32 handle;
|
||||
__u32 pad;
|
||||
/** Offset into the object to read from */
|
||||
uint64_t offset;
|
||||
__u64 offset;
|
||||
/** Length of data to read */
|
||||
uint64_t size;
|
||||
__u64 size;
|
||||
/** Pointer to write the data into. */
|
||||
/* void *, but pointers are not 32/64 compatible */
|
||||
uint64_t data_ptr;
|
||||
__u64 data_ptr;
|
||||
};
|
||||
|
||||
struct drm_radeon_gem_pwrite {
|
||||
/** Handle for the object being written to. */
|
||||
uint32_t handle;
|
||||
uint32_t pad;
|
||||
__u32 handle;
|
||||
__u32 pad;
|
||||
/** Offset into the object to write to */
|
||||
uint64_t offset;
|
||||
__u64 offset;
|
||||
/** Length of data to write */
|
||||
uint64_t size;
|
||||
__u64 size;
|
||||
/** Pointer to read the data from. */
|
||||
/* void *, but pointers are not 32/64 compatible */
|
||||
uint64_t data_ptr;
|
||||
__u64 data_ptr;
|
||||
};
|
||||
|
||||
/* Sets or returns a value associated with a buffer. */
|
||||
struct drm_radeon_gem_op {
|
||||
uint32_t handle; /* buffer */
|
||||
uint32_t op; /* RADEON_GEM_OP_* */
|
||||
uint64_t value; /* input or return value */
|
||||
__u32 handle; /* buffer */
|
||||
__u32 op; /* RADEON_GEM_OP_* */
|
||||
__u64 value; /* input or return value */
|
||||
};
|
||||
|
||||
#define RADEON_GEM_OP_GET_INITIAL_DOMAIN 0
|
||||
@@ -935,11 +935,11 @@ struct drm_radeon_gem_op {
|
||||
#define RADEON_VM_PAGE_SNOOPED (1 << 4)
|
||||
|
||||
struct drm_radeon_gem_va {
|
||||
uint32_t handle;
|
||||
uint32_t operation;
|
||||
uint32_t vm_id;
|
||||
uint32_t flags;
|
||||
uint64_t offset;
|
||||
__u32 handle;
|
||||
__u32 operation;
|
||||
__u32 vm_id;
|
||||
__u32 flags;
|
||||
__u64 offset;
|
||||
};
|
||||
|
||||
#define RADEON_CHUNK_ID_RELOCS 0x01
|
||||
@@ -961,29 +961,29 @@ struct drm_radeon_gem_va {
|
||||
/* 0 = normal, + = higher priority, - = lower priority */
|
||||
|
||||
struct drm_radeon_cs_chunk {
|
||||
uint32_t chunk_id;
|
||||
uint32_t length_dw;
|
||||
uint64_t chunk_data;
|
||||
__u32 chunk_id;
|
||||
__u32 length_dw;
|
||||
__u64 chunk_data;
|
||||
};
|
||||
|
||||
/* drm_radeon_cs_reloc.flags */
|
||||
#define RADEON_RELOC_PRIO_MASK (0xf << 0)
|
||||
|
||||
struct drm_radeon_cs_reloc {
|
||||
uint32_t handle;
|
||||
uint32_t read_domains;
|
||||
uint32_t write_domain;
|
||||
uint32_t flags;
|
||||
__u32 handle;
|
||||
__u32 read_domains;
|
||||
__u32 write_domain;
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
struct drm_radeon_cs {
|
||||
uint32_t num_chunks;
|
||||
uint32_t cs_id;
|
||||
/* this points to uint64_t * which point to cs chunks */
|
||||
uint64_t chunks;
|
||||
__u32 num_chunks;
|
||||
__u32 cs_id;
|
||||
/* this points to __u64 * which point to cs chunks */
|
||||
__u64 chunks;
|
||||
/* updates to the limits after this CS ioctl */
|
||||
uint64_t gart_limit;
|
||||
uint64_t vram_limit;
|
||||
__u64 gart_limit;
|
||||
__u64 vram_limit;
|
||||
};
|
||||
|
||||
#define RADEON_INFO_DEVICE_ID 0x00
|
||||
@@ -1042,9 +1042,9 @@ struct drm_radeon_cs {
|
||||
#define RADEON_INFO_GPU_RESET_COUNTER 0x26
|
||||
|
||||
struct drm_radeon_info {
|
||||
uint32_t request;
|
||||
uint32_t pad;
|
||||
uint64_t value;
|
||||
__u32 request;
|
||||
__u32 pad;
|
||||
__u64 value;
|
||||
};
|
||||
|
||||
/* Those correspond to the tile index to use, this is to explicitly state
|
||||
|
@@ -28,9 +28,7 @@
|
||||
#ifndef __VMWGFX_DRM_H__
|
||||
#define __VMWGFX_DRM_H__
|
||||
|
||||
#ifndef __KERNEL__
|
||||
#include <drm/drm.h>
|
||||
#endif
|
||||
#include "drm.h"
|
||||
|
||||
#define DRM_VMW_MAX_SURFACE_FACES 6
|
||||
#define DRM_VMW_MAX_MIP_LEVELS 24
|
||||
@@ -111,9 +109,9 @@ enum drm_vmw_handle_type {
|
||||
*/
|
||||
|
||||
struct drm_vmw_getparam_arg {
|
||||
uint64_t value;
|
||||
uint32_t param;
|
||||
uint32_t pad64;
|
||||
__u64 value;
|
||||
__u32 param;
|
||||
__u32 pad64;
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
@@ -134,8 +132,8 @@ struct drm_vmw_getparam_arg {
|
||||
*/
|
||||
|
||||
struct drm_vmw_context_arg {
|
||||
int32_t cid;
|
||||
uint32_t pad64;
|
||||
__s32 cid;
|
||||
__u32 pad64;
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
@@ -165,7 +163,7 @@ struct drm_vmw_context_arg {
|
||||
* @mip_levels: Number of mip levels for each face.
|
||||
* An unused face should have 0 encoded.
|
||||
* @size_addr: Address of a user-space array of sruct drm_vmw_size
|
||||
* cast to an uint64_t for 32-64 bit compatibility.
|
||||
* cast to an __u64 for 32-64 bit compatibility.
|
||||
* The size of the array should equal the total number of mipmap levels.
|
||||
* @shareable: Boolean whether other clients (as identified by file descriptors)
|
||||
* may reference this surface.
|
||||
@@ -177,12 +175,12 @@ struct drm_vmw_context_arg {
|
||||
*/
|
||||
|
||||
struct drm_vmw_surface_create_req {
|
||||
uint32_t flags;
|
||||
uint32_t format;
|
||||
uint32_t mip_levels[DRM_VMW_MAX_SURFACE_FACES];
|
||||
uint64_t size_addr;
|
||||
int32_t shareable;
|
||||
int32_t scanout;
|
||||
__u32 flags;
|
||||
__u32 format;
|
||||
__u32 mip_levels[DRM_VMW_MAX_SURFACE_FACES];
|
||||
__u64 size_addr;
|
||||
__s32 shareable;
|
||||
__s32 scanout;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -197,7 +195,7 @@ struct drm_vmw_surface_create_req {
|
||||
*/
|
||||
|
||||
struct drm_vmw_surface_arg {
|
||||
int32_t sid;
|
||||
__s32 sid;
|
||||
enum drm_vmw_handle_type handle_type;
|
||||
};
|
||||
|
||||
@@ -213,10 +211,10 @@ struct drm_vmw_surface_arg {
|
||||
*/
|
||||
|
||||
struct drm_vmw_size {
|
||||
uint32_t width;
|
||||
uint32_t height;
|
||||
uint32_t depth;
|
||||
uint32_t pad64;
|
||||
__u32 width;
|
||||
__u32 height;
|
||||
__u32 depth;
|
||||
__u32 pad64;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -284,13 +282,13 @@ union drm_vmw_surface_reference_arg {
|
||||
/**
|
||||
* struct drm_vmw_execbuf_arg
|
||||
*
|
||||
* @commands: User-space address of a command buffer cast to an uint64_t.
|
||||
* @commands: User-space address of a command buffer cast to an __u64.
|
||||
* @command-size: Size in bytes of the command buffer.
|
||||
* @throttle-us: Sleep until software is less than @throttle_us
|
||||
* microseconds ahead of hardware. The driver may round this value
|
||||
* to the nearest kernel tick.
|
||||
* @fence_rep: User-space address of a struct drm_vmw_fence_rep cast to an
|
||||
* uint64_t.
|
||||
* __u64.
|
||||
* @version: Allows expanding the execbuf ioctl parameters without breaking
|
||||
* backwards compatibility, since user-space will always tell the kernel
|
||||
* which version it uses.
|
||||
@@ -302,14 +300,14 @@ union drm_vmw_surface_reference_arg {
|
||||
#define DRM_VMW_EXECBUF_VERSION 2
|
||||
|
||||
struct drm_vmw_execbuf_arg {
|
||||
uint64_t commands;
|
||||
uint32_t command_size;
|
||||
uint32_t throttle_us;
|
||||
uint64_t fence_rep;
|
||||
uint32_t version;
|
||||
uint32_t flags;
|
||||
uint32_t context_handle;
|
||||
uint32_t pad64;
|
||||
__u64 commands;
|
||||
__u32 command_size;
|
||||
__u32 throttle_us;
|
||||
__u64 fence_rep;
|
||||
__u32 version;
|
||||
__u32 flags;
|
||||
__u32 context_handle;
|
||||
__u32 pad64;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -338,12 +336,12 @@ struct drm_vmw_execbuf_arg {
|
||||
*/
|
||||
|
||||
struct drm_vmw_fence_rep {
|
||||
uint32_t handle;
|
||||
uint32_t mask;
|
||||
uint32_t seqno;
|
||||
uint32_t passed_seqno;
|
||||
uint32_t pad64;
|
||||
int32_t error;
|
||||
__u32 handle;
|
||||
__u32 mask;
|
||||
__u32 seqno;
|
||||
__u32 passed_seqno;
|
||||
__u32 pad64;
|
||||
__s32 error;
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
@@ -373,8 +371,8 @@ struct drm_vmw_fence_rep {
|
||||
*/
|
||||
|
||||
struct drm_vmw_alloc_dmabuf_req {
|
||||
uint32_t size;
|
||||
uint32_t pad64;
|
||||
__u32 size;
|
||||
__u32 pad64;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -391,11 +389,11 @@ struct drm_vmw_alloc_dmabuf_req {
|
||||
*/
|
||||
|
||||
struct drm_vmw_dmabuf_rep {
|
||||
uint64_t map_handle;
|
||||
uint32_t handle;
|
||||
uint32_t cur_gmr_id;
|
||||
uint32_t cur_gmr_offset;
|
||||
uint32_t pad64;
|
||||
__u64 map_handle;
|
||||
__u32 handle;
|
||||
__u32 cur_gmr_id;
|
||||
__u32 cur_gmr_offset;
|
||||
__u32 pad64;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -428,8 +426,8 @@ union drm_vmw_alloc_dmabuf_arg {
|
||||
*/
|
||||
|
||||
struct drm_vmw_unref_dmabuf_arg {
|
||||
uint32_t handle;
|
||||
uint32_t pad64;
|
||||
__u32 handle;
|
||||
__u32 pad64;
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
@@ -452,10 +450,10 @@ struct drm_vmw_unref_dmabuf_arg {
|
||||
*/
|
||||
|
||||
struct drm_vmw_rect {
|
||||
int32_t x;
|
||||
int32_t y;
|
||||
uint32_t w;
|
||||
uint32_t h;
|
||||
__s32 x;
|
||||
__s32 y;
|
||||
__u32 w;
|
||||
__u32 h;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -477,21 +475,21 @@ struct drm_vmw_rect {
|
||||
*/
|
||||
|
||||
struct drm_vmw_control_stream_arg {
|
||||
uint32_t stream_id;
|
||||
uint32_t enabled;
|
||||
__u32 stream_id;
|
||||
__u32 enabled;
|
||||
|
||||
uint32_t flags;
|
||||
uint32_t color_key;
|
||||
__u32 flags;
|
||||
__u32 color_key;
|
||||
|
||||
uint32_t handle;
|
||||
uint32_t offset;
|
||||
int32_t format;
|
||||
uint32_t size;
|
||||
uint32_t width;
|
||||
uint32_t height;
|
||||
uint32_t pitch[3];
|
||||
__u32 handle;
|
||||
__u32 offset;
|
||||
__s32 format;
|
||||
__u32 size;
|
||||
__u32 width;
|
||||
__u32 height;
|
||||
__u32 pitch[3];
|
||||
|
||||
uint32_t pad64;
|
||||
__u32 pad64;
|
||||
struct drm_vmw_rect src;
|
||||
struct drm_vmw_rect dst;
|
||||
};
|
||||
@@ -519,12 +517,12 @@ struct drm_vmw_control_stream_arg {
|
||||
*/
|
||||
|
||||
struct drm_vmw_cursor_bypass_arg {
|
||||
uint32_t flags;
|
||||
uint32_t crtc_id;
|
||||
int32_t xpos;
|
||||
int32_t ypos;
|
||||
int32_t xhot;
|
||||
int32_t yhot;
|
||||
__u32 flags;
|
||||
__u32 crtc_id;
|
||||
__s32 xpos;
|
||||
__s32 ypos;
|
||||
__s32 xhot;
|
||||
__s32 yhot;
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
@@ -542,8 +540,8 @@ struct drm_vmw_cursor_bypass_arg {
|
||||
*/
|
||||
|
||||
struct drm_vmw_stream_arg {
|
||||
uint32_t stream_id;
|
||||
uint32_t pad64;
|
||||
__u32 stream_id;
|
||||
__u32 pad64;
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
@@ -565,7 +563,7 @@ struct drm_vmw_stream_arg {
|
||||
/**
|
||||
* struct drm_vmw_get_3d_cap_arg
|
||||
*
|
||||
* @buffer: Pointer to a buffer for capability data, cast to an uint64_t
|
||||
* @buffer: Pointer to a buffer for capability data, cast to an __u64
|
||||
* @size: Max size to copy
|
||||
*
|
||||
* Input argument to the DRM_VMW_GET_3D_CAP_IOCTL
|
||||
@@ -573,9 +571,9 @@ struct drm_vmw_stream_arg {
|
||||
*/
|
||||
|
||||
struct drm_vmw_get_3d_cap_arg {
|
||||
uint64_t buffer;
|
||||
uint32_t max_size;
|
||||
uint32_t pad64;
|
||||
__u64 buffer;
|
||||
__u32 max_size;
|
||||
__u32 pad64;
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
@@ -624,14 +622,14 @@ struct drm_vmw_get_3d_cap_arg {
|
||||
*/
|
||||
|
||||
struct drm_vmw_fence_wait_arg {
|
||||
uint32_t handle;
|
||||
int32_t cookie_valid;
|
||||
uint64_t kernel_cookie;
|
||||
uint64_t timeout_us;
|
||||
int32_t lazy;
|
||||
int32_t flags;
|
||||
int32_t wait_options;
|
||||
int32_t pad64;
|
||||
__u32 handle;
|
||||
__s32 cookie_valid;
|
||||
__u64 kernel_cookie;
|
||||
__u64 timeout_us;
|
||||
__s32 lazy;
|
||||
__s32 flags;
|
||||
__s32 wait_options;
|
||||
__s32 pad64;
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
@@ -655,12 +653,12 @@ struct drm_vmw_fence_wait_arg {
|
||||
*/
|
||||
|
||||
struct drm_vmw_fence_signaled_arg {
|
||||
uint32_t handle;
|
||||
uint32_t flags;
|
||||
int32_t signaled;
|
||||
uint32_t passed_seqno;
|
||||
uint32_t signaled_flags;
|
||||
uint32_t pad64;
|
||||
__u32 handle;
|
||||
__u32 flags;
|
||||
__s32 signaled;
|
||||
__u32 passed_seqno;
|
||||
__u32 signaled_flags;
|
||||
__u32 pad64;
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
@@ -681,8 +679,8 @@ struct drm_vmw_fence_signaled_arg {
|
||||
*/
|
||||
|
||||
struct drm_vmw_fence_arg {
|
||||
uint32_t handle;
|
||||
uint32_t pad64;
|
||||
__u32 handle;
|
||||
__u32 pad64;
|
||||
};
|
||||
|
||||
|
||||
@@ -703,9 +701,9 @@ struct drm_vmw_fence_arg {
|
||||
|
||||
struct drm_vmw_event_fence {
|
||||
struct drm_event base;
|
||||
uint64_t user_data;
|
||||
uint32_t tv_sec;
|
||||
uint32_t tv_usec;
|
||||
__u64 user_data;
|
||||
__u32 tv_sec;
|
||||
__u32 tv_usec;
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -717,17 +715,17 @@ struct drm_vmw_event_fence {
|
||||
/**
|
||||
* struct drm_vmw_fence_event_arg
|
||||
*
|
||||
* @fence_rep: Pointer to fence_rep structure cast to uint64_t or 0 if
|
||||
* @fence_rep: Pointer to fence_rep structure cast to __u64 or 0 if
|
||||
* the fence is not supposed to be referenced by user-space.
|
||||
* @user_info: Info to be delivered with the event.
|
||||
* @handle: Attach the event to this fence only.
|
||||
* @flags: A set of flags as defined above.
|
||||
*/
|
||||
struct drm_vmw_fence_event_arg {
|
||||
uint64_t fence_rep;
|
||||
uint64_t user_data;
|
||||
uint32_t handle;
|
||||
uint32_t flags;
|
||||
__u64 fence_rep;
|
||||
__u64 user_data;
|
||||
__u32 handle;
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
|
||||
@@ -747,7 +745,7 @@ struct drm_vmw_fence_event_arg {
|
||||
* @sid: Surface id to present from.
|
||||
* @dest_x: X placement coordinate for surface.
|
||||
* @dest_y: Y placement coordinate for surface.
|
||||
* @clips_ptr: Pointer to an array of clip rects cast to an uint64_t.
|
||||
* @clips_ptr: Pointer to an array of clip rects cast to an __u64.
|
||||
* @num_clips: Number of cliprects given relative to the framebuffer origin,
|
||||
* in the same coordinate space as the frame buffer.
|
||||
* @pad64: Unused 64-bit padding.
|
||||
@@ -756,13 +754,13 @@ struct drm_vmw_fence_event_arg {
|
||||
*/
|
||||
|
||||
struct drm_vmw_present_arg {
|
||||
uint32_t fb_id;
|
||||
uint32_t sid;
|
||||
int32_t dest_x;
|
||||
int32_t dest_y;
|
||||
uint64_t clips_ptr;
|
||||
uint32_t num_clips;
|
||||
uint32_t pad64;
|
||||
__u32 fb_id;
|
||||
__u32 sid;
|
||||
__s32 dest_x;
|
||||
__s32 dest_y;
|
||||
__u64 clips_ptr;
|
||||
__u32 num_clips;
|
||||
__u32 pad64;
|
||||
};
|
||||
|
||||
|
||||
@@ -780,16 +778,16 @@ struct drm_vmw_present_arg {
|
||||
* struct drm_vmw_present_arg
|
||||
* @fb_id: fb_id to present / read back from.
|
||||
* @num_clips: Number of cliprects.
|
||||
* @clips_ptr: Pointer to an array of clip rects cast to an uint64_t.
|
||||
* @fence_rep: Pointer to a struct drm_vmw_fence_rep, cast to an uint64_t.
|
||||
* @clips_ptr: Pointer to an array of clip rects cast to an __u64.
|
||||
* @fence_rep: Pointer to a struct drm_vmw_fence_rep, cast to an __u64.
|
||||
* If this member is NULL, then the ioctl should not return a fence.
|
||||
*/
|
||||
|
||||
struct drm_vmw_present_readback_arg {
|
||||
uint32_t fb_id;
|
||||
uint32_t num_clips;
|
||||
uint64_t clips_ptr;
|
||||
uint64_t fence_rep;
|
||||
__u32 fb_id;
|
||||
__u32 num_clips;
|
||||
__u64 clips_ptr;
|
||||
__u64 fence_rep;
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
@@ -805,14 +803,14 @@ struct drm_vmw_present_readback_arg {
|
||||
* struct drm_vmw_update_layout_arg
|
||||
*
|
||||
* @num_outputs: number of active connectors
|
||||
* @rects: pointer to array of drm_vmw_rect cast to an uint64_t
|
||||
* @rects: pointer to array of drm_vmw_rect cast to an __u64
|
||||
*
|
||||
* Input argument to the DRM_VMW_UPDATE_LAYOUT Ioctl.
|
||||
*/
|
||||
struct drm_vmw_update_layout_arg {
|
||||
uint32_t num_outputs;
|
||||
uint32_t pad64;
|
||||
uint64_t rects;
|
||||
__u32 num_outputs;
|
||||
__u32 pad64;
|
||||
__u64 rects;
|
||||
};
|
||||
|
||||
|
||||
@@ -849,10 +847,10 @@ enum drm_vmw_shader_type {
|
||||
*/
|
||||
struct drm_vmw_shader_create_arg {
|
||||
enum drm_vmw_shader_type shader_type;
|
||||
uint32_t size;
|
||||
uint32_t buffer_handle;
|
||||
uint32_t shader_handle;
|
||||
uint64_t offset;
|
||||
__u32 size;
|
||||
__u32 buffer_handle;
|
||||
__u32 shader_handle;
|
||||
__u64 offset;
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
@@ -871,8 +869,8 @@ struct drm_vmw_shader_create_arg {
|
||||
* Input argument to the DRM_VMW_UNREF_SHADER ioctl.
|
||||
*/
|
||||
struct drm_vmw_shader_arg {
|
||||
uint32_t handle;
|
||||
uint32_t pad64;
|
||||
__u32 handle;
|
||||
__u32 pad64;
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
@@ -918,14 +916,14 @@ enum drm_vmw_surface_flags {
|
||||
* Part of output argument for the DRM_VMW_GB_SURFACE_REF Ioctl.
|
||||
*/
|
||||
struct drm_vmw_gb_surface_create_req {
|
||||
uint32_t svga3d_flags;
|
||||
uint32_t format;
|
||||
uint32_t mip_levels;
|
||||
__u32 svga3d_flags;
|
||||
__u32 format;
|
||||
__u32 mip_levels;
|
||||
enum drm_vmw_surface_flags drm_surface_flags;
|
||||
uint32_t multisample_count;
|
||||
uint32_t autogen_filter;
|
||||
uint32_t buffer_handle;
|
||||
uint32_t array_size;
|
||||
__u32 multisample_count;
|
||||
__u32 autogen_filter;
|
||||
__u32 buffer_handle;
|
||||
__u32 array_size;
|
||||
struct drm_vmw_size base_size;
|
||||
};
|
||||
|
||||
@@ -944,11 +942,11 @@ struct drm_vmw_gb_surface_create_req {
|
||||
* Output argument for the DRM_VMW_GB_SURFACE_CREATE ioctl.
|
||||
*/
|
||||
struct drm_vmw_gb_surface_create_rep {
|
||||
uint32_t handle;
|
||||
uint32_t backup_size;
|
||||
uint32_t buffer_handle;
|
||||
uint32_t buffer_size;
|
||||
uint64_t buffer_map_handle;
|
||||
__u32 handle;
|
||||
__u32 backup_size;
|
||||
__u32 buffer_handle;
|
||||
__u32 buffer_size;
|
||||
__u64 buffer_map_handle;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1061,8 +1059,8 @@ enum drm_vmw_synccpu_op {
|
||||
struct drm_vmw_synccpu_arg {
|
||||
enum drm_vmw_synccpu_op op;
|
||||
enum drm_vmw_synccpu_flags flags;
|
||||
uint32_t handle;
|
||||
uint32_t pad64;
|
||||
__u32 handle;
|
||||
__u32 pad64;
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
|
105
drivers/include/uapi/linux/byteorder/little_endian.h
Normal file
105
drivers/include/uapi/linux/byteorder/little_endian.h
Normal file
@@ -0,0 +1,105 @@
|
||||
#ifndef _UAPI_LINUX_BYTEORDER_LITTLE_ENDIAN_H
|
||||
#define _UAPI_LINUX_BYTEORDER_LITTLE_ENDIAN_H
|
||||
|
||||
#ifndef __LITTLE_ENDIAN
|
||||
#define __LITTLE_ENDIAN 1234
|
||||
#endif
|
||||
#ifndef __LITTLE_ENDIAN_BITFIELD
|
||||
#define __LITTLE_ENDIAN_BITFIELD
|
||||
#endif
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/swab.h>
|
||||
|
||||
#define __constant_htonl(x) ((__force __be32)___constant_swab32((x)))
|
||||
#define __constant_ntohl(x) ___constant_swab32((__force __be32)(x))
|
||||
#define __constant_htons(x) ((__force __be16)___constant_swab16((x)))
|
||||
#define __constant_ntohs(x) ___constant_swab16((__force __be16)(x))
|
||||
#define __constant_cpu_to_le64(x) ((__force __le64)(__u64)(x))
|
||||
#define __constant_le64_to_cpu(x) ((__force __u64)(__le64)(x))
|
||||
#define __constant_cpu_to_le32(x) ((__force __le32)(__u32)(x))
|
||||
#define __constant_le32_to_cpu(x) ((__force __u32)(__le32)(x))
|
||||
#define __constant_cpu_to_le16(x) ((__force __le16)(__u16)(x))
|
||||
#define __constant_le16_to_cpu(x) ((__force __u16)(__le16)(x))
|
||||
#define __constant_cpu_to_be64(x) ((__force __be64)___constant_swab64((x)))
|
||||
#define __constant_be64_to_cpu(x) ___constant_swab64((__force __u64)(__be64)(x))
|
||||
#define __constant_cpu_to_be32(x) ((__force __be32)___constant_swab32((x)))
|
||||
#define __constant_be32_to_cpu(x) ___constant_swab32((__force __u32)(__be32)(x))
|
||||
#define __constant_cpu_to_be16(x) ((__force __be16)___constant_swab16((x)))
|
||||
#define __constant_be16_to_cpu(x) ___constant_swab16((__force __u16)(__be16)(x))
|
||||
#define __cpu_to_le64(x) ((__force __le64)(__u64)(x))
|
||||
#define __le64_to_cpu(x) ((__force __u64)(__le64)(x))
|
||||
#define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
|
||||
#define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
|
||||
#define __cpu_to_le16(x) ((__force __le16)(__u16)(x))
|
||||
#define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
|
||||
#define __cpu_to_be64(x) ((__force __be64)__swab64((x)))
|
||||
#define __be64_to_cpu(x) __swab64((__force __u64)(__be64)(x))
|
||||
#define __cpu_to_be32(x) ((__force __be32)__swab32((x)))
|
||||
#define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x))
|
||||
#define __cpu_to_be16(x) ((__force __be16)__swab16((x)))
|
||||
#define __be16_to_cpu(x) __swab16((__force __u16)(__be16)(x))
|
||||
|
||||
static inline __le64 __cpu_to_le64p(const __u64 *p)
|
||||
{
|
||||
return (__force __le64)*p;
|
||||
}
|
||||
static inline __u64 __le64_to_cpup(const __le64 *p)
|
||||
{
|
||||
return (__force __u64)*p;
|
||||
}
|
||||
static inline __le32 __cpu_to_le32p(const __u32 *p)
|
||||
{
|
||||
return (__force __le32)*p;
|
||||
}
|
||||
static inline __u32 __le32_to_cpup(const __le32 *p)
|
||||
{
|
||||
return (__force __u32)*p;
|
||||
}
|
||||
static inline __le16 __cpu_to_le16p(const __u16 *p)
|
||||
{
|
||||
return (__force __le16)*p;
|
||||
}
|
||||
static inline __u16 __le16_to_cpup(const __le16 *p)
|
||||
{
|
||||
return (__force __u16)*p;
|
||||
}
|
||||
static inline __be64 __cpu_to_be64p(const __u64 *p)
|
||||
{
|
||||
return (__force __be64)__swab64p(p);
|
||||
}
|
||||
static inline __u64 __be64_to_cpup(const __be64 *p)
|
||||
{
|
||||
return __swab64p((__u64 *)p);
|
||||
}
|
||||
static inline __be32 __cpu_to_be32p(const __u32 *p)
|
||||
{
|
||||
return (__force __be32)__swab32p(p);
|
||||
}
|
||||
static inline __u32 __be32_to_cpup(const __be32 *p)
|
||||
{
|
||||
return __swab32p((__u32 *)p);
|
||||
}
|
||||
static inline __be16 __cpu_to_be16p(const __u16 *p)
|
||||
{
|
||||
return (__force __be16)__swab16p(p);
|
||||
}
|
||||
static inline __u16 __be16_to_cpup(const __be16 *p)
|
||||
{
|
||||
return __swab16p((__u16 *)p);
|
||||
}
|
||||
#define __cpu_to_le64s(x) do { (void)(x); } while (0)
|
||||
#define __le64_to_cpus(x) do { (void)(x); } while (0)
|
||||
#define __cpu_to_le32s(x) do { (void)(x); } while (0)
|
||||
#define __le32_to_cpus(x) do { (void)(x); } while (0)
|
||||
#define __cpu_to_le16s(x) do { (void)(x); } while (0)
|
||||
#define __le16_to_cpus(x) do { (void)(x); } while (0)
|
||||
#define __cpu_to_be64s(x) __swab64s((x))
|
||||
#define __be64_to_cpus(x) __swab64s((x))
|
||||
#define __cpu_to_be32s(x) __swab32s((x))
|
||||
#define __be32_to_cpus(x) __swab32s((x))
|
||||
#define __cpu_to_be16s(x) __swab16s((x))
|
||||
#define __be16_to_cpus(x) __swab16s((x))
|
||||
|
||||
|
||||
#endif /* _UAPI_LINUX_BYTEORDER_LITTLE_ENDIAN_H */
|
402
drivers/include/uapi/linux/fb.h
Normal file
402
drivers/include/uapi/linux/fb.h
Normal file
@@ -0,0 +1,402 @@
|
||||
#ifndef _UAPI_LINUX_FB_H
|
||||
#define _UAPI_LINUX_FB_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/i2c.h>
|
||||
|
||||
/* Definitions of frame buffers */
|
||||
|
||||
#define FB_MAX 32 /* sufficient for now */
|
||||
|
||||
/* ioctls
|
||||
0x46 is 'F' */
|
||||
#define FBIOGET_VSCREENINFO 0x4600
|
||||
#define FBIOPUT_VSCREENINFO 0x4601
|
||||
#define FBIOGET_FSCREENINFO 0x4602
|
||||
#define FBIOGETCMAP 0x4604
|
||||
#define FBIOPUTCMAP 0x4605
|
||||
#define FBIOPAN_DISPLAY 0x4606
|
||||
#ifndef __KERNEL__
|
||||
#define FBIO_CURSOR _IOWR('F', 0x08, struct fb_cursor)
|
||||
#endif
|
||||
/* 0x4607-0x460B are defined below */
|
||||
/* #define FBIOGET_MONITORSPEC 0x460C */
|
||||
/* #define FBIOPUT_MONITORSPEC 0x460D */
|
||||
/* #define FBIOSWITCH_MONIBIT 0x460E */
|
||||
#define FBIOGET_CON2FBMAP 0x460F
|
||||
#define FBIOPUT_CON2FBMAP 0x4610
|
||||
#define FBIOBLANK 0x4611 /* arg: 0 or vesa level + 1 */
|
||||
#define FBIOGET_VBLANK _IOR('F', 0x12, struct fb_vblank)
|
||||
#define FBIO_ALLOC 0x4613
|
||||
#define FBIO_FREE 0x4614
|
||||
#define FBIOGET_GLYPH 0x4615
|
||||
#define FBIOGET_HWCINFO 0x4616
|
||||
#define FBIOPUT_MODEINFO 0x4617
|
||||
#define FBIOGET_DISPINFO 0x4618
|
||||
#define FBIO_WAITFORVSYNC _IOW('F', 0x20, __u32)
|
||||
|
||||
#define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */
|
||||
#define FB_TYPE_PLANES 1 /* Non interleaved planes */
|
||||
#define FB_TYPE_INTERLEAVED_PLANES 2 /* Interleaved planes */
|
||||
#define FB_TYPE_TEXT 3 /* Text/attributes */
|
||||
#define FB_TYPE_VGA_PLANES 4 /* EGA/VGA planes */
|
||||
#define FB_TYPE_FOURCC 5 /* Type identified by a V4L2 FOURCC */
|
||||
|
||||
#define FB_AUX_TEXT_MDA 0 /* Monochrome text */
|
||||
#define FB_AUX_TEXT_CGA 1 /* CGA/EGA/VGA Color text */
|
||||
#define FB_AUX_TEXT_S3_MMIO 2 /* S3 MMIO fasttext */
|
||||
#define FB_AUX_TEXT_MGA_STEP16 3 /* MGA Millenium I: text, attr, 14 reserved bytes */
|
||||
#define FB_AUX_TEXT_MGA_STEP8 4 /* other MGAs: text, attr, 6 reserved bytes */
|
||||
#define FB_AUX_TEXT_SVGA_GROUP 8 /* 8-15: SVGA tileblit compatible modes */
|
||||
#define FB_AUX_TEXT_SVGA_MASK 7 /* lower three bits says step */
|
||||
#define FB_AUX_TEXT_SVGA_STEP2 8 /* SVGA text mode: text, attr */
|
||||
#define FB_AUX_TEXT_SVGA_STEP4 9 /* SVGA text mode: text, attr, 2 reserved bytes */
|
||||
#define FB_AUX_TEXT_SVGA_STEP8 10 /* SVGA text mode: text, attr, 6 reserved bytes */
|
||||
#define FB_AUX_TEXT_SVGA_STEP16 11 /* SVGA text mode: text, attr, 14 reserved bytes */
|
||||
#define FB_AUX_TEXT_SVGA_LAST 15 /* reserved up to 15 */
|
||||
|
||||
#define FB_AUX_VGA_PLANES_VGA4 0 /* 16 color planes (EGA/VGA) */
|
||||
#define FB_AUX_VGA_PLANES_CFB4 1 /* CFB4 in planes (VGA) */
|
||||
#define FB_AUX_VGA_PLANES_CFB8 2 /* CFB8 in planes (VGA) */
|
||||
|
||||
#define FB_VISUAL_MONO01 0 /* Monochr. 1=Black 0=White */
|
||||
#define FB_VISUAL_MONO10 1 /* Monochr. 1=White 0=Black */
|
||||
#define FB_VISUAL_TRUECOLOR 2 /* True color */
|
||||
#define FB_VISUAL_PSEUDOCOLOR 3 /* Pseudo color (like atari) */
|
||||
#define FB_VISUAL_DIRECTCOLOR 4 /* Direct color */
|
||||
#define FB_VISUAL_STATIC_PSEUDOCOLOR 5 /* Pseudo color readonly */
|
||||
#define FB_VISUAL_FOURCC 6 /* Visual identified by a V4L2 FOURCC */
|
||||
|
||||
#define FB_ACCEL_NONE 0 /* no hardware accelerator */
|
||||
#define FB_ACCEL_ATARIBLITT 1 /* Atari Blitter */
|
||||
#define FB_ACCEL_AMIGABLITT 2 /* Amiga Blitter */
|
||||
#define FB_ACCEL_S3_TRIO64 3 /* Cybervision64 (S3 Trio64) */
|
||||
#define FB_ACCEL_NCR_77C32BLT 4 /* RetinaZ3 (NCR 77C32BLT) */
|
||||
#define FB_ACCEL_S3_VIRGE 5 /* Cybervision64/3D (S3 ViRGE) */
|
||||
#define FB_ACCEL_ATI_MACH64GX 6 /* ATI Mach 64GX family */
|
||||
#define FB_ACCEL_DEC_TGA 7 /* DEC 21030 TGA */
|
||||
#define FB_ACCEL_ATI_MACH64CT 8 /* ATI Mach 64CT family */
|
||||
#define FB_ACCEL_ATI_MACH64VT 9 /* ATI Mach 64CT family VT class */
|
||||
#define FB_ACCEL_ATI_MACH64GT 10 /* ATI Mach 64CT family GT class */
|
||||
#define FB_ACCEL_SUN_CREATOR 11 /* Sun Creator/Creator3D */
|
||||
#define FB_ACCEL_SUN_CGSIX 12 /* Sun cg6 */
|
||||
#define FB_ACCEL_SUN_LEO 13 /* Sun leo/zx */
|
||||
#define FB_ACCEL_IMS_TWINTURBO 14 /* IMS Twin Turbo */
|
||||
#define FB_ACCEL_3DLABS_PERMEDIA2 15 /* 3Dlabs Permedia 2 */
|
||||
#define FB_ACCEL_MATROX_MGA2064W 16 /* Matrox MGA2064W (Millenium) */
|
||||
#define FB_ACCEL_MATROX_MGA1064SG 17 /* Matrox MGA1064SG (Mystique) */
|
||||
#define FB_ACCEL_MATROX_MGA2164W 18 /* Matrox MGA2164W (Millenium II) */
|
||||
#define FB_ACCEL_MATROX_MGA2164W_AGP 19 /* Matrox MGA2164W (Millenium II) */
|
||||
#define FB_ACCEL_MATROX_MGAG100 20 /* Matrox G100 (Productiva G100) */
|
||||
#define FB_ACCEL_MATROX_MGAG200 21 /* Matrox G200 (Myst, Mill, ...) */
|
||||
#define FB_ACCEL_SUN_CG14 22 /* Sun cgfourteen */
|
||||
#define FB_ACCEL_SUN_BWTWO 23 /* Sun bwtwo */
|
||||
#define FB_ACCEL_SUN_CGTHREE 24 /* Sun cgthree */
|
||||
#define FB_ACCEL_SUN_TCX 25 /* Sun tcx */
|
||||
#define FB_ACCEL_MATROX_MGAG400 26 /* Matrox G400 */
|
||||
#define FB_ACCEL_NV3 27 /* nVidia RIVA 128 */
|
||||
#define FB_ACCEL_NV4 28 /* nVidia RIVA TNT */
|
||||
#define FB_ACCEL_NV5 29 /* nVidia RIVA TNT2 */
|
||||
#define FB_ACCEL_CT_6555x 30 /* C&T 6555x */
|
||||
#define FB_ACCEL_3DFX_BANSHEE 31 /* 3Dfx Banshee */
|
||||
#define FB_ACCEL_ATI_RAGE128 32 /* ATI Rage128 family */
|
||||
#define FB_ACCEL_IGS_CYBER2000 33 /* CyberPro 2000 */
|
||||
#define FB_ACCEL_IGS_CYBER2010 34 /* CyberPro 2010 */
|
||||
#define FB_ACCEL_IGS_CYBER5000 35 /* CyberPro 5000 */
|
||||
#define FB_ACCEL_SIS_GLAMOUR 36 /* SiS 300/630/540 */
|
||||
#define FB_ACCEL_3DLABS_PERMEDIA3 37 /* 3Dlabs Permedia 3 */
|
||||
#define FB_ACCEL_ATI_RADEON 38 /* ATI Radeon family */
|
||||
#define FB_ACCEL_I810 39 /* Intel 810/815 */
|
||||
#define FB_ACCEL_SIS_GLAMOUR_2 40 /* SiS 315, 650, 740 */
|
||||
#define FB_ACCEL_SIS_XABRE 41 /* SiS 330 ("Xabre") */
|
||||
#define FB_ACCEL_I830 42 /* Intel 830M/845G/85x/865G */
|
||||
#define FB_ACCEL_NV_10 43 /* nVidia Arch 10 */
|
||||
#define FB_ACCEL_NV_20 44 /* nVidia Arch 20 */
|
||||
#define FB_ACCEL_NV_30 45 /* nVidia Arch 30 */
|
||||
#define FB_ACCEL_NV_40 46 /* nVidia Arch 40 */
|
||||
#define FB_ACCEL_XGI_VOLARI_V 47 /* XGI Volari V3XT, V5, V8 */
|
||||
#define FB_ACCEL_XGI_VOLARI_Z 48 /* XGI Volari Z7 */
|
||||
#define FB_ACCEL_OMAP1610 49 /* TI OMAP16xx */
|
||||
#define FB_ACCEL_TRIDENT_TGUI 50 /* Trident TGUI */
|
||||
#define FB_ACCEL_TRIDENT_3DIMAGE 51 /* Trident 3DImage */
|
||||
#define FB_ACCEL_TRIDENT_BLADE3D 52 /* Trident Blade3D */
|
||||
#define FB_ACCEL_TRIDENT_BLADEXP 53 /* Trident BladeXP */
|
||||
#define FB_ACCEL_CIRRUS_ALPINE 53 /* Cirrus Logic 543x/544x/5480 */
|
||||
#define FB_ACCEL_NEOMAGIC_NM2070 90 /* NeoMagic NM2070 */
|
||||
#define FB_ACCEL_NEOMAGIC_NM2090 91 /* NeoMagic NM2090 */
|
||||
#define FB_ACCEL_NEOMAGIC_NM2093 92 /* NeoMagic NM2093 */
|
||||
#define FB_ACCEL_NEOMAGIC_NM2097 93 /* NeoMagic NM2097 */
|
||||
#define FB_ACCEL_NEOMAGIC_NM2160 94 /* NeoMagic NM2160 */
|
||||
#define FB_ACCEL_NEOMAGIC_NM2200 95 /* NeoMagic NM2200 */
|
||||
#define FB_ACCEL_NEOMAGIC_NM2230 96 /* NeoMagic NM2230 */
|
||||
#define FB_ACCEL_NEOMAGIC_NM2360 97 /* NeoMagic NM2360 */
|
||||
#define FB_ACCEL_NEOMAGIC_NM2380 98 /* NeoMagic NM2380 */
|
||||
#define FB_ACCEL_PXA3XX 99 /* PXA3xx */
|
||||
|
||||
#define FB_ACCEL_SAVAGE4 0x80 /* S3 Savage4 */
|
||||
#define FB_ACCEL_SAVAGE3D 0x81 /* S3 Savage3D */
|
||||
#define FB_ACCEL_SAVAGE3D_MV 0x82 /* S3 Savage3D-MV */
|
||||
#define FB_ACCEL_SAVAGE2000 0x83 /* S3 Savage2000 */
|
||||
#define FB_ACCEL_SAVAGE_MX_MV 0x84 /* S3 Savage/MX-MV */
|
||||
#define FB_ACCEL_SAVAGE_MX 0x85 /* S3 Savage/MX */
|
||||
#define FB_ACCEL_SAVAGE_IX_MV 0x86 /* S3 Savage/IX-MV */
|
||||
#define FB_ACCEL_SAVAGE_IX 0x87 /* S3 Savage/IX */
|
||||
#define FB_ACCEL_PROSAVAGE_PM 0x88 /* S3 ProSavage PM133 */
|
||||
#define FB_ACCEL_PROSAVAGE_KM 0x89 /* S3 ProSavage KM133 */
|
||||
#define FB_ACCEL_S3TWISTER_P 0x8a /* S3 Twister */
|
||||
#define FB_ACCEL_S3TWISTER_K 0x8b /* S3 TwisterK */
|
||||
#define FB_ACCEL_SUPERSAVAGE 0x8c /* S3 Supersavage */
|
||||
#define FB_ACCEL_PROSAVAGE_DDR 0x8d /* S3 ProSavage DDR */
|
||||
#define FB_ACCEL_PROSAVAGE_DDRK 0x8e /* S3 ProSavage DDR-K */
|
||||
|
||||
#define FB_ACCEL_PUV3_UNIGFX 0xa0 /* PKUnity-v3 Unigfx */
|
||||
|
||||
#define FB_CAP_FOURCC 1 /* Device supports FOURCC-based formats */
|
||||
|
||||
struct fb_fix_screeninfo {
|
||||
char id[16]; /* identification string eg "TT Builtin" */
|
||||
unsigned long smem_start; /* Start of frame buffer mem */
|
||||
/* (physical address) */
|
||||
__u32 smem_len; /* Length of frame buffer mem */
|
||||
__u32 type; /* see FB_TYPE_* */
|
||||
__u32 type_aux; /* Interleave for interleaved Planes */
|
||||
__u32 visual; /* see FB_VISUAL_* */
|
||||
__u16 xpanstep; /* zero if no hardware panning */
|
||||
__u16 ypanstep; /* zero if no hardware panning */
|
||||
__u16 ywrapstep; /* zero if no hardware ywrap */
|
||||
__u32 line_length; /* length of a line in bytes */
|
||||
unsigned long mmio_start; /* Start of Memory Mapped I/O */
|
||||
/* (physical address) */
|
||||
__u32 mmio_len; /* Length of Memory Mapped I/O */
|
||||
__u32 accel; /* Indicate to driver which */
|
||||
/* specific chip/card we have */
|
||||
__u16 capabilities; /* see FB_CAP_* */
|
||||
__u16 reserved[2]; /* Reserved for future compatibility */
|
||||
};
|
||||
|
||||
/* Interpretation of offset for color fields: All offsets are from the right,
|
||||
* inside a "pixel" value, which is exactly 'bits_per_pixel' wide (means: you
|
||||
* can use the offset as right argument to <<). A pixel afterwards is a bit
|
||||
* stream and is written to video memory as that unmodified.
|
||||
*
|
||||
* For pseudocolor: offset and length should be the same for all color
|
||||
* components. Offset specifies the position of the least significant bit
|
||||
* of the pallette index in a pixel value. Length indicates the number
|
||||
* of available palette entries (i.e. # of entries = 1 << length).
|
||||
*/
|
||||
struct fb_bitfield {
|
||||
__u32 offset; /* beginning of bitfield */
|
||||
__u32 length; /* length of bitfield */
|
||||
__u32 msb_right; /* != 0 : Most significant bit is */
|
||||
/* right */
|
||||
};
|
||||
|
||||
#define FB_NONSTD_HAM 1 /* Hold-And-Modify (HAM) */
|
||||
#define FB_NONSTD_REV_PIX_IN_B 2 /* order of pixels in each byte is reversed */
|
||||
|
||||
#define FB_ACTIVATE_NOW 0 /* set values immediately (or vbl)*/
|
||||
#define FB_ACTIVATE_NXTOPEN 1 /* activate on next open */
|
||||
#define FB_ACTIVATE_TEST 2 /* don't set, round up impossible */
|
||||
#define FB_ACTIVATE_MASK 15
|
||||
/* values */
|
||||
#define FB_ACTIVATE_VBL 16 /* activate values on next vbl */
|
||||
#define FB_CHANGE_CMAP_VBL 32 /* change colormap on vbl */
|
||||
#define FB_ACTIVATE_ALL 64 /* change all VCs on this fb */
|
||||
#define FB_ACTIVATE_FORCE 128 /* force apply even when no change*/
|
||||
#define FB_ACTIVATE_INV_MODE 256 /* invalidate videomode */
|
||||
|
||||
#define FB_ACCELF_TEXT 1 /* (OBSOLETE) see fb_info.flags and vc_mode */
|
||||
|
||||
#define FB_SYNC_HOR_HIGH_ACT 1 /* horizontal sync high active */
|
||||
#define FB_SYNC_VERT_HIGH_ACT 2 /* vertical sync high active */
|
||||
#define FB_SYNC_EXT 4 /* external sync */
|
||||
#define FB_SYNC_COMP_HIGH_ACT 8 /* composite sync high active */
|
||||
#define FB_SYNC_BROADCAST 16 /* broadcast video timings */
|
||||
/* vtotal = 144d/288n/576i => PAL */
|
||||
/* vtotal = 121d/242n/484i => NTSC */
|
||||
#define FB_SYNC_ON_GREEN 32 /* sync on green */
|
||||
|
||||
#define FB_VMODE_NONINTERLACED 0 /* non interlaced */
|
||||
#define FB_VMODE_INTERLACED 1 /* interlaced */
|
||||
#define FB_VMODE_DOUBLE 2 /* double scan */
|
||||
#define FB_VMODE_ODD_FLD_FIRST 4 /* interlaced: top line first */
|
||||
#define FB_VMODE_MASK 255
|
||||
|
||||
#define FB_VMODE_YWRAP 256 /* ywrap instead of panning */
|
||||
#define FB_VMODE_SMOOTH_XPAN 512 /* smooth xpan possible (internally used) */
|
||||
#define FB_VMODE_CONUPDATE 512 /* don't update x/yoffset */
|
||||
|
||||
/*
|
||||
* Display rotation support
|
||||
*/
|
||||
#define FB_ROTATE_UR 0
|
||||
#define FB_ROTATE_CW 1
|
||||
#define FB_ROTATE_UD 2
|
||||
#define FB_ROTATE_CCW 3
|
||||
|
||||
#define PICOS2KHZ(a) (1000000000UL/(a))
|
||||
#define KHZ2PICOS(a) (1000000000UL/(a))
|
||||
|
||||
struct fb_var_screeninfo {
|
||||
__u32 xres; /* visible resolution */
|
||||
__u32 yres;
|
||||
__u32 xres_virtual; /* virtual resolution */
|
||||
__u32 yres_virtual;
|
||||
__u32 xoffset; /* offset from virtual to visible */
|
||||
__u32 yoffset; /* resolution */
|
||||
|
||||
__u32 bits_per_pixel; /* guess what */
|
||||
__u32 grayscale; /* 0 = color, 1 = grayscale, */
|
||||
/* >1 = FOURCC */
|
||||
struct fb_bitfield red; /* bitfield in fb mem if true color, */
|
||||
struct fb_bitfield green; /* else only length is significant */
|
||||
struct fb_bitfield blue;
|
||||
struct fb_bitfield transp; /* transparency */
|
||||
|
||||
__u32 nonstd; /* != 0 Non standard pixel format */
|
||||
|
||||
__u32 activate; /* see FB_ACTIVATE_* */
|
||||
|
||||
__u32 height; /* height of picture in mm */
|
||||
__u32 width; /* width of picture in mm */
|
||||
|
||||
__u32 accel_flags; /* (OBSOLETE) see fb_info.flags */
|
||||
|
||||
/* Timing: All values in pixclocks, except pixclock (of course) */
|
||||
__u32 pixclock; /* pixel clock in ps (pico seconds) */
|
||||
__u32 left_margin; /* time from sync to picture */
|
||||
__u32 right_margin; /* time from picture to sync */
|
||||
__u32 upper_margin; /* time from sync to picture */
|
||||
__u32 lower_margin;
|
||||
__u32 hsync_len; /* length of horizontal sync */
|
||||
__u32 vsync_len; /* length of vertical sync */
|
||||
__u32 sync; /* see FB_SYNC_* */
|
||||
__u32 vmode; /* see FB_VMODE_* */
|
||||
__u32 rotate; /* angle we rotate counter clockwise */
|
||||
__u32 colorspace; /* colorspace for FOURCC-based modes */
|
||||
__u32 reserved[4]; /* Reserved for future compatibility */
|
||||
};
|
||||
|
||||
struct fb_cmap {
|
||||
__u32 start; /* First entry */
|
||||
__u32 len; /* Number of entries */
|
||||
__u16 *red; /* Red values */
|
||||
__u16 *green;
|
||||
__u16 *blue;
|
||||
__u16 *transp; /* transparency, can be NULL */
|
||||
};
|
||||
|
||||
struct fb_con2fbmap {
|
||||
__u32 console;
|
||||
__u32 framebuffer;
|
||||
};
|
||||
|
||||
/* VESA Blanking Levels */
|
||||
#define VESA_NO_BLANKING 0
|
||||
#define VESA_VSYNC_SUSPEND 1
|
||||
#define VESA_HSYNC_SUSPEND 2
|
||||
#define VESA_POWERDOWN 3
|
||||
|
||||
|
||||
enum {
|
||||
/* screen: unblanked, hsync: on, vsync: on */
|
||||
FB_BLANK_UNBLANK = VESA_NO_BLANKING,
|
||||
|
||||
/* screen: blanked, hsync: on, vsync: on */
|
||||
FB_BLANK_NORMAL = VESA_NO_BLANKING + 1,
|
||||
|
||||
/* screen: blanked, hsync: on, vsync: off */
|
||||
FB_BLANK_VSYNC_SUSPEND = VESA_VSYNC_SUSPEND + 1,
|
||||
|
||||
/* screen: blanked, hsync: off, vsync: on */
|
||||
FB_BLANK_HSYNC_SUSPEND = VESA_HSYNC_SUSPEND + 1,
|
||||
|
||||
/* screen: blanked, hsync: off, vsync: off */
|
||||
FB_BLANK_POWERDOWN = VESA_POWERDOWN + 1
|
||||
};
|
||||
|
||||
#define FB_VBLANK_VBLANKING 0x001 /* currently in a vertical blank */
|
||||
#define FB_VBLANK_HBLANKING 0x002 /* currently in a horizontal blank */
|
||||
#define FB_VBLANK_HAVE_VBLANK 0x004 /* vertical blanks can be detected */
|
||||
#define FB_VBLANK_HAVE_HBLANK 0x008 /* horizontal blanks can be detected */
|
||||
#define FB_VBLANK_HAVE_COUNT 0x010 /* global retrace counter is available */
|
||||
#define FB_VBLANK_HAVE_VCOUNT 0x020 /* the vcount field is valid */
|
||||
#define FB_VBLANK_HAVE_HCOUNT 0x040 /* the hcount field is valid */
|
||||
#define FB_VBLANK_VSYNCING 0x080 /* currently in a vsync */
|
||||
#define FB_VBLANK_HAVE_VSYNC 0x100 /* verical syncs can be detected */
|
||||
|
||||
struct fb_vblank {
|
||||
__u32 flags; /* FB_VBLANK flags */
|
||||
__u32 count; /* counter of retraces since boot */
|
||||
__u32 vcount; /* current scanline position */
|
||||
__u32 hcount; /* current scandot position */
|
||||
__u32 reserved[4]; /* reserved for future compatibility */
|
||||
};
|
||||
|
||||
/* Internal HW accel */
|
||||
#define ROP_COPY 0
|
||||
#define ROP_XOR 1
|
||||
|
||||
struct fb_copyarea {
|
||||
__u32 dx;
|
||||
__u32 dy;
|
||||
__u32 width;
|
||||
__u32 height;
|
||||
__u32 sx;
|
||||
__u32 sy;
|
||||
};
|
||||
|
||||
struct fb_fillrect {
|
||||
__u32 dx; /* screen-relative */
|
||||
__u32 dy;
|
||||
__u32 width;
|
||||
__u32 height;
|
||||
__u32 color;
|
||||
__u32 rop;
|
||||
};
|
||||
|
||||
struct fb_image {
|
||||
__u32 dx; /* Where to place image */
|
||||
__u32 dy;
|
||||
__u32 width; /* Size of image */
|
||||
__u32 height;
|
||||
__u32 fg_color; /* Only used when a mono bitmap */
|
||||
__u32 bg_color;
|
||||
__u8 depth; /* Depth of the image */
|
||||
const char *data; /* Pointer to image data */
|
||||
struct fb_cmap cmap; /* color map info */
|
||||
};
|
||||
|
||||
/*
|
||||
* hardware cursor control
|
||||
*/
|
||||
|
||||
#define FB_CUR_SETIMAGE 0x01
|
||||
#define FB_CUR_SETPOS 0x02
|
||||
#define FB_CUR_SETHOT 0x04
|
||||
#define FB_CUR_SETCMAP 0x08
|
||||
#define FB_CUR_SETSHAPE 0x10
|
||||
#define FB_CUR_SETSIZE 0x20
|
||||
#define FB_CUR_SETALL 0xFF
|
||||
|
||||
struct fbcurpos {
|
||||
__u16 x, y;
|
||||
};
|
||||
|
||||
struct fb_cursor {
|
||||
__u16 set; /* what to set */
|
||||
__u16 enable; /* cursor on/off */
|
||||
__u16 rop; /* bitop operation */
|
||||
const char *mask; /* cursor mask bits */
|
||||
struct fbcurpos hot; /* cursor hot spot */
|
||||
struct fb_image image; /* Cursor image */
|
||||
};
|
||||
|
||||
#ifdef CONFIG_FB_BACKLIGHT
|
||||
/* Settings for the generic backlight code */
|
||||
#define FB_BACKLIGHT_LEVELS 128
|
||||
#define FB_BACKLIGHT_MAX 0xFF
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* _UAPI_LINUX_FB_H */
|
Reference in New Issue
Block a user