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:
@@ -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) {
|
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,
|
i_vpr_h(inst,
|
||||||
"%s: destroying internal buffer: type %d idx %d fd %d addr %#llx size %d\n",
|
"%s: destroying internal buffer: type %d idx %d fd %d addr %#llx size %d\n",
|
||||||
__func__, buf->type, buf->index, buf->fd,
|
__func__, buf->type, buf->index, buf->fd,
|
||||||
|
Reference in New Issue
Block a user