[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1401e75b-a1de-90b7-af24-5d13b6f0aaac@suse.de>
Date: Mon, 1 Nov 2021 16:09:59 +0300
From: Denis Kirjanov <dkirjanov@...e.de>
To: Ricardo Martinez <ricardo.martinez@...ux.intel.com>,
netdev@...r.kernel.org, linux-wireless@...r.kernel.org
Cc: kuba@...nel.org, davem@...emloft.net, johannes@...solutions.net,
ryazanov.s.a@...il.com, loic.poulain@...aro.org,
m.chetan.kumar@...el.com, chandrashekar.devegowda@...el.com,
linuxwwan@...el.com, chiranjeevi.rapolu@...ux.intel.com,
haijun.liu@...iatek.com, amir.hanania@...el.com,
andriy.shevchenko@...ux.intel.com, dinesh.sharma@...el.com,
eliot.lee@...el.com, mika.westerberg@...ux.intel.com,
moises.veleta@...el.com, pierre-louis.bossart@...el.com,
muralidharan.sethuraman@...el.com, Soumya.Prakash.Mishra@...el.com,
sreehari.kancharla@...el.com, suresh.nagaraj@...el.com
Subject: Re: [PATCH v2 00/14] net: wwan: t7xx: PCIe driver for MediaTek M.2
modem
11/1/21 6:56 AM, Ricardo Martinez пишет:
> t7xx is the PCIe host device driver for Intel 5G 5000 M.2 solution which
> is based on MediaTek's T700 modem to provide WWAN connectivity.
> The driver uses the WWAN framework infrastructure to create the following
> control ports and network interfaces:
> * /dev/wwan0mbim0 - Interface conforming to the MBIM protocol.
> Applications like libmbim [1] or Modem Manager [2] from v1.16 onwards
> with [3][4] can use it to enable data communication towards WWAN.
> * /dev/wwan0at0 - Interface that supports AT commands.
> * wwan0 - Primary network interface for IP traffic.
That should be prefixed with net-next
>
> The main blocks in t7xx driver are:
> * PCIe layer - Implements probe, removal, and power management callbacks.
> * Port-proxy - Provides a common interface to interact with different types
> of ports such as WWAN ports.
> * Modem control & status monitor - Implements the entry point for modem
> initialization, reset and exit, as well as exception handling.
> * CLDMA (Control Layer DMA) - Manages the HW used by the port layer to send
> control messages to the modem using MediaTek's CCCI (Cross-Core
> Communication Interface) protocol.
> * DPMAIF (Data Plane Modem AP Interface) - Controls the HW 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.
> * MHCCIF (Modem Host Cross-Core Interface) - Provides interrupt channels
> for bidirectional event notification such as handshake, exception, PM and
> port enumeration.
>
> The compilation of the t7xx driver is enabled by the CONFIG_MTK_T7XX config
> option which depends on CONFIG_WWAN.
> This driver was originally developed by MediaTek. Intel adapted t7xx to
> the WWAN framework, optimized and refactored the driver source in close
> collaboration with MediaTek. This will enable getting the t7xx driver on
> Approved Vendor List for interested OEM's and ODM's productization plans
> with Intel 5G 5000 M.2 solution.
>
> List of contributors:
> Amir Hanania <amir.hanania@...el.com>
> Andriy Shevchenko <andriy.shevchenko@...ux.intel.com>
> Chandrashekar Devegowda <chandrashekar.devegowda@...el.com>
> Dinesh Sharma <dinesh.sharma@...el.com>
> Eliot Lee <eliot.lee@...el.com>
> Haijun Liu <haijun.liu@...iatek.com>
> M Chetan Kumar <m.chetan.kumar@...el.com>
> Mika Westerberg <mika.westerberg@...ux.intel.com>
> Moises Veleta <moises.veleta@...el.com>
> Pierre-louis Bossart <pierre-louis.bossart@...el.com>
> Chiranjeevi Rapolu <chiranjeevi.rapolu@...el.com>
> Ricardo Martinez <ricardo.martinez@...ux.intel.com>
> Muralidharan Sethuraman <muralidharan.sethuraman@...el.com>
> Soumya Prakash Mishra <Soumya.Prakash.Mishra@...el.com>
> Sreehari Kancharla <sreehari.kancharla@...el.com>
> Suresh Nagaraj <suresh.nagaraj@...el.com>
>
> [1] https://www.freedesktop.org/software/libmbim/
> [2] https://www.freedesktop.org/software/ModemManager/
> [3] https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/582
> [4] https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/523
>
> v2:
> - Replace pdev->driver->name with dev_driver_string(&pdev->dev).
> - Replace random_ether_addr() with eth_random_addr().
> - Update kernel-doc comment for enum data_policy.
> - Indicate the driver is 'Supported' instead of 'Maintained'.
> - Fix the Signed-of-by and Co-developed-by tags in the patches.
> - Added authors and contributors in the top comment of the src files.
>
> Chandrashekar Devegowda (1):
> net: wwan: t7xx: Add AT and MBIM WWAN ports
>
> Haijun Lio (11):
> net: wwan: t7xx: Add control DMA interface
> net: wwan: t7xx: Add core components
> net: wwan: t7xx: Add port proxy infrastructure
> net: wwan: t7xx: Add control port
> net: wwan: t7xx: Data path HW layer
> net: wwan: t7xx: Add data path interface
> net: wwan: t7xx: Add WWAN network interface
> net: wwan: t7xx: Introduce power management support
> net: wwan: t7xx: Runtime PM
> net: wwan: t7xx: Device deep sleep lock/unlock
> net: wwan: t7xx: Add debug and test ports
>
> Ricardo Martinez (2):
> net: wwan: Add default MTU size
> net: wwan: t7xx: Add maintainers and documentation
>
> .../networking/device_drivers/wwan/index.rst | 1 +
> .../networking/device_drivers/wwan/t7xx.rst | 120 ++
> MAINTAINERS | 11 +
> drivers/net/wwan/Kconfig | 14 +
> drivers/net/wwan/Makefile | 1 +
> drivers/net/wwan/t7xx/Makefile | 24 +
> drivers/net/wwan/t7xx/t7xx_cldma.c | 277 +++
> drivers/net/wwan/t7xx/t7xx_cldma.h | 168 ++
> drivers/net/wwan/t7xx/t7xx_common.h | 76 +
> drivers/net/wwan/t7xx/t7xx_dpmaif.c | 1524 +++++++++++++++
> drivers/net/wwan/t7xx/t7xx_dpmaif.h | 168 ++
> drivers/net/wwan/t7xx/t7xx_hif_cldma.c | 1663 +++++++++++++++++
> drivers/net/wwan/t7xx/t7xx_hif_cldma.h | 156 ++
> drivers/net/wwan/t7xx/t7xx_hif_dpmaif.c | 638 +++++++
> drivers/net/wwan/t7xx/t7xx_hif_dpmaif.h | 279 +++
> drivers/net/wwan/t7xx/t7xx_hif_dpmaif_rx.c | 1562 ++++++++++++++++
> drivers/net/wwan/t7xx/t7xx_hif_dpmaif_rx.h | 117 ++
> drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c | 842 +++++++++
> drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.h | 82 +
> drivers/net/wwan/t7xx/t7xx_mhccif.c | 124 ++
> drivers/net/wwan/t7xx/t7xx_mhccif.h | 35 +
> drivers/net/wwan/t7xx/t7xx_modem_ops.c | 747 ++++++++
> drivers/net/wwan/t7xx/t7xx_modem_ops.h | 92 +
> drivers/net/wwan/t7xx/t7xx_monitor.h | 147 ++
> drivers/net/wwan/t7xx/t7xx_netdev.c | 545 ++++++
> drivers/net/wwan/t7xx/t7xx_netdev.h | 63 +
> drivers/net/wwan/t7xx/t7xx_pci.c | 789 ++++++++
> drivers/net/wwan/t7xx/t7xx_pci.h | 121 ++
> drivers/net/wwan/t7xx/t7xx_pcie_mac.c | 277 +++
> drivers/net/wwan/t7xx/t7xx_pcie_mac.h | 36 +
> drivers/net/wwan/t7xx/t7xx_port.h | 163 ++
> drivers/net/wwan/t7xx/t7xx_port_char.c | 424 +++++
> drivers/net/wwan/t7xx/t7xx_port_ctrl_msg.c | 150 ++
> drivers/net/wwan/t7xx/t7xx_port_proxy.c | 829 ++++++++
> drivers/net/wwan/t7xx/t7xx_port_proxy.h | 102 +
> drivers/net/wwan/t7xx/t7xx_port_tty.c | 191 ++
> drivers/net/wwan/t7xx/t7xx_port_wwan.c | 281 +++
> drivers/net/wwan/t7xx/t7xx_reg.h | 398 ++++
> drivers/net/wwan/t7xx/t7xx_skb_util.c | 362 ++++
> drivers/net/wwan/t7xx/t7xx_skb_util.h | 110 ++
> drivers/net/wwan/t7xx/t7xx_state_monitor.c | 627 +++++++
> drivers/net/wwan/t7xx/t7xx_tty_ops.c | 205 ++
> drivers/net/wwan/t7xx/t7xx_tty_ops.h | 44 +
> include/linux/wwan.h | 5 +
> 44 files changed, 14590 insertions(+)
> create mode 100644 Documentation/networking/device_drivers/wwan/t7xx.rst
> create mode 100644 drivers/net/wwan/t7xx/Makefile
> create mode 100644 drivers/net/wwan/t7xx/t7xx_cldma.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_cldma.h
> create mode 100644 drivers/net/wwan/t7xx/t7xx_common.h
> create mode 100644 drivers/net/wwan/t7xx/t7xx_dpmaif.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_dpmaif.h
> create mode 100644 drivers/net/wwan/t7xx/t7xx_hif_cldma.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_hif_cldma.h
> create mode 100644 drivers/net/wwan/t7xx/t7xx_hif_dpmaif.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_hif_dpmaif.h
> create mode 100644 drivers/net/wwan/t7xx/t7xx_hif_dpmaif_rx.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_hif_dpmaif_rx.h
> create mode 100644 drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.h
> create mode 100644 drivers/net/wwan/t7xx/t7xx_mhccif.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_mhccif.h
> create mode 100644 drivers/net/wwan/t7xx/t7xx_modem_ops.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_modem_ops.h
> create mode 100644 drivers/net/wwan/t7xx/t7xx_monitor.h
> create mode 100644 drivers/net/wwan/t7xx/t7xx_netdev.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_netdev.h
> create mode 100644 drivers/net/wwan/t7xx/t7xx_pci.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_pci.h
> create mode 100644 drivers/net/wwan/t7xx/t7xx_pcie_mac.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_pcie_mac.h
> create mode 100644 drivers/net/wwan/t7xx/t7xx_port.h
> create mode 100644 drivers/net/wwan/t7xx/t7xx_port_char.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_port_ctrl_msg.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_port_proxy.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_port_proxy.h
> create mode 100644 drivers/net/wwan/t7xx/t7xx_port_tty.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_port_wwan.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_reg.h
> create mode 100644 drivers/net/wwan/t7xx/t7xx_skb_util.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_skb_util.h
> create mode 100644 drivers/net/wwan/t7xx/t7xx_state_monitor.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_tty_ops.c
> create mode 100644 drivers/net/wwan/t7xx/t7xx_tty_ops.h
>
Powered by blists - more mailing lists