[PATCH V3 00/11] i3c: mipi-i3c-hci-pci: Define Multi-Bus Instances for Intel controllers

Adrian Hunter
2025-12-16T16:56:59Z

Hi

Changes in V3:

A notable change in V3 is the introduction of patch 6 "Assign unique
device names and IDs for Intel LPSS I3C" which does away with dynamic
devid allocaion.

i3c: mipi-i3c-hci: Quieten initialization messages
Minor white space tweaks to fix alignment

i3c: mipi-i3c-hci-pci: Enable MSI support
Enhance commit message

i3c: mipi-i3c-hci-pci: Assign unique device names and IDs for Intel LPSS I3C
New patch

i3c: mipi-i3c-hci: Allow for Multi-Bus Instances
Enhance commit message

i3c: mipi-i3c-hci-pci: Pass base regs as platform data to i3c core device
Enhance commit message

i3c: mipi-i3c-hci-pci: Convert to MFD driver
Add Frank's Rev'd-by
Adjust for doing away with dynamic devid allocation

i3c: mipi-i3c-hci-pci: Add support for Multi-Bus Instances
Make hci a parameter of mipi_i3c_hci_pci_alloc()
Adjust for doing away with dynamic devid allocation
Enhance commit message

i3c: mipi-i3c-hci-pci: Define Multi-Bus instances for supported controllers
Adjust for doing away with dynamic devid allocation

Changes in V2:
Add Frank's Rev'd-by for patches 1 - 3
Drop default driver data
New patches split from "i3c: mipi-i3c-hci-pci: Add support for
Multi-Bus Instances"
Conversion to MFD split into separate patch
Simplify ID allocation / free
Correct use of __free()
Also define instance 0 in driver_data

Add support for MIPI I3C Host Controllers with the Multi-Bus Instance
capability. These controllers can host multiple I3C buses (up to 15)
within a single hardware function (e.g., PCIe B/D/F), providing one
indepedent HCI register set and corresponding I3C bus controller logic
per bus.

Add support for that to mipi-i3c-hci-pci and mipi-i3c-hci and define
Multi-Bus Instances for Intel controllers.

There are also some tidy-up patches to start with.

Adrian Hunter (11):
i3c: mipi-i3c-hci: Remove duplicate blank lines
i3c: mipi-i3c-hci: Stop reading Extended Capabilities if capability ID is 0
i3c: mipi-i3c-hci: Quieten initialization messages
i3c: mipi-i3c-hci-pci: Do not repeatedly check for NULL driver_data
i3c: mipi-i3c-hci-pci: Enable MSI support
i3c: mipi-i3c-hci-pci: Assign unique device names and IDs for Intel LPSS I3C
i3c: mipi-i3c-hci: Allow for Multi-Bus Instances
i3c: mipi-i3c-hci-pci: Pass base regs as platform data to i3c core device
i3c: mipi-i3c-hci-pci: Convert to MFD driver
i3c: mipi-i3c-hci-pci: Add support for Multi-Bus Instances
i3c: mipi-i3c-hci-pci: Define Multi-Bus instances for supported controllers

drivers/i3c/master/Kconfig | 1 +
drivers/i3c/master/mipi-i3c-hci/cmd_v1.c | 2 -
drivers/i3c/master/mipi-i3c-hci/cmd_v2.c | 2 -
drivers/i3c/master/mipi-i3c-hci/core.c | 48 +++++--
drivers/i3c/master/mipi-i3c-hci/dat_v1.c | 1 -
drivers/i3c/master/mipi-i3c-hci/dma.c | 6 +-
drivers/i3c/master/mipi-i3c-hci/ext_caps.c | 58 ++++----
drivers/i3c/master/mipi-i3c-hci/ext_caps.h | 1 -
drivers/i3c/master/mipi-i3c-hci/hci.h | 5 -
drivers/i3c/master/mipi-i3c-hci/mipi-i3c-hci-pci.c | 160 +++++++++++++--------
drivers/i3c/master/mipi-i3c-hci/pio.c | 17 ++-
include/linux/platform_data/mipi-i3c-hci.h | 15 ++
12 files changed, 185 insertions(+), 131 deletions(-)
create mode 100644 include/linux/platform_data/mipi-i3c-hci.h

Regards
Adrian