OSDN Git Service

mt76: mt7915: rework set state part in testmode
authorShayne Chen <shayne.chen@mediatek.com>
Tue, 5 Jan 2021 11:30:43 +0000 (19:30 +0800)
committerFelix Fietkau <nbd@nbd.name>
Tue, 26 Jan 2021 19:07:49 +0000 (20:07 +0100)
This is a preliminary patch to simplify setting state in mt7915
testmode, for adding the new continuous tx state.

Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c

index bac7585..62d999b 100644 (file)
@@ -395,9 +395,8 @@ mt7915_tm_reg_backup_restore(struct mt7915_phy *phy)
 }
 
 static void
-mt7915_tm_init(struct mt7915_phy *phy)
+mt7915_tm_init(struct mt7915_phy *phy, bool en)
 {
-       bool en = !(phy->mt76->test.state == MT76_TM_STATE_OFF);
        struct mt7915_dev *dev = phy->dev;
 
        if (!test_bit(MT76_STATE_RUNNING, &phy->mt76->state))
@@ -502,16 +501,15 @@ mt7915_tm_set_state(struct mt76_phy *mphy, enum mt76_testmode_state state)
 
        mphy->test.state = state;
 
-       if (prev_state == MT76_TM_STATE_TX_FRAMES)
-               mt7915_tm_set_tx_frames(phy, false);
-       else if (state == MT76_TM_STATE_TX_FRAMES)
-               mt7915_tm_set_tx_frames(phy, true);
-       else if (prev_state == MT76_TM_STATE_RX_FRAMES)
-               mt7915_tm_set_rx_frames(phy, false);
-       else if (state == MT76_TM_STATE_RX_FRAMES)
-               mt7915_tm_set_rx_frames(phy, true);
-       else if (prev_state == MT76_TM_STATE_OFF || state == MT76_TM_STATE_OFF)
-               mt7915_tm_init(phy);
+       if (prev_state == MT76_TM_STATE_TX_FRAMES ||
+           state == MT76_TM_STATE_TX_FRAMES)
+               mt7915_tm_set_tx_frames(phy, state == MT76_TM_STATE_TX_FRAMES);
+       else if (prev_state == MT76_TM_STATE_RX_FRAMES ||
+                state == MT76_TM_STATE_RX_FRAMES)
+               mt7915_tm_set_rx_frames(phy, state == MT76_TM_STATE_RX_FRAMES);
+       else if (prev_state == MT76_TM_STATE_OFF ||
+                state == MT76_TM_STATE_OFF)
+               mt7915_tm_init(phy, !(state == MT76_TM_STATE_OFF));
 
        if ((state == MT76_TM_STATE_IDLE &&
             prev_state == MT76_TM_STATE_OFF) ||