From 9e397956b092543f5fc89ccc43dc309818c150c6 Mon Sep 17 00:00:00 2001 From: Icenowy Zheng Date: Thu, 6 Aug 2020 04:48:05 +0800 Subject: [PATCH] panfrost: signal syncobj if nothing is going to be flushed When nothing is going to be flushed, the kernel will get no job that signals the syncobj. Signal it by ourselves, otherwise it will never get signaled. Closes: #3371 Signed-off-by: Icenowy Zheng Reviewed-by: Alyssa Rosenzweig Cc: mesa-stable Part-of: --- src/gallium/drivers/panfrost/pan_job.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/panfrost/pan_job.c b/src/gallium/drivers/panfrost/pan_job.c index 3295d841602..d59aa22f049 100644 --- a/src/gallium/drivers/panfrost/pan_job.c +++ b/src/gallium/drivers/panfrost/pan_job.c @@ -1076,8 +1076,11 @@ panfrost_batch_submit(struct panfrost_batch *batch, uint32_t out_sync) int ret; /* Nothing to do! */ - if (!batch->scoreboard.first_job && !batch->clear) + if (!batch->scoreboard.first_job && !batch->clear) { + if (out_sync) + drmSyncobjSignal(dev->fd, &out_sync, 1); goto out; + } panfrost_batch_draw_wallpaper(batch); -- 2.30.2