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: <1606203651.4733.134.camel@mhfsdcap03>
Date:   Tue, 24 Nov 2020 15:40:51 +0800
From:   Dongchun Zhu <dongchun.zhu@...iatek.com>
To:     Robert Foss <robert.foss@...aro.org>
CC:     <mchehab@...nel.org>, <linux-media@...r.kernel.org>,
        <linux-kernel@...r.kernel.org>,
        Sakari Ailus <sakari.ailus@...ux.intel.com>,
        Ben Kao <ben.kao@...el.com>, <tfiga@...gle.com>,
        <dongchun.zhu@...iatek.com>, <shengnan.wang@...iatek.com>
Subject: Re: [PATCH] media: ov8856: Remove 3280x2464 mode

Hi Robert,

Thanks for the patch.

On Mon, 2020-11-16 at 16:50 +0100, Robert Foss wrote:
> Remove the 3280x2464 mode as it can't be reproduced and yields
> an output resolution of 3264x2448 instead of the desired one.
> 
> Furthermore the 3264x2448 resolution is the highest resolution
> that the product brief lists.
> 
> Since 3280x2464 neither works correctly nor seems to be supported
> by the sensor, let's remove it.
> 

In fact, I was also confused about 3280x2464 setting at the beginning.
From datasheet, the OV8856 shall support an active array of 3264x2448
pixels (8-megapixel, the maximum) operating at 30fps.

> Signed-off-by: Robert Foss <robert.foss@...aro.org>
> ---
>  drivers/media/i2c/ov8856.c | 202 -------------------------------------
>  1 file changed, 202 deletions(-)
> 
> diff --git a/drivers/media/i2c/ov8856.c b/drivers/media/i2c/ov8856.c
> index 2f4ceaa80593..3365d19a303d 100644
> --- a/drivers/media/i2c/ov8856.c
> +++ b/drivers/media/i2c/ov8856.c
> @@ -148,196 +148,6 @@ static const struct ov8856_reg mipi_data_rate_360mbps[] = {
>  	{0x031e, 0x0c},
>  };
>  
> -static const struct ov8856_reg mode_3280x2464_regs[] = {
> -	{0x3000, 0x20},
> -	{0x3003, 0x08},
> -	{0x300e, 0x20},
> -	{0x3010, 0x00},
> -	{0x3015, 0x84},
> -	{0x3018, 0x72},
> -	{0x3021, 0x23},
> -	{0x3033, 0x24},
> -	{0x3500, 0x00},
> -	{0x3501, 0x9a},
> -	{0x3502, 0x20},
> -	{0x3503, 0x08},
> -	{0x3505, 0x83},
> -	{0x3508, 0x01},
> -	{0x3509, 0x80},
> -	{0x350c, 0x00},
> -	{0x350d, 0x80},
> -	{0x350e, 0x04},
> -	{0x350f, 0x00},
> -	{0x3510, 0x00},
> -	{0x3511, 0x02},
> -	{0x3512, 0x00},
> -	{0x3600, 0x72},
> -	{0x3601, 0x40},
> -	{0x3602, 0x30},
> -	{0x3610, 0xc5},
> -	{0x3611, 0x58},
> -	{0x3612, 0x5c},
> -	{0x3613, 0xca},
> -	{0x3614, 0x20},
> -	{0x3628, 0xff},
> -	{0x3629, 0xff},
> -	{0x362a, 0xff},
> -	{0x3633, 0x10},
> -	{0x3634, 0x10},
> -	{0x3635, 0x10},
> -	{0x3636, 0x10},
> -	{0x3663, 0x08},
> -	{0x3669, 0x34},
> -	{0x366e, 0x10},
> -	{0x3706, 0x86},
> -	{0x370b, 0x7e},
> -	{0x3714, 0x23},
> -	{0x3730, 0x12},
> -	{0x3733, 0x10},
> -	{0x3764, 0x00},
> -	{0x3765, 0x00},
> -	{0x3769, 0x62},
> -	{0x376a, 0x2a},
> -	{0x376b, 0x30},
> -	{0x3780, 0x00},
> -	{0x3781, 0x24},
> -	{0x3782, 0x00},
> -	{0x3783, 0x23},
> -	{0x3798, 0x2f},
> -	{0x37a1, 0x60},
> -	{0x37a8, 0x6a},
> -	{0x37ab, 0x3f},
> -	{0x37c2, 0x04},
> -	{0x37c3, 0xf1},
> -	{0x37c9, 0x80},
> -	{0x37cb, 0x16},
> -	{0x37cc, 0x16},
> -	{0x37cd, 0x16},
> -	{0x37ce, 0x16},
> -	{0x3800, 0x00},
> -	{0x3801, 0x00},
> -	{0x3802, 0x00},
> -	{0x3803, 0x06},
> -	{0x3804, 0x0c},
> -	{0x3805, 0xdf},
> -	{0x3806, 0x09},
> -	{0x3807, 0xa7},
> -	{0x3808, 0x0c},
> -	{0x3809, 0xd0},
> -	{0x380a, 0x09},
> -	{0x380b, 0xa0},
> -	{0x380c, 0x07},
> -	{0x380d, 0x88},
> -	{0x380e, 0x09},
> -	{0x380f, 0xb8},
> -	{0x3810, 0x00},
> -	{0x3811, 0x00},
> -	{0x3812, 0x00},
> -	{0x3813, 0x01},
> -	{0x3814, 0x01},
> -	{0x3815, 0x01},
> -	{0x3816, 0x00},
> -	{0x3817, 0x00},
> -	{0x3818, 0x00},
> -	{0x3819, 0x10},
> -	{0x3820, 0x80},
> -	{0x3821, 0x46},
> -	{0x382a, 0x01},
> -	{0x382b, 0x01},
> -	{0x3830, 0x06},
> -	{0x3836, 0x02},
> -	{0x3862, 0x04},
> -	{0x3863, 0x08},
> -	{0x3cc0, 0x33},
> -	{0x3d85, 0x17},
> -	{0x3d8c, 0x73},
> -	{0x3d8d, 0xde},
> -	{0x4001, 0xe0},
> -	{0x4003, 0x40},
> -	{0x4008, 0x00},
> -	{0x4009, 0x0b},
> -	{0x400a, 0x00},
> -	{0x400b, 0x84},
> -	{0x400f, 0x80},
> -	{0x4010, 0xf0},
> -	{0x4011, 0xff},
> -	{0x4012, 0x02},
> -	{0x4013, 0x01},
> -	{0x4014, 0x01},
> -	{0x4015, 0x01},
> -	{0x4042, 0x00},
> -	{0x4043, 0x80},
> -	{0x4044, 0x00},
> -	{0x4045, 0x80},
> -	{0x4046, 0x00},
> -	{0x4047, 0x80},
> -	{0x4048, 0x00},
> -	{0x4049, 0x80},
> -	{0x4041, 0x03},
> -	{0x404c, 0x20},
> -	{0x404d, 0x00},
> -	{0x404e, 0x20},
> -	{0x4203, 0x80},
> -	{0x4307, 0x30},
> -	{0x4317, 0x00},
> -	{0x4503, 0x08},
> -	{0x4601, 0x80},
> -	{0x4800, 0x44},
> -	{0x4816, 0x53},
> -	{0x481b, 0x58},
> -	{0x481f, 0x27},
> -	{0x4837, 0x16},
> -	{0x483c, 0x0f},
> -	{0x484b, 0x05},
> -	{0x5000, 0x57},
> -	{0x5001, 0x0a},
> -	{0x5004, 0x04},
> -	{0x502e, 0x03},
> -	{0x5030, 0x41},
> -	{0x5780, 0x14},
> -	{0x5781, 0x0f},
> -	{0x5782, 0x44},
> -	{0x5783, 0x02},
> -	{0x5784, 0x01},
> -	{0x5785, 0x01},
> -	{0x5786, 0x00},
> -	{0x5787, 0x04},
> -	{0x5788, 0x02},
> -	{0x5789, 0x0f},
> -	{0x578a, 0xfd},
> -	{0x578b, 0xf5},
> -	{0x578c, 0xf5},
> -	{0x578d, 0x03},
> -	{0x578e, 0x08},
> -	{0x578f, 0x0c},
> -	{0x5790, 0x08},
> -	{0x5791, 0x04},
> -	{0x5792, 0x00},
> -	{0x5793, 0x52},
> -	{0x5794, 0xa3},
> -	{0x5795, 0x02},
> -	{0x5796, 0x20},
> -	{0x5797, 0x20},
> -	{0x5798, 0xd5},
> -	{0x5799, 0xd5},
> -	{0x579a, 0x00},
> -	{0x579b, 0x50},
> -	{0x579c, 0x00},
> -	{0x579d, 0x2c},
> -	{0x579e, 0x0c},
> -	{0x579f, 0x40},
> -	{0x57a0, 0x09},
> -	{0x57a1, 0x40},
> -	{0x59f8, 0x3d},
> -	{0x5a08, 0x02},
> -	{0x5b00, 0x02},
> -	{0x5b01, 0x10},
> -	{0x5b02, 0x03},
> -	{0x5b03, 0xcf},
> -	{0x5b05, 0x6c},
> -	{0x5e00, 0x00}
> -};
> -
>  static const struct ov8856_reg mode_3264x2448_regs[] = {
>  	{0x0103, 0x01},
>  	{0x0302, 0x3c},
> @@ -963,18 +773,6 @@ static const struct ov8856_link_freq_config link_freq_configs[] = {
>  };
>  
>  static const struct ov8856_mode supported_modes[] = {
> -	{
> -		.width = 3280,
> -		.height = 2464,
> -		.hts = 1928,
> -		.vts_def = 2488,
> -		.vts_min = 2488,
> -		.reg_list = {
> -			.num_of_regs = ARRAY_SIZE(mode_3280x2464_regs),
> -			.regs = mode_3280x2464_regs,
> -		},
> -		.link_freq_index = OV8856_LINK_FREQ_720MBPS,
> -	},

If 3280x2464 resolution is removed, bayer order needs to be updated in
the meantime. From OV8856's datasheet, bayer order turns to be BGGR if
sensor adopts full mode (3264x2448) or binning mode (1632x1224).

>  	{
>  		.width = 3264,
>  		.height = 2448,

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ