[PATCH V5 14/14] i3c: mipi-i3c-hci: Advertise IBI wakeup capability
Adrian Hunter
adrian.hunter at intel.com
Fri Aug 7 07:56:38 PDT 2026
Set master->ibi_wakeup during probe when the associated system device
advertises wakeup capability, allowing the I3C core to mark IBI-capable
I3C devices as wakeup capable.
Tweak the comment for i3c_hci_sysdev() to mention the new usage.
Signed-off-by: Adrian Hunter <adrian.hunter at intel.com>
Reviewed-by: Frank Li <Frank.Li at nxp.com>
---
Changes in V5:
None
Changes in V4:
Updated the i3c_hci_sysdev() kernel-doc to mention system PM
and wakeup, in place of the old comment tweak.
Changes in V3:
Added Frank's Rev-by tag
Changes in V2:
None
drivers/i3c/master/mipi-i3c-hci/core.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/i3c/master/mipi-i3c-hci/core.c b/drivers/i3c/master/mipi-i3c-hci/core.c
index f95da427d7a9..06acf6cf5a0d 100644
--- a/drivers/i3c/master/mipi-i3c-hci/core.c
+++ b/drivers/i3c/master/mipi-i3c-hci/core.c
@@ -119,12 +119,13 @@ static inline struct i3c_hci *to_i3c_hci(struct i3c_master_controller *m)
}
/**
- * i3c_hci_sysdev() - Get the device to use for DMA
+ * i3c_hci_sysdev() - Get the device to use for DMA and system PM
* @dev: Device the HCI controller is bound to
*
* When an IOMMU is enabled, DMA API calls must use the device that IOMMU
* setup was done for. Under PCI enumeration that is the PCI device, not
- * the "mipi-i3c-hci" platform device below it.
+ * the "mipi-i3c-hci" platform device below it. The same device owns
+ * system PM and wakeup configuration.
*
* Return: @dev's parent if it is a PCI device, otherwise @dev.
*/
@@ -1180,6 +1181,9 @@ static int i3c_hci_probe(struct platform_device *pdev)
if (hci->quirks & HCI_QUIRK_RPM_IBI_ALLOWED)
hci->master.rpm_ibi_allowed = true;
+ if (device_can_wakeup(i3c_hci_sysdev(&pdev->dev)))
+ hci->master.ibi_wakeup = true;
+
return i3c_master_register(&hci->master, &pdev->dev, &i3c_hci_ops, false);
}
--
2.53.0
More information about the linux-i3c
mailing list