Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ce6271aa authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ath10k: enable wlan hardware checksum for wcn3990"

parents ded611df 836015ba
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -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,
+7 −1
Original line number Diff line number Diff line
@@ -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
+2 −4
Original line number Diff line number Diff line
@@ -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 */