Commit 5e9ddbdc authored by Christian König's avatar Christian König

drm/i915: use new cursor in intel_prepare_plane_fb v2

Simplifying the code a bit.

v2: rebased
Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Acked-by: default avatarDaniel Vetter <daniel@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20211116102431.198905-5-christian.koenig@amd.com
parent 1b5bdf07
...@@ -738,6 +738,7 @@ intel_prepare_plane_fb(struct drm_plane *_plane, ...@@ -738,6 +738,7 @@ intel_prepare_plane_fb(struct drm_plane *_plane,
i915_gem_object_wait_priority(obj, 0, &attr); i915_gem_object_wait_priority(obj, 0, &attr);
if (!new_plane_state->uapi.fence) { /* implicit fencing */ if (!new_plane_state->uapi.fence) { /* implicit fencing */
struct dma_resv_iter cursor;
struct dma_fence *fence; struct dma_fence *fence;
ret = i915_sw_fence_await_reservation(&state->commit_ready, ret = i915_sw_fence_await_reservation(&state->commit_ready,
...@@ -748,12 +749,12 @@ intel_prepare_plane_fb(struct drm_plane *_plane, ...@@ -748,12 +749,12 @@ intel_prepare_plane_fb(struct drm_plane *_plane,
if (ret < 0) if (ret < 0)
goto unpin_fb; goto unpin_fb;
fence = dma_resv_get_excl_unlocked(obj->base.resv); dma_resv_iter_begin(&cursor, obj->base.resv, false);
if (fence) { dma_resv_for_each_fence_unlocked(&cursor, fence) {
add_rps_boost_after_vblank(new_plane_state->hw.crtc, add_rps_boost_after_vblank(new_plane_state->hw.crtc,
fence); fence);
dma_fence_put(fence);
} }
dma_resv_iter_end(&cursor);
} else { } else {
add_rps_boost_after_vblank(new_plane_state->hw.crtc, add_rps_boost_after_vblank(new_plane_state->hw.crtc,
new_plane_state->uapi.fence); new_plane_state->uapi.fence);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment