summaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
authorParas Nagda <pnagda@codeaurora.org>2018-05-29 17:50:35 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2018-08-02 23:06:04 -0700
commit88955d3b16c475332d0894f88c82c04426de46bb (patch)
tree8d8c886cb23afc5e9baaacf24ce1215b8ae7520b /drivers/media
parentd54a5ed7e553a27fa746121c8846e43ea657976e (diff)
msm: vidc: Increase minimum input buffer count for HEVC decode
Increase minimum input buffer count for HEVC decode to 5 to avoid hang when the DPB is not full and FW keeps waiting for FTB although sufficient ETB are being queued. CRs-Fixed: 2252419 Change-Id: Id344cd896aeac46765e250e715d14a6c835b4221 Signed-off-by: Paras Nagda <pnagda@codeaurora.org>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/platform/msm/vidc/msm_vdec.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/media/platform/msm/vidc/msm_vdec.c b/drivers/media/platform/msm/vidc/msm_vdec.c
index 691fd2b89b5c..fc8da8dc0c2c 100644
--- a/drivers/media/platform/msm/vidc/msm_vdec.c
+++ b/drivers/media/platform/msm/vidc/msm_vdec.c
@@ -23,6 +23,7 @@
#define MSM_VDEC_DVC_NAME "msm_vdec_8974"
#define MIN_NUM_OUTPUT_BUFFERS 4
+#define MIN_NUM_OUTPUT_BUFFERS_HEVC 5
#define MIN_NUM_CAPTURE_BUFFERS 6
#define MIN_NUM_THUMBNAIL_MODE_CAPTURE_BUFFERS 1
#define MAX_NUM_OUTPUT_BUFFERS VB2_MAX_FRAME
@@ -1471,6 +1472,12 @@ static int msm_vdec_queue_setup(struct vb2_queue *q,
if (*num_buffers < MIN_NUM_OUTPUT_BUFFERS ||
*num_buffers > MAX_NUM_OUTPUT_BUFFERS)
*num_buffers = MIN_NUM_OUTPUT_BUFFERS;
+
+ if (inst->fmts[OUTPUT_PORT].fourcc ==
+ V4L2_PIX_FMT_HEVC &&
+ *num_buffers < MIN_NUM_OUTPUT_BUFFERS_HEVC)
+ *num_buffers = MIN_NUM_OUTPUT_BUFFERS_HEVC;
+
for (i = 0; i < *num_planes; i++) {
sizes[i] = get_frame_size(inst,
&inst->fmts[OUTPUT_PORT], q->type, i);