Commit 196dd92a authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Kalle Valo says:

====================
pull-request: wireless-next-2022-10-28

First set of patches v6.2. mac80211 refactoring continues for Wi-Fi 7.
All mac80211 driver are now converted to use internal TX queues, this
might cause some regressions so we wanted to do this early in the
cycle.

Note: wireless tree was merged[1] to wireless-next to avoid some
conflicts with mac80211 patches between the trees. Unfortunately there
are still two smaller conflicts in net/mac80211/util.c which Stephen
also reported[2]. In the first conflict initialise scratch_len to
"params->scratch_len ?: 3 * params->len" (note number 3, not 2!) and
in the second conflict take the version which uses elems->scratch_pos.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git/commit/?id=dfd2d876b3fda1790bc0239ba4c6967e25d16e91
[2] https://lore.kernel.org/all/20221020032340.5cf101c0@canb.auug.org.au/

mac80211
 - preparation for Wi-Fi 7 Multi-Link Operation (MLO) continues
 - add API to show the link STAs in debugfs
 - all mac80211 drivers are now using mac80211 internal TX queues (iTXQs)

rtw89
 - support 8852BE

rtl8xxxu
 - support RTL8188FU

brmfmac
 - support two station interfaces concurrently

bcma
 - support SPROM rev 11
====================

Link: https://lore.kernel.org/r/20221028132943.304ECC433B5@smtp.kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents f8f797f3 80e5acb6
Loading
Loading
Loading
Loading
+6 −2
Original line number Original line Diff line number Diff line
@@ -82,6 +82,7 @@ static void bcma_gpio_irq_unmask(struct irq_data *d)
	int gpio = irqd_to_hwirq(d);
	int gpio = irqd_to_hwirq(d);
	u32 val = bcma_chipco_gpio_in(cc, BIT(gpio));
	u32 val = bcma_chipco_gpio_in(cc, BIT(gpio));


	gpiochip_enable_irq(gc, gpio);
	bcma_chipco_gpio_polarity(cc, BIT(gpio), val);
	bcma_chipco_gpio_polarity(cc, BIT(gpio), val);
	bcma_chipco_gpio_intmask(cc, BIT(gpio), BIT(gpio));
	bcma_chipco_gpio_intmask(cc, BIT(gpio), BIT(gpio));
}
}
@@ -93,12 +94,15 @@ static void bcma_gpio_irq_mask(struct irq_data *d)
	int gpio = irqd_to_hwirq(d);
	int gpio = irqd_to_hwirq(d);


	bcma_chipco_gpio_intmask(cc, BIT(gpio), 0);
	bcma_chipco_gpio_intmask(cc, BIT(gpio), 0);
	gpiochip_disable_irq(gc, gpio);
}
}


static struct irq_chip bcma_gpio_irq_chip = {
static const struct irq_chip bcma_gpio_irq_chip = {
	.name		= "BCMA-GPIO",
	.name		= "BCMA-GPIO",
	.irq_mask	= bcma_gpio_irq_mask,
	.irq_mask	= bcma_gpio_irq_mask,
	.irq_unmask	= bcma_gpio_irq_unmask,
	.irq_unmask	= bcma_gpio_irq_unmask,
	.flags		= IRQCHIP_IMMUTABLE,
	GPIOCHIP_IRQ_RESOURCE_HELPERS,
};
};


static irqreturn_t bcma_gpio_irq_handler(int irq, void *dev_id)
static irqreturn_t bcma_gpio_irq_handler(int irq, void *dev_id)
@@ -139,7 +143,7 @@ static int bcma_gpio_irq_init(struct bcma_drv_cc *cc)
	bcma_chipco_gpio_intmask(cc, ~0, 0);
	bcma_chipco_gpio_intmask(cc, ~0, 0);
	bcma_cc_set32(cc, BCMA_CC_IRQMASK, BCMA_CC_IRQ_GPIO);
	bcma_cc_set32(cc, BCMA_CC_IRQMASK, BCMA_CC_IRQ_GPIO);


	girq->chip = &bcma_gpio_irq_chip;
	gpio_irq_chip_set_chip(girq, &bcma_gpio_irq_chip);
	/* This will let us handle the parent IRQ in the driver */
	/* This will let us handle the parent IRQ in the driver */
	girq->parent_handler = NULL;
	girq->parent_handler = NULL;
	girq->num_parents = 0;
	girq->num_parents = 0;
+1 −1
Original line number Original line Diff line number Diff line
@@ -165,7 +165,7 @@ static int bcma_sprom_valid(struct bcma_bus *bus, const u16 *sprom,
		return err;
		return err;


	revision = sprom[words - 1] & SSB_SPROM_REVISION_REV;
	revision = sprom[words - 1] & SSB_SPROM_REVISION_REV;
	if (revision != 8 && revision != 9 && revision != 10) {
	if (revision < 8 || revision > 11) {
		pr_err("Unsupported SPROM revision: %d\n", revision);
		pr_err("Unsupported SPROM revision: %d\n", revision);
		return -ENOENT;
		return -ENOENT;
	}
	}
+1 −0
Original line number Original line Diff line number Diff line
@@ -1760,6 +1760,7 @@ static int adm8211_alloc_rings(struct ieee80211_hw *dev)


static const struct ieee80211_ops adm8211_ops = {
static const struct ieee80211_ops adm8211_ops = {
	.tx			= adm8211_tx,
	.tx			= adm8211_tx,
	.wake_tx_queue		= ieee80211_handle_wake_tx_queue,
	.start			= adm8211_start,
	.start			= adm8211_start,
	.stop			= adm8211_stop,
	.stop			= adm8211_stop,
	.add_interface		= adm8211_add_interface,
	.add_interface		= adm8211_add_interface,
+1 −0
Original line number Original line Diff line number Diff line
@@ -1355,6 +1355,7 @@ static const struct ieee80211_ops ar5523_ops = {
	.start			= ar5523_start,
	.start			= ar5523_start,
	.stop			= ar5523_stop,
	.stop			= ar5523_stop,
	.tx			= ar5523_tx,
	.tx			= ar5523_tx,
	.wake_tx_queue		= ieee80211_handle_wake_tx_queue,
	.set_rts_threshold	= ar5523_set_rts_threshold,
	.set_rts_threshold	= ar5523_set_rts_threshold,
	.add_interface		= ar5523_add_interface,
	.add_interface		= ar5523_add_interface,
	.remove_interface	= ar5523_remove_interface,
	.remove_interface	= ar5523_remove_interface,
+1 −0
Original line number Original line Diff line number Diff line
@@ -8539,6 +8539,7 @@ static int ath11k_mac_op_get_txpower(struct ieee80211_hw *hw,


static const struct ieee80211_ops ath11k_ops = {
static const struct ieee80211_ops ath11k_ops = {
	.tx				= ath11k_mac_op_tx,
	.tx				= ath11k_mac_op_tx,
	.wake_tx_queue			= ieee80211_handle_wake_tx_queue,
	.start                          = ath11k_mac_op_start,
	.start                          = ath11k_mac_op_start,
	.stop                           = ath11k_mac_op_stop,
	.stop                           = ath11k_mac_op_stop,
	.reconfig_complete              = ath11k_mac_op_reconfig_complete,
	.reconfig_complete              = ath11k_mac_op_reconfig_complete,
Loading