On 4/28/2025 2:58 PM, Dikshita Agarwal wrote:
> 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.
>
> Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.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 0e889d07e997..0eb7549da606 100644
> --- a/drivers/media/platform/qcom/iris/iris_hfi_gen2_response.c
> +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen2_response.c
> @@ -377,6 +377,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;
> }
>
>
>
Acked-by: Vikash Garodia <quic_vgarodia@quicinc.com>