Re: [PATCH] Add MHI bus support and driver for T99W175 5G modem

From: Mike Rapoport
Date: Tue Mar 16 2021 - 09:31:49 EST


On Tue, Mar 16, 2021 at 05:42:37AM -0700, Jarvis Jiang wrote:
> T99W175 using MBIM or RmNet over PCIe interface with
> MHI protocol support.
> Ported from IPQ8072 platform, including MHI, MBIM, RmNet
>
> Supporting below PCI devices:
>
> PCI_DEVICE(0x17cb, 0x0300)
> PCI_DEVICE(0x17cb, 0x0301)
> PCI_DEVICE(0x17cb, 0x0302)
> PCI_DEVICE(0x17cb, 0x0303)
> PCI_DEVICE(0x17cb, 0x0304)
> PCI_DEVICE(0x17cb, 0x0305)
> PCI_DEVICE(0x17cb, 0x0306)
> PCI_DEVICE(0x105b, 0xe0ab)
> PCI_DEVICE(0x105b, 0xe0b0)
> PCI_DEVICE(0x105b, 0xe0b1)
> PCI_DEVICE(0x105b, 0xe0b3)
> PCI_DEVICE(0x1269, 0x00b3)
> PCI_DEVICE(0x03f0, 0x0a6c)
>
> Signed-off-by: Jarvis Jiang <jarvis.w.jiang@xxxxxxxxx>
> ---
> MAINTAINERS | 16 +
> drivers/bus/Kconfig | 1 +
> drivers/bus/Makefile | 3 +
> drivers/bus/mhi/Kconfig | 27 +
> drivers/bus/mhi/Makefile | 9 +
> drivers/bus/mhi/controllers/Kconfig | 13 +
> drivers/bus/mhi/controllers/Makefile | 2 +
> drivers/bus/mhi/controllers/mhi_arch_qti.c | 275 ++
> drivers/bus/mhi/controllers/mhi_qti.c | 970 +++++++
> drivers/bus/mhi/controllers/mhi_qti.h | 44 +
> drivers/bus/mhi/core/Makefile | 2 +
> drivers/bus/mhi/core/mhi_boot.c | 590 +++++
> drivers/bus/mhi/core/mhi_dtr.c | 223 ++
> drivers/bus/mhi/core/mhi_init.c | 1901 ++++++++++++++
> drivers/bus/mhi/core/mhi_internal.h | 826 ++++++
> drivers/bus/mhi/core/mhi_main.c | 2261 +++++++++++++++++
> drivers/bus/mhi/core/mhi_pm.c | 1158 +++++++++
> drivers/bus/mhi/devices/Kconfig | 43 +
> drivers/bus/mhi/devices/Makefile | 3 +
> drivers/bus/mhi/devices/mhi_netdev.c | 1830 +++++++++++++
> drivers/bus/mhi/devices/mhi_satellite.c | 1155 +++++++++
> drivers/bus/mhi/devices/mhi_uci.c | 802 ++++++
> drivers/net/ethernet/qualcomm/rmnet/Makefile | 2 +-
> .../ethernet/qualcomm/rmnet/rmnet_config.c | 131 +-
> .../ethernet/qualcomm/rmnet/rmnet_config.h | 110 +-
> .../qualcomm/rmnet/rmnet_descriptor.c | 1225 +++++++++
> .../qualcomm/rmnet/rmnet_descriptor.h | 152 ++
> .../ethernet/qualcomm/rmnet/rmnet_handlers.c | 321 ++-
> .../ethernet/qualcomm/rmnet/rmnet_handlers.h | 27 +-
> .../net/ethernet/qualcomm/rmnet/rmnet_map.h | 238 +-
> .../qualcomm/rmnet/rmnet_map_command.c | 304 ++-
> .../ethernet/qualcomm/rmnet/rmnet_map_data.c | 1029 +++++++-
> .../ethernet/qualcomm/rmnet/rmnet_private.h | 19 +-
> .../net/ethernet/qualcomm/rmnet/rmnet_trace.h | 250 ++
> .../net/ethernet/qualcomm/rmnet/rmnet_vnd.c | 101 +-
> .../net/ethernet/qualcomm/rmnet/rmnet_vnd.h | 16 +-
> include/linux/ipc_logging.h | 291 +++
> include/linux/mhi.h | 743 ++++++
> include/linux/mod_devicetable.h | 22 +-
> include/linux/msm-bus.h | 214 ++
> include/linux/msm_pcie.h | 173 ++
> include/linux/netdevice.h | 18 +-
> include/uapi/linux/if_link.h | 4 +
> include/uapi/linux/msm_rmnet.h | 170 ++
> mm/memblock.c | 2 +
> net/core/dev.c | 192 +-
> 46 files changed, 17700 insertions(+), 208 deletions(-)

This is way too much for a single patch. Please split your changes into a
series of patches, with one logical change per patch. For instance, you can
start with adding skeleton infrastructure for MHI, then add particular
implementations for it, and on top you can add device drivers that rely on
MHI core.

--
Sincerely yours,
Mike.