All of lore.kernel.org
 help / color / mirror / Atom feed
From: Teresa Gamez <T.Gamez@phytec.de>
To: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Cc: linux-media@vger.kernel.org
Subject: Re: [PATCH 2/2] mt9m111: fix pixel clock
Date: Thu, 19 May 2011 13:07:58 +0200	[thread overview]
Message-ID: <1305803278.28630.100.camel@lws-gamez> (raw)
In-Reply-To: <Pine.LNX.4.64.1105181309320.16324@axis700.grange>

Am Mittwoch, den 18.05.2011, 13:12 +0200 schrieb Guennadi Liakhovetski:
> Hi Teresa
> 
> I've verified the mt9v022 patch - finally I have noticed the difference, 
> it does look correct! As for this one, how about this version of your 
> patch:

Great! Thank you.

> 
> diff --git a/drivers/media/video/mt9m111.c b/drivers/media/video/mt9m111.c
> index 53fa2a7..ebebed9 100644
> --- a/drivers/media/video/mt9m111.c
> +++ b/drivers/media/video/mt9m111.c
> @@ -315,10 +315,20 @@ static int mt9m111_setup_rect(struct i2c_client *client,
>  static int mt9m111_setup_pixfmt(struct i2c_client *client, u16 outfmt)
>  {
>  	int ret;
> +	u16 mask = MT9M111_OUTFMT_PROCESSED_BAYER | MT9M111_OUTFMT_RGB |
> +		MT9M111_OUTFMT_BYPASS_IFP | MT9M111_OUTFMT_SWAP_RGB_EVEN |
> +		MT9M111_OUTFMT_RGB565 | MT9M111_OUTFMT_RGB555 |
> +		MT9M111_OUTFMT_SWAP_YCbCr_Cb_Cr |
> +		MT9M111_OUTFMT_SWAP_YCbCr_C_Y;
>  
> -	ret = reg_write(OUTPUT_FORMAT_CTRL2_A, outfmt);
> +	ret = reg_read(OUTPUT_FORMAT_CTRL2_A);
> +	if (ret >= 0)
> +		ret = reg_write(OUTPUT_FORMAT_CTRL2_A, (ret & ~mask) | outfmt);
>  	if (!ret)
> -		ret = reg_write(OUTPUT_FORMAT_CTRL2_B, outfmt);
> +		ret = reg_read(OUTPUT_FORMAT_CTRL2_B);
> +	if (ret >= 0)
> +		ret = reg_write(OUTPUT_FORMAT_CTRL2_B, (ret & ~mask) | outfmt);
> +
>  	return ret;
>  }
>  
> 
> It reduces the number of I2C accesses and avoids writing some not 
> necessarily desired value to the register. Does this look ok to you? Could 
> you maybe test - I've got no mt9m111 cameras.
> 

Yes, this looks good. And I tested it successfully with a mt9m131.

Tested-by: Teresa Gámez <t.gamez@phytec.de>

Teresa

> Thanks
> Guennadi
> 
> On Wed, 6 Apr 2011, Teresa Gámez wrote:
> 
> > This camera driver supports only rising edge, which is the default
> > setting of the device. The function mt9m111_setup_pixfmt() overwrites
> > this setting. So the driver actually uses falling edge.
> > This patch corrects that.
> > 
> > Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
> > ---
> >  drivers/media/video/mt9m111.c |   14 ++++++++++++--
> >  1 files changed, 12 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/media/video/mt9m111.c b/drivers/media/video/mt9m111.c
> > index 53fa2a7..4040a96 100644
> > --- a/drivers/media/video/mt9m111.c
> > +++ b/drivers/media/video/mt9m111.c
> > @@ -315,10 +315,20 @@ static int mt9m111_setup_rect(struct i2c_client *client,
> >  static int mt9m111_setup_pixfmt(struct i2c_client *client, u16 outfmt)
> >  {
> >  	int ret;
> > +	u16 mask = MT9M111_OUTFMT_PROCESSED_BAYER | MT9M111_OUTFMT_RGB |
> > +		MT9M111_OUTFMT_BYPASS_IFP | MT9M111_OUTFMT_SWAP_RGB_EVEN |
> > +		MT9M111_OUTFMT_RGB565 | MT9M111_OUTFMT_RGB555 |
> > +		MT9M111_OUTFMT_SWAP_YCbCr_Cb_Cr |
> > +		MT9M111_OUTFMT_SWAP_YCbCr_C_Y;
> >  
> > -	ret = reg_write(OUTPUT_FORMAT_CTRL2_A, outfmt);
> > +	ret = reg_clear(OUTPUT_FORMAT_CTRL2_A, mask);
> >  	if (!ret)
> > -		ret = reg_write(OUTPUT_FORMAT_CTRL2_B, outfmt);
> > +		ret = reg_set(OUTPUT_FORMAT_CTRL2_A, outfmt);
> > +	if (!ret)
> > +		ret = reg_clear(OUTPUT_FORMAT_CTRL2_B, mask);
> > +	if (!ret)
> > +		ret = reg_set(OUTPUT_FORMAT_CTRL2_B, outfmt);
> > +
> >  	return ret;
> >  }
> >  
> > -- 
> > 1.7.0.4
> > 
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-media" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > 
> 
> ---
> Guennadi Liakhovetski, Ph.D.
> Freelance Open-Source Software Developer
> http://www.open-technology.de/



  reply	other threads:[~2011-05-19 11:07 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-06 14:01 [PATCH 1/2] mt9v022: fix pixel clock Teresa Gámez
2011-04-06 14:01 ` [PATCH 2/2] mt9m111: " Teresa Gámez
2011-04-07 11:25   ` Guennadi Liakhovetski
2011-05-18 11:12   ` Guennadi Liakhovetski
2011-05-19 11:07     ` Teresa Gamez [this message]
2011-04-07 11:08 ` [PATCH 1/2] mt9v022: " Guennadi Liakhovetski
2011-04-07 12:38   ` Teresa Gamez
     [not found]   ` <OF0E7310A6.B4F9559D-ONC125786B.003E2F29-C125786B.004202D7@phytec.de>
2011-04-07 12:41     ` Antwort: " Guennadi Liakhovetski
2011-04-08 13:27       ` Teresa Gamez
2011-04-12 11:22         ` Teresa Gamez
2011-04-13  6:31           ` Guennadi Liakhovetski
2011-04-14 14:33             ` Teresa Gamez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1305803278.28630.100.camel@lws-gamez \
    --to=t.gamez@phytec.de \
    --cc=g.liakhovetski@gmx.de \
    --cc=linux-media@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.