All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Frank Schäfer" <fschaefer.oss@googlemail.com>
To: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Cc: maramaopercheseimorto@gmail.com, linux-media@vger.kernel.org
Subject: Re: [PATCH v2 1/3] ov2640: select sensor register bank before applying h/v-flip settings
Date: Sun, 23 Sep 2012 22:41:28 +0300	[thread overview]
Message-ID: <505F65E8.6040601@googlemail.com> (raw)
In-Reply-To: <Pine.LNX.4.64.1209232217260.31250@axis700.grange>

Am 23.09.2012 23:21, schrieb Guennadi Liakhovetski:
> Hi Frank
>
> On Sun, 23 Sep 2012, Frank Schäfer wrote:
>
>> We currently don't select the register bank in ov2640_s_ctrl, so we can end up
>> writing to DSP register 0x04 instead of sensor register 0x04.
>> This happens for example when calling ov2640_s_ctrl after ov2640_s_fmt.
> Yes, in principle, I agree, bank switching in the driver is not very... 
> consistent and also this specific case looks buggy. But, we have to fix 
> your fix.
>
>> Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
>> Cc: stable@kernel.org
>> ---
>>  drivers/media/i2c/soc_camera/ov2640.c |    8 ++++++++
>>  1 Datei geändert, 8 Zeilen hinzugefügt(+)
>>
>> diff --git a/drivers/media/i2c/soc_camera/ov2640.c b/drivers/media/i2c/soc_camera/ov2640.c
>> index 78ac574..e4fc79e 100644
>> --- a/drivers/media/i2c/soc_camera/ov2640.c
>> +++ b/drivers/media/i2c/soc_camera/ov2640.c
>> @@ -683,8 +683,16 @@ static int ov2640_s_ctrl(struct v4l2_ctrl *ctrl)
>>  	struct v4l2_subdev *sd =
>>  		&container_of(ctrl->handler, struct ov2640_priv, hdl)->subdev;
>>  	struct i2c_client  *client = v4l2_get_subdevdata(sd);
>> +	struct regval_list regval;
>> +	int ret;
>>  	u8 val;
>>  
>> +	regval.reg_num = BANK_SEL;
>> +	regval.value = BANK_SEL_SENS;
>> +	ret = ov2640_write_array(client, &regval);
> This doesn't look right to me. ov2640_write_array() keeps writing register 
> address - value pairs to the hardware until it encounters an "ENDMARKER," 
> which you don't have here, so, it's hard to say what will be written to 
> the sensor... Secondly, you only have to write a single register here, for 
> this the driver is already using i2c_smbus_write_byte_data() directly, 
> please, do the same.

Argh, yes, you're right.
The mistake was to split this off from patch 3 to reduce changes for
stable...
I will combine both patches and resend the series.

Regards,
Frank

>
> Thanks
> Guennadi
>
>> +	if (ret < 0)
>> +		return ret;
>> +
>>  	switch (ctrl->id) {
>>  	case V4L2_CID_VFLIP:
>>  		val = ctrl->val ? REG04_VFLIP_IMG : 0x00;
>> -- 
>> 1.7.10.4
>>
> ---
> Guennadi Liakhovetski, Ph.D.
> Freelance Open-Source Software Developer
> http://www.open-technology.de/


  reply	other threads:[~2012-09-23 20:41 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-23 18:28 [PATCH v2 1/3] ov2640: select sensor register bank before applying h/v-flip settings Frank Schäfer
2012-09-23 18:28 ` [PATCH v2 2/3] ov2640: add support for V4L2_MBUS_FMT_YUYV8_2X8, V4L2_MBUS_FMT_RGB565_2X8_BE Frank Schäfer
2012-09-23 20:36   ` Guennadi Liakhovetski
2012-09-23 18:28 ` [PATCH v2 3/3] ov2640: simplify single register writes Frank Schäfer
2012-09-23 20:43   ` Guennadi Liakhovetski
2012-09-23 20:06     ` Frank Schäfer
2012-09-23 21:23       ` Guennadi Liakhovetski
2012-09-23 20:37         ` Frank Schäfer
2012-09-23 20:21 ` [PATCH v2 1/3] ov2640: select sensor register bank before applying h/v-flip settings Guennadi Liakhovetski
2012-09-23 19:41   ` Frank Schäfer [this message]
2012-09-23 20:47     ` Guennadi Liakhovetski

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=505F65E8.6040601@googlemail.com \
    --to=fschaefer.oss@googlemail.com \
    --cc=g.liakhovetski@gmx.de \
    --cc=linux-media@vger.kernel.org \
    --cc=maramaopercheseimorto@gmail.com \
    /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.