Revert "venus: remove vn_ring_wait_all"

This reverts commit 7253e61d9d.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14657>
This commit is contained in:
Yiwei Zhang 2022-01-22 00:20:08 +00:00 committed by Marge Bot
parent 5ba9309c29
commit 15e7750446
3 changed files with 19 additions and 0 deletions

View File

@ -111,6 +111,13 @@ VkResult
vn_instance_ring_submit(struct vn_instance *instance,
const struct vn_cs_encoder *cs);
static inline void
vn_instance_ring_wait(struct vn_instance *instance)
{
struct vn_ring *ring = &instance->ring.ring;
vn_ring_wait_all(ring);
}
struct vn_instance_submit_command {
/* empty command implies errors */
struct vn_cs_encoder command;

View File

@ -238,3 +238,12 @@ vn_ring_wait(const struct vn_ring *ring, uint32_t seqno)
{
vn_ring_wait_seqno(ring, seqno);
}
void
vn_ring_wait_all(const struct vn_ring *ring)
{
/* load from tail rather than ring->cur for atomicity */
const uint32_t pending_seqno =
atomic_load_explicit(ring->shared.tail, memory_order_relaxed);
vn_ring_wait(ring, pending_seqno);
}

View File

@ -99,4 +99,7 @@ vn_ring_submit(struct vn_ring *ring,
void
vn_ring_wait(const struct vn_ring *ring, uint32_t seqno);
void
vn_ring_wait_all(const struct vn_ring *ring);
#endif /* VN_RING_H */