diff options
author | Tvrtko Ursulin <tvrtko.ursulin@intel.com> | 2022-05-23 09:34:47 +0100 |
---|---|---|
committer | Tvrtko Ursulin <tvrtko.ursulin@intel.com> | 2022-05-23 09:34:47 +0100 |
commit | 8ec5c0006c50cb1909c0de0fad137909c1218990 (patch) | |
tree | b5df17cb06943792b3a2c9f3fab8a2c357113b34 /drivers/gpu/drm/i915/i915_vma.c | |
parent | Revert "drm/i915: Drop has_gt_uc from device info" (diff) | |
parent | drm/i915/pcode: Add a couple of pcode helpers (diff) | |
download | linux-dev-8ec5c0006c50cb1909c0de0fad137909c1218990.tar.xz linux-dev-8ec5c0006c50cb1909c0de0fad137909c1218990.zip |
Merge tag 'drm-intel-next-2022-05-20' of git://anongit.freedesktop.org/drm/drm-intel into drm-intel-gt-next
drm/i915 drm-intel-next -> drm-intel-gt-next cross-merge sync
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
# Conflicts:
# drivers/gpu/drm/i915/gt/intel_rps.c
# drivers/gpu/drm/i915/i915_vma.c
From: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/87y1ywbh5y.fsf@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/i915_vma.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_vma.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c index 79c286f85413..4f6db539571a 100644 --- a/drivers/gpu/drm/i915/i915_vma.c +++ b/drivers/gpu/drm/i915/i915_vma.c @@ -1381,7 +1381,10 @@ int i915_vma_pin_ww(struct i915_vma *vma, struct i915_gem_ww_ctx *ww, work->vm = vma->vm; - moving = i915_gem_object_get_moving_fence(vma->obj); + err = i915_gem_object_get_moving_fence(vma->obj, &moving); + if (err) + goto err_rpm; + dma_fence_work_chain(&work->base, moving); /* Allocate enough page directories to used PTE */ @@ -1837,7 +1840,8 @@ int _i915_vma_move_to_active(struct i915_vma *vma, } if (fence) { - dma_resv_add_excl_fence(vma->obj->base.resv, fence); + dma_resv_add_fence(vma->obj->base.resv, fence, + DMA_RESV_USAGE_WRITE); obj->write_domain = I915_GEM_DOMAIN_RENDER; obj->read_domains = 0; } @@ -1849,7 +1853,8 @@ int _i915_vma_move_to_active(struct i915_vma *vma, } if (fence) { - dma_resv_add_shared_fence(vma->obj->base.resv, fence); + dma_resv_add_fence(vma->obj->base.resv, fence, + DMA_RESV_USAGE_READ); obj->write_domain = 0; } } @@ -2091,7 +2096,7 @@ int i915_vma_unbind_async(struct i915_vma *vma, bool trylock_vm) goto out_rpm; } - dma_resv_add_shared_fence(obj->base.resv, fence); + dma_resv_add_fence(obj->base.resv, fence, DMA_RESV_USAGE_READ); dma_fence_put(fence); out_rpm: |