drm/msm: small mmap offset cleanups
authorRob Clark <robdclark@gmail.com>
Wed, 12 Nov 2014 20:25:50 +0000 (15:25 -0500)
committerRob Clark <robdclark@gmail.com>
Sun, 16 Nov 2014 19:27:39 +0000 (14:27 -0500)
Use pre-computed iova when unmapping, to reduce the places we assume iova
and mmap offset are (at the moment) the same.  And get rid of an extra
drm_gem_free_mmap_offset() call (since it is already called from
drm_gem_object_release())

Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/msm_gem.c

index aaa7898b0b6dc6755d1cc42da95571b8cbac0888..4a6f0e49d5b5f0709d586e3dcf4e271a0c99c0f5 100644 (file)
@@ -519,13 +519,11 @@ void msm_gem_free_object(struct drm_gem_object *obj)
        for (id = 0; id < ARRAY_SIZE(msm_obj->domain); id++) {
                struct msm_mmu *mmu = priv->mmus[id];
                if (mmu && msm_obj->domain[id].iova) {
-                       uint32_t offset = (uint32_t)mmap_offset(obj);
+                       uint32_t offset = msm_obj->domain[id].iova;
                        mmu->funcs->unmap(mmu, offset, msm_obj->sgt, obj->size);
                }
        }
 
-       drm_gem_free_mmap_offset(obj);
-
        if (obj->import_attach) {
                if (msm_obj->vaddr)
                        dma_buf_vunmap(obj->import_attach->dmabuf, msm_obj->vaddr);