[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1b204ed7bc63373f52973b96af68e64e24be8cde.camel@collabora.com>
Date: Sat, 03 May 2025 12:09:30 -0400
From: Nicolas Dufresne <nicolas.dufresne@...labora.com>
To: Dikshita Agarwal <quic_dikshita@...cinc.com>, Vikash Garodia
<quic_vgarodia@...cinc.com>, Abhinav Kumar <quic_abhinavk@...cinc.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>, Stefan Schmidt
<stefan.schmidt@...aro.org>, Hans Verkuil <hverkuil@...all.nl>, Bjorn
Andersson <andersson@...nel.org>, Konrad Dybcio <konradybcio@...nel.org>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>
Cc: Bryan O'Donoghue <bryan.odonoghue@...aro.org>, Dmitry Baryshkov
<dmitry.baryshkov@....qualcomm.com>, Neil Armstrong
<neil.armstrong@...aro.org>, linux-media@...r.kernel.org,
linux-arm-msm@...r.kernel.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org,
20250417-topic-sm8x50-iris-v10-v7-0-f020cb1d0e98@...aro.org,
20250424-qcs8300_iris-v5-0-f118f505c300@...cinc.com
Subject: Re: [PATCH v3 13/23] media: iris: Send V4L2_BUF_FLAG_ERROR for
buffers with 0 filled length
Hi Dikshita,
Le vendredi 02 mai 2025 à 00:43 +0530, Dikshita Agarwal a écrit :
> Firmware sends buffers with 0 filled length which needs to be dropped,
> to achieve the same, add V4L2_BUF_FLAG_ERROR to such buffers.
> Also make sure:
> - These 0 length buffers are not returned as result of flush.
> - Its not a buffer with LAST flag enabled which will also have 0 filled
> length.
This message is quite vague, is this about capture or output buffers ?
If its output buffers that don't produce capture, I don't see why they
have to be flagged as errors, or why the payload size matter. Then, if
its about assigned capture buffers that did not get used in the end, you
should put them back in the queue instead of returning them to user
space.
Returning a capture buffers to userspace should only be used if a frame
could not be produced. That imply copying the cookie timestamp from the
src buffers into the capture buffer. Please make sure you don't endup
returning fake erorrs to userspace, which may lead to some frame
metadata being dropped erroneously.
Nicolas
>
> Acked-by: Vikash Garodia <quic_vgarodia@...cinc.com>
> Signed-off-by: Dikshita Agarwal <quic_dikshita@...cinc.com>
> ---
> drivers/media/platform/qcom/iris/iris_hfi_gen2_response.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen2_response.c
> b/drivers/media/platform/qcom/iris/iris_hfi_gen2_response.c
> index 4488540d1d41..3bb326843a7b 100644
> --- a/drivers/media/platform/qcom/iris/iris_hfi_gen2_response.c
> +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen2_response.c
> @@ -378,6 +378,12 @@ static int iris_hfi_gen2_handle_output_buffer(struct iris_inst *inst,
>
> buf->flags = iris_hfi_gen2_get_driver_buffer_flags(inst, hfi_buffer->flags);
>
> + if (!buf->data_size && inst->state == IRIS_INST_STREAMING &&
> + !(hfi_buffer->flags & HFI_BUF_FW_FLAG_LAST) &&
> + !(inst->sub_state & IRIS_INST_SUB_DRC)) {
> + buf->flags |= V4L2_BUF_FLAG_ERROR;
> + }
> +
> return 0;
> }
>
Powered by blists - more mailing lists