aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
diff options
context:
space:
mode:
authorChris Wilson <[email protected]>2017-06-22 13:46:17 +0000
committerDaniel Vetter <[email protected]>2017-06-23 11:04:22 +0000
commit71bb23c707c141b176bc084179ca5ee58d5fd26a (patch)
tree25a55b7a4d5662793539a607ee11ea8bc65a22f1 /drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
parentdrm: arcpgu: arc_pgu_crtc_mode_valid() can be static (diff)
downloadkernel-71bb23c707c141b176bc084179ca5ee58d5fd26a.tar.gz
kernel-71bb23c707c141b176bc084179ca5ee58d5fd26a.zip
drm/vgem: Pin our pages for dmabuf exports
When the caller maps their dmabuf and we return an sg_table, the caller doesn't expect the pages beneath that sg_table to vanish on a whim (i.e. under mempressure). The contract is that the pages are pinned for the duration of the mapping (from dma_buf_map_attachment() to dma_buf_unmap_attachment). To comply, we need to introduce our own vgem_object.pages_pin_count and elevate it across the mapping. However, the drm_prime interface we use calls drv->prime_pin on dma_buf_attach and drv->prime_unpin on dma_buf_detach, which while that does cover the mapping is much broader than is desired -- but it will do for now. v2: also hold the pin across prime_vmap/vunmap Reported-by: Tomi Sarvela <[email protected]> Testcase: igt/gem_concurrent_blit/*swap*vgem* Fixes: 5ba6c9ff961a ("drm/vgem: Fix mmaping") Signed-off-by: Chris Wilson <[email protected]> Cc: Tomi Sarvela <[email protected]> Cc: Laura Abbott <[email protected]> Cc: Sean Paul <[email protected]> Cc: Matthew Auld <[email protected]> Cc: Daniel Vetter <[email protected]> Cc: <[email protected]> # needs a backport Signed-off-by: Daniel Vetter <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c')
0 files changed, 0 insertions, 0 deletions