From f934362be2165ca22c3fb460bf5ae9468e5187f5 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sat, 17 May 2025 13:40:55 +0200 Subject: [PATCH] media: atomisp: gc0310: Fix power on/off sleep times Reduce the unnecessary long msleep(100) done on stream start to 10 ms and move this to gc0310_resume() so that it is also done on the initial power-up done by gc0310_detect(), which should fix gc0310_detect() sometimes failing. While at it switch the sleeps from msleep() / usleep_range() to fsleep(). Signed-off-by: Hans de Goede Reviewed-by: Andy Shevchenko Link: https://lore.kernel.org/r/20250517114106.43494-13-hansg@kernel.org Signed-off-by: Mauro Carvalho Chehab --- drivers/staging/media/atomisp/i2c/atomisp-gc0310.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/staging/media/atomisp/i2c/atomisp-gc0310.c b/drivers/staging/media/atomisp/i2c/atomisp-gc0310.c index f3dbc3583d97b..c89b3e9e33432 100644 --- a/drivers/staging/media/atomisp/i2c/atomisp-gc0310.c +++ b/drivers/staging/media/atomisp/i2c/atomisp-gc0310.c @@ -473,8 +473,6 @@ static int gc0310_s_stream(struct v4l2_subdev *sd, int enable) if (ret < 0) goto error_power_down; - msleep(100); - ret = regmap_multi_reg_write(sensor->regmap, gc0310_reset_register, ARRAY_SIZE(gc0310_reset_register)); @@ -803,10 +801,11 @@ static int gc0310_resume(struct device *dev) struct v4l2_subdev *sd = dev_get_drvdata(dev); struct gc0310_device *sensor = to_gc0310_sensor(sd); - usleep_range(10000, 15000); + fsleep(10 * USEC_PER_MSEC); gpiod_set_value_cansleep(sensor->reset, 0); - usleep_range(10000, 15000); + fsleep(10 * USEC_PER_MSEC); gpiod_set_value_cansleep(sensor->powerdown, 0); + fsleep(10 * USEC_PER_MSEC); return 0; } -- 2.47.2