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>
Этот коммит содержится в:
Darshana Patil
2023-07-26 16:34:48 -07:00
коммит произвёл Maheshwar Ajja
родитель 050aed5c35
Коммит 4812c1460e

Просмотреть файл

@@ -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,