From 089011daf3da8db3bd16d50e1d6a6457da82300e Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Mon, 12 May 2008 12:18:19 -0700 Subject: Track name changes in GEM ioctls. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit allocate → create unreference → close name → flink --- src/i830_dri.c | 8 ++++---- src/i830_memory.c | 24 ++++++++++++------------ 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/i830_dri.c b/src/i830_dri.c index 1cd1732a..10d65edb 100644 --- a/src/i830_dri.c +++ b/src/i830_dri.c @@ -1516,20 +1516,20 @@ i830_name_buffer (ScrnInfoPtr pScrn, i830_memory *mem) if (mem && mem->gem_handle) { I830Ptr pI830 = I830PTR(pScrn); - struct drm_gem_name name; + struct drm_gem_flink flink; int ret; if (!mem->gem_name) { - name.handle = mem->gem_handle; - ret = ioctl(pI830->drmSubFD, DRM_IOCTL_GEM_NAME, &name); + flink.handle = mem->gem_handle; + ret = ioctl(pI830->drmSubFD, DRM_IOCTL_GEM_FLINK, &flink); if (ret != 0) { xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "[drm] failed to name buffer %d\n", -errno); return -1; } - mem->gem_name = name.name; + mem->gem_name = flink.name; } return mem->gem_name; } diff --git a/src/i830_memory.c b/src/i830_memory.c index 6f3c06b9..0b172cfd 100644 --- a/src/i830_memory.c +++ b/src/i830_memory.c @@ -173,7 +173,7 @@ i830_bind_memory(ScrnInfoPtr pScrn, i830_memory *mem) pin.handle = mem->gem_handle; pin.alignment = mem->alignment; xf86DrvMsg (pScrn->scrnIndex, X_ERROR, - "alignment %d size %d\n", mem->alignment, mem->size); + "alignment %d size %d\n", mem->alignment, (int) mem->size); ret = ioctl(pI830->drmSubFD, DRM_IOCTL_I915_GEM_PIN, &pin); if (ret != 0) @@ -256,10 +256,10 @@ i830_free_memory(ScrnInfoPtr pScrn, i830_memory *mem) #ifdef XF86DRI_MM if (mem->gem_handle != 0) { I830Ptr pI830 = I830PTR(pScrn); - struct drm_gem_unreference unref; + struct drm_gem_close close; - unref.handle = mem->gem_handle; - ioctl(pI830->drmSubFD, DRM_IOCTL_GEM_UNREFERENCE, &unref); + close.handle = mem->gem_handle; + ioctl(pI830->drmSubFD, DRM_IOCTL_GEM_CLOSE, &close); if (pI830->bo_list == mem) { pI830->bo_list = mem->next; if (mem->next) @@ -729,7 +729,7 @@ i830_allocate_memory_bo(ScrnInfoPtr pScrn, const char *name, I830Ptr pI830 = I830PTR(pScrn); i830_memory *mem; int ret; - struct drm_gem_alloc alloc; + struct drm_gem_create create; assert((flags & NEED_PHYSICAL_ADDR) == 0); @@ -747,16 +747,16 @@ i830_allocate_memory_bo(ScrnInfoPtr pScrn, const char *name, return NULL; } - memset(&alloc, 0, sizeof(alloc)); - alloc.size = size; + memset(&create, 0, sizeof(create)); + create.size = size; - ret = ioctl(pI830->drmSubFD, DRM_IOCTL_GEM_ALLOC, &alloc); + ret = ioctl(pI830->drmSubFD, DRM_IOCTL_GEM_CREATE, &create); if (ret) { xfree(mem->name); xfree(mem); return NULL; } - mem->gem_handle = alloc.handle; + mem->gem_handle = create.handle; /* Give buffer obviously wrong offset/end until it's pinned. */ mem->offset = -1; @@ -770,10 +770,10 @@ i830_allocate_memory_bo(ScrnInfoPtr pScrn, const char *name, /* Bind it if we currently control the VT */ if (pScrn->vtSema) { if (!i830_bind_memory(pScrn, mem)) { - struct drm_gem_unreference unref; + struct drm_gem_close close; - unref.handle = mem->gem_handle; - ioctl(pI830->drmSubFD, DRM_IOCTL_GEM_UNREFERENCE, &unref); + close.handle = mem->gem_handle; + ioctl(pI830->drmSubFD, DRM_IOCTL_GEM_CLOSE, &close); xfree(mem->name); xfree(mem); return NULL; -- cgit v1.2.3