summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorVenkateswara Rao Tadikonda <vtadik@codeaurora.org>2017-12-12 19:00:53 +0530
committerVenkateswara Rao Tadikonda <vtadik@codeaurora.org>2017-12-13 15:23:34 +0530
commite90990f5b1edc09520fffcf46df51ef7b194023a (patch)
treecc64c5ec09b283a714e4d8149b6b5f9386c36c6a /drivers/gpu
parent5ae2acd95cfb47d0b301cb0fc86b1ac7c7d895d2 (diff)
drm/msm: Set proper GEM address space range for drm mm allocator
GEM address space range provided to drm mm allocator is not correct. Start address and size of the address space should be passed to drm mm initializer. Instead of size, end address of address space range is passed to drm mm initializer. msm_gem_get_iova() returns 0, even if memory mapping to virtual address space is failed. Return proper error value to user space driver incase of error. Change-Id: I356a63b873094cb465909437dcdab9513e27b7ff Signed-off-by: Venkateswara Rao Tadikonda <vtadik@codeaurora.org>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/msm/msm_gem.c2
-rw-r--r--drivers/gpu/drm/msm/msm_gem_vma.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c
index d66071672c62..3610c8fca5f3 100644
--- a/drivers/gpu/drm/msm/msm_gem.c
+++ b/drivers/gpu/drm/msm/msm_gem.c
@@ -585,7 +585,7 @@ int msm_gem_get_iova(struct drm_gem_object *obj,
obj_remove_domain(domain);
mutex_unlock(&msm_obj->lock);
- return 0;
+ return ret;
}
/* get iova without taking a reference, used in places where you have
diff --git a/drivers/gpu/drm/msm/msm_gem_vma.c b/drivers/gpu/drm/msm/msm_gem_vma.c
index f399d24019e4..a5a768a63858 100644
--- a/drivers/gpu/drm/msm/msm_gem_vma.c
+++ b/drivers/gpu/drm/msm/msm_gem_vma.c
@@ -60,7 +60,7 @@ msm_gem_address_space_new(struct msm_mmu *mmu, const char *name,
if (aspace->va_len)
drm_mm_init(&aspace->mm, (start >> PAGE_SHIFT),
- (end >> PAGE_SHIFT) - 1);
+ (aspace->va_len >> PAGE_SHIFT));
kref_init(&aspace->kref);