From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (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 53F2F34676F for ; Tue, 2 Jun 2026 13:28:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780406920; cv=none; b=l5Q+dq7OvGWOLtfzp8hNaeVq/C3RZ2lhrPB/cBCh2yWscSeCbctTCuUDAj8TTrz/pyv6gRJOXo4bqxFioheAuJBPOd7ARCjv53K7Kj1LicELlvdNnOq+fQwhyz9YJV1qquyKpb4nctWAPDpGogisrHcqDw/s2nK9axupWxvMxkI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780406920; c=relaxed/simple; bh=mYbXlCW6t01I+8g5oE7dTzaihalL83/TxfdZ81GjDHo=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=PdVbT3OKpJcxsg/hKF2DVx29WsawVgQ1C/cDZUJfQydF2/kEu+Gq3/Q2txXd0Ca7NWL0OtmTURU3SFI1M1uQnn8xMqwzct93OMsypVziqiuRBXiUuGDPm0SMxO+cNWT8JQxg2ENTwEDQ+blCPMEFBlpp8Jfkt0sTqGsaNYwq9l8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=CLvvzG6k; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="CLvvzG6k" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C5F701F00893; Tue, 2 Jun 2026 13:28:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1780406919; bh=PuNYbSHmOvmd5G9znrIE3jsvaayxmfOz7PrOCP6ZN5c=; h=From:To:Cc:Subject:Date; b=CLvvzG6k4Pe8CGuzpYBqyfnD46sJ/Qwem3U6vADiez2yYiazBbbCE2pFvnyvU1PiY NW1OrntD6zXtUZFoQWNR/PPL/pcfTfGq68LAOB/iQ7vDp1pITMdLkdbam7PwX/LsIv i9uyornqTo5TjTPp6qhG5n5bqZ6S19GcWQ1Hq2bAMxJtLpg3yrOFeE+QVFZaLdZEjZ 5kUquRCp+uWE0aiLzr+WEx0mxsblH+otSiUBe+oBO+ZloUOQ3lGk04000NAUWMZfBw xFOQi9NjK2cvTOD71dx2lEQLf28k0FKHHRUJpXXwZuWLUcoTCjNhdziXvBSVVJeQ9j 1lH0ceidriafQ== From: Claudiu Beznea To: wsa+renesas@sang-engineering.com, tommaso.merciai.xr@bp.renesas.com, alexandre.belloni@bootlin.com, Frank.Li@nxp.com, p.zabel@pengutronix.de Cc: claudiu.beznea@kernel.org, claudiu.beznea@tuxon.dev, linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org, Claudiu Beznea Subject: [PATCH v2 00/17] i3c: renesas: Suspend to RAM with power loss and runtime PM Date: Tue, 2 Jun 2026 16:28:07 +0300 Message-ID: <20260602132824.3541151-1-claudiu.beznea@kernel.org> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Claudiu Beznea 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 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: Do not attach devices if xfer failed i3c: renesas: Clean DATBAS register on detach 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 | 444 +++++++++++++++++++++++-------- 1 file changed, 332 insertions(+), 112 deletions(-) -- 2.43.0