Re: [PATCH v5 00/17] i3c: renesas: Suspend to RAM with power loss and runtime PM
Tommaso Merciai <[email protected]> Mon, 13 Jul 2026 19:26:02 +0200
| Newsgroups | org.infradead.lists.linux-i3c,org.kernel.vger.linux-kernel,org.kernel.vger.linux-renesas-soc |
|---|---|
| Message-ID | <alUfewDdZ8cmGszy@tom-desktop> |
Hi Claudiu, Thanks for your patch. On Mon, Jul 13, 2026 at 04:05:28PM +0300, Claudiu Beznea wrote: > From: Claudiu Beznea <[email protected]> > > Hi, > > This series adjusts the suspend to RAM code to handle cases where power > to the connected devices is lost during suspend to RAM. The fixes > included in this series are required for that support. > > Along with suspend to RAM support, runtime PM support is also added. > Cleanup patches were included to prepare for clean runtime PM support. > > Thank you, > Claudiu > > Changes in v5: > - in patch 1 introduced renesas_i3c_irqs_mask_and_clear_locked() > similar to what was present in v4 in patch > "i3c: renesas: Add runtime PM support" but without locking; use the > same function to mask all the interrupts and cleanup the status > flag in case interrupts are triggered after the transfer completion > timed out > - introduce patch "i3c: renesas: Fix out-of-bounds access for newdevs mask" > to avoid failures when there are no I3C devices connected on the > bus at probe > - patch "i3c: renesas: Perform Dynamic Address Assignment on resume" > was restored to the v1 variant; kept it simple to fix the > suspend/resume for the moment Tested on RZ/G3E SMARC CARRIER II + RZ SMARC BREAKOUT board with one P3T1085UK-ARD board connected. Tested-by: Tommaso Merciai <[email protected]> Kind Regards, Tommaso > > Changes in v4: > - dropped patch "i3c: renesas: Do not attach devices if xfer failed" > - fixed the swap in renesas_i3c_group_devs_in_slots() for i3c->addr[] > renesas_i3c_irqs_mask_and_clear(); > - in patch 16/16 renamed renesas_i3c_abort_xfer() from v3 to > > Changes in v3: > - re-based on top of series [1] to be able to use > i3c_master_reattach_i3c_dev_locked() > - used i3c_master_reattach_i3c_dev_locked() on patch > "i3c: renesas: Perform Dynamic Address Assignment on resume" along with > grouping the I2C and I3C devices in the driver slot > - collected tags > > Changes in v2: > - dropped patch "i3c: renesas: Use the divider 128" > - adjusted the patches title and description where requested in the > review process > - adjusted the DAA procedure after resume to still properly re-configure > the controller in case the bus was full before a suspend > - added patch "i3c: renesas: Do not attach devices if xfer failed" > - collected tags > > Claudiu Beznea (17): > i3c: renesas: Check that the transfer is valid before accessing it > i3c: renesas: Restore STDBR and EXTBR registers on resume > i3c: renesas: Follow the reset deassert order used in probe > i3c: renesas: Reconfigure the DATBAS register on re-attach > i3c: renesas: Reset the controller on resume > i3c: renesas: Perform Dynamic Address Assignment on resume > i3c: renesas: Clean DATBAS register on detach > i3c: renesas: Fix out-of-bounds access for newdevs mask > i3c: renesas: Use reset_control_bulk_{assert, deassert}() > i3c: renesas: Return immediately if there is no transfer > i3c: renesas: Follow a unified pattern for transfer and command > initialization > i3c: renesas: Drop the explicit memset() call > i3c: renesas: Update HW registers after SW computations are done > i3c: renesas: Organize structures to avoid unnecessary padding > i3c: renesas: Use the "dev_name:irq_name" format for the interrupt > name > i3c: renesas: Drop unnecessary tab > i3c: renesas: Add runtime PM support > > drivers/i3c/master/renesas-i3c.c | 375 +++++++++++++++++++++---------- > 1 file changed, 261 insertions(+), 114 deletions(-) > > -- > 2.43.0 > -- linux-i3c mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-i3c