From: Jack Wu via B4 Relay <devnull+jackbb_wu.compal.com@kernel•org>
To: Loic Poulain <loic.poulain@oss•qualcomm.com>,
Sergey Ryazanov <ryazanov.s.a@gmail•com>,
Johannes Berg <johannes@sipsolutions•net>,
Andrew Lunn <andrew+netdev@lunn•ch>,
"David S. Miller" <davem@davemloft•net>,
Eric Dumazet <edumazet@google•com>,
Jakub Kicinski <kuba@kernel•org>,
Paolo Abeni <pabeni@redhat•com>, Jack Wu <jackbb_wu@compal•com>,
Wen-Zhi Huang <wen-zhi.huang@mediatek•com>,
Shi-Wei Yeh <shi-wei.yeh@mediatek•com>,
Minano Tseng <Minano.tseng@mediatek•com>,
Matthias Brugger <matthias.bgg@gmail•com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora•com>,
Simon Horman <horms@kernel•org>,
Jonathan Corbet <corbet@lwn•net>,
Shuah Khan <skhan@linuxfoundation•org>
Cc: linux-kernel@vger•kernel.org, netdev@vger•kernel.org,
linux-arm-kernel@lists•infradead.org,
linux-mediatek@lists•infradead.org, linux-doc@vger•kernel.org
Subject: [PATCH 00/11] net: wwan: t9xx: Add MediaTek T9XX WWAN driver
Date: Fri, 29 May 2026 18:31:39 +0800 [thread overview]
Message-ID: <20260529-t9xx_driver_v1-v1-0-bdbfe2c01e57@compal.com> (raw)
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.
---
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@compal•com>
next reply other threads:[~2026-05-29 10:32 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-29 10:31 Jack Wu via B4 Relay [this message]
2026-05-29 10:31 ` [PATCH 01/11] net: wwan: t9xx: Add PCIe core Jack Wu via B4 Relay
2026-06-01 11:18 ` Jagielski, Jedrzej
2026-06-04 6:42 ` Wu. JackBB (GSM)
2026-05-29 10:31 ` [PATCH 02/11] net: wwan: t9xx: Add control plane transaction layer Jack Wu via B4 Relay
2026-06-01 11:24 ` Jagielski, Jedrzej
2026-05-29 10:31 ` [PATCH 03/11] net: wwan: t9xx: Add control DMA interface Jack Wu via B4 Relay
2026-05-29 10:31 ` [PATCH 04/11] net: wwan: t9xx: Add control port Jack Wu via B4 Relay
2026-05-29 10:31 ` [PATCH 05/11] net: wwan: t9xx: Add FSM thread Jack Wu via B4 Relay
2026-05-29 10:31 ` [PATCH 06/11] net: wwan: t9xx: Add AT & MBIM WWAN ports Jack Wu via B4 Relay
2026-06-01 12:09 ` Jagielski, Jedrzej
2026-05-29 10:31 ` [PATCH 08/11] net: wwan: t9xx: Add data plane transaction layer Jack Wu via B4 Relay
2026-05-29 10:31 ` [PATCH 09/11] net: wwan: t9xx: Introduce WWAN interface Jack Wu via B4 Relay
2026-06-01 12:19 ` Jagielski, Jedrzej
2026-05-29 10:31 ` [PATCH 10/11] net: wwan: t9xx: Add power management support Jack Wu via B4 Relay
2026-06-01 12:26 ` Jagielski, Jedrzej
2026-05-29 10:31 ` [PATCH 11/11] net: wwan: t9xx: Add maintainers and documentation Jack Wu via B4 Relay
2026-05-29 11:43 ` [PATCH 00/11] net: wwan: t9xx: Add MediaTek T9XX WWAN driver Loic Poulain
2026-06-02 9:28 ` [External Mail] " Wu. JackBB (GSM)
2026-06-02 0:34 ` Jakub Kicinski
2026-06-02 10:58 ` [External Mail] " Wu. JackBB (GSM)
2026-06-02 20:46 ` Sergey Ryazanov
2026-06-04 8:22 ` [External Mail] " Wu. JackBB (GSM)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260529-t9xx_driver_v1-v1-0-bdbfe2c01e57@compal.com \
--to=devnull+jackbb_wu.compal.com@kernel$(echo .)org \
--cc=Minano.tseng@mediatek$(echo .)com \
--cc=andrew+netdev@lunn$(echo .)ch \
--cc=angelogioacchino.delregno@collabora$(echo .)com \
--cc=corbet@lwn$(echo .)net \
--cc=davem@davemloft$(echo .)net \
--cc=edumazet@google$(echo .)com \
--cc=horms@kernel$(echo .)org \
--cc=jackbb_wu@compal$(echo .)com \
--cc=johannes@sipsolutions$(echo .)net \
--cc=kuba@kernel$(echo .)org \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
--cc=linux-doc@vger$(echo .)kernel.org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-mediatek@lists$(echo .)infradead.org \
--cc=loic.poulain@oss$(echo .)qualcomm.com \
--cc=matthias.bgg@gmail$(echo .)com \
--cc=netdev@vger$(echo .)kernel.org \
--cc=pabeni@redhat$(echo .)com \
--cc=ryazanov.s.a@gmail$(echo .)com \
--cc=shi-wei.yeh@mediatek$(echo .)com \
--cc=skhan@linuxfoundation$(echo .)org \
--cc=wen-zhi.huang@mediatek$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox