drm/msm: small mmap offset cleanups
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>
This commit is contained in:
parent
e27c54ffd2
commit
257d06f704
@ -519,13 +519,11 @@ void msm_gem_free_object(struct drm_gem_object *obj)
|
|||||||
for (id = 0; id < ARRAY_SIZE(msm_obj->domain); id++) {
|
for (id = 0; id < ARRAY_SIZE(msm_obj->domain); id++) {
|
||||||
struct msm_mmu *mmu = priv->mmus[id];
|
struct msm_mmu *mmu = priv->mmus[id];
|
||||||
if (mmu && msm_obj->domain[id].iova) {
|
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);
|
mmu->funcs->unmap(mmu, offset, msm_obj->sgt, obj->size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
drm_gem_free_mmap_offset(obj);
|
|
||||||
|
|
||||||
if (obj->import_attach) {
|
if (obj->import_attach) {
|
||||||
if (msm_obj->vaddr)
|
if (msm_obj->vaddr)
|
||||||
dma_buf_vunmap(obj->import_attach->dmabuf, msm_obj->vaddr);
|
dma_buf_vunmap(obj->import_attach->dmabuf, msm_obj->vaddr);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user