Hi Guennadi, On Fri, 28 Sep 2012 14:33:34 +0200 (CEST) Guennadi Liakhovetski <g.liakhovetski@xxxxxx> wrote: ... > > @@ -235,12 +238,32 @@ static int mt9v022_s_stream(struct v4l2_subdev *sd, int enable) > > struct i2c_client *client = v4l2_get_subdevdata(sd); > > struct mt9v022 *mt9v022 = to_mt9v022(client); > > > > - if (enable) > > + if (enable) { > > /* Switch to master "normal" mode */ > > mt9v022->chip_control &= ~0x10; > > - else > > + if (is_mt9v022_rev3(mt9v022->chip_version) || > > + is_mt9v024(mt9v022->chip_version)) { > > + /* > > + * Unset snapshot mode specific settings: clear bit 9 > > + * and bit 2 in reg. 0x20 when in normal mode. > > + */ > > + if (reg_clear(client, MT9V022_REG32, 0x204)) > > + return -EIO; > > + } > > + } else { > > /* Switch to snapshot mode */ > > mt9v022->chip_control |= 0x10; > > + if (is_mt9v022_rev3(mt9v022->chip_version) || > > + is_mt9v024(mt9v022->chip_version)) { > > + /* > > + * Required settings for snapshot mode: set bit 9 > > + * (RST enable) and bit 2 (CR enable) in reg. 0x20 > > + * See TechNote TN0960 or TN-09-225. > > + */ > > + if (reg_set(client, MT9V022_REG32, 0x204)) > > + return -EIO; > > + } > > + } > > Do I understand it right, that now on mt9v022 rev.3 and mt9v024 you > unconditionally added using REG32 for leaving the snapshot mode on > streamon and entering it on streamoff. This should be ok in principle, > since that's also what we're trying to do, using the CHIP_CONTROL > register. But in your comment you say, that on some _systems_ you can only > _operate_ in snapshot mode. I.e. the snapshot mode enabled during running > streaming, right? Then how does this patch help you with that? Yes. But i.e. the driver calling the sub-device stream control function on streamon knows that the normal mode is not supported and therefore it calls this function with argument enable == 0, effectively setting the snapshot mode. Thanks, Anatolij -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html