If the sensor doesn't implement support for g_frame_interval,
it won't return the expected fps rate.

Instead of keeping DFS on its minimal value (which will likely
not work), set it to the max.

Signed-off-by: Mauro Carvalho Chehab <mchehab+hua...@kernel.org>
---
 drivers/staging/media/atomisp/pci/atomisp_cmd.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/media/atomisp/pci/atomisp_cmd.c 
b/drivers/staging/media/atomisp/pci/atomisp_cmd.c
index 6c324815c0f6..845fa851029a 100644
--- a/drivers/staging/media/atomisp/pci/atomisp_cmd.c
+++ b/drivers/staging/media/atomisp/pci/atomisp_cmd.c
@@ -243,8 +243,12 @@ int atomisp_freq_scaling(struct atomisp_device *isp,
        }
 
        fps = atomisp_get_sensor_fps(asd);
-       if (fps == 0)
-               return -EINVAL;
+       if (fps == 0) {
+               dev_info(isp->dev,
+                        "Sensor didn't report FPS. Using DFS max mode.\n");
+               new_freq = dfs->highest_freq;
+               goto done;
+       }
 
        curr_rules.width = asd->fmt[asd->capture_pad].fmt.width;
        curr_rules.height = asd->fmt[asd->capture_pad].fmt.height;
-- 
2.26.2

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to