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

Commit 742ca781 authored by David S. Miller's avatar David S. Miller
Browse files

Merge tag 'wireless-drivers-next-for-davem-2019-09-07' of...

Merge tag 'wireless-drivers-next-for-davem-2019-09-07' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next



Kalle Valo says:

====================
wireless-drivers-next patches for 5.4

Second set of patches for 5.4. Lots of changes for iwlwifi and mt76,
but also smaller changes to other drivers.

Major changes:

iwlwifi

* remove broken and unused runtime power management mode for PCIe
  devices, removes IWLWIFI_PCIE_RTPM Kconfig option as well

* support new ACPI value for per-platform antenna gain

* support for single antenna diversity

* support for new WoWLAN FW API

brcmfmac

* add reset debugfs file for testing firmware restart

mt76

* DFS pattern detector for mt7615 (DFS channels not enabled yet)

* Channel Switch Announcement (CSA) support for mt7615

* new device support for mt76x0

* support for more ciphers in mt7615

* smart carrier sense on mt7615

* survey support on mt7615

* multiple interfaces on mt76x02u

rtw88

* enable MSI interrupt
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 1e46c09e 67e974c3
Loading
Loading
Loading
Loading
+0 −16
Original line number Original line Diff line number Diff line
@@ -59,22 +59,6 @@ static inline void mips_write32(struct bcma_drv_mips *mcore,
	bcma_write32(mcore->core, offset, value);
	bcma_write32(mcore->core, offset, value);
}
}


static const u32 ipsflag_irq_mask[] = {
	0,
	BCMA_MIPS_IPSFLAG_IRQ1,
	BCMA_MIPS_IPSFLAG_IRQ2,
	BCMA_MIPS_IPSFLAG_IRQ3,
	BCMA_MIPS_IPSFLAG_IRQ4,
};

static const u32 ipsflag_irq_shift[] = {
	0,
	BCMA_MIPS_IPSFLAG_IRQ1_SHIFT,
	BCMA_MIPS_IPSFLAG_IRQ2_SHIFT,
	BCMA_MIPS_IPSFLAG_IRQ3_SHIFT,
	BCMA_MIPS_IPSFLAG_IRQ4_SHIFT,
};

static u32 bcma_core_mips_irqflag(struct bcma_device *dev)
static u32 bcma_core_mips_irqflag(struct bcma_device *dev)
{
{
	u32 flag;
	u32 flag;
+2 −2
Original line number Original line Diff line number Diff line
@@ -78,7 +78,7 @@ static u16 bcma_pcie_mdio_read(struct bcma_drv_pci *pc, u16 device, u8 address)
		v |= (address << BCMA_CORE_PCI_MDIODATA_REGADDR_SHF_OLD);
		v |= (address << BCMA_CORE_PCI_MDIODATA_REGADDR_SHF_OLD);
	}
	}


	v = BCMA_CORE_PCI_MDIODATA_START;
	v |= BCMA_CORE_PCI_MDIODATA_START;
	v |= BCMA_CORE_PCI_MDIODATA_READ;
	v |= BCMA_CORE_PCI_MDIODATA_READ;
	v |= BCMA_CORE_PCI_MDIODATA_TA;
	v |= BCMA_CORE_PCI_MDIODATA_TA;


@@ -121,7 +121,7 @@ static void bcma_pcie_mdio_write(struct bcma_drv_pci *pc, u16 device,
		v |= (address << BCMA_CORE_PCI_MDIODATA_REGADDR_SHF_OLD);
		v |= (address << BCMA_CORE_PCI_MDIODATA_REGADDR_SHF_OLD);
	}
	}


	v = BCMA_CORE_PCI_MDIODATA_START;
	v |= BCMA_CORE_PCI_MDIODATA_START;
	v |= BCMA_CORE_PCI_MDIODATA_WRITE;
	v |= BCMA_CORE_PCI_MDIODATA_WRITE;
	v |= BCMA_CORE_PCI_MDIODATA_TA;
	v |= BCMA_CORE_PCI_MDIODATA_TA;
	v |= data;
	v |= data;
+7 −15
Original line number Original line Diff line number Diff line
@@ -4222,10 +4222,8 @@ brcmf_parse_vndr_ies(const u8 *vndr_ie_buf, u32 vndr_ie_len,


		vndr_ies->count++;
		vndr_ies->count++;


		brcmf_dbg(TRACE, "** OUI %02x %02x %02x, type 0x%02x\n",
		brcmf_dbg(TRACE, "** OUI %3ph, type 0x%02x\n",
			  parsed_info->vndrie.oui[0],
			  parsed_info->vndrie.oui,
			  parsed_info->vndrie.oui[1],
			  parsed_info->vndrie.oui[2],
			  parsed_info->vndrie.oui_type);
			  parsed_info->vndrie.oui_type);


		if (vndr_ies->count >= VNDR_IE_PARSE_LIMIT)
		if (vndr_ies->count >= VNDR_IE_PARSE_LIMIT)
@@ -4244,9 +4242,7 @@ brcmf_parse_vndr_ies(const u8 *vndr_ie_buf, u32 vndr_ie_len,
static u32
static u32
brcmf_vndr_ie(u8 *iebuf, s32 pktflag, u8 *ie_ptr, u32 ie_len, s8 *add_del_cmd)
brcmf_vndr_ie(u8 *iebuf, s32 pktflag, u8 *ie_ptr, u32 ie_len, s8 *add_del_cmd)
{
{

	strscpy(iebuf, add_del_cmd, VNDR_IE_CMD_LEN);
	strncpy(iebuf, add_del_cmd, VNDR_IE_CMD_LEN - 1);
	iebuf[VNDR_IE_CMD_LEN - 1] = '\0';


	put_unaligned_le32(1, &iebuf[VNDR_IE_COUNT_OFFSET]);
	put_unaligned_le32(1, &iebuf[VNDR_IE_COUNT_OFFSET]);


@@ -4351,12 +4347,10 @@ s32 brcmf_vif_set_mgmt_ie(struct brcmf_cfg80211_vif *vif, s32 pktflag,
		for (i = 0; i < old_vndr_ies.count; i++) {
		for (i = 0; i < old_vndr_ies.count; i++) {
			vndrie_info = &old_vndr_ies.ie_info[i];
			vndrie_info = &old_vndr_ies.ie_info[i];


			brcmf_dbg(TRACE, "DEL ID : %d, Len: %d , OUI:%02x:%02x:%02x\n",
			brcmf_dbg(TRACE, "DEL ID : %d, Len: %d , OUI:%3ph\n",
				  vndrie_info->vndrie.id,
				  vndrie_info->vndrie.id,
				  vndrie_info->vndrie.len,
				  vndrie_info->vndrie.len,
				  vndrie_info->vndrie.oui[0],
				  vndrie_info->vndrie.oui);
				  vndrie_info->vndrie.oui[1],
				  vndrie_info->vndrie.oui[2]);


			del_add_ie_buf_len = brcmf_vndr_ie(curr_ie_buf, pktflag,
			del_add_ie_buf_len = brcmf_vndr_ie(curr_ie_buf, pktflag,
							   vndrie_info->ie_ptr,
							   vndrie_info->ie_ptr,
@@ -4388,12 +4382,10 @@ s32 brcmf_vif_set_mgmt_ie(struct brcmf_cfg80211_vif *vif, s32 pktflag,
			remained_buf_len -= (vndrie_info->ie_len +
			remained_buf_len -= (vndrie_info->ie_len +
					     VNDR_IE_VSIE_OFFSET);
					     VNDR_IE_VSIE_OFFSET);


			brcmf_dbg(TRACE, "ADDED ID : %d, Len: %d, OUI:%02x:%02x:%02x\n",
			brcmf_dbg(TRACE, "ADDED ID : %d, Len: %d, OUI:%3ph\n",
				  vndrie_info->vndrie.id,
				  vndrie_info->vndrie.id,
				  vndrie_info->vndrie.len,
				  vndrie_info->vndrie.len,
				  vndrie_info->vndrie.oui[0],
				  vndrie_info->vndrie.oui);
				  vndrie_info->vndrie.oui[1],
				  vndrie_info->vndrie.oui[2]);


			del_add_ie_buf_len = brcmf_vndr_ie(curr_ie_buf, pktflag,
			del_add_ie_buf_len = brcmf_vndr_ie(curr_ie_buf, pktflag,
							   vndrie_info->ie_ptr,
							   vndrie_info->ie_ptr,
+4 −2
Original line number Original line Diff line number Diff line
@@ -696,8 +696,10 @@ static u32 brcmf_chip_tcm_rambase(struct brcmf_chip_priv *ci)
	return 0;
	return 0;
}
}


static int brcmf_chip_get_raminfo(struct brcmf_chip_priv *ci)
int brcmf_chip_get_raminfo(struct brcmf_chip *pub)
{
{
	struct brcmf_chip_priv *ci = container_of(pub, struct brcmf_chip_priv,
						  pub);
	struct brcmf_core_priv *mem_core;
	struct brcmf_core_priv *mem_core;
	struct brcmf_core *mem;
	struct brcmf_core *mem;


@@ -979,7 +981,7 @@ static int brcmf_chip_recognition(struct brcmf_chip_priv *ci)
		brcmf_chip_set_passive(&ci->pub);
		brcmf_chip_set_passive(&ci->pub);
	}
	}


	return brcmf_chip_get_raminfo(ci);
	return brcmf_chip_get_raminfo(&ci->pub);
}
}


static void brcmf_chip_disable_arm(struct brcmf_chip_priv *chip, u16 id)
static void brcmf_chip_disable_arm(struct brcmf_chip_priv *chip, u16 id)
+1 −0
Original line number Original line Diff line number Diff line
@@ -69,6 +69,7 @@ struct brcmf_buscore_ops {
	void (*activate)(void *ctx, struct brcmf_chip *chip, u32 rstvec);
	void (*activate)(void *ctx, struct brcmf_chip *chip, u32 rstvec);
};
};


int brcmf_chip_get_raminfo(struct brcmf_chip *pub);
struct brcmf_chip *brcmf_chip_attach(void *ctx,
struct brcmf_chip *brcmf_chip_attach(void *ctx,
				     const struct brcmf_buscore_ops *ops);
				     const struct brcmf_buscore_ops *ops);
void brcmf_chip_detach(struct brcmf_chip *chip);
void brcmf_chip_detach(struct brcmf_chip *chip);
Loading