[SRU][F/intel][PULL] WWAN upstream stable patchset

chris.chiu at canonical.com chris.chiu at canonical.com
Wed Jun 16 11:02:04 UTC 2021

From: Chris Chiu <chris.chiu at canonical.com>

BugLink: https://bugs.launchpad.net/bugs/1932124

The Quectel SDX24 EM160R-GL 4G LTE CAT16 PCIE Modem and Foxconn SDX55 T99W175 5G sub6 PCIE Modem are not supported in 5.11 kernel yet. The new WWAN framework and driver support are required to be backported to detect and control the new WWAN modules.

Backport the WWAN framework and drivers support from mainline kernel 5.13.

[Test Case]
Verify whether the Quectel/Foxconn WWAN module are detected or not. And use either `mmcli` commands or NetworkSettings Panel to test the connection.

[Where problem could occur]
Since the WWAN framework is totally new which makes use of the existing MHI
bus drivers and protocols, it should be compatible with old WWAN
modules. The regression can be considered as low.


The following changes since commit 6908621780310ab5a100d68da76cbade95bca245:

  UBUNTU: Ubuntu-intel-5.11.0-1005.5 (2021-06-07 18:43:08 +0800)

are available in the Git repository at:

  git+ssh://mschiu77@git.launchpad.net/~mschiu77/ubuntu/+source/linux-intel/+git/linux-intel austin-1928665

for you to fetch changes up to 38fdafaf7edf7e4b98980207c6ccf22932d5b203:

  UBUNTU: [Config] enable configs for WWAN framework and drivers (2021-06-16 16:34:17 +0800)

Bhaumik Bhatt (19):
      bus: mhi: core: Update debug prints to include local device state
      bus: mhi: Make firmware image optional for controller
      bus: mhi: core: Rely on accurate method to determine EDL mode
      bus: mhi: core: Wait for ready after an EDL firmware download
      bus: mhi: core: Handle EDL mode entry appropriately
      bus: mhi: core: Identify Flash Programmer as a mission mode use case
      bus: mhi: core: Wait for MHI READY state in most scenarios
      bus: mhi: core: Improve state strings for debug messages
      bus: mhi: core: Introduce internal register poll helper function
      bus: mhi: core: Move to polling method to wait for MHI ready
      bus: mhi: core: Remove pre_init flag used for power purposes
      bus: mhi: pci_generic: Add SDX65 based modem support
      bus: mhi: core: Allow sending the STOP channel command
      bus: mhi: core: Improvements to the channel handling state machine
      bus: mhi: core: Update debug messages to use client device
      bus: mhi: core: Hold device wake for channel update commands
      bus: mhi: core: Check channel execution environment before issuing reset
      bus: mhi: core: Remove __ prefix for MHI channel unprepare function
      bus: mhi: Improve documentation on channel transfer setup APIs

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

Carl Yin (1):
      bus: mhi: core: Add support for Flash Programmer execution environment

Chris Chiu (1):
      UBUNTU: [Config] enable configs for WWAN framework and drivers

Colin Ian King (1):
      bus: mhi: core: remove redundant initialization of variables state and ee

Fan Wu (1):
      bus: mhi: core: Return EAGAIN if MHI ring is full

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

Jarvis Jiang (1):
      bus: mhi: pci_generic: Introduce Foxconn T99W175 support

Jeffrey Hugo (1):
      bus: mhi: core: Check state before processing power_down

Loic Poulain (46):
      bus: mhi: core: Add device hardware reset support
      mhi: pci-generic: Increase number of hardware events
      mhi: unconstify mhi_event_config
      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: 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
      bus: mhi: pci_generic: Parametrable element count for events
      bus: mhi: pci_generic: Introduce quectel EM1XXGR-L support
      bus: mhi: pci_generic: Add SDX24 based modem support
      bus: mhi: pci_generic: No-Op for device_wake operations
      bus: mhi: pci_generic: Use generic PCI power management
      bus: mhi: pci_generic: Add support for runtime PM
      bus: mhi: core: Fix invalid error returning in mhi_queue
      bus: mhi: core: Rename debugfs directory name
      bus: mhi: Early MHI resume failure in non M3 state
      bus: mhi: core: Fix MHI runtime_pm behavior
      bus: mhi: pm: reduce PM state change verbosity
      bus: mhi: pci_generic: Implement PCI shutdown callback
      bus: mhi: pci_generic: Add FIREHOSE channels
      net: mhi: Add raw IP mode support
      net: mhi: Set wwan device type
      net: mhi: Get RX queue size from MHI core
      net: mhi: Get rid of local rx queue count
      net: mhi-net: Add re-aggregation of fragmented packets
      net: mhi: Add protocol support
      net: mhi: Add dedicated folder
      net: mhi: Create mhi.h
      net: mhi: Add rx_length_errors stat
      net: mhi: Add mbim proto
      net: mhi: Add support for non-linear MBIM skb processing
      net: mhi: Allow decoupled MTU/MRU
      net: Add a WWAN subsystem
      net: Add Qcom WWAN control driver
      net: wwan: Fix bit ops double shift
      net: wwan: mhi_wwan_ctrl: Fix RX buffer starvation
      net: wwan: core: Return poll error in case of port removal

 debian.intel/config/config.common.ubuntu |   3 +
 drivers/bus/mhi/core/boot.c              |  13 +-
 drivers/bus/mhi/core/debugfs.c           |   2 +-
 drivers/bus/mhi/core/init.c              |  54 +--
 drivers/bus/mhi/core/internal.h          |  19 +-
 drivers/bus/mhi/core/main.c              | 436 ++++++++++----------
 drivers/bus/mhi/core/pm.c                | 107 ++---
 drivers/bus/mhi/pci_generic.c            | 677 +++++++++++++++++++++++++++++--
 drivers/net/Kconfig                      |   2 +
 drivers/net/Makefile                     |   3 +-
 drivers/net/mhi/Makefile                 |   3 +
 drivers/net/mhi/mhi.h                    |  41 ++
 drivers/net/{mhi_net.c => mhi/net.c}     | 203 ++++++---
 drivers/net/mhi/proto_mbim.c             | 303 ++++++++++++++
 drivers/net/wwan/Kconfig                 |  37 ++
 drivers/net/wwan/Makefile                |   9 +
 drivers/net/wwan/mhi_wwan_ctrl.c         | 284 +++++++++++++
 drivers/net/wwan/wwan_core.c             | 554 +++++++++++++++++++++++++
 include/linux/mhi.h                      |  48 ++-
 include/linux/wwan.h                     | 111 +++++
 20 files changed, 2530 insertions(+), 379 deletions(-)
 create mode 100644 drivers/net/mhi/Makefile
 create mode 100644 drivers/net/mhi/mhi.h
 rename drivers/net/{mhi_net.c => mhi/net.c} (62%)
 create mode 100644 drivers/net/mhi/proto_mbim.c
 create mode 100644 drivers/net/wwan/Kconfig
 create mode 100644 drivers/net/wwan/Makefile
 create mode 100644 drivers/net/wwan/mhi_wwan_ctrl.c
 create mode 100644 drivers/net/wwan/wwan_core.c
 create mode 100644 include/linux/wwan.h

More information about the kernel-team mailing list