diff options
Diffstat (limited to 'usr/src/uts/common/drm/i915_drm.h')
-rw-r--r-- | usr/src/uts/common/drm/i915_drm.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/usr/src/uts/common/drm/i915_drm.h b/usr/src/uts/common/drm/i915_drm.h index eb611a7..c452a6c 100644 --- a/usr/src/uts/common/drm/i915_drm.h +++ b/usr/src/uts/common/drm/i915_drm.h @@ -100,6 +100,7 @@ typedef struct _drm_i915_sarea { int pf_current_page; /* which buffer is being displayed? */ int perf_boxes; /* performance boxes to be displayed */ int width, height; /* screen size in pixels */ + int pad0; drm_handle_t front_handle; int front_offset; @@ -139,6 +140,8 @@ typedef struct _drm_i915_sarea { int pipeB_w; int pipeB_h; + int pad1; + /* fill out some space for old userspace triple buffer */ drm_handle_t unused_handle; __u32 unused1, unused2, unused3; @@ -296,6 +299,15 @@ typedef struct drm_i915_batchbuffer { struct drm_clip_rect *cliprects; /* pointer to userspace cliprects */ } drm_i915_batchbuffer_t; +typedef struct drm_i915_batchbuffer32 { + int start; /* agp offset */ + int used; /* nr bytes in use */ + int DR1; /* hw flags for GFX_OP_DRAWRECT_INFO */ + int DR4; /* window origin for GFX_OP_DRAWRECT_INFO */ + int num_cliprects; /* mulitpass with multiple cliprects? */ + caddr32_t cliprects; /* pointer to userspace cliprects */ +} drm_i915_batchbuffer32_t; + /* As above, but pass a pointer to userspace buffer which can be * validated by the kernel prior to sending to hardware. */ @@ -308,12 +320,25 @@ typedef struct _drm_i915_cmdbuffer { struct drm_clip_rect *cliprects; /* pointer to userspace cliprects */ } drm_i915_cmdbuffer_t; +typedef struct drm_i915_cmdbuffer32 { + caddr32_t buf; /* pointer to userspace command buffer */ + int sz; /* nr bytes in buf */ + int DR1; /* hw flags for GFX_OP_DRAWRECT_INFO */ + int DR4; /* window origin for GFX_OP_DRAWRECT_INFO */ + int num_cliprects; /* mulitpass with multiple cliprects? */ + caddr32_t cliprects; /* pointer to userspace cliprects */ +} drm_i915_cmdbuffer32_t; + /* Userspace can request & wait on irq's: */ typedef struct drm_i915_irq_emit { int *irq_seq; } drm_i915_irq_emit_t; +typedef struct drm_i915_irq_emit32 { + caddr32_t irq_seq; +} drm_i915_irq_emit32_t; + typedef struct drm_i915_irq_wait { int irq_seq; } drm_i915_irq_wait_t; @@ -369,6 +394,11 @@ typedef struct drm_i915_getparam { int *value; } drm_i915_getparam_t; +typedef struct drm_i915_getparam32 { + int param; + caddr32_t value; +} drm_i915_getparam32_t; + /* Ioctl to set kernel params: */ #define I915_SETPARAM_USE_MI_BATCHBUFFER_START 1 @@ -392,6 +422,13 @@ typedef struct drm_i915_mem_alloc { int *region_offset; /* offset from start of fb or agp */ } drm_i915_mem_alloc_t; +typedef struct drm_i915_mem_alloc32 { + int region; + int alignment; + int size; + caddr32_t region_offset; /* offset from start of fb or agp */ +} drm_i915_mem_alloc32_t; + typedef struct drm_i915_mem_free { int region; int region_offset; |