[PATCH 13/17] i3c: mipi-i3c-hci: Add PIO suspend and resume support
Adrian Hunter
adrian.hunter at intel.com
Fri Dec 19 06:45:30 PST 2025
Introduce helper functions to suspend and resume PIO operations. These
are required to prepare for upcoming Runtime PM support, ensuring that
PIO state is properly managed during power transitions.
Signed-off-by: Adrian Hunter <adrian.hunter at intel.com>
---
drivers/i3c/master/mipi-i3c-hci/pio.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/drivers/i3c/master/mipi-i3c-hci/pio.c b/drivers/i3c/master/mipi-i3c-hci/pio.c
index 52d9f01d9ca9..8e868e81acda 100644
--- a/drivers/i3c/master/mipi-i3c-hci/pio.c
+++ b/drivers/i3c/master/mipi-i3c-hci/pio.c
@@ -190,6 +190,18 @@ static void __hci_pio_init(struct i3c_hci *hci, u32 *size_val_ptr)
pio->enabled_irqs = STAT_ALL_ERRORS;
}
+static void hci_pio_suspend(struct i3c_hci *hci)
+{
+ pio_reg_write(INTR_SIGNAL_ENABLE, 0);
+
+ i3c_hci_sync_irq_inactive(hci);
+}
+
+static void hci_pio_resume(struct i3c_hci *hci)
+{
+ __hci_pio_init(hci, NULL);
+}
+
static int hci_pio_init(struct i3c_hci *hci)
{
struct hci_pio_data *pio;
@@ -1059,4 +1071,6 @@ const struct hci_io_ops mipi_i3c_hci_pio = {
.request_ibi = hci_pio_request_ibi,
.free_ibi = hci_pio_free_ibi,
.recycle_ibi_slot = hci_pio_recycle_ibi_slot,
+ .suspend = hci_pio_suspend,
+ .resume = hci_pio_resume,
};
--
2.51.0
More information about the linux-i3c
mailing list