Re: [PATCH] media: venus: flush all buffers in output streamoff

From: Dikshita Agarwal
Date: Mon Jan 08 2024 - 01:49:44 EST


Hello All,

Please ignore this duplicate email and review the other patch [1].
Sorry for the spam.

[1]
https://patchwork.linuxtv.org/project/linux-media/patch/1704695615-1036-1-git-send-email-quic_dikshita@xxxxxxxxxxx/

Thanks,
Dikshita

On 1/8/2024 12:03 PM, Dikshita Agarwal wrote:
> For scenarios, when source change is followed by VIDIOC_STREAMOFF
> on output, driver should discards any remaining queued OUTPUT
> buffers which are not decoded or dequeued.
> Flush with HFI_FLUSH_INPUT doesn't have any actual implact. So,
> fix it by invoking HFI_FLUSH_ALL which will flush all queued buffers.
>
> Signed-off-by: Dikshita Agarwal <quic_dikshita@xxxxxxxxxxx>
> ---
> drivers/media/platform/qcom/venus/vdec.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c
> index 29130a9..0d2ab95 100644
> --- a/drivers/media/platform/qcom/venus/vdec.c
> +++ b/drivers/media/platform/qcom/venus/vdec.c
> @@ -1255,7 +1255,7 @@ static int vdec_stop_output(struct venus_inst *inst)
> break;
> case VENUS_DEC_STATE_INIT:
> case VENUS_DEC_STATE_CAPTURE_SETUP:
> - ret = hfi_session_flush(inst, HFI_FLUSH_INPUT, true);
> + ret = hfi_session_flush(inst, HFI_FLUSH_ALL, true);
> break;
> default:
> break;