Re: [RFC PATCH 05/12] media: iris: Skip destroying internal buffer if not dequeued

From: Dmitry Baryshkov
Date: Wed Mar 05 2025 - 15:44:28 EST


On Wed, Mar 05, 2025 at 04:13:28PM +0530, Dikshita Agarwal wrote:
> Firmware might hold the DPB buffers for reference in case of sequence
> change, so skip destroying buffers for which QUEUED flag is not removed.
>
> Signed-off-by: Dikshita Agarwal <quic_dikshita@xxxxxxxxxxx>

Please add FIxes tag and move closer to the top.

> ---
> drivers/media/platform/qcom/iris/iris_buffer.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/media/platform/qcom/iris/iris_buffer.c b/drivers/media/platform/qcom/iris/iris_buffer.c
> index 8c9d5b7fe75c..305b630ca269 100644
> --- a/drivers/media/platform/qcom/iris/iris_buffer.c
> +++ b/drivers/media/platform/qcom/iris/iris_buffer.c
> @@ -399,6 +399,13 @@ int iris_destroy_internal_buffers(struct iris_inst *inst, u32 plane)
> for (i = 0; i < len; i++) {
> buffers = &inst->buffers[internal_buf_type[i]];
> list_for_each_entry_safe(buf, next, &buffers->list, list) {
> + /*
> + * skip destroying internal(DPB) buffer if firmware
> + * did not return it.
> + */
> + if (buf->attr & BUF_ATTR_QUEUED)
> + continue;
> +
> ret = iris_destroy_internal_buffer(inst, buf);
> if (ret)
> return ret;
> --
> 2.34.1
>

--
With best wishes
Dmitry