Received: by 2002:ab2:3141:0:b0:1ed:23cc:44d1 with SMTP id i1csp1972221lqg; Mon, 4 Mar 2024 09:02:32 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUdXX7EkBxKwT+c8foLSc9liQwZkV8qcv0k9h030lq6lJiqrx0MJ+hMTYu6OL5lg59BrkJsQmsXJ1z/lvP7ED0NZ4yMX46+1r48LaiZPg== X-Google-Smtp-Source: AGHT+IFv+n7qLUjE7buddoSrSrfoesLV273oRW1/51mM/a5q8bHkEohMRpOpAkCdd3IPgZhZGIro X-Received: by 2002:a05:620a:1181:b0:788:1373:83cb with SMTP id b1-20020a05620a118100b00788137383cbmr7075399qkk.6.1709571752453; Mon, 04 Mar 2024 09:02:32 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709571752; cv=pass; d=google.com; s=arc-20160816; b=uZir/agBxzxKz+u8BR2nU/qM4OnqQlKrpnoefOUIkn61CuFZTh7/NVwR2HULhaYdhe xOGmrQmiWTQVQNoj8boOzbnuI8iwiQbmyoW9cOIb6pkiRMqONBpeMlB1RyaNM1N7H8Nu RQVAPoMOCq6OF1aczrFs99dLGLccDBa/nXQauvPRo2GsH9vdh0QxaTha/MGk3zLAQbNa UgnLEHjRSH3D6pgJY6HENWkF+LWk1j5SNUmIlphCZq7jzozGSxJQOgvgVASu5Ve0wEK9 ZIiDflobaLDiXZfCVtEZzm0vT0NfjjVXDkisZPOoqjU2sp/DedpHJxnlRg4Br/DLVATN LwuA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=user-agent:message-id:date:to:cc:from:subject:references :in-reply-to:content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:dkim-signature; bh=xRNQTw+uPUmHlBbv8TqFUOIqCUbgA/NttkZ5OuBCKk8=; fh=D05qNJwGpsmnHOw1nLlcbVsWsxNOBxN8Cn0bOijB+Ug=; b=D4+Cwfy0S4zfWnUkG7rKpzHUty8pR+qf+ymbpc4eKtUfoBW+43NDGbLdgnfucml68I Y0vikyR0Hp8PX4stdsi2GZhwIqpSKputUHb5ykqDWVcjzi1L+/zp3o7fawRlo+bKrU4p t4rVvHZFG9AJokJQkzu4IY6mVG6s/MG+JYcBKWlwhZ84i83hg4oSH2CFm7vQZUxc+6Om hRxHbyKP3n9mEBGwimYR+WwkHvlbHov9IUo9fSaslneaHf7camVVRFxkiMZdPspmhTRt P2NibnsWa7IsKBM6Sb4QsZ/qwVnWmdBHDAoK/V7utauOXpvF4ator6OBVc9jzwR5saIl UteQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=pXvtHXTd; arc=pass (i=1 spf=pass spfdomain=ideasonboard.com dkim=pass dkdomain=ideasonboard.com); spf=pass (google.com: domain of linux-kernel+bounces-90973-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90973-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id s8-20020a05620a030800b00788316f51e4si552868qkm.4.2024.03.04.09.02.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 09:02:32 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90973-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=pXvtHXTd; arc=pass (i=1 spf=pass spfdomain=ideasonboard.com dkim=pass dkdomain=ideasonboard.com); spf=pass (google.com: domain of linux-kernel+bounces-90973-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90973-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 778E71C2331B for ; Mon, 4 Mar 2024 17:01:27 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6F7A96024E; Mon, 4 Mar 2024 17:01:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="pXvtHXTd" Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EBA9A5CDC8; Mon, 4 Mar 2024 17:01:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709571670; cv=none; b=p7ruElG6fxszs8C0R561lSK6vMMO1lldXMSi3ov4zOY8jtSu4/RHUozGWw/XGZ48MB+mcboy9b4HbDXzqrvNUzjcUbdrBE5u5LWFj5qKV1Ym+5Hgwt5Hh2WpzFzuyZPlbk8bhqxbf990o86TQTJ5i9OKLD0apl5eBWPvkd+pnDI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709571670; c=relaxed/simple; bh=YIorEZgZ3oGb/vzKCLKNk60LiCpWqfOM0YBnH4BtxMA=; h=Content-Type:MIME-Version:In-Reply-To:References:Subject:From:Cc: To:Date:Message-ID; b=QGEGc3OCnku3BjqBsKcQ9GW5VcsgcXkzyvMr9Yd9I4WOudzHcAKF3+gj1jj6Cg5GtE6AHSAR0fxuj1EfkLBnZcEoe/UmBVQIQxd3kePfwEu1vJXtIv8aHpsSPtOHyGNSeWHxtFNYfV+4JUJx8u+6YU9qp6A028IAtkdgaRS0p8s= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=pXvtHXTd; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Received: from pendragon.ideasonboard.com (aztw-30-b2-v4wan-166917-cust845.vm26.cable.virginm.net [82.37.23.78]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id B66DC3871; Mon, 4 Mar 2024 18:00:50 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1709571650; bh=YIorEZgZ3oGb/vzKCLKNk60LiCpWqfOM0YBnH4BtxMA=; h=In-Reply-To:References:Subject:From:Cc:To:Date:From; b=pXvtHXTdPpvHnkCmRsMboe7vEl69AKv7bnOeRk36NgDF4PafK9ejuA2kHr/zSmVGM BLHcWgjoY9Z2ROjTiN0T2wfyz2vWdqPnHPygsBA9Dsjpqx3cZeqWeOWYnj1goedBse DpBV4uFxed/GJ9DHT2TNSFKbD22yUkV3DX6epKwA= Content-Type: text/plain; charset="utf-8" Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable In-Reply-To: <20240229165333.227484-16-mike.rudenko@gmail.com> References: <20240229165333.227484-1-mike.rudenko@gmail.com> <20240229165333.227484-16-mike.rudenko@gmail.com> Subject: Re: [PATCH v3 15/20] media: i2c: ov4689: Move pixel array size out of struct ov4689_mode From: Kieran Bingham Cc: Sakari Ailus , Laurent Pinchart , Jacopo Mondi , Tommaso Merciai , Christophe JAILLET , Dave Stevenson , Mauro Carvalho Chehab , Mikhail Rudenko To: Mikhail Rudenko , linux-kernel@vger.kernel.org, linux-media@vger.kernel.org Date: Mon, 04 Mar 2024 17:01:03 +0000 Message-ID: <170957166393.566498.15793679548329156107@ping.linuxembedded.co.uk> User-Agent: alot/0.10 Quoting Mikhail Rudenko (2024-02-29 16:53:28) > Pixel array dimensions and default crop size do not belong to the > ov4689_mode structure, since they are mode independent. Make them > defines instead. >=20 > Signed-off-by: Mikhail Rudenko Reviewed-by: Kieran Bingham > --- > drivers/media/i2c/ov4689.c | 29 +++++++++++++---------------- > 1 file changed, 13 insertions(+), 16 deletions(-) >=20 > diff --git a/drivers/media/i2c/ov4689.c b/drivers/media/i2c/ov4689.c > index 6c36fe5f3b44..cc8d9fa369e7 100644 > --- a/drivers/media/i2c/ov4689.c > +++ b/drivers/media/i2c/ov4689.c > @@ -70,6 +70,11 @@ > #define OV4689_LANES 4 > #define OV4689_XVCLK_FREQ 24000000 > =20 > +#define OV4689_PIXEL_ARRAY_WIDTH 2720 > +#define OV4689_PIXEL_ARRAY_HEIGHT 1536 > +#define OV4689_DUMMY_ROWS 8 /* 8 dummy rows on each s= ide */ > +#define OV4689_DUMMY_COLUMNS 16 /* 16 dummy columns on ea= ch side */ > + > static const char *const ov4689_supply_names[] =3D { > "avdd", /* Analog power */ > "dovdd", /* Digital I/O power */ > @@ -90,10 +95,6 @@ struct ov4689_mode { > u32 vts_def; > u32 exp_def; > u32 pixel_rate; > - u32 sensor_width; > - u32 sensor_height; > - u32 crop_top; > - u32 crop_left; > const struct cci_reg_sequence *reg_list; > unsigned int num_regs; > }; > @@ -254,10 +255,6 @@ static const struct ov4689_mode supported_modes[] = =3D { > .id =3D OV4689_MODE_2688_1520, > .width =3D 2688, > .height =3D 1520, > - .sensor_width =3D 2720, > - .sensor_height =3D 1536, > - .crop_top =3D 8, > - .crop_left =3D 16, > .exp_def =3D 1536, > .hts_def =3D 10296, > .hts_min =3D 3432, > @@ -385,8 +382,6 @@ static int ov4689_get_selection(struct v4l2_subdev *s= d, > struct v4l2_subdev_state *state, > struct v4l2_subdev_selection *sel) > { > - const struct ov4689_mode *mode =3D to_ov4689(sd)->cur_mode; > - > if (sel->which !=3D V4L2_SUBDEV_FORMAT_ACTIVE) > return -EINVAL; > =20 > @@ -394,15 +389,17 @@ static int ov4689_get_selection(struct v4l2_subdev = *sd, > case V4L2_SEL_TGT_CROP_BOUNDS: > sel->r.top =3D 0; > sel->r.left =3D 0; > - sel->r.width =3D mode->sensor_width; > - sel->r.height =3D mode->sensor_height; > + sel->r.width =3D OV4689_PIXEL_ARRAY_WIDTH; > + sel->r.height =3D OV4689_PIXEL_ARRAY_HEIGHT; > return 0; > case V4L2_SEL_TGT_CROP: > case V4L2_SEL_TGT_CROP_DEFAULT: > - sel->r.top =3D mode->crop_top; > - sel->r.left =3D mode->crop_left; > - sel->r.width =3D mode->width; > - sel->r.height =3D mode->height; > + sel->r.top =3D OV4689_DUMMY_ROWS; > + sel->r.left =3D OV4689_DUMMY_COLUMNS; > + sel->r.width =3D > + OV4689_PIXEL_ARRAY_WIDTH - 2 * OV4689_DUMMY_COLUM= NS; > + sel->r.height =3D > + OV4689_PIXEL_ARRAY_HEIGHT - 2 * OV4689_DUMMY_ROWS; > return 0; > } > =20 > --=20 > 2.43.0 >