diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c index a52a084158b1..41bd2dad842c 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c @@ -28,6 +28,7 @@  #include <linux/file.h>  #include <linux/pagemap.h>  #include <linux/sync_file.h> +#include <linux/dma-buf.h>  #include <drm/amdgpu_drm.h>  #include <drm/drm_syncobj.h> @@ -415,7 +416,9 @@ static int amdgpu_cs_bo_validate(struct amdgpu_cs_parser *p,  	/* Don't move this buffer if we have depleted our allowance  	 * to move it. Don't move anything if the threshold is zero.  	 */ -	if (p->bytes_moved < p->bytes_moved_threshold) { +	if (p->bytes_moved < p->bytes_moved_threshold && +	    (!bo->tbo.base.dma_buf || +	    list_empty(&bo->tbo.base.dma_buf->attachments))) {  		if (!amdgpu_gmc_vram_full_visible(&adev->gmc) &&  		    (bo->flags & AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED)) {  			/* And don't move a CPU_ACCESS_REQUIRED BO to limited | 
