[PATCH 13/20] media: s5p-mfc: Set context for valid case before calling try_run

From: Smitha T Murthy
Date: Tue May 17 2022 - 09:00:41 EST


Context bit is set for hardware execution if there is a buffer
in source and destination queue before calling try_run in the
init_buffers function. Now there will be a new context created
and hardware will be invoked for the buffer queued instead of
waiting for another buffer to be queued from userspace to set
this context bit for hw execution.

Cc: linux-fsd@xxxxxxxxx
Signed-off-by: Smitha T Murthy <smitha.t@xxxxxxxxxxx>
---
drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c
index a6e50981bdd6..3483be832f2e 100644
--- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c
+++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c
@@ -589,6 +589,8 @@ static void s5p_mfc_handle_init_buffers(struct s5p_mfc_ctx *ctx,
s5p_mfc_clock_off();

wake_up(&ctx->queue);
+ if (ctx->src_queue_cnt >= 1 && ctx->dst_queue_cnt >= 1)
+ set_work_bit_irqsave(ctx);
s5p_mfc_hw_call(dev->mfc_ops, try_run, dev);
} else {
WARN_ON(test_and_clear_bit(0, &dev->hw_lock) == 0);
--
2.17.1