Merge tag 'mt76-for-kvalo-2022-07-11' of https://github.com/nbd168/wireless
authorKalle Valo <kvalo@kernel.org>
Mon, 18 Jul 2022 11:31:59 +0000 (14:31 +0300)
committerKalle Valo <kvalo@kernel.org>
Mon, 18 Jul 2022 11:32:59 +0000 (14:32 +0300)
mt76 patches for 5.20

- preparation for new chipset support
- fixes
- VHT/HE related improvements
- ACPI SAR support

[kvalo@kernel.org: fix mac80211 API changes in start_ap() and stop_ap()]

1  2 
drivers/net/wireless/mediatek/mt76/mt7615/main.c
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
drivers/net/wireless/mediatek/mt76/mt7915/main.c
drivers/net/wireless/mediatek/mt76/mt7921/main.c
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c

index 1d0daa0c90bef72b1132f6f66c0a902580f2f589,91671eab7b551cba9132f9a3a1e5c21d202edccd..1438a9f8d1fd97ec78c4328eb701dee87ff6ed90
@@@ -1501,6 -1516,44 +1517,44 @@@ mt7921_channel_switch_beacon(struct iee
        mt7921_mutex_release(dev);
  }
  
 -              unsigned int link_id)
+ static int
+ mt7921_start_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
 -             unsigned int link_id)
++              struct ieee80211_bss_conf *link_conf)
+ {
+       struct mt7921_vif *mvif = (struct mt7921_vif *)vif->drv_priv;
+       struct mt7921_phy *phy = mt7921_hw_phy(hw);
+       struct mt7921_dev *dev = mt7921_hw_dev(hw);
+       int err;
+       err = mt76_connac_mcu_uni_add_bss(phy->mt76, vif, &mvif->sta.wcid,
+                                         true);
+       if (err)
+               return err;
+       err = mt7921_mcu_set_bss_pm(dev, vif, true);
+       if (err)
+               return err;
+       return mt7921_mcu_sta_update(dev, NULL, vif, true,
+                                    MT76_STA_INFO_STATE_NONE);
+ }
+ static void
+ mt7921_stop_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
++             struct ieee80211_bss_conf *link_conf)
+ {
+       struct mt7921_vif *mvif = (struct mt7921_vif *)vif->drv_priv;
+       struct mt7921_phy *phy = mt7921_hw_phy(hw);
+       struct mt7921_dev *dev = mt7921_hw_dev(hw);
+       int err;
+       err = mt7921_mcu_set_bss_pm(dev, vif, false);
+       if (err)
+               return;
+       mt76_connac_mcu_uni_add_bss(phy->mt76, vif, &mvif->sta.wcid, false);
+ }
  const struct ieee80211_ops mt7921_ops = {
        .tx = mt7921_tx,
        .start = mt7921_start,