主题:* 答复: [V2 04/11] drm/amdgpu/virt: use kiq to access registers
> + fence_get(f);
> + amdgpu_ring_commit(ring);
> + mutex_unlock(>virt.lock);
> +
> + r = fence_wait(f, false);
> + fence_put(f);
Why do you grab and release an extra fence reference here?
Chris
onk
发件人: amd-gfx <amd-gfx-boun...@lists.freedesktop.org> 代表 Liu, Monk
<monk@amd.com>
发送时间: 2017年1月11日 11:06:34
收件人: Christian König; Yu, Xiangliang; amd-gfx@lists.freedesktop.org
主题: 答复: [V2 04/11] drm/amdgpu/virt: use kiq to access registers
>
> + mutex_lock(>virt.lock);
> + amdgpu_ring_alloc(ring, 32);
> + amdgpu_ring_emit_hdp_flush(ring);
> + amdgpu_ring_emit_rreg(ring, reg);
> + amdgpu_ring_emit_hdp_invalidate(ring);
> + amdgpu_fence_emit(ring, );
> + fence_get(f);
> + amdgpu_ring_commit(ring);
> +
> + fence_get(f);
> + amdgpu_ring_commit(ring);
> + mutex_unlock(>virt.lock);
> +
> + r = fence_wait(f, false);
> + fence_put(f);
Why do you grab and release an extra fence reference here?
Christian.
[ML] e.g. without those grab/release pare, if fence is signaled right