From 91c622f1c24c5fa56f71e718a794cf40b2e14258 Mon Sep 17 00:00:00 2001 From: Gourav Kumar Date: Wed, 17 Jun 2026 15:15:38 +0530 Subject: [PATCH] PENDING: media: qcom: iris: fix frameinterval range to support non-integer framerates iris_enum_frameintervals() had min/max swapped in the stepwise frame interval structure. This caused GStreamer to enumerate a discrete list of framerates (480/n), which excluded non-integer values like 29.97 fps (30000/1001), resulting in caps negotiation failure. Fix by swapping min and max denominators so GStreamer's enumeration loop exits immediately, leaving the framerate unconstrained in caps and allowing any framerate to negotiate successfully. Signed-off-by: Gourav Kumar --- drivers/media/platform/qcom/iris/iris_vidc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/media/platform/qcom/iris/iris_vidc.c b/drivers/media/platform/qcom/iris/iris_vidc.c index 8975ee3d6c64a..c010ddfd2719a 100644 --- a/drivers/media/platform/qcom/iris/iris_vidc.c +++ b/drivers/media/platform/qcom/iris/iris_vidc.c @@ -442,10 +442,10 @@ static int iris_enum_frameintervals(struct file *filp, void *fh, fival->type = V4L2_FRMIVAL_TYPE_STEPWISE; fival->stepwise.min.numerator = 1; - fival->stepwise.min.denominator = - min_t(u32, fps, MAXIMUM_FPS); + fival->stepwise.min.denominator = 1; fival->stepwise.max.numerator = 1; - fival->stepwise.max.denominator = 1; + fival->stepwise.max.denominator = + min_t(u32, fps, MAXIMUM_FPS); fival->stepwise.step.numerator = 1; fival->stepwise.step.denominator = MAXIMUM_FPS;