From: sashiko-bot@kernel.org
To: "Manuel Fombuena" <fombuena@outlook.com>
Cc: lee@kernel.org, linux-leds@vger.kernel.org
Subject: Re: [PATCH v1 07/11] leds: st1202: Program the channel current for hardware patterns
Date: Sat, 12 Sep 2026 22:49:34 +0000 [thread overview]
Message-ID: <20260912224935.3C2EA1F000FF@smtp.kernel.org> (raw)
In-Reply-To: <GV1PR08MB8497746317561206D7C20DAEC5BD2@GV1PR08MB8497.eurprd08.prod.outlook.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
Pre-existing issues:
- [High] `st1202_led_pattern_clear` and `st1202_led_pattern_set` manage the global sequencer state and shared duration registers on a per-channel basis, corrupting other active patterns.
--
commit e1c407fc5be28a96fa9e3c96385b607f0ca18728
Author: Manuel Fombuena <fombuena@outlook.com>
leds: st1202: Program the channel current for hardware patterns
This commit modifies the hardware pattern setup to properly program the
analog current register (ILED) so that programmed patterns are visible. It
also ensures the current is released when a pattern is cleared to avoid
latching the LED on.
> diff --git a/drivers/leds/leds-st1202.c b/drivers/leds/leds-st1202.c
> index 5558ac9612a15..5042fe88fbff7 100644
> --- a/drivers/leds/leds-st1202.c
> +++ b/drivers/leds/leds-st1202.c
> @@ -221,6 +221,10 @@ static int st1202_led_pattern_clear(struct led_classdev *ldev)
>
> guard(mutex)(&chip->lock);
>
> + ret = st1202_write_reg(chip, ST1202_ILED_REG0 + led->led_num, LED_OFF);
> + if (ret != 0)
> + return ret;
> +
> ret = st1202_write_reg(chip, ST1202_CONFIG_REG, ST1202_CONFIG_REG_PHASE_SHIFT);
> if (ret != 0)
> return ret;
[Severity: High]
This is a pre-existing issue, but does writing ST1202_CONFIG_REG_PHASE_SHIFT
here abruptly halt the shared global sequencer for all channels?
Since st1202_led_pattern_clear() and st1202_led_pattern_set() are executed on
a per-channel basis via led_cdev.pattern_clear, clearing the PATS and PATSR
bits in the shared ST1202_CONFIG_REG appears to corrupt the state machine and
stop any hardware patterns currently executing on other LEDs on the same chip.
Additionally, further down in st1202_led_pattern_clear(), there is a loop
that writes 0 to ST1202_PATTERN_DUR + pattern. Can this zero out the chip-wide
global duration registers and destroy the pattern sequence timings for all
other active channels?
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/GV1PR08MB8497422B7A44424C4968AEC1C5BD2@GV1PR08MB8497.eurprd08.prod.outlook.com?part=7
next prev parent reply other threads:[~2026-09-12 22:49 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-12 22:27 [PATCH v1 00/11] leds: st1202: Naming cleanups and pre-existing fixes Manuel Fombuena
2026-09-12 22:29 ` [PATCH v1 01/11] leds: st1202: Correct the name of the prescaler conversion helper Manuel Fombuena
2026-09-12 22:51 ` sashiko-bot
2026-09-12 22:30 ` [PATCH v1 02/11] leds: st1202: Spell out the phase-shift configuration bit Manuel Fombuena
2026-09-12 22:50 ` sashiko-bot
2026-09-12 22:31 ` [PATCH v1 03/11] leds: st1202: Name pattern index variables consistently Manuel Fombuena
2026-09-12 22:51 ` sashiko-bot
2026-09-12 22:32 ` [PATCH v1 04/11] leds: st1202: Use u8 consistently for 8-bit values Manuel Fombuena
2026-09-12 22:46 ` sashiko-bot
2026-09-12 22:34 ` [PATCH v1 05/11] leds: st1202: Clear unused pattern slots in pattern_set() Manuel Fombuena
2026-09-12 22:52 ` sashiko-bot
2026-09-12 22:35 ` [PATCH v1 06/11] leds: st1202: Scale pattern brightness to the 12-bit PWM range Manuel Fombuena
2026-09-12 22:51 ` sashiko-bot
2026-09-12 22:36 ` [PATCH v1 07/11] leds: st1202: Program the channel current for hardware patterns Manuel Fombuena
2026-09-12 22:49 ` sashiko-bot [this message]
2026-09-12 22:37 ` [PATCH v1 08/11] leds: st1202: Take a reference on the LED firmware node Manuel Fombuena
2026-09-12 22:47 ` sashiko-bot
2026-09-12 22:38 ` [PATCH v1 09/11] leds: st1202: Do not set brightness from atomic context Manuel Fombuena
2026-09-12 22:46 ` sashiko-bot
2026-09-12 22:39 ` [PATCH v1 10/11] leds: st1202: Clear unused pattern slots in blink_set() Manuel Fombuena
2026-09-12 22:51 ` sashiko-bot
2026-09-12 22:40 ` [PATCH v1 11/11] leds: st1202: Honour max_brightness when blinking Manuel Fombuena
2026-09-12 22:55 ` sashiko-bot
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=20260912224935.3C2EA1F000FF@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=fombuena@outlook.com \
--cc=lee@kernel.org \
--cc=linux-leds@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox