diff options
author | Christian König <christian.koenig@amd.com> | 2017-11-13 11:20:50 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-11-14 11:35:43 -0500 |
commit | 4b277247b1df177a7a60f0601ebe3dc952e5dd54 (patch) | |
tree | 9c9ce67937b0c0cc01bcce778d54c4a200673984 /drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | |
parent | c5066129af4436ab0da8eefe4289774a5409706d (diff) |
drm/amdgpu: set f_mapping on exported DMA-bufs
Otherwise we can't correctly CPU map TTM buffers.
Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c index 90af8e82b16a..ae9c106979d7 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | |||
@@ -169,10 +169,14 @@ struct dma_buf *amdgpu_gem_prime_export(struct drm_device *dev, | |||
169 | int flags) | 169 | int flags) |
170 | { | 170 | { |
171 | struct amdgpu_bo *bo = gem_to_amdgpu_bo(gobj); | 171 | struct amdgpu_bo *bo = gem_to_amdgpu_bo(gobj); |
172 | struct dma_buf *buf; | ||
172 | 173 | ||
173 | if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm) || | 174 | if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm) || |
174 | bo->flags & AMDGPU_GEM_CREATE_VM_ALWAYS_VALID) | 175 | bo->flags & AMDGPU_GEM_CREATE_VM_ALWAYS_VALID) |
175 | return ERR_PTR(-EPERM); | 176 | return ERR_PTR(-EPERM); |
176 | 177 | ||
177 | return drm_gem_prime_export(dev, gobj, flags); | 178 | buf = drm_gem_prime_export(dev, gobj, flags); |
179 | if (!IS_ERR(buf)) | ||
180 | buf->file->f_mapping = dev->anon_inode->i_mapping; | ||
181 | return buf; | ||
178 | } | 182 | } |