Skip to contentSkip to conversation

MHI changes for v6.3

GIT PULL Manivannan Sadhasivam 2 participants 2 messages Feb 2, 2023 – Feb 3, 2023 MHI bus

lore
Share & tools
lore
#0 lore raw

The following changes since commit 1b929c02afd37871d5afb9d498426f83432e71c2:

Linux 6.2-rc1 (2022-12-25 13:41:39 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/mani/mhi.git tags/mhi-for-v6.3

for you to fetch changes up to 3c54a3ff0a2cdcd902482a62fef813f1d46e5eaf:

bus: mhi: ep: Fix off by one in mhi_ep_process_cmd_ring() (2023-02-02 22:52:24 +0530)

----------------------------------------------------------------
MHI Host
========

- Fixed the module description

MHI Endpoint
============

- Powered down the MHI EP stack completely during MHI RESET instead of just doing transfer abort as the MMIO register access will be prohibited afterwards. EP stack will also be powered on again in case the RESET happened due to SYS_ERR.

- Added a sanity check before processing the command ring to make sure that the channel is supported by the controller.

- Added a check to make sure the xfer_cb is available for the channel before trying to send the error status to the client drivers. This helps in avoiding a potential null pointer dereference.

- Fixed the debug log of RESET command

- Modified the channel ring handler lock to protect the whole handler instead of locking it partially. This helps in avoiding a race that may happen if a channel STOP/RESET command is issued by the host parallely.

- Saved the MHI state locally during suspend and resume. Otherwise, the MHI EP stack will not be aware of a channel that got disabled and may try to access it later.

- Changed the MHI state_lock to mutex instead of spinlock. This helps in avoiding the sleeping in atomic bug reported by Dan Carpenter and also allows the lock to be held throughout the state change.

- Fixed the off by one error while doing the MHI channel check during command ring processing.

MHI Generic
===========

- Updated the MHI toplevel Makefile to use Kconfig flags for building the host and endpoint sub-directories conditionally.

----------------------------------------------------------------
Carl Vanderlip (1):
bus: mhi: Update Makefile to used Kconfig flags

Dan Carpenter (1):
bus: mhi: ep: Fix off by one in mhi_ep_process_cmd_ring()

Manivannan Sadhasivam (7):
bus: mhi: ep: Power up/down MHI stack during MHI RESET
bus: mhi: ep: Check if the channel is supported by the controller
bus: mhi: ep: Only send -ENOTCONN status if client driver is available
bus: mhi: ep: Fix the debug message for MHI_PKT_TYPE_RESET_CHAN_CMD cmd
bus: mhi: ep: Move chan->lock to the start of processing queued ch ring
bus: mhi: ep: Save channel state locally during suspend and resume
bus: mhi: ep: Change state_lock to mutex

Slark Xiao (1):
bus: mhi: host: Update mhi driver description

 drivers/bus/mhi/Makefile    |  4 ++--
 drivers/bus/mhi/ep/main.c   | 85 ++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------
 drivers/bus/mhi/ep/sm.c     | 42 ++++++++++++++++++++++++------------------
 drivers/bus/mhi/host/init.c |  2 +-
 include/linux/mhi_ep.h      |  4 ++--
 5 files changed, 75 insertions(+), 62 deletions(-)
Signature · 1 line
மணிவண்ணன் சதாசிவம்
#1 lore raw
Quoted 7 lines · Manivannan Sadhasivam

The following changes since commit 1b929c02afd37871d5afb9d498426f83432e71c2:

Linux 6.2-rc1 (2022-12-25 13:41:39 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/mani/mhi.git tags/mhi-for-v6.3

Pulled and pushed out, thanks.

greg k-h