mt76: mt7615: move mt7615_mcu_set_p2p_oppps in mt76_connac module
authorLorenzo Bianconi <lorenzo@kernel.org>
Sat, 7 Aug 2021 07:40:30 +0000 (09:40 +0200)
committerFelix Fietkau <nbd@nbd.name>
Wed, 20 Oct 2021 08:36:33 +0000 (10:36 +0200)
Move mt7615_mcu_set_p2p_oppps routine in mt76_connac_lib module in order
to be reused in mt7921 driver

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7615/main.c
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h

index dada43d..457e502 100644 (file)
@@ -567,8 +567,8 @@ static void mt7615_bss_info_changed(struct ieee80211_hw *hw,
                mt7615_mcu_add_bss_info(phy, vif, NULL, true);
                mt7615_mcu_sta_add(phy, vif, NULL, true);
 
-               if (vif->p2p)
-                       mt7615_mcu_set_p2p_oppps(hw, vif);
+               if (mt7615_firmware_offload(dev) && vif->p2p)
+                       mt76_connac_mcu_set_p2p_oppps(hw, vif);
        }
 
        if (changed & (BSS_CHANGED_BEACON |
index f8a0969..a397768 100644 (file)
@@ -2762,28 +2762,6 @@ int mt7615_mcu_set_roc(struct mt7615_phy *phy, struct ieee80211_vif *vif,
                                 sizeof(req), false);
 }
 
-int mt7615_mcu_set_p2p_oppps(struct ieee80211_hw *hw,
-                            struct ieee80211_vif *vif)
-{
-       struct mt7615_vif *mvif = (struct mt7615_vif *)vif->drv_priv;
-       int ct_window = vif->bss_conf.p2p_noa_attr.oppps_ctwindow;
-       struct mt7615_dev *dev = mt7615_hw_dev(hw);
-       struct {
-               __le32 ct_win;
-               u8 bss_idx;
-               u8 rsv[3];
-       } __packed req = {
-               .ct_win = cpu_to_le32(ct_window),
-               .bss_idx = mvif->mt76.idx,
-       };
-
-       if (!mt7615_firmware_offload(dev))
-               return -ENOTSUPP;
-
-       return mt76_mcu_send_msg(&dev->mt76, MCU_CMD_SET_P2P_OPPPS, &req,
-                                sizeof(req), false);
-}
-
 u32 mt7615_mcu_reg_rr(struct mt76_dev *dev, u32 offset)
 {
        struct {
index d0c64a9..58a98b5 100644 (file)
@@ -541,8 +541,6 @@ int mt7615_mcu_apply_rx_dcoc(struct mt7615_phy *phy);
 int mt7615_mcu_apply_tx_dpd(struct mt7615_phy *phy);
 int mt7615_dfs_init_radar_detector(struct mt7615_phy *phy);
 
-int mt7615_mcu_set_p2p_oppps(struct ieee80211_hw *hw,
-                            struct ieee80211_vif *vif);
 int mt7615_mcu_set_roc(struct mt7615_phy *phy, struct ieee80211_vif *vif,
                       struct ieee80211_channel *chan, int duration);
 
index 80987af..9cdd49b 100644 (file)
@@ -1969,6 +1969,26 @@ int mt76_connac_mcu_update_arp_filter(struct mt76_dev *dev,
 }
 EXPORT_SYMBOL_GPL(mt76_connac_mcu_update_arp_filter);
 
+int mt76_connac_mcu_set_p2p_oppps(struct ieee80211_hw *hw,
+                                 struct ieee80211_vif *vif)
+{
+       struct mt76_vif *mvif = (struct mt76_vif *)vif->drv_priv;
+       int ct_window = vif->bss_conf.p2p_noa_attr.oppps_ctwindow;
+       struct mt76_phy *phy = hw->priv;
+       struct {
+               __le32 ct_win;
+               u8 bss_idx;
+               u8 rsv[3];
+       } __packed req = {
+               .ct_win = cpu_to_le32(ct_window),
+               .bss_idx = mvif->idx,
+       };
+
+       return mt76_mcu_send_msg(phy->dev, MCU_CMD_SET_P2P_OPPPS, &req,
+                                sizeof(req), false);
+}
+EXPORT_SYMBOL_GPL(mt76_connac_mcu_set_p2p_oppps);
+
 #ifdef CONFIG_PM
 
 const struct wiphy_wowlan_support mt76_connac_wowlan_support = {
index ab77289..43787ab 100644 (file)
@@ -1094,4 +1094,6 @@ int mt76_connac_mcu_set_deep_sleep(struct mt76_dev *dev, bool enable);
 void mt76_connac_mcu_coredump_event(struct mt76_dev *dev, struct sk_buff *skb,
                                    struct mt76_connac_coredump *coredump);
 int mt76_connac_mcu_set_rate_txpower(struct mt76_phy *phy);
+int mt76_connac_mcu_set_p2p_oppps(struct ieee80211_hw *hw,
+                                 struct ieee80211_vif *vif);
 #endif /* __MT76_CONNAC_MCU_H */