[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250821-vdev_next-20250821_sriov-v3-0-e1b017c48d4a@quicinc.com>
Date: Thu, 21 Aug 2025 18:25:32 +0530
From: Vivek.Pernamitta@...cinc.com
To: Manivannan Sadhasivam <mani@...nel.org>
CC: <mhi@...ts.linux.dev>, <linux-arm-msm@...r.kernel.org>,
<linux-kernel@...r.kernel.org>,
Vivek Pernamitta <quic_vpernami@...cinc.com>,
Krishna Chaitanya Chundru <krishna.chundru@....qualcomm.com>
Subject: [PATCH v3 0/6] bus: mhi: host: Enable SRIOV support in MHI driver
This patch introduces several enhancements for the SRIOV support in MHI driver
focusing on enabling SRIOV and improving the MHI driver removal process.
- Add support to enable SRIOV.
- Remove health check monitor for VF's and read PF's device id for VF.
- Implement support for separate controller configurations for both
Virtual Functions (VF) and Physical Functions (PF).
The PF takes on a supervisory role and will have bootup information
such as SAHARA, DIAG, and NDB (for file system sync data, etc.).
VFs can handle function-specific data transfers, such as data plane
or hardware data.
- Perform a graceful removal of the MHI driver. Upon driver removal,
the host driver will perform a SOC_RESET on the driver remove callback.
This ensures device reset gracefully.
- Add support in mhi power up to handle sys_err state instread of treating
as error.
In power-up or recovery scenarios, the device may enter a valid SYS_ERR
state due to a prior reset. Currently, mhi_sync_power_up() exits early
when this state is detected, causing recovery to fail. This change
ensures the host waits for the device to transition to Mission Mode even
after SYS_ERR, allowing proper error handling and recovery.
- Add Support to configure DMA mask for VFs expliclty for QDU100.
Signed-off-by:
---
Changes in v3:
- Updated commit messages for individual gerrits as per Konrad and Mani
- Disabled health check moniter for VF.
- reordered patchset 3 and 4.
- Removed empty lines, unsymmetric functions, comments and alinged mhi_pci_driver structure
- Renamed struct member from reset_on_driver_unbind to reset_on_remove.
- Added support for higher DMA mask for VFs on QDU100.
-
Changes in v2:
- Changed order of patchsets from V1 as per Konrad comments.
- Added spec version for separate controller configurations for both VF andi
PF as per Krishna comments.
- Updated git commit message as per Krishna comments..
- Added mhi_pci_remove in shutdown callback in pci_generic instead of
duplicating the same sequence in both as per Krishna comments..
- Link to v1: https://lore.kernel.org/r/20250703-sriov_vdev_next-20250630-v1-0-87071d1047e3@quicinc.com
---
---
Vivek Pernamitta (6):
bus: mhi: host: Add support for separate controller configurations for VF and PF
bus: mhi: host: pci_generic: Read SUBSYSTEM_VENDOR_ID for VF's to check status
bus: mhi: host: pci_generic: Add SRIOV support for PCIe device
bus: mhi: host: pci_generic: Remove MHI driver and ensure graceful device recovery
bus: mhi: core: Improve mhi_sync_power_up handling for SYS_ERR state
bus: mhi: host: pci_generic: Support independent DMA mask for VFs
drivers/bus/mhi/host/internal.h | 2 ++
drivers/bus/mhi/host/pci_generic.c | 70 ++++++++++++++++++++++++++++++--------
drivers/bus/mhi/host/pm.c | 2 +-
3 files changed, 58 insertions(+), 16 deletions(-)
---
base-commit: 7fa4d8dc380fbd81a9d702a855c50690c9c6442c
change-id: 20250821-vdev_next-20250821_sriov-a2997bddb0d5
Best regards,
--
Vivek Pernamitta <<quic_vpernami@...cinc.com>>
Powered by blists - more mailing lists