[PATCH V2] ath11k: add tx hw 802.11 encapusaltion offloading support

Wen Gong wgong at codeaurora.org
Fri Sep 18 06:58:13 EDT 2020


On 2020-04-30 23:28, John Crispin wrote:
> This patch adds support for ethernet rxtx mode to the driver. The 
> feature
> is enabled via a new module parameter. If enabled to driver will enable
> the feature on a per vif basis if all other requirements were met.
> 
[...]
> @@ -4339,7 +4352,22 @@ static int ath11k_mac_op_add_interface(struct
> ieee80211_hw *hw,
>  	spin_unlock_bh(&ar->data_lock);
> 
>  	param_id = WMI_VDEV_PARAM_TX_ENCAP_TYPE;
> -	param_value = ATH11K_HW_TXRX_NATIVE_WIFI;
> +	if (ath11k_ath11k_frame_mode == ATH11K_HW_TXRX_ETHERNET)
> +		switch (vif->type) {
> +		case NL80211_IFTYPE_STATION:
> +		case NL80211_IFTYPE_AP_VLAN:
> +		case NL80211_IFTYPE_AP:
> +			hw_encap = 1;
> +			break;
> +		default:
> +			break;
> +		}
> +
> +	if (ieee80211_set_hw_80211_encap(vif, hw_encap))
I see ieee80211_set_hw_80211_encap have check like this:
if (key->conf.cipher == WLAN_CIPHER_SUITE_TKIP)
         enable = false;

so is it beeter to call it after associated/install key?
> +		param_value = ATH11K_HW_TXRX_ETHERNET;
> +	else
> +		param_value = ATH11K_HW_TXRX_NATIVE_WIFI;
> +
>  	ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id,
>  					    param_id, param_value);
>  	if (ret) {



More information about the ath11k mailing list