Commit 06e0bbe1 authored by Shayne Chen's avatar Shayne Chen Committed by Felix Fietkau

mt76: mt7615: mt7915: disable txpower sku when testmode enabled

When testmode can be enabled, the start() callback would already be
called, causing that txpower sku feature isn't really disabled after
testmode is enabled. This patch fix the issue.
Signed-off-by: default avatarShayne Chen <shayne.chen@mediatek.com>
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent 3f0caa3c
...@@ -321,7 +321,7 @@ int mt7615_set_channel(struct mt7615_phy *phy) ...@@ -321,7 +321,7 @@ int mt7615_set_channel(struct mt7615_phy *phy)
mt7615_mac_set_timing(phy); mt7615_mac_set_timing(phy);
ret = mt7615_dfs_init_radar_detector(phy); ret = mt7615_dfs_init_radar_detector(phy);
mt7615_mac_cca_stats_reset(phy); mt7615_mac_cca_stats_reset(phy);
mt7615_mcu_set_sku_en(phy, !mt76_testmode_enabled(phy->mt76)); mt7615_mcu_set_sku_en(phy, true);
mt7615_mac_reset_counters(dev); mt7615_mac_reset_counters(dev);
phy->noise = 0; phy->noise = 0;
......
...@@ -138,6 +138,8 @@ mt7615_tm_init(struct mt7615_phy *phy) ...@@ -138,6 +138,8 @@ mt7615_tm_init(struct mt7615_phy *phy)
if (!test_bit(MT76_STATE_RUNNING, &phy->mt76->state)) if (!test_bit(MT76_STATE_RUNNING, &phy->mt76->state))
return; return;
mt7615_mcu_set_sku_en(phy, phy->mt76->test.state == MT76_TM_STATE_OFF);
mutex_unlock(&dev->mt76.mutex); mutex_unlock(&dev->mt76.mutex);
mt7615_set_channel(phy); mt7615_set_channel(phy);
mt7615_ops.configure_filter(phy->mt76->hw, 0, &total_flags, 0); mt7615_ops.configure_filter(phy->mt76->hw, 0, &total_flags, 0);
......
...@@ -44,7 +44,7 @@ static int mt7915_start(struct ieee80211_hw *hw) ...@@ -44,7 +44,7 @@ static int mt7915_start(struct ieee80211_hw *hw)
mt7915_mac_enable_nf(dev, 1); mt7915_mac_enable_nf(dev, 1);
} }
mt7915_mcu_set_sku_en(phy, !mt76_testmode_enabled(phy->mt76)); mt7915_mcu_set_sku_en(phy, true);
mt7915_mcu_set_chan_info(phy, MCU_EXT_CMD_SET_RX_PATH); mt7915_mcu_set_chan_info(phy, MCU_EXT_CMD_SET_RX_PATH);
set_bit(MT76_STATE_RUNNING, &phy->mt76->state); set_bit(MT76_STATE_RUNNING, &phy->mt76->state);
......
...@@ -402,6 +402,8 @@ mt7915_tm_init(struct mt7915_phy *phy, bool en) ...@@ -402,6 +402,8 @@ mt7915_tm_init(struct mt7915_phy *phy, bool en)
if (!test_bit(MT76_STATE_RUNNING, &phy->mt76->state)) if (!test_bit(MT76_STATE_RUNNING, &phy->mt76->state))
return; return;
mt7915_mcu_set_sku_en(phy, !en);
mt7915_tm_mode_ctrl(dev, en); mt7915_tm_mode_ctrl(dev, en);
mt7915_tm_reg_backup_restore(phy); mt7915_tm_reg_backup_restore(phy);
mt7915_tm_set_trx(phy, TM_MAC_TXRX, !en); mt7915_tm_set_trx(phy, TM_MAC_TXRX, !en);
......
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