From: sashiko-bot@kernel.org
To: "Dumitru Ceclan" <dumitru.ceclan@analog.com>
Cc: media-ci@linuxtv.org, robh@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org
Subject: Re: [PATCH v16 17/22] media: i2c: maxim-serdes: add MAX96717 driver
Date: Mon, 31 Aug 2026 13:49:27 +0000 [thread overview]
Message-ID: <20260831134927.946B41F00ACA@smtp.kernel.org> (raw)
In-Reply-To: <20260831-gmsl2-3_serdes-v16-17-4fa6e08bb514@analog.com>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] Incorrect GPIO pin offset mapping in PIN_CONFIG_SLEW_RATE corrupts slew rate configuration.
- [Medium] Subtracting unsigned values causes underflow in clock rate difference calculation, triggering abs() macro failure.
--
commit 7d97c788ea6a3ed1b94c36b8f48a9970ccb4483b
Author: Cosmin Tanislav <demonsingur@gmail.com>
media: i2c: maxim-serdes: add MAX96717 driver
This commit adds a new MAX96717 driver that supports MAX9295A, MAX96717F,
and MAX96793 serializers. It integrates with the common serializer framework
while enabling features across multiple chips.
> diff --git a/drivers/media/i2c/maxim-serdes/max96717.c b/drivers/media/i2c/maxim-serdes/max96717.c
> new file mode 100644
> index 0000000000000..2764a24fb3a93
> --- /dev/null
> +++ b/drivers/media/i2c/maxim-serdes/max96717.c
[ ... ]
> +static int max96717_get_pin_config_reg(unsigned int offset, u32 param,
> + unsigned int *reg, unsigned int *mask,
> + unsigned int *val)
> +{
[ ... ]
> + switch (param) {
> + case PIN_CONFIG_SLEW_RATE:
> + if (offset < 3) {
> + *reg = MAX96717_PIO_SLEW_0;
> + if (offset == 0)
> + *mask = MAX96717_PIO_SLEW_0_PIO00_SLEW;
> + else if (offset == 1)
> + *mask = MAX96717_PIO_SLEW_0_PIO01_SLEW;
> + else
> + *mask = MAX96717_PIO_SLEW_0_PIO02_SLEW;
> + } else if (offset < 5) {
> + *reg = MAX96717_PIO_SLEW_1;
> + if (offset == 3)
> + *mask = MAX96717_PIO_SLEW_1_PIO05_SLEW;
> + else
> + *mask = MAX96717_PIO_SLEW_1_PIO06_SLEW;
> + } else if (offset < 7) {
> + return -EINVAL;
> + } else if (offset < 9) {
> + *reg = MAX96717_PIO_SLEW_2;
> + if (offset == 7)
> + *mask = MAX96717_PIO_SLEW_2_PIO010_SLEW;
> + else
> + *mask = MAX96717_PIO_SLEW_2_PIO011_SLEW;
[Severity: Medium]
Does this logic map the pin offsets correctly? When offset is 3 or 4, this
configures the slew rate for PIO05 and PIO06, while leaving offsets 5 and
6 unhandled and returning -EINVAL.
This causes max96717_mux_set_rclkout() to modify pin 6's hardware register
when it attempts to configure the RCLK out slew rate for pin 4. Similarly,
offsets 7 and 8 appear to map to PIO10 and PIO11.
[ ... ]
> +static unsigned int max96717_clk_find_best_index(struct max96717_priv *priv,
> + unsigned long rate)
> +{
> + unsigned int i, idx = 0;
> + unsigned long diff_new, diff_old = U32_MAX;
> +
> + for (i = 0; i < ARRAY_SIZE(max96717_predef_freqs); i++) {
> + diff_new = abs(rate - max96717_predef_freqs[i].freq);
> + if (diff_new < diff_old) {
> + diff_old = diff_new;
> + idx = i;
> + }
> + }
> +
> + return idx;
> +}
[Severity: Medium]
Since both rate and freq are unsigned long, can this subtraction underflow
when rate is less than freq?
Additionally, using the abs() macro on unsigned types can lead to build
failures or unexpected behavior due to type checking in the macro. Would
using abs_diff() be a safer approach here to calculate the difference?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260831-gmsl2-3_serdes-v16-0-4fa6e08bb514@analog.com?part=17
next prev parent reply other threads:[~2026-08-31 13:49 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-31 13:21 [PATCH v16 00/22] media: i2c: add Maxim GMSL2/3 serializer and deserializer drivers Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:21 ` [PATCH v16 01/22] media: mc: Add INTERNAL pad flag Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:30 ` sashiko-bot
2026-08-31 13:21 ` [PATCH v16 02/22] dt-bindings: media: i2c: max96717: add support for I2C ATR Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:35 ` sashiko-bot
2026-08-31 13:21 ` [PATCH v16 03/22] dt-bindings: media: i2c: max96717: add support for pinctrl/pinconf Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:21 ` [PATCH v16 04/22] dt-bindings: media: i2c: max96717: add support for MAX9295A Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:21 ` [PATCH v16 05/22] dt-bindings: media: i2c: max96717: add support for MAX96793 Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:21 ` [PATCH v16 06/22] dt-bindings: media: i2c: max96712: use pattern properties for ports Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:21 ` [PATCH v16 07/22] dt-bindings: media: i2c: max96712: add support for I2C ATR Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:21 ` [PATCH v16 08/22] dt-bindings: media: i2c: max96712: add support for POC supplies Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:21 ` [PATCH v16 09/22] dt-bindings: media: i2c: max96712: add support for MAX96724F/R Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:21 ` [PATCH v16 10/22] dt-bindings: media: i2c: max96712: add control-channel-port property Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:35 ` sashiko-bot
2026-08-31 13:21 ` [PATCH v16 11/22] dt-bindings: media: i2c: max96714: add support for MAX96714R Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:21 ` [PATCH v16 12/22] dt-bindings: media: i2c: add MAX9296A, MAX96716A, MAX96792A Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:36 ` sashiko-bot
2026-08-31 13:21 ` [PATCH v16 13/22] media: i2c: add Maxim GMSL2/3 serializer and deserializer framework Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:21 ` [PATCH v16 14/22] media: i2c: add Maxim GMSL2/3 serializer framework Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:47 ` sashiko-bot
2026-08-31 13:21 ` [PATCH v16 15/22] media: i2c: add Maxim GMSL2/3 deserializer framework Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:47 ` sashiko-bot
2026-08-31 13:21 ` [PATCH v16 16/22] media: i2c: remove MAX96717 driver Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:21 ` [PATCH v16 17/22] media: i2c: maxim-serdes: add " Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:49 ` sashiko-bot [this message]
2026-08-31 13:21 ` [PATCH v16 18/22] arm64: defconfig: disable deprecated MAX96712 driver Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:43 ` sashiko-bot
2026-08-31 13:21 ` [PATCH v16 19/22] staging: media: remove " Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:21 ` [PATCH v16 20/22] media: i2c: maxim-serdes: add MAX96724 driver Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:56 ` sashiko-bot
2026-08-31 13:21 ` [PATCH v16 21/22] media: i2c: remove MAX96714 driver Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 13:21 ` [PATCH v16 22/22] media: i2c: maxim-serdes: add MAX9296A driver Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` Dumitru Ceclan
2026-08-31 17:03 ` [PATCH v16 00/22] media: i2c: add Maxim GMSL2/3 serializer and deserializer drivers Niklas Söderlund
2026-09-01 7:39 ` Ceclan Dumitru
2026-09-01 7:43 ` Tomi Valkeinen
2026-09-02 8:37 ` Niklas Söderlund
2026-09-02 9:57 ` Tomi Valkeinen
2026-09-04 8:51 ` Sakari Ailus
2026-09-08 10:35 ` Ceclan Dumitru
2026-09-12 11:36 ` Sakari Ailus
2026-09-04 8:55 ` Tomi Valkeinen
2026-09-04 9:06 ` Niklas Söderlund
2026-09-07 21:33 ` Artur Andrzejczak
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=20260831134927.946B41F00ACA@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dumitru.ceclan@analog.com \
--cc=media-ci@linuxtv.org \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/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.