mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 13:14:02 +02:00
i3c: mipi-i3c-hci: Advertise IBI wakeup capability
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@intel.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> Link: https://patch.msgid.link/20260807145638.168865-15-adrian.hunter@intel.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
parent
842e46925e
commit
1421e948a3
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user