]> git.baikalelectronics.ru Git - kernel.git/commit
net: wwan: t7xx: Add data path interface
authorHaijun Liu <haijun.liu@mediatek.com>
Fri, 6 May 2022 18:13:05 +0000 (11:13 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 9 May 2022 09:51:59 +0000 (10:51 +0100)
commit8fcf9151fb1ad4ac4d1b2cebaee6fd9036984e64
tree8cfcd7eb9d73506b6d6cbb9662b8ffa7e5c9dd1c
parente719b62d29a9c5ef4beef4877e1d9997180d05f1
net: wwan: t7xx: Add data path interface

Data Path Modem AP Interface (DPMAIF) HIF layer provides methods
for initialization, ISR, control and event handling of TX/RX flows.

DPMAIF TX
Exposes the 'dmpaif_tx_send_skb' function which can be used by the
network device to transmit packets.
The uplink data management uses a Descriptor Ring Buffer (DRB).
First DRB entry is a message type that will be followed by 1 or more
normal DRB entries. Message type DRB will hold the skb information
and each normal DRB entry holds a pointer to the skb payload.

DPMAIF RX
The downlink buffer management uses Buffer Address Table (BAT) and
Packet Information Table (PIT) rings.
The BAT ring holds the address of skb data buffer for the HW to use,
while the PIT contains metadata about a whole network packet including
a reference to the BAT entry holding the data buffer address.
The driver reads the PIT and BAT entries written by the modem, when
reaching a threshold, the driver will reload the PIT and BAT rings.

Signed-off-by: Haijun Liu <haijun.liu@mediatek.com>
Signed-off-by: Chandrashekar Devegowda <chandrashekar.devegowda@intel.com>
Co-developed-by: Ricardo Martinez <ricardo.martinez@linux.intel.com>
Signed-off-by: Ricardo Martinez <ricardo.martinez@linux.intel.com>
Reviewed-by: Loic Poulain <loic.poulain@linaro.org>
Reviewed-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/wwan/t7xx/Makefile
drivers/net/wwan/t7xx/t7xx_hif_dpmaif.c [new file with mode: 0644]
drivers/net/wwan/t7xx/t7xx_hif_dpmaif.h [new file with mode: 0644]
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_rx.c [new file with mode: 0644]
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_rx.h [new file with mode: 0644]
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c [new file with mode: 0644]
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.h [new file with mode: 0644]