Commit 3d4bde15 authored by Vladimir Kondratiev's avatar Vladimir Kondratiev Committed by Kalle Valo

wil6210: TSO implementation

Driver report supported TSO (v4 & v6) and IP checksum offload
in addition to previously supported features. In data path
skbs are checked for non-zero gso_size, and when detected sent
to additional function for processing TSO SKBs. Since HW does not
fully support TSO, additional effort is required from the driver.
Driver partitions the data into mss sized descriptors which are
then DMAed to the HW.
Signed-off-by: default avatarVladimir Shulman <QCA_shulmanv@QCA.qualcomm.com>
Signed-off-by: default avatarVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 67131a1d
...@@ -173,7 +173,9 @@ void *wil_if_alloc(struct device *dev) ...@@ -173,7 +173,9 @@ void *wil_if_alloc(struct device *dev)
wil_set_ethtoolops(ndev); wil_set_ethtoolops(ndev);
ndev->ieee80211_ptr = wdev; ndev->ieee80211_ptr = wdev;
ndev->hw_features = NETIF_F_HW_CSUM | NETIF_F_RXCSUM | ndev->hw_features = NETIF_F_HW_CSUM | NETIF_F_RXCSUM |
NETIF_F_SG | NETIF_F_GRO; NETIF_F_SG | NETIF_F_GRO |
NETIF_F_TSO | NETIF_F_TSO6;
ndev->features |= ndev->hw_features; ndev->features |= ndev->hw_features;
SET_NETDEV_DEV(ndev, wiphy_dev(wdev->wiphy)); SET_NETDEV_DEV(ndev, wiphy_dev(wdev->wiphy));
wdev->netdev = ndev; wdev->netdev = ndev;
......
This diff is collapsed.
...@@ -291,6 +291,14 @@ struct vring_tx_dma { ...@@ -291,6 +291,14 @@ struct vring_tx_dma {
__le16 length; __le16 length;
} __packed; } __packed;
/* TSO type used in dma descriptor d0 bits 11-12 */
enum {
wil_tso_type_hdr = 0,
wil_tso_type_first = 1,
wil_tso_type_mid = 2,
wil_tso_type_lst = 3,
};
/* Rx descriptor - MAC part /* Rx descriptor - MAC part
* [dword 0] * [dword 0]
* bit 0.. 3 : tid:4 The QoS (b3-0) TID Field * bit 0.. 3 : tid:4 The QoS (b3-0) TID Field
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment