1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/****************************************************************************
2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   This header was automatically generated from a Linux kernel header
5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   of the same name, to make information necessary for userspace to
6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   call into the kernel available to libc.  It contains only constants,
7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   structures, and macros generated from the original header, and thus,
8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   contains no copyrightable information.
9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   To edit the content of this header, modify the corresponding
11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   source file (e.g. under external/kernel-headers/original/) then
12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   run bionic/libc/kernel/tools/update_all.py
13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   Any manual change here will be lost the next time this script will
15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   be run. You've been warned!
16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/
19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _VIA_DRM_H_
20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _VIA_DRM_H_
21655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <drm/drm.h>
22655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _VIA_DEFINES_
23655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _VIA_DEFINES_
25655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include "via_drmclient.h"
26655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_NR_SAREA_CLIPRECTS 8
27655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_NR_XVMC_PORTS 10
28655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_NR_XVMC_LOCKS 5
30655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_MAX_CACHELINE_SIZE 64
31d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define XVMCLOCKPTR(saPriv,lockNo) ((volatile struct drm_hw_lock *) (((((unsigned long) (saPriv)->XvMCLockArea) + (VIA_MAX_CACHELINE_SIZE - 1)) & ~(VIA_MAX_CACHELINE_SIZE - 1)) + VIA_MAX_CACHELINE_SIZE * (lockNo)))
32655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_NR_TEX_REGIONS 64
33655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_LOG_MIN_TEX_REGION_SIZE 16
35655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
36655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_UPLOAD_TEX0IMAGE 0x1
37655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_UPLOAD_TEX1IMAGE 0x2
38655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_UPLOAD_CTX 0x4
40655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_UPLOAD_BUFFERS 0x8
41655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_UPLOAD_TEX0 0x10
42655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_UPLOAD_TEX1 0x20
43655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_UPLOAD_CLIPRECTS 0x40
45655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_UPLOAD_ALL 0xff
46655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_ALLOCMEM 0x00
47655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_FREEMEM 0x01
48655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_AGP_INIT 0x02
50655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_FB_INIT 0x03
51655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_MAP_INIT 0x04
52655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_DEC_FUTEX 0x05
53655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NOT_USED
55655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_DMA_INIT 0x07
56655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_CMDBUFFER 0x08
57655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_FLUSH 0x09
58655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_PCICMD 0x0a
60655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_CMDBUF_SIZE 0x0b
61655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NOT_USED
62655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_WAIT_IRQ 0x0d
63655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_DMA_BLIT 0x0e
65655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_BLIT_SYNC 0x0f
66655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_IOCTL_VIA_ALLOCMEM DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_ALLOCMEM, drm_via_mem_t)
67d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_VIA_FREEMEM DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_FREEMEM, drm_via_mem_t)
68655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_IOCTL_VIA_AGP_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_AGP_INIT, drm_via_agp_t)
70655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_IOCTL_VIA_FB_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_FB_INIT, drm_via_fb_t)
71655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_IOCTL_VIA_MAP_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_MAP_INIT, drm_via_init_t)
72d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_VIA_DEC_FUTEX DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_DEC_FUTEX, drm_via_futex_t)
73655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_IOCTL_VIA_DMA_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_DMA_INIT, drm_via_dma_init_t)
75d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_VIA_CMDBUFFER DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_CMDBUFFER, drm_via_cmdbuffer_t)
76d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_VIA_FLUSH DRM_IO(DRM_COMMAND_BASE + DRM_VIA_FLUSH)
77d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_VIA_PCICMD DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_PCICMD, drm_via_cmdbuffer_t)
78655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_VIA_CMDBUF_SIZE DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_CMDBUF_SIZE, drm_via_cmdbuf_size_t)
80d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_VIA_WAIT_IRQ DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_WAIT_IRQ, drm_via_irqwait_t)
81655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_IOCTL_VIA_DMA_BLIT DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_DMA_BLIT, drm_via_dmablit_t)
82655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_IOCTL_VIA_BLIT_SYNC DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_BLIT_SYNC, drm_via_blitsync_t)
83655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_TEX_SETUP_SIZE 8
85655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_FRONT 0x1
86655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_BACK 0x2
87655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_DEPTH 0x4
88655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_STENCIL 0x8
90655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_MEM_VIDEO 0
91655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_MEM_AGP 1
92655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_MEM_SYSTEM 2
93655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_MEM_MIXED 3
95655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_MEM_UNKNOWN 4
96655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct {
97d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 offset;
98655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 size;
100655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_agp_t;
101655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct {
102d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 offset;
103655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 size;
105655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_fb_t;
106655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct {
107d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 context;
108655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 type;
110d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 size;
111d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long index;
112d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long offset;
113655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_mem_t;
115655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct _drm_via_init {
116d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  enum {
117d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    VIA_INIT_MAP = 0x01,
118655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    VIA_CLEANUP_MAP = 0x02
120d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  } func;
121d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long sarea_priv_offset;
122d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long fb_offset;
123655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long mmio_offset;
125d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long agpAddr;
126655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_init_t;
127655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct _drm_via_futex {
128655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  enum {
130d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    VIA_FUTEX_WAIT = 0x00,
131d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    VIA_FUTEX_WAKE = 0X01
132d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  } func;
133655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ms;
135d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 lock;
136d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 val;
137655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_futex_t;
138655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct _drm_via_dma_init {
140d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  enum {
141d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    VIA_INIT_DMA = 0x01,
142d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    VIA_CLEANUP_DMA = 0x02,
143655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    VIA_DMA_INITIALIZED = 0x03
145d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  } func;
146d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long offset;
147d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long size;
148655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long reg_pause_addr;
150655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_dma_init_t;
151655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct _drm_via_cmdbuffer {
152d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  char __user * buf;
153655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long size;
155655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_cmdbuffer_t;
156655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct _drm_via_tex_region {
157d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char next, prev;
158655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char inUse;
160d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int age;
161655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_tex_region_t;
162655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct _drm_via_sarea {
163655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int dirty;
165d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int nbox;
166d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct drm_clip_rect boxes[VIA_NR_SAREA_CLIPRECTS];
167d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  drm_via_tex_region_t texList[VIA_NR_TEX_REGIONS + 1];
168655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int texAge;
170d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int ctxOwner;
171d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int vertexPrim;
172d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  char XvMCLockArea[VIA_MAX_CACHELINE_SIZE * (VIA_NR_XVMC_LOCKS + 1)];
173655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int XvMCDisplaying[VIA_NR_XVMC_PORTS];
175d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int XvMCSubPicOn[VIA_NR_XVMC_PORTS];
176d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int XvMCCtxNoGrabbed;
177d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int pfCurrentOffset;
178655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_sarea_t;
180655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct _drm_via_cmdbuf_size {
181d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  enum {
182d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    VIA_CMDBUF_SPACE = 0x01,
183655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    VIA_CMDBUF_LAG = 0x02
185d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  } func;
186d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int wait;
187d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 size;
188655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_cmdbuf_size_t;
190655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef enum {
191d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  VIA_IRQ_ABSOLUTE = 0x0,
192d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  VIA_IRQ_RELATIVE = 0x1,
193655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  VIA_IRQ_SIGNAL = 0x10000000,
195d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  VIA_IRQ_FORCE_SEQUENCE = 0x20000000
196655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} via_irq_seq_type_t;
197655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_IRQ_FLAGS_MASK 0xF0000000
198655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum drm_via_irqs {
200d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  drm_via_irq_hqv0 = 0,
201d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  drm_via_irq_hqv1,
202d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  drm_via_irq_dma0_dd,
203655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  drm_via_irq_dma0_td,
205d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  drm_via_irq_dma1_dd,
206d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  drm_via_irq_dma1_td,
207d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  drm_via_irq_num
208655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
210655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_via_wait_irq_request {
211d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned irq;
212d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  via_irq_seq_type_t type;
213655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 sequence;
215d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 signal;
216655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
217655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef union drm_via_irqwait {
218655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct drm_via_wait_irq_request request;
220d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct drm_wait_vblank_reply reply;
221655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_irqwait_t;
222655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct drm_via_blitsync {
223655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 sync_handle;
225d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned engine;
226655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_blitsync_t;
227655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct drm_via_dmablit {
228655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 num_lines;
230d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 line_length;
231d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 fb_addr;
232d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 fb_stride;
233655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char * mem_addr;
235d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 mem_stride;
236d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 flags;
237d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int to_fb;
238655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  drm_via_blitsync_t sync;
240655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_dmablit_t;
241655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
242