drm/ttm: split no_wait argument in 2 GPU or reserve wait
There is case where we want to be able to wait only for the GPU while not waiting for other buffer to be unreserved. This patch split the no_wait argument all the way down in the whole ttm path so that upper level can decide on what to wait on or not. [airlied: squashed these 4 for bisectability reasons.] drm/radeon/kms: update to TTM no_wait splitted argument drm/nouveau: update to TTM no_wait splitted argument drm/vmwgfx: update to TTM no_wait splitted argument [vmwgfx patch: Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>] Signed-off-by: Jerome Glisse <jglisse@redhat.com> Acked-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:

committed by
Dave Airlie

orang tua
3a89b4a9ca
melakukan
9d87fa2138
@@ -570,7 +570,7 @@ static int vmw_validate_single_buffer(struct vmw_private *dev_priv,
|
||||
* Put BO in VRAM, only if there is space.
|
||||
*/
|
||||
|
||||
ret = ttm_bo_validate(bo, &vmw_vram_sys_placement, true, false);
|
||||
ret = ttm_bo_validate(bo, &vmw_vram_sys_placement, true, false, false);
|
||||
if (unlikely(ret == -ERESTARTSYS))
|
||||
return ret;
|
||||
|
||||
@@ -590,7 +590,7 @@ static int vmw_validate_single_buffer(struct vmw_private *dev_priv,
|
||||
* previous contents.
|
||||
*/
|
||||
|
||||
ret = ttm_bo_validate(bo, &vmw_vram_placement, true, false);
|
||||
ret = ttm_bo_validate(bo, &vmw_vram_placement, true, false, false);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@@ -628,7 +628,7 @@ int vmw_dmabuf_from_vram(struct vmw_private *vmw_priv,
|
||||
if (unlikely(ret != 0))
|
||||
return ret;
|
||||
|
||||
ret = ttm_bo_validate(bo, &vmw_sys_placement, false, false);
|
||||
ret = ttm_bo_validate(bo, &vmw_sys_placement, false, false, false);
|
||||
ttm_bo_unreserve(bo);
|
||||
|
||||
return ret;
|
||||
@@ -652,7 +652,7 @@ int vmw_dmabuf_to_start_of_vram(struct vmw_private *vmw_priv,
|
||||
if (unlikely(ret != 0))
|
||||
goto err_unlock;
|
||||
|
||||
ret = ttm_bo_validate(bo, &ne_placement, false, false);
|
||||
ret = ttm_bo_validate(bo, &ne_placement, false, false, false);
|
||||
ttm_bo_unreserve(bo);
|
||||
err_unlock:
|
||||
ttm_write_unlock(&vmw_priv->active_master->lock);
|
||||
|
@@ -118,7 +118,7 @@ static int vmw_dmabuf_pin_in_vram(struct vmw_private *dev_priv,
|
||||
if (pin)
|
||||
overlay_placement = &vmw_vram_ne_placement;
|
||||
|
||||
ret = ttm_bo_validate(bo, overlay_placement, interruptible, false);
|
||||
ret = ttm_bo_validate(bo, overlay_placement, interruptible, false, false);
|
||||
|
||||
ttm_bo_unreserve(bo);
|
||||
|
||||
|
Reference in New Issue
Block a user