From 606179ac4f81f708aeddaa0320ca7db28ba7c476 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Mon, 27 Apr 2009 00:03:39 +0100 Subject: Kernel handling of command queue This adds handling of Glamo's ring buffer at the kernel level, to be accessed via ioctl DRM_GLAMO_CMDBUF. Signed-off-by: Thomas White --- include/drm/drmP.h | 6 ++++-- include/drm/glamo_drm.h | 11 +++-------- 2 files changed, 7 insertions(+), 10 deletions(-) (limited to 'include') diff --git a/include/drm/drmP.h b/include/drm/drmP.h index 176fdc2c313..6e14efad777 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h @@ -1040,7 +1040,9 @@ static inline int drm_core_is_platform(struct drm_device *dev) /* Driver support (drm_drv.h) */ extern int drm_init(struct drm_driver *driver); -extern int drm_platform_init(struct drm_driver *driver, struct platform_device *pdev); +extern int drm_platform_init(struct drm_driver *driver, + struct platform_device *pdev, + void *dev_private); extern void drm_exit(struct drm_driver *driver); extern int drm_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg); @@ -1262,7 +1264,7 @@ extern void drm_master_put(struct drm_master **master); extern int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent, struct drm_driver *driver); extern int drm_get_platform_dev(struct platform_device *pdev, - struct drm_driver *driver); + struct drm_driver *driver, void *priv); extern int drm_put_dev(struct drm_device *dev); extern int drm_put_minor(struct drm_minor **minor); extern unsigned int drm_debug; diff --git a/include/drm/glamo_drm.h b/include/drm/glamo_drm.h index 706c350bd14..2b0a81146d5 100644 --- a/include/drm/glamo_drm.h +++ b/include/drm/glamo_drm.h @@ -65,19 +65,15 @@ #define DRM_IOCTL_GLAMO_GEM_WAIT_RENDERING DRM_IOW(DRM_COMMAND_BASE + DRM_GLAMO_GEM_WAIT_RENDERING, struct drm_glamo_gem_wait_rendering) typedef struct drm_glamo_cmd_buffer { - int bufsz; - char __user *buf; + int bufsz; /* Size of buffer, in bytes */ + char __user *buf; /* Buffer of stuff to go onto the ring buffer */ int nbox; struct drm_clip_rect __user *boxes; } drm_glamo_cmd_buffer_t; -/* return to userspace start/size of gtt and vram apertures */ struct drm_glamo_gem_info { - uint64_t gart_start; - uint64_t gart_size; uint64_t vram_start; uint64_t vram_size; - uint64_t vram_visible; }; struct drm_glamo_gem_create { @@ -85,8 +81,7 @@ struct drm_glamo_gem_create { uint64_t alignment; uint32_t handle; uint32_t initial_domain; // to allow VRAM to be created - uint32_t no_backing_store; // for VRAM objects - select whether they need backing store - // pretty much front/back/depth don't need it - other things do + uint32_t no_backing_store; }; struct drm_glamo_gem_mmap { -- cgit v1.2.3