[PATCH 09/15] ath11k: add parse of transmit power envelope element

Kalle Valo kvalo at kernel.org
Thu Dec 9 09:35:47 PST 2021


Wen Gong <quic_wgong at quicinc.com> writes:

> The transmit power envelope element has some fields for power, ath11k
> should parse it according to IEEE Std 802.11ax™‐2021.
>
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1
>
> Signed-off-by: Wen Gong <quic_wgong at quicinc.com>

[...]

> +static u8 ath11k_mac_get_num_pwr_levels(struct cfg80211_chan_def *chan_def)
> +{
> +	u8 num_pwr_levels;
> +
> +	if (chan_def->chan->flags & IEEE80211_CHAN_PSD) {
> +		switch (chan_def->width) {
> +		case NL80211_CHAN_WIDTH_20:
> +			num_pwr_levels = 1;
> +			break;
> +		case NL80211_CHAN_WIDTH_40:
> +			num_pwr_levels = 2;
> +			break;
> +		case NL80211_CHAN_WIDTH_80:
> +			num_pwr_levels = 4;
> +			break;
> +		case NL80211_CHAN_WIDTH_80P80:
> +		case NL80211_CHAN_WIDTH_160:
> +			num_pwr_levels = 8;
> +			break;
> +		default:
> +			return 1;
> +		}
> +	} else {
> +		switch (chan_def->width) {
> +		case NL80211_CHAN_WIDTH_20:
> +			num_pwr_levels = 1;
> +			break;
> +		case NL80211_CHAN_WIDTH_40:
> +			num_pwr_levels = 2;
> +			break;
> +		case NL80211_CHAN_WIDTH_80:
> +			num_pwr_levels = 3;
> +			break;
> +		case NL80211_CHAN_WIDTH_80P80:
> +		case NL80211_CHAN_WIDTH_160:
> +			num_pwr_levels = 4;
> +			break;
> +		default:
> +			return 1;
> +		}
> +	}
> +
> +	return num_pwr_levels;
> +}

num_pwr_levels variable is not really creating any extra value, it's
clearner to directly use 'return' on every case.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches



More information about the ath11k mailing list