Re: [PATCH V2 8/8] i3c: mipi-i3c-hci: Advertise IBI wakeup capability

Frank Li <[email protected]> Tue, 28 Jul 2026 16:12:07 -0400
Newsgroups org.infradead.lists.linux-i3c,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pci,org.kernel.vger.linux-pm
Message-ID <amkNF47xyCd4pJEE@lizhi-Precision-Tower-5810>
On Tue, Jul 28, 2026 at 06:53:08PM +0300, Adrian Hunter wrote:
> 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 <[email protected]>
> ---

Reviewed-by: Frank Li <[email protected]>

>
>
> Changes in V2:
>
> 	None
>
>
>  drivers/i3c/master/mipi-i3c-hci/core.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/i3c/master/mipi-i3c-hci/core.c b/drivers/i3c/master/mipi-i3c-hci/core.c
> index 0212c9e984cf..5d92cf0645ef 100644
> --- a/drivers/i3c/master/mipi-i3c-hci/core.c
> +++ b/drivers/i3c/master/mipi-i3c-hci/core.c
> @@ -120,9 +120,9 @@ static inline struct i3c_hci *to_i3c_hci(struct i3c_master_controller *m)
>
>  /*
>   * Determine the device that does PM / DMA and has IOMMU setup done for it in
> - * case of enabled IOMMU (for use with the DMA API).
> - * Such device is either "mipi-i3c-hci" platform device (OF/ACPI enumeration)
> - * parent or grandparent (PCI enumeration).
> + * case of enabled IOMMU (for use with the DMA API). It is also used to check
> + * for wakeup capability. Such device is either "mipi-i3c-hci" platform device
> + * (OF/ACPI enumeration) parent or grandparent (PCI enumeration).
>   */
>  struct device *i3c_hci_sysdev(struct device *dev)
>  {
> @@ -1176,6 +1176,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
>

-- 
linux-i3c mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-i3c