Re: [PATCH 2/3] [media] mt9v032: Do not unset master_mode
Hi Laurent, On Monday 09 November 2015 14:46:42 Laurent Pinchart wrote: > Hi Markus, > > Thank you for the patch. > > On Friday 06 November 2015 14:13:44 Markus Pargmann wrote: > > The power_on function of the driver resets the chip and sets the > > CHIP_CONTROL register to 0. This switches the operating mode to slave. > > The s_stream function sets the correct mode. But this caused problems on > > a board where the camera chip is operated as master. The camera started > > after a random amount of time streaming an image, I observed between 10 > > and 300 seconds. > > > > The STRFM_OUT and STLN_OUT pins are not connected on this board which > > may cause some issues in slave mode. I could not find any documentation > > about this. > > > > Keeping the chip in master mode after the reset helped to fix this > > issue for me. > > > > Signed-off-by: Markus Pargmann > > --- > > drivers/media/i2c/mt9v032.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/media/i2c/mt9v032.c b/drivers/media/i2c/mt9v032.c > > index 4aefde9634f5..943c3f39ea73 100644 > > --- a/drivers/media/i2c/mt9v032.c > > +++ b/drivers/media/i2c/mt9v032.c > > @@ -344,7 +344,8 @@ static int mt9v032_power_on(struct mt9v032 *mt9v032) > > if (ret < 0) > > return ret; > > > > - return regmap_write(map, MT9V032_CHIP_CONTROL, 0); > > + return regmap_write(map, MT9V032_CHIP_CONTROL, > > + MT9V032_CHIP_CONTROL_MASTER_MODE); > > This makes sense, but shouldn't you also fix the mt9v032_s_stream() function > then ? It clears the MT9V032_CHIP_CONTROL_MASTER_MODE bit when turning the > stream off. Oh yes, thanks. Will fix it for the next version. Best Regards, Markus -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | signature.asc Description: This is a digitally signed message part.
Re: [PATCH 2/3] [media] mt9v032: Do not unset master_mode
Hi Markus, Thank you for the patch. On Friday 06 November 2015 14:13:44 Markus Pargmann wrote: > The power_on function of the driver resets the chip and sets the > CHIP_CONTROL register to 0. This switches the operating mode to slave. > The s_stream function sets the correct mode. But this caused problems on > a board where the camera chip is operated as master. The camera started > after a random amount of time streaming an image, I observed between 10 > and 300 seconds. > > The STRFM_OUT and STLN_OUT pins are not connected on this board which > may cause some issues in slave mode. I could not find any documentation > about this. > > Keeping the chip in master mode after the reset helped to fix this > issue for me. > > Signed-off-by: Markus Pargmann > --- > drivers/media/i2c/mt9v032.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/i2c/mt9v032.c b/drivers/media/i2c/mt9v032.c > index 4aefde9634f5..943c3f39ea73 100644 > --- a/drivers/media/i2c/mt9v032.c > +++ b/drivers/media/i2c/mt9v032.c > @@ -344,7 +344,8 @@ static int mt9v032_power_on(struct mt9v032 *mt9v032) > if (ret < 0) > return ret; > > - return regmap_write(map, MT9V032_CHIP_CONTROL, 0); > + return regmap_write(map, MT9V032_CHIP_CONTROL, > + MT9V032_CHIP_CONTROL_MASTER_MODE); This makes sense, but shouldn't you also fix the mt9v032_s_stream() function then ? It clears the MT9V032_CHIP_CONTROL_MASTER_MODE bit when turning the stream off. > } > > static void mt9v032_power_off(struct mt9v032 *mt9v032) -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 2/3] [media] mt9v032: Do not unset master_mode
The power_on function of the driver resets the chip and sets the CHIP_CONTROL register to 0. This switches the operating mode to slave. The s_stream function sets the correct mode. But this caused problems on a board where the camera chip is operated as master. The camera started after a random amount of time streaming an image, I observed between 10 and 300 seconds. The STRFM_OUT and STLN_OUT pins are not connected on this board which may cause some issues in slave mode. I could not find any documentation about this. Keeping the chip in master mode after the reset helped to fix this issue for me. Signed-off-by: Markus Pargmann --- drivers/media/i2c/mt9v032.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/media/i2c/mt9v032.c b/drivers/media/i2c/mt9v032.c index 4aefde9634f5..943c3f39ea73 100644 --- a/drivers/media/i2c/mt9v032.c +++ b/drivers/media/i2c/mt9v032.c @@ -344,7 +344,8 @@ static int mt9v032_power_on(struct mt9v032 *mt9v032) if (ret < 0) return ret; - return regmap_write(map, MT9V032_CHIP_CONTROL, 0); + return regmap_write(map, MT9V032_CHIP_CONTROL, + MT9V032_CHIP_CONTROL_MASTER_MODE); } static void mt9v032_power_off(struct mt9v032 *mt9v032) -- 2.6.1 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html