video: driver: fix DPB buffer release

In vp9 splitmode cases, there is a possibility
fw reuses DPB buffers and hence does not return
these buffers as part of STOP command during
port reconfig. In this case, driver should not
destroy these DPB buffers. Added a fix for the
same.
Issue observed with: 1A1622D8_Dec_VP9_Argon_EOS0.

Change-Id: I81deded6a49290574ddda8d4f8efdfc0a9f733f3
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
Signed-off-by: Maheshwar Ajja <quic_majja@quicinc.com>
This commit is contained in:
Darshana Patil
2023-07-26 16:34:48 -07:00
committed by Maheshwar Ajja
parent 050aed5c35
commit 4812c1460e

View File

@@ -796,6 +796,13 @@ static int msm_vdec_destroy_internal_buffers(struct msm_vidc_inst *inst,
}
list_for_each_entry_safe(buf, dummy, &buffers->list, list) {
/*
* do not destroy internal buffer (DPB buffer) if firmware
* did not return it, so skip if QUEUED flag is present
*/
if (buf->attr & MSM_VIDC_ATTR_QUEUED)
continue;
i_vpr_h(inst,
"%s: destroying internal buffer: type %d idx %d fd %d addr %#llx size %d\n",
__func__, buf->type, buf->index, buf->fd,