Re: [PATCH] mt9v022: support required register settings in snapshot mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux