[GIT PULL] MHI changes for v5.12

From: Manivannan Sadhasivam
Date: Fri Feb 05 2021 - 19:14:43 EST


Hi Greg,

Here is the MHI Pull request for the v5.12 cycle. As like last time, I needed to
do PR this time due to the immutable branches with net-next and ath11k-next.

Patch details are in the signed tag, please consider merging!

Thanks,
Mani

---

The following changes since commit 5c8fe583cce542aa0b84adc939ce85293de36e5e:

Linux 5.11-rc1 (2020-12-27 15:30:22 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/mani/mhi.git tags/mhi-for-v5.12

for you to fetch changes up to 026c5b1ec29cb9904406c7b3090eaf54e345e7f2:

bus: mhi: pci_generic: Increase num of elements in hw event ring (2021-02-05 17:59:29 +0530)

----------------------------------------------------------------
MHI changes for v5.12

Loic improved the MHI PCI generic controller by adding support for DIAG channel,
PCI error handling, suspend/recovery/resume, and health check. Loic also added
support for resetting the MHI device as per the MHI specification. This includes
writing to a specific register for default cases and looking for controller
specific callback when provided.

Along with this Loic, also added a new API which gets the number for free TREs
(Transfer Ring Elements) from the MHI core. The client drivers can make use of
this API and the current consumer is the "mhi-net" driver. For taking both the
"mhi-net" driver change and the API change, we created "mhi-net-immutable"
branch for this patch and merged the same into net-next and mhi-next.

Carl added a patch which lets the controller driver to pass the custom IRQ
flags for BHI and MHI event interrupts to the MHI core. The current consumer of
this feature is the ath11k MHI controller driver. For taking both the changes,
we created "mhi-ath11k-immutable" branch for this patch and merged into
ath11k-next and mhi-next.

Finally, Loic cleaned up the MHI queue APIs and fixed the shared MSI vector
support.

----------------------------------------------------------------
Carl Huang (1):
mhi: use irq_flags if controller driver configures it

Hemant Kumar (1):
bus: mhi: core: Add helper API to return number of free TREs

Loic Poulain (16):
bus: mhi: core: Add device hardware reset support
mhi: pci-generic: Increase number of hardware events
mhi: pci_generic: Enable burst mode for hardware channels
mhi: pci_generic: Add support for reset
mhi: pci_generic: Add suspend/resume/recovery procedure
mhi: pci_generic: Add PCI error handlers
mhi: pci_generic: Add health-check
mhi: pci_generic: Increase controller timeout value
mhi: pci_generic: Add diag channels
mhi: pci_generic: Set irq moderation value to 1ms for hw channels
bus: mhi: Ensure correct ring update ordering with memory barrier
mhi: unconstify mhi_event_config
mhi: pci_generic: Fix shared MSI vector support
mhi: core: Factorize mhi queuing
mhi: pci_generic: Print warning in case of firmware crash
bus: mhi: pci_generic: Increase num of elements in hw event ring

Manivannan Sadhasivam (2):
Merge branch 'mhi-ath11k-immutable' into mhi-next
Merge branch 'mhi-net-immutable' into mhi-next

drivers/bus/mhi/core/init.c | 9 ++-
drivers/bus/mhi/core/main.c | 194 +++++++++++++++++++++++------------------------------------
drivers/bus/mhi/pci_generic.c | 381 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------
include/linux/mhi.h | 22 ++++++-
4 files changed, 461 insertions(+), 145 deletions(-)