Hi Guennadi,

On Fri, 28 Sep 2012 14:33:34 +0200 (CEST)
Guennadi Liakhovetski <g.liakhovet...@gmx.de> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to