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_
21106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#include "drm.h"
22106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#ifdef __cplusplus
23106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#endif
24106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#ifndef _VIA_DEFINES_
25655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _VIA_DEFINES_
26655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_NR_SAREA_CLIPRECTS 8
27106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define VIA_NR_XVMC_PORTS 10
28655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_NR_XVMC_LOCKS 5
29655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_MAX_CACHELINE_SIZE 64
30d7db594b8d1dab36b711bd887a9dd21675c87243Tao 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)))
31106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define VIA_NR_TEX_REGIONS 64
32655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_LOG_MIN_TEX_REGION_SIZE 16
33655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
34655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_UPLOAD_TEX0IMAGE 0x1
35106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define VIA_UPLOAD_TEX1IMAGE 0x2
36655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_UPLOAD_CTX 0x4
37655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_UPLOAD_BUFFERS 0x8
38655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_UPLOAD_TEX0 0x10
39106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define VIA_UPLOAD_TEX1 0x20
40655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_UPLOAD_CLIPRECTS 0x40
41655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_UPLOAD_ALL 0xff
42655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_ALLOCMEM 0x00
43106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_VIA_FREEMEM 0x01
44655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_AGP_INIT 0x02
45655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_FB_INIT 0x03
46655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_MAP_INIT 0x04
47106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_VIA_DEC_FUTEX 0x05
48655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NOT_USED
49655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_DMA_INIT 0x07
50655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_CMDBUFFER 0x08
51106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_VIA_FLUSH 0x09
52655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_PCICMD 0x0a
53655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_CMDBUF_SIZE 0x0b
54655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NOT_USED
55106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_VIA_WAIT_IRQ 0x0d
56655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_DMA_BLIT 0x0e
57655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_VIA_BLIT_SYNC 0x0f
58655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_IOCTL_VIA_ALLOCMEM DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_ALLOCMEM, drm_via_mem_t)
59106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_IOCTL_VIA_FREEMEM DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_FREEMEM, drm_via_mem_t)
60655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_IOCTL_VIA_AGP_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_AGP_INIT, drm_via_agp_t)
61655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_IOCTL_VIA_FB_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_FB_INIT, drm_via_fb_t)
62655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_IOCTL_VIA_MAP_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_MAP_INIT, drm_via_init_t)
63106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_IOCTL_VIA_DEC_FUTEX DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_DEC_FUTEX, drm_via_futex_t)
64655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_IOCTL_VIA_DMA_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_DMA_INIT, drm_via_dma_init_t)
65d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_VIA_CMDBUFFER DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_CMDBUFFER, drm_via_cmdbuffer_t)
66d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_VIA_FLUSH DRM_IO(DRM_COMMAND_BASE + DRM_VIA_FLUSH)
67106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_IOCTL_VIA_PCICMD DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_PCICMD, drm_via_cmdbuffer_t)
68d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_VIA_CMDBUF_SIZE DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_CMDBUF_SIZE, drm_via_cmdbuf_size_t)
69d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_VIA_WAIT_IRQ DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_WAIT_IRQ, drm_via_irqwait_t)
70655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_IOCTL_VIA_DMA_BLIT DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_DMA_BLIT, drm_via_dmablit_t)
71106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_IOCTL_VIA_BLIT_SYNC DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_BLIT_SYNC, drm_via_blitsync_t)
72655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_TEX_SETUP_SIZE 8
73655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_FRONT 0x1
74655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_BACK 0x2
75106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define VIA_DEPTH 0x4
76655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_STENCIL 0x8
77655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_MEM_VIDEO 0
78655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_MEM_AGP 1
79106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define VIA_MEM_SYSTEM 2
80655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_MEM_MIXED 3
81655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VIA_MEM_UNKNOWN 4
82655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct {
83106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 offset;
84d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 size;
85655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_agp_t;
86655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct {
87106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 offset;
88d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 size;
89655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_fb_t;
90655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct {
91106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 context;
92d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 type;
93d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 size;
94d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long index;
95106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  unsigned long offset;
96655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_mem_t;
97655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct _drm_via_init {
98d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  enum {
99106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris    VIA_INIT_MAP = 0x01,
100d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    VIA_CLEANUP_MAP = 0x02
101d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  } func;
102d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long sarea_priv_offset;
103106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  unsigned long fb_offset;
104d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long mmio_offset;
105d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long agpAddr;
106655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_init_t;
107106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferristypedef struct _drm_via_futex {
108d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  enum {
109d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    VIA_FUTEX_WAIT = 0x00,
110d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    VIA_FUTEX_WAKE = 0X01
111106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  } func;
112d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ms;
113d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 lock;
114d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 val;
115106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris} drm_via_futex_t;
116655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct _drm_via_dma_init {
117d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  enum {
118d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    VIA_INIT_DMA = 0x01,
119106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris    VIA_CLEANUP_DMA = 0x02,
120d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    VIA_DMA_INITIALIZED = 0x03
121d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  } func;
122d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long offset;
123106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  unsigned long size;
124d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long reg_pause_addr;
125655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_dma_init_t;
126655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct _drm_via_cmdbuffer {
127106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  char __user * buf;
128d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long size;
129655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_cmdbuffer_t;
130655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct _drm_via_tex_region {
131106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  unsigned char next, prev;
132d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char inUse;
133d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int age;
134655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_tex_region_t;
135106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferristypedef struct _drm_via_sarea {
136d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int dirty;
137d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int nbox;
138d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct drm_clip_rect boxes[VIA_NR_SAREA_CLIPRECTS];
139106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  drm_via_tex_region_t texList[VIA_NR_TEX_REGIONS + 1];
140d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int texAge;
141d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int ctxOwner;
142d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int vertexPrim;
143106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  char XvMCLockArea[VIA_MAX_CACHELINE_SIZE * (VIA_NR_XVMC_LOCKS + 1)];
144d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int XvMCDisplaying[VIA_NR_XVMC_PORTS];
145d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int XvMCSubPicOn[VIA_NR_XVMC_PORTS];
146d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int XvMCCtxNoGrabbed;
147106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  unsigned int pfCurrentOffset;
148655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_sarea_t;
149655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct _drm_via_cmdbuf_size {
150d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  enum {
151106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris    VIA_CMDBUF_SPACE = 0x01,
152d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    VIA_CMDBUF_LAG = 0x02
153d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  } func;
154d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int wait;
155106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 size;
156655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_cmdbuf_size_t;
157655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef enum {
158d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  VIA_IRQ_ABSOLUTE = 0x0,
159106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  VIA_IRQ_RELATIVE = 0x1,
160d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  VIA_IRQ_SIGNAL = 0x10000000,
161d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  VIA_IRQ_FORCE_SEQUENCE = 0x20000000
162655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} via_irq_seq_type_t;
163106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define VIA_IRQ_FLAGS_MASK 0xF0000000
164655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum drm_via_irqs {
165d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  drm_via_irq_hqv0 = 0,
166d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  drm_via_irq_hqv1,
167106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  drm_via_irq_dma0_dd,
168d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  drm_via_irq_dma0_td,
169d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  drm_via_irq_dma1_dd,
170d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  drm_via_irq_dma1_td,
171106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  drm_via_irq_num
172655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
173655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_via_wait_irq_request {
174d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned irq;
175106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  via_irq_seq_type_t type;
176d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 sequence;
177d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 signal;
178655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
179106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferristypedef union drm_via_irqwait {
180d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct drm_via_wait_irq_request request;
181d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct drm_wait_vblank_reply reply;
182655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_irqwait_t;
183106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferristypedef struct drm_via_blitsync {
184d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 sync_handle;
185d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned engine;
186655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_blitsync_t;
187106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferristypedef struct drm_via_dmablit {
188d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 num_lines;
189d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 line_length;
190d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 fb_addr;
191106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 fb_stride;
192d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char * mem_addr;
193d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 mem_stride;
194d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 flags;
195106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  int to_fb;
196d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  drm_via_blitsync_t sync;
197655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} drm_via_dmablit_t;
198106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#ifdef __cplusplus
199106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#endif
200655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
201