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

Smitha T Murthy smitha.t at samsung.com
Tue May 17 05:55:41 PDT 2022


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 at tesla.com
Signed-off-by: Smitha T Murthy <smitha.t at samsung.com>
---
 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




More information about the linux-arm-kernel mailing list