diff options
author | Shayne Chen <shayne.chen@mediatek.com> | 2022-09-30 18:13:15 +0300 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2022-10-01 15:38:20 +0300 |
commit | db6db4ded0fd6008c36108495bed2c6062df81ea (patch) | |
tree | 6f8d9d799011c1925ced5ea8e7d50ba5ea4b3d44 | |
parent | 48c116d9293962ea19fc140d08a7ed52fb2bde8a (diff) |
wifi: mt76: mt7915: set correct antenna for radar detection on MT7915D
For MT7915D, correct antenna index should be set to let DFS radar
detection work on the 5 GHz band.
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r-- | mt7915/mac.c | 15 | ||||
-rw-r--r-- | mt7915/mt7915.h | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/mt7915/mac.c b/mt7915/mac.c index 0c7a4d24..1fe1a2a2 100644 --- a/mt7915/mac.c +++ b/mt7915/mac.c @@ -1816,6 +1816,13 @@ static int mt7915_dfs_start_rdd(struct mt7915_dev *dev, int chain) if (err < 0) return err; + if (is_mt7915(&dev->mt76)) { + err = mt76_connac_mcu_rdd_cmd(&dev->mt76, RDD_SET_WF_ANT, chain, + 0, dev->dbdc_support ? 2 : 0); + if (err < 0) + return err; + } + return mt76_connac_mcu_rdd_cmd(&dev->mt76, RDD_DET_MODE, chain, MT_RX_SEL0, 1); } @@ -1936,6 +1943,14 @@ stop: if (err < 0) return err; + if (is_mt7915(&dev->mt76)) { + err = mt76_connac_mcu_rdd_cmd(&dev->mt76, RDD_SET_WF_ANT, + phy->band_idx, 0, + dev->dbdc_support ? 2 : 0); + if (err < 0) + return err; + } + mt7915_dfs_stop_radar_detector(phy); phy->mt76->dfs_state = MT_DFS_STATE_DISABLED; diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h index 1eb11617..c90a148d 100644 --- a/mt7915/mt7915.h +++ b/mt7915/mt7915.h @@ -357,6 +357,7 @@ enum mt7915_rdd_cmd { RDD_DET_MODE, RDD_RADAR_EMULATE, RDD_START_TXQ = 20, + RDD_SET_WF_ANT = 30, RDD_CAC_START = 50, RDD_CAC_END, RDD_NORMAL_START, |