Loading drivers/net/wireless/ath/ath10k/htt.h +13 −0 Original line number Diff line number Diff line Loading @@ -122,6 +122,19 @@ struct htt_msdu_ext_desc { | HTT_MSDU_EXT_DESC_FLAG_TCP_IPV4_CSUM_ENABLE \ | HTT_MSDU_EXT_DESC_FLAG_TCP_IPV6_CSUM_ENABLE) #define HTT_TX_IPV4_CSUM_EN BIT(16) #define HTT_TX_UDP_IPV4_CSUM_EN BIT(17) #define HTT_TX_UDP_IPV6_CSUM_EN BIT(18) #define HTT_TX_TCP_IPV4_CSUM_EN BIT(19) #define HTT_TX_TCP_IPV6_CSUM_EN BIT(20) #define HTT_TX_PARTIAL_CSUM_EN BIT(21) #define HTT_TX_CHECKSUM_ENABLE (HTT_TX_IPV4_CSUM_EN \ | HTT_TX_UDP_IPV4_CSUM_EN \ | HTT_TX_UDP_IPV6_CSUM_EN \ | HTT_TX_TCP_IPV4_CSUM_EN \ | HTT_TX_TCP_IPV6_CSUM_EN) enum htt_data_tx_desc_flags0 { HTT_DATA_TX_DESC_FLAGS0_MAC_HDR_PRESENT = 1 << 0, HTT_DATA_TX_DESC_FLAGS0_NO_AGGR = 1 << 1, Loading drivers/net/wireless/ath/ath10k/htt_tx.c +7 −1 Original line number Diff line number Diff line Loading @@ -1051,8 +1051,14 @@ int ath10k_htt_tx(struct ath10k_htt *htt, enum ath10k_hw_txrx_mode txmode, !test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags)) { flags1 |= HTT_DATA_TX_DESC_FLAGS1_CKSUM_L3_OFFLOAD; flags1 |= HTT_DATA_TX_DESC_FLAGS1_CKSUM_L4_OFFLOAD; if (ar->hw_params.continuous_frag_desc) if (ar->hw_params.continuous_frag_desc) { ext_desc->flags |= HTT_MSDU_CHECKSUM_ENABLE; if (QCA_REV_WCN3990(ar)) { memset(ext_desc->tso_flag, 0, sizeof(ext_desc->tso_flag)); ext_desc->tso_flag[3] |= HTT_TX_CHECKSUM_ENABLE; } } } /* Prevent firmware from sending up tx inspection requests. There's Loading drivers/net/wireless/ath/ath10k/mac.c +2 −4 Original line number Diff line number Diff line Loading @@ -7998,10 +7998,8 @@ int ath10k_mac_register(struct ath10k *ar) goto err_free; } if (!QCA_REV_WCN3990(ar)) { if (!test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags)) ar->hw->netdev_features = NETIF_F_HW_CSUM; } if (IS_ENABLED(CONFIG_ATH10K_DFS_CERTIFIED)) { /* Init ath dfs pattern detector */ Loading Loading
drivers/net/wireless/ath/ath10k/htt.h +13 −0 Original line number Diff line number Diff line Loading @@ -122,6 +122,19 @@ struct htt_msdu_ext_desc { | HTT_MSDU_EXT_DESC_FLAG_TCP_IPV4_CSUM_ENABLE \ | HTT_MSDU_EXT_DESC_FLAG_TCP_IPV6_CSUM_ENABLE) #define HTT_TX_IPV4_CSUM_EN BIT(16) #define HTT_TX_UDP_IPV4_CSUM_EN BIT(17) #define HTT_TX_UDP_IPV6_CSUM_EN BIT(18) #define HTT_TX_TCP_IPV4_CSUM_EN BIT(19) #define HTT_TX_TCP_IPV6_CSUM_EN BIT(20) #define HTT_TX_PARTIAL_CSUM_EN BIT(21) #define HTT_TX_CHECKSUM_ENABLE (HTT_TX_IPV4_CSUM_EN \ | HTT_TX_UDP_IPV4_CSUM_EN \ | HTT_TX_UDP_IPV6_CSUM_EN \ | HTT_TX_TCP_IPV4_CSUM_EN \ | HTT_TX_TCP_IPV6_CSUM_EN) enum htt_data_tx_desc_flags0 { HTT_DATA_TX_DESC_FLAGS0_MAC_HDR_PRESENT = 1 << 0, HTT_DATA_TX_DESC_FLAGS0_NO_AGGR = 1 << 1, Loading
drivers/net/wireless/ath/ath10k/htt_tx.c +7 −1 Original line number Diff line number Diff line Loading @@ -1051,8 +1051,14 @@ int ath10k_htt_tx(struct ath10k_htt *htt, enum ath10k_hw_txrx_mode txmode, !test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags)) { flags1 |= HTT_DATA_TX_DESC_FLAGS1_CKSUM_L3_OFFLOAD; flags1 |= HTT_DATA_TX_DESC_FLAGS1_CKSUM_L4_OFFLOAD; if (ar->hw_params.continuous_frag_desc) if (ar->hw_params.continuous_frag_desc) { ext_desc->flags |= HTT_MSDU_CHECKSUM_ENABLE; if (QCA_REV_WCN3990(ar)) { memset(ext_desc->tso_flag, 0, sizeof(ext_desc->tso_flag)); ext_desc->tso_flag[3] |= HTT_TX_CHECKSUM_ENABLE; } } } /* Prevent firmware from sending up tx inspection requests. There's Loading
drivers/net/wireless/ath/ath10k/mac.c +2 −4 Original line number Diff line number Diff line Loading @@ -7998,10 +7998,8 @@ int ath10k_mac_register(struct ath10k *ar) goto err_free; } if (!QCA_REV_WCN3990(ar)) { if (!test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags)) ar->hw->netdev_features = NETIF_F_HW_CSUM; } if (IS_ENABLED(CONFIG_ATH10K_DFS_CERTIFIED)) { /* Init ath dfs pattern detector */ Loading