summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDikshita Agarwal <quic_dikshita@quicinc.com>2024-01-10 07:12:14 +0100
committerHans Verkuil <hverkuil-cisco@xs4all.nl>2024-06-30 11:22:44 +0200
commite750a4b1224142bd8dd057b0d5adf8a5608b7e77 (patch)
treeae6ec44d2fb051daa356f75c5c9a58807b26f88c /drivers
parentmedia: videobuf2: add missing MODULE_DESCRIPTION() macro (diff)
downloadlinux-e750a4b1224142bd8dd057b0d5adf8a5608b7e77.tar.xz
linux-e750a4b1224142bd8dd057b0d5adf8a5608b7e77.zip
media: venus: flush all buffers in output plane streamoff
For scenarios, when source change is followed by VIDIOC_STREAMOFF on output plane, driver should discard any queued OUTPUT buffers, which are not decoded or dequeued. Flush with HFI_FLUSH_INPUT does not have any actual impact. So, fix it, by invoking HFI_FLUSH_ALL, which will flush all queued buffers. Fixes: 85872f861d4c ("media: venus: Mark last capture buffer") Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com> Tested-by: Nathan Hebert <nhebert@chromium.org> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Stanimir Varbanov <stanimir.k.varbanov@gmail.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/platform/qcom/venus/vdec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c
index 29130a9441e7..0d2ab95bec0f 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;