etnaviv: drm: don't skip flush when there are active PMRs

When there are active PMRs attached to the command buffer we can
not optimize the flush away, as that results in the queries never
reaching their expected sequence number, livelocking readers
waiting for the query result.

Fixes: 148658638e7f ("etnaviv: drm: Be able to mark end of context init")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30055>
This commit is contained in:
Lucas Stach
2024-07-05 20:52:53 +02:00
committed by Marge Bot
parent d1767ddd13
commit 3bae3217d5
+2 -1
View File
@@ -230,7 +230,8 @@ void etna_cmd_stream_flush(struct etna_cmd_stream *stream, int in_fence_fd,
if (gpu->dev->use_softpin)
req.flags |= ETNA_SUBMIT_SOFTPIN;
if (stream->offset == priv->offset_end_of_context_init && !out_fence_fd)
if (stream->offset == priv->offset_end_of_context_init && !out_fence_fd &&
!priv->submit.nr_pmrs)
is_noop = true;
if (likely(!is_noop)) {