Commit c605d0ce authored by Lorenzo Bianconi's avatar Lorenzo Bianconi Committed by Felix Fietkau

wifi: mt76: mt7921: move mt792x_mutex_{acquire/release} in mt792x.h

This is a preliminary patch to introduce WiFi7 chipset support
Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: default avatarDeren Wu <deren.wu@mediatek.com>
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent 1c42e0f2
...@@ -8,9 +8,9 @@ mt7921_reg_set(void *data, u64 val) ...@@ -8,9 +8,9 @@ mt7921_reg_set(void *data, u64 val)
{ {
struct mt792x_dev *dev = data; struct mt792x_dev *dev = data;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
mt76_wr(dev, dev->mt76.debugfs_reg, val); mt76_wr(dev, dev->mt76.debugfs_reg, val);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return 0; return 0;
} }
...@@ -20,9 +20,9 @@ mt7921_reg_get(void *data, u64 *val) ...@@ -20,9 +20,9 @@ mt7921_reg_get(void *data, u64 *val)
{ {
struct mt792x_dev *dev = data; struct mt792x_dev *dev = data;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
*val = mt76_rr(dev, dev->mt76.debugfs_reg); *val = mt76_rr(dev, dev->mt76.debugfs_reg);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return 0; return 0;
} }
...@@ -34,12 +34,12 @@ mt7921_fw_debug_set(void *data, u64 val) ...@@ -34,12 +34,12 @@ mt7921_fw_debug_set(void *data, u64 val)
{ {
struct mt792x_dev *dev = data; struct mt792x_dev *dev = data;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
dev->fw_debug = (u8)val; dev->fw_debug = (u8)val;
mt7921_mcu_fw_log_2_host(dev, dev->fw_debug); mt7921_mcu_fw_log_2_host(dev, dev->fw_debug);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return 0; return 0;
} }
...@@ -98,7 +98,7 @@ mt7921_tx_stats_show(struct seq_file *file, void *data) ...@@ -98,7 +98,7 @@ mt7921_tx_stats_show(struct seq_file *file, void *data)
struct mt76_mib_stats *mib = &phy->mib; struct mt76_mib_stats *mib = &phy->mib;
int i; int i;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
mt7921_ampdu_stat_read_phy(phy, file); mt7921_ampdu_stat_read_phy(phy, file);
...@@ -113,7 +113,7 @@ mt7921_tx_stats_show(struct seq_file *file, void *data) ...@@ -113,7 +113,7 @@ mt7921_tx_stats_show(struct seq_file *file, void *data)
seq_puts(file, "\n"); seq_puts(file, "\n");
} }
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return 0; return 0;
} }
...@@ -126,7 +126,7 @@ mt7921_queues_acq(struct seq_file *s, void *data) ...@@ -126,7 +126,7 @@ mt7921_queues_acq(struct seq_file *s, void *data)
struct mt792x_dev *dev = dev_get_drvdata(s->private); struct mt792x_dev *dev = dev_get_drvdata(s->private);
int i; int i;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
u32 ctrl, val, qlen = 0; u32 ctrl, val, qlen = 0;
...@@ -146,7 +146,7 @@ mt7921_queues_acq(struct seq_file *s, void *data) ...@@ -146,7 +146,7 @@ mt7921_queues_acq(struct seq_file *s, void *data)
seq_printf(s, "AC%d: queued=%d\n", i, qlen); seq_printf(s, "AC%d: queued=%d\n", i, qlen);
} }
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return 0; return 0;
} }
...@@ -215,9 +215,9 @@ mt7921_txpwr(struct seq_file *s, void *data) ...@@ -215,9 +215,9 @@ mt7921_txpwr(struct seq_file *s, void *data)
struct mt7921_txpwr txpwr; struct mt7921_txpwr txpwr;
int ret; int ret;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
ret = mt7921_get_txpwr_info(dev, &txpwr); ret = mt7921_get_txpwr_info(dev, &txpwr);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
if (ret) if (ret)
return ret; return ret;
...@@ -316,7 +316,7 @@ mt7921_deep_sleep_set(void *data, u64 val) ...@@ -316,7 +316,7 @@ mt7921_deep_sleep_set(void *data, u64 val)
if (mt76_is_usb(&dev->mt76)) if (mt76_is_usb(&dev->mt76))
return -EOPNOTSUPP; return -EOPNOTSUPP;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
if (pm->ds_enable_user == enable) if (pm->ds_enable_user == enable)
goto out; goto out;
...@@ -324,7 +324,7 @@ mt7921_deep_sleep_set(void *data, u64 val) ...@@ -324,7 +324,7 @@ mt7921_deep_sleep_set(void *data, u64 val)
pm->ds_enable = enable && !monitor; pm->ds_enable = enable && !monitor;
mt76_connac_mcu_set_deep_sleep(&dev->mt76, pm->ds_enable); mt76_connac_mcu_set_deep_sleep(&dev->mt76, pm->ds_enable);
out: out:
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return 0; return 0;
} }
...@@ -400,9 +400,9 @@ static int mt7921_chip_reset(void *data, u64 val) ...@@ -400,9 +400,9 @@ static int mt7921_chip_reset(void *data, u64 val)
break; break;
default: default:
/* Collect the core dump before reset wifisys. */ /* Collect the core dump before reset wifisys. */
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
ret = mt76_connac_mcu_chip_config(&dev->mt76); ret = mt76_connac_mcu_chip_config(&dev->mt76);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
break; break;
} }
......
...@@ -64,9 +64,9 @@ static ssize_t mt7921_thermal_temp_show(struct device *dev, ...@@ -64,9 +64,9 @@ static ssize_t mt7921_thermal_temp_show(struct device *dev,
struct mt792x_dev *mdev = phy->dev; struct mt792x_dev *mdev = phy->dev;
int temperature; int temperature;
mt7921_mutex_acquire(mdev); mt792x_mutex_acquire(mdev);
temperature = mt7921_mcu_get_temperature(phy); temperature = mt7921_mcu_get_temperature(phy);
mt7921_mutex_release(mdev); mt792x_mutex_release(mdev);
if (temperature < 0) if (temperature < 0)
return temperature; return temperature;
...@@ -116,11 +116,11 @@ mt7921_regd_notifier(struct wiphy *wiphy, ...@@ -116,11 +116,11 @@ mt7921_regd_notifier(struct wiphy *wiphy,
dev->mt76.region = request->dfs_region; dev->mt76.region = request->dfs_region;
dev->country_ie_env = request->country_ie_env; dev->country_ie_env = request->country_ie_env;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
mt7921_mcu_set_clc(dev, request->alpha2, request->country_ie_env); mt7921_mcu_set_clc(dev, request->alpha2, request->country_ie_env);
mt76_connac_mcu_set_channel_domain(hw->priv); mt76_connac_mcu_set_channel_domain(hw->priv);
mt7921_set_tx_sar_pwr(hw, NULL); mt7921_set_tx_sar_pwr(hw, NULL);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
} }
static int static int
......
...@@ -971,7 +971,7 @@ void mt7921_mac_work(struct work_struct *work) ...@@ -971,7 +971,7 @@ void mt7921_mac_work(struct work_struct *work)
mac_work.work); mac_work.work);
phy = mphy->priv; phy = mphy->priv;
mt7921_mutex_acquire(phy->dev); mt792x_mutex_acquire(phy->dev);
mt76_update_survey(mphy); mt76_update_survey(mphy);
if (++mphy->mac_work_count == 2) { if (++mphy->mac_work_count == 2) {
...@@ -980,7 +980,7 @@ void mt7921_mac_work(struct work_struct *work) ...@@ -980,7 +980,7 @@ void mt7921_mac_work(struct work_struct *work)
mt7921_mac_update_mib_stats(phy); mt7921_mac_update_mib_stats(phy);
} }
mt7921_mutex_release(phy->dev); mt792x_mutex_release(phy->dev);
mt76_tx_status_check(mphy->dev, false); mt76_tx_status_check(mphy->dev, false);
ieee80211_queue_delayed_work(phy->mt76->hw, &mphy->mac_work, ieee80211_queue_delayed_work(phy->mt76->hw, &mphy->mac_work,
...@@ -1191,9 +1191,9 @@ bool mt7921_usb_sdio_tx_status_data(struct mt76_dev *mdev, u8 *update) ...@@ -1191,9 +1191,9 @@ bool mt7921_usb_sdio_tx_status_data(struct mt76_dev *mdev, u8 *update)
{ {
struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76);
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
mt7921_mac_sta_poll(dev); mt7921_mac_sta_poll(dev);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return false; return false;
} }
...@@ -1213,10 +1213,10 @@ void mt7921_set_ipv6_ns_work(struct work_struct *work) ...@@ -1213,10 +1213,10 @@ void mt7921_set_ipv6_ns_work(struct work_struct *work)
if (!skb) if (!skb)
break; break;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
ret = mt76_mcu_skb_send_msg(&dev->mt76, skb, ret = mt76_mcu_skb_send_msg(&dev->mt76, skb,
MCU_UNI_CMD(OFFLOAD), true); MCU_UNI_CMD(OFFLOAD), true);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
} while (!ret); } while (!ret);
......
...@@ -255,9 +255,9 @@ static int mt7921_start(struct ieee80211_hw *hw) ...@@ -255,9 +255,9 @@ static int mt7921_start(struct ieee80211_hw *hw)
struct mt792x_phy *phy = mt7921_hw_phy(hw); struct mt792x_phy *phy = mt7921_hw_phy(hw);
int err; int err;
mt7921_mutex_acquire(phy->dev); mt792x_mutex_acquire(phy->dev);
err = __mt7921_start(phy); err = __mt7921_start(phy);
mt7921_mutex_release(phy->dev); mt792x_mutex_release(phy->dev);
return err; return err;
} }
...@@ -274,10 +274,10 @@ void mt7921_stop(struct ieee80211_hw *hw) ...@@ -274,10 +274,10 @@ void mt7921_stop(struct ieee80211_hw *hw)
cancel_work_sync(&dev->reset_work); cancel_work_sync(&dev->reset_work);
mt76_connac_free_pending_tx_skbs(&dev->pm, NULL); mt76_connac_free_pending_tx_skbs(&dev->pm, NULL);
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
clear_bit(MT76_STATE_RUNNING, &phy->mt76->state); clear_bit(MT76_STATE_RUNNING, &phy->mt76->state);
mt76_connac_mcu_set_mac_enable(&dev->mt76, 0, false, false); mt76_connac_mcu_set_mac_enable(&dev->mt76, 0, false, false);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
} }
EXPORT_SYMBOL_GPL(mt7921_stop); EXPORT_SYMBOL_GPL(mt7921_stop);
...@@ -290,7 +290,7 @@ static int mt7921_add_interface(struct ieee80211_hw *hw, ...@@ -290,7 +290,7 @@ static int mt7921_add_interface(struct ieee80211_hw *hw,
struct mt76_txq *mtxq; struct mt76_txq *mtxq;
int idx, ret = 0; int idx, ret = 0;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
mvif->mt76.idx = __ffs64(~dev->mt76.vif_mask); mvif->mt76.idx = __ffs64(~dev->mt76.vif_mask);
if (mvif->mt76.idx >= MT7921_MAX_INTERFACES) { if (mvif->mt76.idx >= MT7921_MAX_INTERFACES) {
...@@ -333,7 +333,7 @@ static int mt7921_add_interface(struct ieee80211_hw *hw, ...@@ -333,7 +333,7 @@ static int mt7921_add_interface(struct ieee80211_hw *hw,
vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER; vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER;
out: out:
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return ret; return ret;
} }
...@@ -347,7 +347,7 @@ static void mt7921_remove_interface(struct ieee80211_hw *hw, ...@@ -347,7 +347,7 @@ static void mt7921_remove_interface(struct ieee80211_hw *hw,
struct mt792x_phy *phy = mt7921_hw_phy(hw); struct mt792x_phy *phy = mt7921_hw_phy(hw);
int idx = msta->wcid.idx; int idx = msta->wcid.idx;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
mt76_connac_free_pending_tx_skbs(&dev->pm, &msta->wcid); mt76_connac_free_pending_tx_skbs(&dev->pm, &msta->wcid);
mt76_connac_mcu_uni_add_dev(&dev->mphy, vif, &mvif->sta.wcid, false); mt76_connac_mcu_uni_add_dev(&dev->mphy, vif, &mvif->sta.wcid, false);
...@@ -355,7 +355,7 @@ static void mt7921_remove_interface(struct ieee80211_hw *hw, ...@@ -355,7 +355,7 @@ static void mt7921_remove_interface(struct ieee80211_hw *hw,
dev->mt76.vif_mask &= ~BIT_ULL(mvif->mt76.idx); dev->mt76.vif_mask &= ~BIT_ULL(mvif->mt76.idx);
phy->omac_mask &= ~BIT_ULL(mvif->mt76.omac_idx); phy->omac_mask &= ~BIT_ULL(mvif->mt76.omac_idx);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
spin_lock_bh(&dev->mt76.sta_poll_lock); spin_lock_bh(&dev->mt76.sta_poll_lock);
if (!list_empty(&msta->wcid.poll_list)) if (!list_empty(&msta->wcid.poll_list))
...@@ -384,11 +384,11 @@ void mt7921_roc_work(struct work_struct *work) ...@@ -384,11 +384,11 @@ void mt7921_roc_work(struct work_struct *work)
if (!test_and_clear_bit(MT76_STATE_ROC, &phy->mt76->state)) if (!test_and_clear_bit(MT76_STATE_ROC, &phy->mt76->state))
return; return;
mt7921_mutex_acquire(phy->dev); mt792x_mutex_acquire(phy->dev);
ieee80211_iterate_active_interfaces(phy->mt76->hw, ieee80211_iterate_active_interfaces(phy->mt76->hw,
IEEE80211_IFACE_ITER_RESUME_ALL, IEEE80211_IFACE_ITER_RESUME_ALL,
mt7921_roc_iter, phy); mt7921_roc_iter, phy);
mt7921_mutex_release(phy->dev); mt792x_mutex_release(phy->dev);
ieee80211_remain_on_channel_expired(phy->mt76->hw); ieee80211_remain_on_channel_expired(phy->mt76->hw);
} }
...@@ -406,10 +406,10 @@ static int mt7921_abort_roc(struct mt792x_phy *phy, struct mt792x_vif *vif) ...@@ -406,10 +406,10 @@ static int mt7921_abort_roc(struct mt792x_phy *phy, struct mt792x_vif *vif)
del_timer_sync(&phy->roc_timer); del_timer_sync(&phy->roc_timer);
cancel_work_sync(&phy->roc_work); cancel_work_sync(&phy->roc_work);
mt7921_mutex_acquire(phy->dev); mt792x_mutex_acquire(phy->dev);
if (test_and_clear_bit(MT76_STATE_ROC, &phy->mt76->state)) if (test_and_clear_bit(MT76_STATE_ROC, &phy->mt76->state))
err = mt7921_mcu_abort_roc(phy, vif, phy->roc_token_id); err = mt7921_mcu_abort_roc(phy, vif, phy->roc_token_id);
mt7921_mutex_release(phy->dev); mt792x_mutex_release(phy->dev);
return err; return err;
} }
...@@ -454,9 +454,9 @@ static int mt7921_remain_on_channel(struct ieee80211_hw *hw, ...@@ -454,9 +454,9 @@ static int mt7921_remain_on_channel(struct ieee80211_hw *hw,
struct mt792x_phy *phy = mt7921_hw_phy(hw); struct mt792x_phy *phy = mt7921_hw_phy(hw);
int err; int err;
mt7921_mutex_acquire(phy->dev); mt792x_mutex_acquire(phy->dev);
err = mt7921_set_roc(phy, mvif, chan, duration, MT7921_ROC_REQ_ROC); err = mt7921_set_roc(phy, mvif, chan, duration, MT7921_ROC_REQ_ROC);
mt7921_mutex_release(phy->dev); mt792x_mutex_release(phy->dev);
return err; return err;
} }
...@@ -477,7 +477,7 @@ static int mt7921_set_channel(struct mt792x_phy *phy) ...@@ -477,7 +477,7 @@ static int mt7921_set_channel(struct mt792x_phy *phy)
cancel_delayed_work_sync(&phy->mt76->mac_work); cancel_delayed_work_sync(&phy->mt76->mac_work);
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
set_bit(MT76_RESET, &phy->mt76->state); set_bit(MT76_RESET, &phy->mt76->state);
mt76_set_channel(phy->mt76); mt76_set_channel(phy->mt76);
...@@ -493,7 +493,7 @@ static int mt7921_set_channel(struct mt792x_phy *phy) ...@@ -493,7 +493,7 @@ static int mt7921_set_channel(struct mt792x_phy *phy)
out: out:
clear_bit(MT76_RESET, &phy->mt76->state); clear_bit(MT76_RESET, &phy->mt76->state);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
mt76_worker_schedule(&dev->mt76.tx_worker); mt76_worker_schedule(&dev->mt76.tx_worker);
ieee80211_queue_delayed_work(phy->mt76->hw, &phy->mt76->mac_work, ieee80211_queue_delayed_work(phy->mt76->hw, &phy->mt76->mac_work,
...@@ -546,7 +546,7 @@ static int mt7921_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, ...@@ -546,7 +546,7 @@ static int mt7921_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
return -EOPNOTSUPP; return -EOPNOTSUPP;
} }
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
if (cmd == SET_KEY) { if (cmd == SET_KEY) {
*wcid_keyidx = idx; *wcid_keyidx = idx;
...@@ -570,7 +570,7 @@ static int mt7921_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, ...@@ -570,7 +570,7 @@ static int mt7921_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
key, MCU_UNI_CMD(STA_REC_UPDATE), key, MCU_UNI_CMD(STA_REC_UPDATE),
&mvif->wep_sta->wcid, cmd); &mvif->wep_sta->wcid, cmd);
out: out:
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return err; return err;
} }
...@@ -642,7 +642,7 @@ static int mt7921_config(struct ieee80211_hw *hw, u32 changed) ...@@ -642,7 +642,7 @@ static int mt7921_config(struct ieee80211_hw *hw, u32 changed)
ieee80211_wake_queues(hw); ieee80211_wake_queues(hw);
} }
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
if (changed & IEEE80211_CONF_CHANGE_POWER) { if (changed & IEEE80211_CONF_CHANGE_POWER) {
ret = mt7921_set_tx_sar_pwr(hw, NULL); ret = mt7921_set_tx_sar_pwr(hw, NULL);
...@@ -657,7 +657,7 @@ static int mt7921_config(struct ieee80211_hw *hw, u32 changed) ...@@ -657,7 +657,7 @@ static int mt7921_config(struct ieee80211_hw *hw, u32 changed)
} }
out: out:
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return ret; return ret;
} }
...@@ -698,9 +698,9 @@ static void mt7921_configure_filter(struct ieee80211_hw *hw, ...@@ -698,9 +698,9 @@ static void mt7921_configure_filter(struct ieee80211_hw *hw,
MT7921_FILTER(FIF_CONTROL, CONTROL); MT7921_FILTER(FIF_CONTROL, CONTROL);
MT7921_FILTER(FIF_OTHER_BSS, OTHER_BSS); MT7921_FILTER(FIF_OTHER_BSS, OTHER_BSS);
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
mt7921_mcu_set_rxfilter(dev, flags, 0, 0); mt7921_mcu_set_rxfilter(dev, flags, 0, 0);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
*total_flags &= (FIF_OTHER_BSS | FIF_FCSFAIL | FIF_CONTROL); *total_flags &= (FIF_OTHER_BSS | FIF_FCSFAIL | FIF_CONTROL);
} }
...@@ -713,7 +713,7 @@ static void mt7921_bss_info_changed(struct ieee80211_hw *hw, ...@@ -713,7 +713,7 @@ static void mt7921_bss_info_changed(struct ieee80211_hw *hw,
struct mt792x_phy *phy = mt7921_hw_phy(hw); struct mt792x_phy *phy = mt7921_hw_phy(hw);
struct mt792x_dev *dev = mt7921_hw_dev(hw); struct mt792x_dev *dev = mt7921_hw_dev(hw);
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
if (changed & BSS_CHANGED_ERP_SLOT) { if (changed & BSS_CHANGED_ERP_SLOT) {
int slottime = info->use_short_slot ? 9 : 20; int slottime = info->use_short_slot ? 9 : 20;
...@@ -749,7 +749,7 @@ static void mt7921_bss_info_changed(struct ieee80211_hw *hw, ...@@ -749,7 +749,7 @@ static void mt7921_bss_info_changed(struct ieee80211_hw *hw,
info); info);
} }
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
} }
int mt7921_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif, int mt7921_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
...@@ -800,7 +800,7 @@ void mt7921_mac_sta_assoc(struct mt76_dev *mdev, struct ieee80211_vif *vif, ...@@ -800,7 +800,7 @@ void mt7921_mac_sta_assoc(struct mt76_dev *mdev, struct ieee80211_vif *vif,
struct mt792x_sta *msta = (struct mt792x_sta *)sta->drv_priv; struct mt792x_sta *msta = (struct mt792x_sta *)sta->drv_priv;
struct mt792x_vif *mvif = (struct mt792x_vif *)vif->drv_priv; struct mt792x_vif *mvif = (struct mt792x_vif *)vif->drv_priv;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
if (vif->type == NL80211_IFTYPE_STATION && !sta->tdls) if (vif->type == NL80211_IFTYPE_STATION && !sta->tdls)
mt76_connac_mcu_uni_add_bss(&dev->mphy, vif, &mvif->sta.wcid, mt76_connac_mcu_uni_add_bss(&dev->mphy, vif, &mvif->sta.wcid,
...@@ -814,7 +814,7 @@ void mt7921_mac_sta_assoc(struct mt76_dev *mdev, struct ieee80211_vif *vif, ...@@ -814,7 +814,7 @@ void mt7921_mac_sta_assoc(struct mt76_dev *mdev, struct ieee80211_vif *vif,
mt7921_mcu_sta_update(dev, sta, vif, true, MT76_STA_INFO_STATE_ASSOC); mt7921_mcu_sta_update(dev, sta, vif, true, MT76_STA_INFO_STATE_ASSOC);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
} }
EXPORT_SYMBOL_GPL(mt7921_mac_sta_assoc); EXPORT_SYMBOL_GPL(mt7921_mac_sta_assoc);
...@@ -909,9 +909,9 @@ static int mt7921_set_rts_threshold(struct ieee80211_hw *hw, u32 val) ...@@ -909,9 +909,9 @@ static int mt7921_set_rts_threshold(struct ieee80211_hw *hw, u32 val)
{ {
struct mt792x_dev *dev = mt7921_hw_dev(hw); struct mt792x_dev *dev = mt7921_hw_dev(hw);
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
mt76_connac_mcu_set_rts_thresh(&dev->mt76, val, 0); mt76_connac_mcu_set_rts_thresh(&dev->mt76, val, 0);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return 0; return 0;
} }
...@@ -935,7 +935,7 @@ mt7921_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ...@@ -935,7 +935,7 @@ mt7921_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
mtxq = (struct mt76_txq *)txq->drv_priv; mtxq = (struct mt76_txq *)txq->drv_priv;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
switch (action) { switch (action) {
case IEEE80211_AMPDU_RX_START: case IEEE80211_AMPDU_RX_START:
mt76_rx_aggr_start(&dev->mt76, &msta->wcid, tid, ssn, mt76_rx_aggr_start(&dev->mt76, &msta->wcid, tid, ssn,
...@@ -968,7 +968,7 @@ mt7921_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ...@@ -968,7 +968,7 @@ mt7921_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid);
break; break;
} }
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return ret; return ret;
} }
...@@ -982,9 +982,9 @@ static int mt7921_sta_state(struct ieee80211_hw *hw, ...@@ -982,9 +982,9 @@ static int mt7921_sta_state(struct ieee80211_hw *hw,
struct mt792x_dev *dev = mt7921_hw_dev(hw); struct mt792x_dev *dev = mt7921_hw_dev(hw);
if (dev->pm.ds_enable) { if (dev->pm.ds_enable) {
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
mt76_connac_sta_state_dp(&dev->mt76, old_state, new_state); mt76_connac_sta_state_dp(&dev->mt76, old_state, new_state);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
} }
return mt76_sta_state(hw, vif, sta, old_state, new_state); return mt76_sta_state(hw, vif, sta, old_state, new_state);
...@@ -997,14 +997,14 @@ mt7921_get_stats(struct ieee80211_hw *hw, ...@@ -997,14 +997,14 @@ mt7921_get_stats(struct ieee80211_hw *hw,
struct mt792x_phy *phy = mt7921_hw_phy(hw); struct mt792x_phy *phy = mt7921_hw_phy(hw);
struct mt76_mib_stats *mib = &phy->mib; struct mt76_mib_stats *mib = &phy->mib;
mt7921_mutex_acquire(phy->dev); mt792x_mutex_acquire(phy->dev);
stats->dot11RTSSuccessCount = mib->rts_cnt; stats->dot11RTSSuccessCount = mib->rts_cnt;
stats->dot11RTSFailureCount = mib->rts_retries_cnt; stats->dot11RTSFailureCount = mib->rts_retries_cnt;
stats->dot11FCSErrorCount = mib->fcs_err_cnt; stats->dot11FCSErrorCount = mib->fcs_err_cnt;
stats->dot11ACKFailureCount = mib->ack_fail_cnt; stats->dot11ACKFailureCount = mib->ack_fail_cnt;
mt7921_mutex_release(phy->dev); mt792x_mutex_release(phy->dev);
return 0; return 0;
} }
...@@ -1144,7 +1144,7 @@ void mt7921_get_et_stats(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ...@@ -1144,7 +1144,7 @@ void mt7921_get_et_stats(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
}; };
int i, ei = 0; int i, ei = 0;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
mt7921_mac_update_mib_stats(phy); mt7921_mac_update_mib_stats(phy);
...@@ -1184,7 +1184,7 @@ void mt7921_get_et_stats(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ...@@ -1184,7 +1184,7 @@ void mt7921_get_et_stats(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
wi.initial_stat_idx = ei; wi.initial_stat_idx = ei;
ieee80211_iterate_stations_atomic(hw, mt7921_ethtool_worker, &wi); ieee80211_iterate_stations_atomic(hw, mt7921_ethtool_worker, &wi);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
if (!wi.sta_count) if (!wi.sta_count)
return; return;
...@@ -1212,7 +1212,7 @@ mt7921_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ...@@ -1212,7 +1212,7 @@ mt7921_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
} tsf; } tsf;
u16 n; u16 n;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
n = omac_idx > HW_BSSID_MAX ? HW_BSSID_0 : omac_idx; n = omac_idx > HW_BSSID_MAX ? HW_BSSID_0 : omac_idx;
/* TSF software read */ /* TSF software read */
...@@ -1220,7 +1220,7 @@ mt7921_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ...@@ -1220,7 +1220,7 @@ mt7921_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
tsf.t32[0] = mt76_rr(dev, MT_LPON_UTTR0(0)); tsf.t32[0] = mt76_rr(dev, MT_LPON_UTTR0(0));
tsf.t32[1] = mt76_rr(dev, MT_LPON_UTTR1(0)); tsf.t32[1] = mt76_rr(dev, MT_LPON_UTTR1(0));
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return tsf.t64; return tsf.t64;
} }
...@@ -1238,7 +1238,7 @@ mt7921_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ...@@ -1238,7 +1238,7 @@ mt7921_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
} tsf = { .t64 = timestamp, }; } tsf = { .t64 = timestamp, };
u16 n; u16 n;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
n = omac_idx > HW_BSSID_MAX ? HW_BSSID_0 : omac_idx; n = omac_idx > HW_BSSID_MAX ? HW_BSSID_0 : omac_idx;
mt76_wr(dev, MT_LPON_UTTR0(0), tsf.t32[0]); mt76_wr(dev, MT_LPON_UTTR0(0), tsf.t32[0]);
...@@ -1246,7 +1246,7 @@ mt7921_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ...@@ -1246,7 +1246,7 @@ mt7921_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
/* TSF software overwrite */ /* TSF software overwrite */
mt76_set(dev, MT_LPON_TCR(0, n), MT_LPON_TCR_SW_WRITE); mt76_set(dev, MT_LPON_TCR(0, n), MT_LPON_TCR_SW_WRITE);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
} }
static void static void
...@@ -1255,10 +1255,10 @@ mt7921_set_coverage_class(struct ieee80211_hw *hw, s16 coverage_class) ...@@ -1255,10 +1255,10 @@ mt7921_set_coverage_class(struct ieee80211_hw *hw, s16 coverage_class)
struct mt792x_phy *phy = mt7921_hw_phy(hw); struct mt792x_phy *phy = mt7921_hw_phy(hw);
struct mt792x_dev *dev = phy->dev; struct mt792x_dev *dev = phy->dev;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
phy->coverage_class = max_t(s16, coverage_class, 0); phy->coverage_class = max_t(s16, coverage_class, 0);
mt7921_mac_set_timing(phy); mt7921_mac_set_timing(phy);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
} }
void mt7921_scan_work(struct work_struct *work) void mt7921_scan_work(struct work_struct *work)
...@@ -1302,9 +1302,9 @@ mt7921_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ...@@ -1302,9 +1302,9 @@ mt7921_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
struct mt76_phy *mphy = hw->priv; struct mt76_phy *mphy = hw->priv;
int err; int err;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
err = mt76_connac_mcu_hw_scan(mphy, vif, req); err = mt76_connac_mcu_hw_scan(mphy, vif, req);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return err; return err;
} }
...@@ -1315,9 +1315,9 @@ mt7921_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ...@@ -1315,9 +1315,9 @@ mt7921_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
struct mt792x_dev *dev = mt7921_hw_dev(hw); struct mt792x_dev *dev = mt7921_hw_dev(hw);
struct mt76_phy *mphy = hw->priv; struct mt76_phy *mphy = hw->priv;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
mt76_connac_mcu_cancel_hw_scan(mphy, vif); mt76_connac_mcu_cancel_hw_scan(mphy, vif);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
} }
static int static int
...@@ -1329,7 +1329,7 @@ mt7921_start_sched_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ...@@ -1329,7 +1329,7 @@ mt7921_start_sched_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
struct mt76_phy *mphy = hw->priv; struct mt76_phy *mphy = hw->priv;
int err; int err;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
err = mt76_connac_mcu_sched_scan_req(mphy, vif, req); err = mt76_connac_mcu_sched_scan_req(mphy, vif, req);
if (err < 0) if (err < 0)
...@@ -1337,7 +1337,7 @@ mt7921_start_sched_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ...@@ -1337,7 +1337,7 @@ mt7921_start_sched_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
err = mt76_connac_mcu_sched_scan_enable(mphy, vif, true); err = mt76_connac_mcu_sched_scan_enable(mphy, vif, true);
out: out:
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return err; return err;
} }
...@@ -1349,9 +1349,9 @@ mt7921_stop_sched_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ...@@ -1349,9 +1349,9 @@ mt7921_stop_sched_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
struct mt76_phy *mphy = hw->priv; struct mt76_phy *mphy = hw->priv;
int err; int err;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
err = mt76_connac_mcu_sched_scan_enable(mphy, vif, false); err = mt76_connac_mcu_sched_scan_enable(mphy, vif, false);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return err; return err;
} }
...@@ -1369,7 +1369,7 @@ mt7921_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant) ...@@ -1369,7 +1369,7 @@ mt7921_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant)
if ((BIT(hweight8(tx_ant)) - 1) != tx_ant) if ((BIT(hweight8(tx_ant)) - 1) != tx_ant)
return -EINVAL; return -EINVAL;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
phy->mt76->antenna_mask = tx_ant; phy->mt76->antenna_mask = tx_ant;
phy->mt76->chainmask = tx_ant; phy->mt76->chainmask = tx_ant;
...@@ -1377,7 +1377,7 @@ mt7921_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant) ...@@ -1377,7 +1377,7 @@ mt7921_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant)
mt76_set_stream_caps(phy->mt76, true); mt76_set_stream_caps(phy->mt76, true);
mt7921_set_stream_he_caps(phy); mt7921_set_stream_he_caps(phy);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return 0; return 0;
} }
...@@ -1432,7 +1432,7 @@ static int mt7921_suspend(struct ieee80211_hw *hw, ...@@ -1432,7 +1432,7 @@ static int mt7921_suspend(struct ieee80211_hw *hw,
cancel_delayed_work_sync(&dev->pm.ps_work); cancel_delayed_work_sync(&dev->pm.ps_work);
mt76_connac_free_pending_tx_skbs(&dev->pm, NULL); mt76_connac_free_pending_tx_skbs(&dev->pm, NULL);
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
clear_bit(MT76_STATE_RUNNING, &phy->mt76->state); clear_bit(MT76_STATE_RUNNING, &phy->mt76->state);
ieee80211_iterate_active_interfaces(hw, ieee80211_iterate_active_interfaces(hw,
...@@ -1440,7 +1440,7 @@ static int mt7921_suspend(struct ieee80211_hw *hw, ...@@ -1440,7 +1440,7 @@ static int mt7921_suspend(struct ieee80211_hw *hw,
mt7921_mcu_set_suspend_iter, mt7921_mcu_set_suspend_iter,
&dev->mphy); &dev->mphy);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return 0; return 0;
} }
...@@ -1450,7 +1450,7 @@ static int mt7921_resume(struct ieee80211_hw *hw) ...@@ -1450,7 +1450,7 @@ static int mt7921_resume(struct ieee80211_hw *hw)
struct mt792x_dev *dev = mt7921_hw_dev(hw); struct mt792x_dev *dev = mt7921_hw_dev(hw);
struct mt792x_phy *phy = mt7921_hw_phy(hw); struct mt792x_phy *phy = mt7921_hw_phy(hw);
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
set_bit(MT76_STATE_RUNNING, &phy->mt76->state); set_bit(MT76_STATE_RUNNING, &phy->mt76->state);
ieee80211_iterate_active_interfaces(hw, ieee80211_iterate_active_interfaces(hw,
...@@ -1461,7 +1461,7 @@ static int mt7921_resume(struct ieee80211_hw *hw) ...@@ -1461,7 +1461,7 @@ static int mt7921_resume(struct ieee80211_hw *hw)
ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work, ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work,
MT7921_WATCHDOG_TIME); MT7921_WATCHDOG_TIME);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return 0; return 0;
} }
...@@ -1480,9 +1480,9 @@ static void mt7921_set_rekey_data(struct ieee80211_hw *hw, ...@@ -1480,9 +1480,9 @@ static void mt7921_set_rekey_data(struct ieee80211_hw *hw,
{ {
struct mt792x_dev *dev = mt7921_hw_dev(hw); struct mt792x_dev *dev = mt7921_hw_dev(hw);
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
mt76_connac_mcu_update_gtk_rekey(hw, vif, data); mt76_connac_mcu_update_gtk_rekey(hw, vif, data);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
} }
#endif /* CONFIG_PM */ #endif /* CONFIG_PM */
...@@ -1503,7 +1503,7 @@ static void mt7921_sta_set_decap_offload(struct ieee80211_hw *hw, ...@@ -1503,7 +1503,7 @@ static void mt7921_sta_set_decap_offload(struct ieee80211_hw *hw,
struct mt792x_sta *msta = (struct mt792x_sta *)sta->drv_priv; struct mt792x_sta *msta = (struct mt792x_sta *)sta->drv_priv;
struct mt792x_dev *dev = mt7921_hw_dev(hw); struct mt792x_dev *dev = mt7921_hw_dev(hw);
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
if (enabled) if (enabled)
set_bit(MT_WCID_FLAG_HDR_TRANS, &msta->wcid.flags); set_bit(MT_WCID_FLAG_HDR_TRANS, &msta->wcid.flags);
...@@ -1513,7 +1513,7 @@ static void mt7921_sta_set_decap_offload(struct ieee80211_hw *hw, ...@@ -1513,7 +1513,7 @@ static void mt7921_sta_set_decap_offload(struct ieee80211_hw *hw,
mt76_connac_mcu_sta_update_hdr_trans(&dev->mt76, vif, &msta->wcid, mt76_connac_mcu_sta_update_hdr_trans(&dev->mt76, vif, &msta->wcid,
MCU_UNI_CMD(STA_REC_UPDATE)); MCU_UNI_CMD(STA_REC_UPDATE));
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
} }
#if IS_ENABLED(CONFIG_IPV6) #if IS_ENABLED(CONFIG_IPV6)
...@@ -1601,7 +1601,7 @@ static int mt7921_set_sar_specs(struct ieee80211_hw *hw, ...@@ -1601,7 +1601,7 @@ static int mt7921_set_sar_specs(struct ieee80211_hw *hw,
struct mt792x_dev *dev = mt7921_hw_dev(hw); struct mt792x_dev *dev = mt7921_hw_dev(hw);
int err; int err;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
err = mt7921_mcu_set_clc(dev, dev->mt76.alpha2, err = mt7921_mcu_set_clc(dev, dev->mt76.alpha2,
dev->country_ie_env); dev->country_ie_env);
if (err < 0) if (err < 0)
...@@ -1609,7 +1609,7 @@ static int mt7921_set_sar_specs(struct ieee80211_hw *hw, ...@@ -1609,7 +1609,7 @@ static int mt7921_set_sar_specs(struct ieee80211_hw *hw,
err = mt7921_set_tx_sar_pwr(hw, sar); err = mt7921_set_tx_sar_pwr(hw, sar);
out: out:
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return err; return err;
} }
...@@ -1621,9 +1621,9 @@ mt7921_channel_switch_beacon(struct ieee80211_hw *hw, ...@@ -1621,9 +1621,9 @@ mt7921_channel_switch_beacon(struct ieee80211_hw *hw,
{ {
struct mt792x_dev *dev = mt7921_hw_dev(hw); struct mt792x_dev *dev = mt7921_hw_dev(hw);
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
mt7921_mcu_uni_add_beacon_offload(dev, hw, vif, true); mt7921_mcu_uni_add_beacon_offload(dev, hw, vif, true);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
} }
static int static int
...@@ -1635,7 +1635,7 @@ mt7921_start_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ...@@ -1635,7 +1635,7 @@ mt7921_start_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
struct mt792x_dev *dev = mt7921_hw_dev(hw); struct mt792x_dev *dev = mt7921_hw_dev(hw);
int err; int err;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
err = mt76_connac_mcu_uni_add_bss(phy->mt76, vif, &mvif->sta.wcid, err = mt76_connac_mcu_uni_add_bss(phy->mt76, vif, &mvif->sta.wcid,
true, mvif->ctx); true, mvif->ctx);
...@@ -1649,7 +1649,7 @@ mt7921_start_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ...@@ -1649,7 +1649,7 @@ mt7921_start_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
err = mt7921_mcu_sta_update(dev, NULL, vif, true, err = mt7921_mcu_sta_update(dev, NULL, vif, true,
MT76_STA_INFO_STATE_NONE); MT76_STA_INFO_STATE_NONE);
out: out:
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
return err; return err;
} }
...@@ -1663,7 +1663,7 @@ mt7921_stop_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ...@@ -1663,7 +1663,7 @@ mt7921_stop_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
struct mt792x_dev *dev = mt7921_hw_dev(hw); struct mt792x_dev *dev = mt7921_hw_dev(hw);
int err; int err;
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
err = mt7921_mcu_set_bss_pm(dev, vif, false); err = mt7921_mcu_set_bss_pm(dev, vif, false);
if (err) if (err)
...@@ -1673,7 +1673,7 @@ mt7921_stop_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ...@@ -1673,7 +1673,7 @@ mt7921_stop_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
mvif->ctx); mvif->ctx);
out: out:
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
} }
static int static int
...@@ -1711,11 +1711,11 @@ mt7921_change_chanctx(struct ieee80211_hw *hw, ...@@ -1711,11 +1711,11 @@ mt7921_change_chanctx(struct ieee80211_hw *hw,
{ {
struct mt792x_phy *phy = mt7921_hw_phy(hw); struct mt792x_phy *phy = mt7921_hw_phy(hw);
mt7921_mutex_acquire(phy->dev); mt792x_mutex_acquire(phy->dev);
ieee80211_iterate_active_interfaces(phy->mt76->hw, ieee80211_iterate_active_interfaces(phy->mt76->hw,
IEEE80211_IFACE_ITER_ACTIVE, IEEE80211_IFACE_ITER_ACTIVE,
mt7921_ctx_iter, ctx); mt7921_ctx_iter, ctx);
mt7921_mutex_release(phy->dev); mt792x_mutex_release(phy->dev);
} }
static int static int
...@@ -1757,10 +1757,10 @@ static void mt7921_mgd_prepare_tx(struct ieee80211_hw *hw, ...@@ -1757,10 +1757,10 @@ static void mt7921_mgd_prepare_tx(struct ieee80211_hw *hw,
u16 duration = info->duration ? info->duration : u16 duration = info->duration ? info->duration :
jiffies_to_msecs(HZ); jiffies_to_msecs(HZ);
mt7921_mutex_acquire(dev); mt792x_mutex_acquire(dev);
mt7921_set_roc(mvif->phy, mvif, mvif->ctx->def.chan, duration, mt7921_set_roc(mvif->phy, mvif, mvif->ctx->def.chan, duration,
MT7921_ROC_REQ_JOIN); MT7921_ROC_REQ_JOIN);
mt7921_mutex_release(dev); mt792x_mutex_release(dev);
} }
static void mt7921_mgd_complete_tx(struct ieee80211_hw *hw, static void mt7921_mgd_complete_tx(struct ieee80211_hw *hw,
......
...@@ -224,11 +224,6 @@ mt7921_hw_dev(struct ieee80211_hw *hw) ...@@ -224,11 +224,6 @@ mt7921_hw_dev(struct ieee80211_hw *hw)
return container_of(phy->dev, struct mt792x_dev, mt76); return container_of(phy->dev, struct mt792x_dev, mt76);
} }
#define mt7921_mutex_acquire(dev) \
mt76_connac_mutex_acquire(&(dev)->mt76, &(dev)->pm)
#define mt7921_mutex_release(dev) \
mt76_connac_mutex_release(&(dev)->mt76, &(dev)->pm)
extern const struct ieee80211_ops mt7921_ops; extern const struct ieee80211_ops mt7921_ops;
u32 mt7921_reg_map(struct mt792x_dev *dev, u32 addr); u32 mt7921_reg_map(struct mt792x_dev *dev, u32 addr);
......
...@@ -126,4 +126,9 @@ struct mt792x_dev { ...@@ -126,4 +126,9 @@ struct mt792x_dev {
u32 backup_l2; u32 backup_l2;
}; };
#define mt792x_mutex_acquire(dev) \
mt76_connac_mutex_acquire(&(dev)->mt76, &(dev)->pm)
#define mt792x_mutex_release(dev) \
mt76_connac_mutex_release(&(dev)->mt76, &(dev)->pm)
#endif /* __MT7925_H */ #endif /* __MT7925_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment