Re: [omap3isp][PATCH v2 8/9] omap3isp: ccp2: Make SYSCONFIG fields consistent

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

 



On Sat, Nov 20, 2010 at 12:10:11AM +0100, ext Aguirre, Sergio wrote:
> 
> 
> > -----Original Message-----
> > From: Aguirre, Sergio
> > Sent: Friday, November 19, 2010 9:44 AM
> > To: 'David Cohen'
> > Cc: Laurent Pinchart; linux-media@xxxxxxxxxxxxxxx
> > Subject: RE: [omap3isp][PATCH v2 8/9] omap3isp: ccp2: Make SYSCONFIG
> > fields consistent
> > 
> > 
> > > -----Original Message-----
> > > From: David Cohen [mailto:david.cohen@xxxxxxxxx]
> > > Sent: Friday, November 19, 2010 4:06 AM
> > > To: Aguirre, Sergio
> > > Cc: Laurent Pinchart; linux-media@xxxxxxxxxxxxxxx
> > > Subject: Re: [omap3isp][PATCH v2 8/9] omap3isp: ccp2: Make SYSCONFIG
> > > fields consistent
> > >
> > > Hi Sergio,
> > 
> > Hi David,
> > 
> > Thanks for the review.
> > 
> > >
> > > I've few comments below.
> > >
> > > On Mon, Nov 15, 2010 at 03:30:00PM +0100, ext Sergio Aguirre wrote:
> > > > Signed-off-by: Sergio Aguirre <saaguirre@xxxxxx>
> > > > ---
> > > >  drivers/media/video/isp/ispccp2.c |    3 +--
> > > >  drivers/media/video/isp/ispreg.h  |   14 ++++++++------
> > > >  2 files changed, 9 insertions(+), 8 deletions(-)
> > > >
> > > > diff --git a/drivers/media/video/isp/ispccp2.c
> > > b/drivers/media/video/isp/ispccp2.c
> > > > index fa23394..3127a74 100644
> > > > --- a/drivers/media/video/isp/ispccp2.c
> > > > +++ b/drivers/media/video/isp/ispccp2.c
> > > > @@ -419,8 +419,7 @@ static void ispccp2_mem_configure(struct
> > > isp_ccp2_device *ccp2,
> > > >  		config->src_ofst = 0;
> > > >  	}
> > > >
> > > > -	isp_reg_writel(isp, (ISPCSI1_MIDLEMODE_SMARTSTANDBY <<
> > > > -		       ISPCSI1_MIDLEMODE_SHIFT),
> > > > +	isp_reg_writel(isp, ISPCCP2_SYSCONFIG_MSTANDBY_MODE_SMART,
> > > >  		       OMAP3_ISP_IOMEM_CCP2, ISPCCP2_SYSCONFIG);
> > >
> > > To make your cleanup even better, you could change isp_reg_clr_set()
> > > instead.
> > > If CCP2 MSTANDY_MODE is set to NOSTANDY, the result is going to be an
> > > invalid 0x3 value. Despite it cannot happen with the current code, it's
> > > still better to avoid such situations for future versions. :)
> > 
> > Hmm you're right, I guess I didn't do any real functional changes, just
> > defines renaming.
> > 
> > I can repost an updated patch with this suggestion. No problem.
> 
> David,
> 
> Geez I guess I wasn't paying much attention to this either. Sorry.
> 
> The case you mention about it potentially become 0x3 is not possible, because, I'm basically overwriting the whole register with (0x2 << 12)
> Notice the isp_reg_write, there's no OR operation...

That's correct. My mistake.
IMO ISP power settings still need a better way to be setup, but it
definitively does not belong to your cleanup patch.
I'm fine with your changes.

> 
> Now, this means that we have been implicitly setting other fields as Zeroes (SOFT_RESET = 0, and AUTO_IDLE = 0) aswell.
> 
> Has AUTOIDLE in CCP2 been tried in N900? I don't have a CCP2 sensor to test
> with :(.

I have no idea. Indeed, AUTOIDLE in ISP doesn't seem to be much reliable
so far. It should be set to 0 until somebody proves it can be set to 1 :)

Br,

David

> 
> Regards,
> Sergio
> 
> > 
> > >
> > > >
> > > >  	/* Hsize, Skip */
> > > > diff --git a/drivers/media/video/isp/ispreg.h
> > > b/drivers/media/video/isp/ispreg.h
> > > > index d885541..9b0d3ad 100644
> > > > --- a/drivers/media/video/isp/ispreg.h
> > > > +++ b/drivers/media/video/isp/ispreg.h
> > > > @@ -141,6 +141,14 @@
> > > >  #define ISPCCP2_REVISION		(0x000)
> > > >  #define ISPCCP2_SYSCONFIG		(0x004)
> > > >  #define ISPCCP2_SYSCONFIG_SOFT_RESET	(1 << 1)
> > > > +#define ISPCCP2_SYSCONFIG_AUTO_IDLE		0x1
> > > > +#define ISPCCP2_SYSCONFIG_MSTANDBY_MODE_SHIFT	12
> > > > +#define ISPCCP2_SYSCONFIG_MSTANDBY_MODE_FORCE	\
> > > > +	(0x0 << ISPCCP2_SYSCONFIG_MSTANDBY_MODE_SHIFT)
> > > > +#define ISPCCP2_SYSCONFIG_MSTANDBY_MODE_NO	\
> > > > +	(0x1 << ISPCCP2_SYSCONFIG_MSTANDBY_MODE_SHIFT)
> > > > +#define ISPCCP2_SYSCONFIG_MSTANDBY_MODE_SMART	\
> > > > +	(0x2 << ISPCCP2_SYSCONFIG_MSTANDBY_MODE_SHIFT)
> > >
> > > You can add some ISPCCP2_SYSCONFIG_MSTANDY_MODE_MASK, as 2 bits must be
> > > always set together.
> > 
> > Sure, will do.
> > 
> > Thanks and Regards,
> > Sergio
> > 
> > >
> > > Regards,
> > >
> > > David Cohen
> > >
> > > >  #define ISPCCP2_SYSSTATUS		(0x008)
> > > >  #define ISPCCP2_SYSSTATUS_RESET_DONE	(1 << 0)
> > > >  #define ISPCCP2_LC01_IRQENABLE		(0x00C)
> > > > @@ -1309,12 +1317,6 @@
> > > >  #define ISPMMU_SIDLEMODE_SMARTIDLE		2
> > > >  #define ISPMMU_SIDLEMODE_SHIFT			3
> > > >
> > > > -#define ISPCSI1_AUTOIDLE			0x1
> > > > -#define ISPCSI1_MIDLEMODE_SHIFT			12
> > > > -#define ISPCSI1_MIDLEMODE_FORCESTANDBY		0x0
> > > > -#define ISPCSI1_MIDLEMODE_NOSTANDBY		0x1
> > > > -#define ISPCSI1_MIDLEMODE_SMARTSTANDBY		0x2
> > > > -
> > > >  /* ------------------------------------------------------------------
> > --
> > > ---------
> > > >   * CSI2 receiver registers (ES2.0)
> > > >   */
> > > > --
> > > > 1.7.0.4
> > > >
> > > > --
> > > > 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
--
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