On 06/03/2026 10:53, Adrian Hunter wrote:
> Hi
>
>
> Please note all patches have Frank's Rev'd-by.
Can this be queued for next (v7.1)?
>
>
> Changes in V5:
>
> Re-base on top of v7.0 fixes series:
> https://lore.kernel.org/linux-i3c/20260306072451.11131-1-adrian.hunter@intel.com/T
>
> Changes in V4:
>
> i3c: mipi-i3c-hci: Allow parent to manage runtime PM
> Add Frank's Rev'd-by
>
> i3c: mipi-i3c-hci-pci: Add optional ability to manage child runtime PM
> Add Frank's Rev'd-by
>
>
> Changes in V3:
>
> i3c: master: Mark last_busy on IBI when runtime PM is allowed
> Patch dropped
>
> i3c: mipi-i3c-hci: Add quirk to allow IBI while runtime suspended
> Add Frank's Rev'd-by
>
> i3c: mipi-i3c-hci-pci: Add optional ability to manage child runtime PM
> Remove unnecessary pm_runtime_mark_last_busy()
>
> i3c: mipi-i3c-hci-pci: Enable IBI while runtime suspended for Intel controllers
> Add Frank's Rev'd-by
>
>
> Changes in V2:
>
> i3c: mipi-i3c-hci-pci: Set d3hot_delay to 0 for Intel controllers
> Add Frank's Rev'd-by
>
> i3c: master: Allow controller drivers to select runtime PM device
> Patch dropped
>
> i3c: master: Mark last_busy on IBI when runtime PM is allowed
> Adjusted slightly for earlier changes
>
> i3c: mipi-i3c-hci: Allow parent to manage runtime PM
> For HCI_QUIRK_RPM_PARENT_MANAGED case, change from
> disabling runtime PM to instead causing the runtime PM
> callbacks to do nothing
>
> i3c: mipi-i3c-hci-pci: Add optional ability to manage child runtime PM
> Do not enable autosuspend.
> Callbacks for parent-managed invocation were renamed
> from i3c_hci_runtime_suspend to i3c_hci_rpm_suspend and
> from i3c_hci_runtime_resume to i3c_hci_rpm_resume.
> Amend commit message slightly.
>
> i3c: mipi-i3c-hci-pci: Enable IBI while runtime suspended for Intel controllers
> Retain HCI_QUIRK_RPM_ALLOWED
> Amend commit message accordingly
>
>
> Here are patches related to enabling IBI while runtime suspended for Intel
> controllers.
>
> Intel LPSS I3C controllers can wake from runtime suspend to receive
> in-band interrupts (IBIs).
>
> It is non-trivial to implement because the parent PCI device has 2 I3C bus
> instances (MIPI I3C HCI Multi-Bus Instance capability) represented by
> platform devices with a separate driver, but the IBI-wakeup is shared by
> both, which means runtime PM has to be managed by the parent PCI driver.
>
> To make that work, the PCI driver handles runtime PM, but leverages the
> mipi-i3c-hci platform driver's functionality for saving and restoring
> controller state.
>
>
> Adrian Hunter (5):
> i3c: mipi-i3c-hci-pci: Set d3hot_delay to 0 for Intel controllers
> i3c: mipi-i3c-hci: Add quirk to allow IBI while runtime suspended
> i3c: mipi-i3c-hci: Allow parent to manage runtime PM
> i3c: mipi-i3c-hci-pci: Add optional ability to manage child runtime PM
> i3c: mipi-i3c-hci-pci: Enable IBI while runtime suspended for Intel controllers
>
> drivers/i3c/master/mipi-i3c-hci/core.c | 35 +++++-
> drivers/i3c/master/mipi-i3c-hci/hci.h | 7 ++
> drivers/i3c/master/mipi-i3c-hci/mipi-i3c-hci-pci.c | 135 +++++++++++++++++++++
> 3 files changed, 172 insertions(+), 5 deletions(-)
>
> Regards
> Adrian