Re: [PATCH v3 0/7] Add support for MHI Endpoint function driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Mar 14, 2023 at 10:16:16AM +0530, Manivannan Sadhasivam wrote:
> Hello,
> 
> This series adds support for Modem Host Interface (MHI) Endpoint function
> driver and few updates to the PCI endpoint core.
> 
> MHI
> ===
> 
> MHI is the communication protocol used by the host machines to control and
> communicate with the Qualcomm modems/WLAN devices over any high speed physical
> bus like PCIe. In Linux kernel, MHI is modeled as a bus driver [1] and there
> are two instances of MHI used in a typical setup.
> 
> 1. MHI host - MHI implementation for the host machines like x86/ARM64.
> 2. MHI Endpoint - MHI implementation for the endpoint devices like modems.
> 
> MHI EPF
> =======
> 
> The MHI Endpoint function driver (MHI EPF) is used on the MHI endpoint devices
> like modems. The MHI EPF driver sits in between the PCIe EP and MHI EP bus and
> carries out all of the PCIe related activities like BAR config, PCIe Event
> handling, MMIO read/write etc,... for the MHI EP bus.
> 
> Below is the simple representation of the setup:
> 
> 
>                  +----------------------------------------------------+
>                  |                  Endpoint CPU                      |                   
>                  |                                                    |
> +------------+   |   +------------+   +-----------+   +-----------+   |
> |            |   |   |            |   |           |   |           |   |
> |            |   |   |   MHI EP   |   |           |   |           |   | PCIe Bus
> |  Modem DSP +---+---+    Bus     +---+  MHI EPF  +---+  PCIe EP  +---+---------
> |            |   |   |            |   |           |   |           |   |
> |            |   |   |            |   |           |   |           |   |
> +------------+   |   +------------+   +-----------+   +-----------+   |
>                  |                                                    |
>                  |                                                    |
>                  +----------------------------------------------------+
> 
> The data packets will be read from the Modem DSP by the MHI stack and will be
> transmitted to the host machine over PCIe bus with the help of MHI EPF driver.
> 
> Test setup
> ==========
> 
> This series has been tested on Snapdragon X55 modem a.k.a SDX55 connected to
> the ARM64 host machine.
> 

Lorenzo, gentle ping on this series.

- Mani

> Thanks,
> Mani
> 
> [1] https://www.kernel.org/doc/html/latest/mhi/mhi.html
> 
> Changes in v3:
> 
> * Fixed the probe function of EPF_VNTB driver
> 
> Changes in v2:
> 
> * Rebased on top of v6.3-rc1
> * Switched to the new callback interface for passing events from EPC to EPF
> * Dropped one patch related to notifier
> 
> Manivannan Sadhasivam (7):
>   PCI: endpoint: Pass EPF device ID to the probe function
>   PCI: endpoint: Warn and return if EPC is started/stopped multiple
>     times
>   PCI: endpoint: Add linkdown notifier support
>   PCI: endpoint: Add BME notifier support
>   PCI: qcom-ep: Add support for Link down notification
>   PCI: qcom-ep: Add support for BME notification
>   PCI: endpoint: Add PCI Endpoint function driver for MHI bus
> 
>  drivers/pci/controller/dwc/pcie-qcom-ep.c     |   2 +
>  drivers/pci/endpoint/functions/Kconfig        |  10 +
>  drivers/pci/endpoint/functions/Makefile       |   1 +
>  drivers/pci/endpoint/functions/pci-epf-mhi.c  | 454 ++++++++++++++++++
>  drivers/pci/endpoint/functions/pci-epf-ntb.c  |   3 +-
>  drivers/pci/endpoint/functions/pci-epf-test.c |   2 +-
>  drivers/pci/endpoint/functions/pci-epf-vntb.c |   2 +-
>  drivers/pci/endpoint/pci-ep-cfs.c             |   3 +
>  drivers/pci/endpoint/pci-epc-core.c           |  52 ++
>  drivers/pci/endpoint/pci-epf-core.c           |   8 +-
>  include/linux/pci-epc.h                       |   2 +
>  include/linux/pci-epf.h                       |   8 +-
>  12 files changed, 540 insertions(+), 7 deletions(-)
>  create mode 100644 drivers/pci/endpoint/functions/pci-epf-mhi.c
> 
> -- 
> 2.25.1
> 

-- 
மணிவண்ணன் சதாசிவம்



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux