Am Mittwoch, dem 22.09.2021 um 13:41 +0200 schrieb Christian König:
Setting the exclusive fence without waiting for the shared fences violates the DAG and is illegal.
We really need to get away from this ASAP and make the driver interface more bullet prove.
Uh, what happened to Daniels patch "drm/etnaviv: Don't break exclusive fence ordering", which fixed this without totally doing away with the no-implicit handling? I have to admit that I haven't followed up with that patch series due to ETOOMUCHOTHERSTUFF, but from a quick glance this patch looked better than what you propose here.
Regards, Lucas
Signed-off-by: Christian König christian.koenig@amd.com Cc: stable@vger.kernel.org
drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c index 7e17bc2b5df1..4db40e88f67f 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c @@ -185,19 +185,15 @@ static int submit_fence_sync(struct etnaviv_gem_submit *submit) return ret; }
if (submit->flags & ETNA_SUBMIT_NO_IMPLICIT)
continue;
- if (bo->flags & ETNA_SUBMIT_BO_WRITE) { ret = dma_resv_get_fences(robj, &bo->excl, &bo->nr_shared, &bo->shared); if (ret) return ret;
} else {
}} else if (!(submit->flags & ETNA_SUBMIT_NO_IMPLICIT)) { bo->excl = dma_fence_get(dma_resv_excl_fence(robj));
}
return ret;