Re: [PATCH 00/11] net: wwan: t9xx: Add MediaTek T9XX WWAN driver

From: Loic Poulain

Date: Fri May 29 2026 - 07:46:01 EST


Hi Jack,

On Fri, May 29, 2026 at 12:31 PM Jack Wu via B4 Relay
<devnull+jackbb_wu.compal.com@xxxxxxxxxx> wrote:
>
> T9XX is the PCIe host device driver for MediaTek's
> t900 modem. The driver uses the WWAN framework
> infrastructure to create the following control ports
> and network interfaces for data transactions.
> * /dev/wwan0at0 - Interface that supports AT commands.
> * /dev/wwan0mbim0 - Interface conforming to the MBIM
> protocol.
> * wwan0-X - Primary network interface for IP traffic.
>
> The main blocks in the T9XX driver are:
> * HW layer - Abstracts the hardware bus operations for
> the device, and provides generic interfaces for the
> transaction layer to get the device's information and
> control the device's behavior. It includes:
>
> * PCIe - Implements probe, removal and interrupt
> handling.
> * MHCCIF (Modem Host Cross-Core Interface) - Provides
> interrupt channels for bidirectional event
> notification such as handshake and port enumeration.
>
> * Transaction layer - Implements data transactions for
> the control plane and the data plane. It includes:
>
> * DPMAIF (Data Plane Modem AP Interface) - Controls
> the hardware that provides uplink and downlink
> queues for the data path. The data exchange takes
> place using circular buffers to share data buffer
> addresses and metadata to describe the packets.
> * CLDMA (Cross Layer DMA) - Manages the hardware
> used by the port layer to send control messages to
> the device using MediaTek's CCCI (Cross-Core
> Communication Interface) protocol.
> * TX Services - Dispatch packets from the port layer
> to the device.
> * RX Services - Dispatch packets to the port layer
> when receiving packets from the device.
>
> * Port layer - Provides control plane and data plane
> interfaces to userspace. It includes:
>
> * Control Plane - Provides device node interfaces
> for controlling data transactions.
> * Data Plane - Provides network link interfaces
> wwanX (0, 1, 2...) for IP data transactions.
>
> * Core logic - Contains the core logic to keep the
> device working. It includes:
>
> * FSM (Finite State Machine) - Monitors the state
> of the device, and notifies each module when the
> state changes.
>
> The compilation of the T9XX driver is enabled by the
> CONFIG_MTK_T9XX and CONFIG_MTK_T9XX_PCI config option
> which depends on CONFIG_WWAN.

Can you specify which userspace counterpart you need (e.g., a
ModemManager version or a link to the relevant patch series)?


>
> ---
> Jack Wu (11):
> net: wwan: t9xx: Add PCIe core
> net: wwan: t9xx: Add control plane transaction layer
> net: wwan: t9xx: Add control DMA interface
> net: wwan: t9xx: Add control port
> net: wwan: t9xx: Add FSM thread
> net: wwan: t9xx: Add AT & MBIM WWAN ports
> net: wwan: t9xx: Introduce data plane hardware
> net: wwan: t9xx: Add data plane transaction layer
> net: wwan: t9xx: Introduce WWAN interface
> net: wwan: t9xx: Add power management support
> net: wwan: t9xx: Add maintainers and documentation
>
> .../networking/device_drivers/wwan/t9xx.rst | 48 +
> MAINTAINERS | 10 +
> drivers/net/wwan/Kconfig | 17 +
> drivers/net/wwan/Makefile | 1 +
> drivers/net/wwan/t9xx/Makefile | 16 +
> drivers/net/wwan/t9xx/mtk_ctrl_plane.c | 95 +
> drivers/net/wwan/t9xx/mtk_ctrl_plane.h | 88 +
> drivers/net/wwan/t9xx/mtk_data_plane.c | 104 +
> drivers/net/wwan/t9xx/mtk_data_plane.h | 105 +
> drivers/net/wwan/t9xx/mtk_dev.c | 55 +
> drivers/net/wwan/t9xx/mtk_dev.h | 114 +
> drivers/net/wwan/t9xx/mtk_fsm.c | 931 +++++++
> drivers/net/wwan/t9xx/mtk_fsm.h | 140 +
> drivers/net/wwan/t9xx/mtk_port.c | 967 +++++++
> drivers/net/wwan/t9xx/mtk_port.h | 176 ++
> drivers/net/wwan/t9xx/mtk_port_io.c | 576 +++++
> drivers/net/wwan/t9xx/mtk_port_io.h | 41 +
> drivers/net/wwan/t9xx/mtk_utility.h | 33 +
> drivers/net/wwan/t9xx/mtk_wwan.c | 475 ++++
> drivers/net/wwan/t9xx/mtk_wwan.h | 17 +
> drivers/net/wwan/t9xx/pcie/Makefile | 19 +
> drivers/net/wwan/t9xx/pcie/mtk_cldma.c | 1527 +++++++++++
> drivers/net/wwan/t9xx/pcie/mtk_cldma.h | 176 ++
> drivers/net/wwan/t9xx/pcie/mtk_cldma_drv.c | 373 +++
> drivers/net/wwan/t9xx/pcie/mtk_cldma_drv.h | 174 ++
> drivers/net/wwan/t9xx/pcie/mtk_cldma_drv_m9xx.c | 177 ++
> drivers/net/wwan/t9xx/pcie/mtk_cldma_drv_m9xx.h | 101 +
> drivers/net/wwan/t9xx/pcie/mtk_ctrl_cfg_m9xx.c | 55 +
> drivers/net/wwan/t9xx/pcie/mtk_dpmaif.c | 2714 ++++++++++++++++++++
> drivers/net/wwan/t9xx/pcie/mtk_dpmaif.h | 16 +
> drivers/net/wwan/t9xx/pcie/mtk_dpmaif_drv.c | 1586 ++++++++++++
> drivers/net/wwan/t9xx/pcie/mtk_dpmaif_drv.h | 268 ++
> drivers/net/wwan/t9xx/pcie/mtk_dpmaif_drv_m9xx.c | 687 +++++
> drivers/net/wwan/t9xx/pcie/mtk_dpmaif_reg.h | 387 +++
> drivers/net/wwan/t9xx/pcie/mtk_dpmaif_reg_m9xx.h | 37 +
> drivers/net/wwan/t9xx/pcie/mtk_dpmaif_ring.c | 168 ++
> drivers/net/wwan/t9xx/pcie/mtk_dpmaif_ring.h | 161 ++
> drivers/net/wwan/t9xx/pcie/mtk_pci.c | 1067 ++++++++
> drivers/net/wwan/t9xx/pcie/mtk_pci.h | 219 ++
> drivers/net/wwan/t9xx/pcie/mtk_pci_drv_m9xx.c | 70 +
> drivers/net/wwan/t9xx/pcie/mtk_pci_reg.h | 72 +
> drivers/net/wwan/t9xx/pcie/mtk_trans_ctrl.c | 593 +++++
> drivers/net/wwan/t9xx/pcie/mtk_trans_ctrl.h | 105 +
> 43 files changed, 14761 insertions(+)
> ---
> base-commit: eb3f4b7426cfd2b79d65b7d37155480b32259a11
> change-id: 20260529-t9xx_driver_v1-1744f8af7739
>
> Best regards,
> --
> Jack Wu <jackbb_wu@xxxxxxxxxx>
>
>