Commit 79201f35 authored by David S. Miller's avatar David S. Miller
Browse files

Merge tag 'wireless-drivers-next-2021-02-12' of...

Merge tag 'wireless-drivers-next-2021-02-12' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next



Kalle Valo says:
====================
wireless-drivers-next patches for v5.12

Second set of patches for v5.12. Last time there was a smaller pull
request so unsurprisingly this time we have a big one. mt76 has new
hardware support and lots of new features, iwlwifi getting new
features and rtw88 got NAPI support. And the usual cleanups and fixes
all over.

Major changes:

ath10k

* support setting SAR limits via nl80211

rtw88

* support 8821 RFE type2 devices

* NAPI support

iwlwifi

* add new FW API support

* support for new So devices

* support for RF interference mitigation (RFI)

* support for PNVM (Platform Non-Volatile Memory, a firmware data
  file) from BIOS

mt76

* add new mt7921e driver

* 802.11 encap offload support

* support for multiple pcie gen1 host interfaces on 7915

* 7915 testmode support

* 7915 txbf support

brcmfmac

* support for CQM RSSI notifications

wil6210

* support for extended DMG MCS 12.1 rate
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 295f830e 9d083348
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -90,6 +90,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
		.hw_filter_reset_required = true,
		.fw_diag_ce_download = false,
		.tx_stats_over_pktlog = true,
		.dynamic_sar_support = false,
	},
	{
		.id = QCA988X_HW_2_0_VERSION,
@@ -124,6 +125,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
		.hw_filter_reset_required = true,
		.fw_diag_ce_download = false,
		.tx_stats_over_pktlog = true,
		.dynamic_sar_support = false,
	},
	{
		.id = QCA9887_HW_1_0_VERSION,
@@ -159,6 +161,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
		.hw_filter_reset_required = true,
		.fw_diag_ce_download = false,
		.tx_stats_over_pktlog = false,
		.dynamic_sar_support = false,
	},
	{
		.id = QCA6174_HW_3_2_VERSION,
@@ -189,6 +192,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
		.tx_stats_over_pktlog = false,
		.bmi_large_size_download = true,
		.supports_peer_stats_info = true,
		.dynamic_sar_support = true,
	},
	{
		.id = QCA6174_HW_2_1_VERSION,
@@ -223,6 +227,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
		.hw_filter_reset_required = true,
		.fw_diag_ce_download = false,
		.tx_stats_over_pktlog = false,
		.dynamic_sar_support = false,
	},
	{
		.id = QCA6174_HW_2_1_VERSION,
@@ -257,6 +262,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
		.hw_filter_reset_required = true,
		.fw_diag_ce_download = false,
		.tx_stats_over_pktlog = false,
		.dynamic_sar_support = false,
	},
	{
		.id = QCA6174_HW_3_0_VERSION,
@@ -291,6 +297,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
		.hw_filter_reset_required = true,
		.fw_diag_ce_download = false,
		.tx_stats_over_pktlog = false,
		.dynamic_sar_support = false,
	},
	{
		.id = QCA6174_HW_3_2_VERSION,
@@ -329,6 +336,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
		.fw_diag_ce_download = true,
		.tx_stats_over_pktlog = false,
		.supports_peer_stats_info = true,
		.dynamic_sar_support = true,
	},
	{
		.id = QCA99X0_HW_2_0_DEV_VERSION,
@@ -369,6 +377,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
		.hw_filter_reset_required = true,
		.fw_diag_ce_download = false,
		.tx_stats_over_pktlog = false,
		.dynamic_sar_support = false,
	},
	{
		.id = QCA9984_HW_1_0_DEV_VERSION,
@@ -416,6 +425,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
		.hw_filter_reset_required = true,
		.fw_diag_ce_download = false,
		.tx_stats_over_pktlog = false,
		.dynamic_sar_support = false,
	},
	{
		.id = QCA9888_HW_2_0_DEV_VERSION,
@@ -460,6 +470,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
		.hw_filter_reset_required = true,
		.fw_diag_ce_download = false,
		.tx_stats_over_pktlog = false,
		.dynamic_sar_support = false,
	},
	{
		.id = QCA9377_HW_1_0_DEV_VERSION,
@@ -494,6 +505,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
		.hw_filter_reset_required = true,
		.fw_diag_ce_download = false,
		.tx_stats_over_pktlog = false,
		.dynamic_sar_support = false,
	},
	{
		.id = QCA9377_HW_1_1_DEV_VERSION,
@@ -530,6 +542,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
		.hw_filter_reset_required = true,
		.fw_diag_ce_download = true,
		.tx_stats_over_pktlog = false,
		.dynamic_sar_support = false,
	},
	{
		.id = QCA9377_HW_1_1_DEV_VERSION,
@@ -557,6 +570,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
		.ast_skid_limit = 0x10,
		.num_wds_entries = 0x20,
		.uart_pin_workaround = true,
		.dynamic_sar_support = false,
	},
	{
		.id = QCA4019_HW_1_0_DEV_VERSION,
@@ -598,6 +612,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
		.hw_filter_reset_required = true,
		.fw_diag_ce_download = false,
		.tx_stats_over_pktlog = false,
		.dynamic_sar_support = false,
	},
	{
		.id = WCN3990_HW_1_0_DEV_VERSION,
@@ -625,6 +640,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
		.hw_filter_reset_required = false,
		.fw_diag_ce_download = false,
		.tx_stats_over_pktlog = false,
		.dynamic_sar_support = true,
	},
};

+3 −1
Original line number Diff line number Diff line
@@ -1019,7 +1019,6 @@ struct ath10k {
	enum ath10k_hw_rev hw_rev;
	u16 dev_id;
	u32 chip_id;
	enum ath10k_dev_type dev_type;
	u32 target_version;
	u8 fw_version_major;
	u32 fw_version_minor;
@@ -1296,6 +1295,9 @@ struct ath10k {
	bool coex_support;
	int coex_gpio_pin;

	s32 tx_power_2g_limit;
	s32 tx_power_5g_limit;

	/* must be last */
	u8 drv_priv[] __aligned(sizeof(void *));
};
+1 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ enum ath10k_debug_mask {
	ATH10K_DBG_USB_BULK	= 0x00080000,
	ATH10K_DBG_SNOC		= 0x00100000,
	ATH10K_DBG_QMI		= 0x00200000,
	ATH10K_DBG_STA		= 0x00400000,
	ATH10K_DBG_ANY		= 0xffffffff,
};

+4 −0
Original line number Diff line number Diff line
@@ -449,6 +449,10 @@ void ath10k_htc_rx_completion_handler(struct ath10k *ar, struct sk_buff *skb)
	}

	ep = &htc->endpoint[eid];
	if (ep->service_id == ATH10K_HTC_SVC_ID_UNUSED) {
		ath10k_warn(ar, "htc rx endpoint %d is not connected\n", eid);
		goto out;
	}

	payload_len = __le16_to_cpu(hdr->len);

+1 −1
Original line number Diff line number Diff line
@@ -2241,7 +2241,7 @@ struct htt_rx_chan_info {
 * Should be: sizeof(struct htt_host_rx_desc) + max rx MSDU size,
 * rounded up to a cache line size.
 */
#define HTT_RX_BUF_SIZE 1920
#define HTT_RX_BUF_SIZE 2048
#define HTT_RX_MSDU_SIZE (HTT_RX_BUF_SIZE - (int)sizeof(struct htt_rx_desc))

/* Refill a bunch of RX buffers for each refill round so that FW/HW can handle
Loading