lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f105f473-c089-b10f-afaa-302c09074c2a@synopsys.com>
Date:   Mon, 16 Oct 2017 15:19:09 +0100
From:   Luis Oliveira <Luis.Oliveira@...opsys.com>
To:     Sakari Ailus <sakari.ailus@....fi>,
        Jacob Chen <jacob-chen@...wrt.com>
CC:     <linux-media@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
        <mchehab@...nel.org>, <vladimir_zapolskiy@...tor.com>,
        <hans.verkuil@...co.com>, <sakari.ailus@...ux.intel.com>,
        <Luis.Oliveira@...opsys.com>, <p.zabel@...gutronix.de>,
        Joao Pinto <Joao.Pinto@...opsys.com>
Subject: Re: [PATCH v3 1/2] media: i2c: OV5647: ensure clock lane in LP-11
 state before streaming on

Hi all,

Sorry for the delay and thank you for the fix.
I just checked the databook and the changes makes sense.

cheers,
Luis

On 16-Oct-17 13:23, Sakari Ailus wrote:
> Luis,
> 
> Any comment on these?
> 
> On Sun, Oct 01, 2017 at 06:22:37PM +0800, Jacob Chen wrote:
>> When I was supporting Rpi Camera Module on the ASUS Tinker board,
>> I found this driver have some issues with rockchip's mipi-csi driver.
>> It didn't place clock lane in LP-11 state before performing
>> D-PHY initialisation.
>>
>> From our experience, on some OV sensors,
>> LP-11 state is not achieved while BIT(5)-0x4800 is cleared.
>>
>> So let's set BIT(5) and BIT(0) both while not streaming, in order to
>> coax the clock lane into LP-11 state.
>>
>> 0x4800 : MIPI CTRL 00
>> 	BIT(5) : clock lane gate enable
>> 		0: continuous
>> 		1: none-continuous
>> 	BIT(0) : manually set clock lane
>> 		0: Not used
>> 		1: used
>>
>> Signed-off-by: Jacob Chen <jacob-chen@...wrt.com>
>> ---
>>  drivers/media/i2c/ov5647.c | 13 ++++++++++++-
>>  1 file changed, 12 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/media/i2c/ov5647.c b/drivers/media/i2c/ov5647.c
>> index 95ce90fdb876..247302d01f53 100644
>> --- a/drivers/media/i2c/ov5647.c
>> +++ b/drivers/media/i2c/ov5647.c
>> @@ -253,6 +253,10 @@ static int ov5647_stream_on(struct v4l2_subdev *sd)
>>  {
>>  	int ret;
>>  
>> +	ret = ov5647_write(sd, 0x4800, 0x04);
>> +	if (ret < 0)
>> +		return ret;
>> +
>>  	ret = ov5647_write(sd, 0x4202, 0x00);
>>  	if (ret < 0)
>>  		return ret;
>> @@ -264,6 +268,10 @@ static int ov5647_stream_off(struct v4l2_subdev *sd)
>>  {
>>  	int ret;
>>  
>> +	ret = ov5647_write(sd, 0x4800, 0x25);
>> +	if (ret < 0)
>> +		return ret;
>> +
>>  	ret = ov5647_write(sd, 0x4202, 0x0f);
>>  	if (ret < 0)
>>  		return ret;
>> @@ -320,7 +328,10 @@ static int __sensor_init(struct v4l2_subdev *sd)
>>  			return ret;
>>  	}
>>  
>> -	return ov5647_write(sd, 0x4800, 0x04);
>> +	/*
>> +	 * stream off to make the clock lane into LP-11 state.
>> +	 */
>> +	return ov5647_stream_off(sd);
>>  }
>>  
>>  static int ov5647_sensor_power(struct v4l2_subdev *sd, int on)
>> -- 
>> 2.14.1
>>
> 
Reviewed-by: Luis Oliveira <lolivei@...opsys.com>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ