]> 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)
commitc603efc3e5a34fde434def46582c90fbe09eed87
tree8cfcd7eb9d73506b6d6cbb9662b8ffa7e5c9dd1c
parent31053f369fa710a70adbc28fb0842dbc350fa1cc
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]