[PATCH 3/3] media: iris: Use firmware reported count for output buffers
From: Vishnu Reddy
Date: Fri Oct 30 2026 - 16:22:11 EST
Once the firmware reports its minimum output buffer count, the driver
still caps it to 4 for VP9 and AV1 when split mode is enabled. After a
seek, the output buffer count can be lower than the minimum required by
the firmware for VP9 streams. This causes the firmware to report
insufficient output buffers and the seek operation can fail.
Use the firmware reported minimum count as is. The driver calculated
count is only used until the firmware reports its own requirement.
Fixes: e1f5d32608ec ("media: iris: Add internal buffer calculation for HEVC and VP9 decoders")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Vishnu Reddy <busanna.reddy@xxxxxxxxxxxxxxxx>
---
drivers/media/platform/qcom/iris/iris_vpu_buffer.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/drivers/media/platform/qcom/iris/iris_vpu_buffer.c b/drivers/media/platform/qcom/iris/iris_vpu_buffer.c
index a8170e5fa9e6..57467c952f42 100644
--- a/drivers/media/platform/qcom/iris/iris_vpu_buffer.c
+++ b/drivers/media/platform/qcom/iris/iris_vpu_buffer.c
@@ -2375,14 +2375,8 @@ static int output_min_count(struct iris_inst *inst)
int output_min_count = 4;
/* fw_min_count > 0 indicates reconfig event has already arrived */
- if (inst->fw_min_count) {
- if (iris_split_mode_enabled(inst) &&
- (inst->codec == V4L2_PIX_FMT_VP9 ||
- inst->codec == V4L2_PIX_FMT_AV1))
- return min_t(u32, 4, inst->fw_min_count);
- else
- return inst->fw_min_count;
- }
+ if (inst->fw_min_count)
+ return inst->fw_min_count;
if (inst->codec == V4L2_PIX_FMT_VP9)
output_min_count = 9;
--
2.34.1