From: Dave Stevenson <dave.stevenson@raspberrypi.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>,
Jai Luthra <jai.luthra@ideasonboard.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Alexander Shiyan <eagle.alexander923@gmail.com>,
linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org,
Dave Stevenson <dave.stevenson@raspberrypi.com>
Subject: [PATCH v5 02/16] media: sony-starvis2: Reorder link frequencies to remove lookup
Date: Mon, 19 Oct 2026 15:28:09 +0100 [thread overview]
Message-ID: <20261019-media-starvis2-v5-2-eef935347ce9@raspberrypi.com> (raw)
In-Reply-To: <20261019-media-starvis2-v5-0-eef935347ce9@raspberrypi.com>
link_freqs_reg_value is table that just reverses the order of the
link frequency enum.
Reverse the order of the link frequencies so that the table is
redundant, and remove it.
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
---
drivers/media/i2c/sony-starvis2.c | 31 ++++++++++---------------------
1 file changed, 10 insertions(+), 21 deletions(-)
diff --git a/drivers/media/i2c/sony-starvis2.c b/drivers/media/i2c/sony-starvis2.c
index ec5bd64049e1..e5c56a1d09df 100644
--- a/drivers/media/i2c/sony-starvis2.c
+++ b/drivers/media/i2c/sony-starvis2.c
@@ -186,25 +186,14 @@ enum starvis2_lanemode {
/* Link frequency setup (DDR: lane rate = 2 x link freq) */
enum {
- STARVIS2_LINK_FREQ_297MHZ,
- STARVIS2_LINK_FREQ_360MHZ,
- STARVIS2_LINK_FREQ_445MHZ,
- STARVIS2_LINK_FREQ_594MHZ,
- STARVIS2_LINK_FREQ_720MHZ,
- STARVIS2_LINK_FREQ_891MHZ,
- STARVIS2_LINK_FREQ_1039MHZ,
- STARVIS2_LINK_FREQ_1188MHZ,
-};
-
-static const u8 link_freqs_reg_value[] = {
- [STARVIS2_LINK_FREQ_297MHZ] = 0x07,
- [STARVIS2_LINK_FREQ_360MHZ] = 0x06,
- [STARVIS2_LINK_FREQ_445MHZ] = 0x05,
- [STARVIS2_LINK_FREQ_594MHZ] = 0x04,
- [STARVIS2_LINK_FREQ_720MHZ] = 0x03,
- [STARVIS2_LINK_FREQ_891MHZ] = 0x02,
- [STARVIS2_LINK_FREQ_1039MHZ] = 0x01,
- [STARVIS2_LINK_FREQ_1188MHZ] = 0x00,
+ STARVIS2_LINK_FREQ_1188MHZ = 0x00,
+ STARVIS2_LINK_FREQ_1039MHZ = 0x01,
+ STARVIS2_LINK_FREQ_891MHZ = 0x02,
+ STARVIS2_LINK_FREQ_720MHZ = 0x03,
+ STARVIS2_LINK_FREQ_594MHZ = 0x04,
+ STARVIS2_LINK_FREQ_445MHZ = 0x05,
+ STARVIS2_LINK_FREQ_360MHZ = 0x06,
+ STARVIS2_LINK_FREQ_297MHZ = 0x07,
};
static const u64 link_freqs[] = {
@@ -913,7 +902,7 @@ static int starvis2_write_common(struct starvis2 *starvis2)
cci_write(starvis2->cci, STARVIS2_REG_INCK_SEL, starvis2->inck_sel_val,
&ret);
cci_write(starvis2->cci, STARVIS2_REG_DATARATE_SEL,
- link_freqs_reg_value[__ffs(starvis2->link_freq_bitmap)],
+ __fls(starvis2->link_freq_bitmap),
&ret);
cci_write(starvis2->cci, STARVIS2_REG_LANEMODE, starvis2->lane_mode,
&ret);
@@ -1176,7 +1165,7 @@ static int starvis2_init_controls(struct starvis2 *starvis2)
{
struct v4l2_ctrl_handler *ctrl_hdlr;
const u32 hmax_4lane =
- min_hmax_4lane[__ffs(starvis2->link_freq_bitmap)];
+ min_hmax_4lane[__fls(starvis2->link_freq_bitmap)];
const u32 lane_scale =
starvis2->lane_mode == STARVIS2_LANEMODE_2L ? 2 : 1;
struct i2c_client *client = v4l2_get_subdevdata(&starvis2->sd);
--
2.34.1
next prev parent reply other threads:[~2026-10-19 14:28 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-19 14:28 [PATCH v5 00/16] Update imx678 to act as a common Sony Starvis 2 driver Dave Stevenson
2026-10-19 14:28 ` [PATCH v5 01/16] media: imx678: Rework into generic Starvis 2 sensor driver Dave Stevenson
2026-10-19 14:28 ` Dave Stevenson [this message]
2026-10-19 14:28 ` [PATCH v5 03/16] media: sony-starvis2: Always program the sensor in window mode Dave Stevenson
2026-10-19 14:28 ` [PATCH v5 04/16] media: sony-starvis2: Parameterise the configuration to allow for other models Dave Stevenson
2026-10-19 14:28 ` [PATCH v5 05/16] media: sony-starvis2: Rework 2 lane support for higher link freqs Dave Stevenson
2026-10-19 14:28 ` [PATCH v5 06/16] media: sony-starvis2: Allow runtime control of link frequency Dave Stevenson
2026-10-19 14:28 ` [PATCH v5 07/16] media: sony-starvis2: Correct the exposure range Dave Stevenson
2026-10-19 14:28 ` [PATCH v5 08/16] media: sony-starvis2: Put module into standby after identify Dave Stevenson
2026-10-19 14:28 ` [PATCH v5 09/16] media: sony-starvis2: Use pm_runtime_autosuspend Dave Stevenson
2026-10-19 16:07 ` sashiko-bot
2026-10-19 14:28 ` [PATCH v5 10/16] media: dt-bindings: sony,imx678: Add other Starvis 2 family members Dave Stevenson
2026-10-19 14:28 ` [PATCH v5 11/16] media: sony-starvis2: Add support for IMX662 Dave Stevenson
2026-10-19 14:28 ` [PATCH v5 12/16] media: sony-starvis2: Add support for IMX675 Dave Stevenson
2026-10-19 14:28 ` [PATCH v5 13/16] media: sony-starvis2: Add support for IMX832 Dave Stevenson
2026-10-19 14:28 ` [PATCH v5 14/16] media: sony-starvis2: Only update bits for window mode Dave Stevenson
2026-10-19 14:28 ` [PATCH v5 15/16] media: sony-starvis2: Parameterise exposure min and step Dave Stevenson
2026-10-19 14:28 ` [PATCH v5 16/16] media: sony-starvis2: Add support for IMX585 Dave Stevenson
2026-10-19 16:23 ` sashiko-bot
2026-10-20 10:21 ` [PATCH v5 00/16] Update imx678 to act as a common Sony Starvis 2 driver Sakari Ailus
2026-10-22 10:56 ` [PATCH 1/2] dt-bindings: media: i2c: imx678: Add IMX676 (Starvis 2) Jai Luthra
2026-10-22 10:56 ` [PATCH 2/2] media: sony-starvis2: Add support for IMX676 Jai Luthra
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=20261019-media-starvis2-v5-2-eef935347ce9@raspberrypi.com \
--to=dave.stevenson@raspberrypi.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=eagle.alexander923@gmail.com \
--cc=jai.luthra@ideasonboard.com \
--cc=krzk+dt@kernel.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=robh@kernel.org \
--cc=sakari.ailus@linux.intel.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.