Commit 5e0abf6f authored by Lorenzo Bianconi's avatar Lorenzo Bianconi Committed by Felix Fietkau

mt76: mt7921: rely on mt76_dev rxfilter in mt7921_configure_filter

mt7921 is currently using rxfilter defined in mt76_dev for rx filter
configuration. Fix mt7921_configure_filter implementation.
Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent df3e4143
...@@ -566,7 +566,6 @@ static void mt7921_configure_filter(struct ieee80211_hw *hw, ...@@ -566,7 +566,6 @@ static void mt7921_configure_filter(struct ieee80211_hw *hw,
u64 multicast) u64 multicast)
{ {
struct mt7921_dev *dev = mt7921_hw_dev(hw); struct mt7921_dev *dev = mt7921_hw_dev(hw);
struct mt7921_phy *phy = mt7921_hw_phy(hw);
u32 ctl_flags = MT_WF_RFCR1_DROP_ACK | u32 ctl_flags = MT_WF_RFCR1_DROP_ACK |
MT_WF_RFCR1_DROP_BF_POLL | MT_WF_RFCR1_DROP_BF_POLL |
MT_WF_RFCR1_DROP_BA | MT_WF_RFCR1_DROP_BA |
...@@ -576,23 +575,23 @@ static void mt7921_configure_filter(struct ieee80211_hw *hw, ...@@ -576,23 +575,23 @@ static void mt7921_configure_filter(struct ieee80211_hw *hw,
#define MT76_FILTER(_flag, _hw) do { \ #define MT76_FILTER(_flag, _hw) do { \
flags |= *total_flags & FIF_##_flag; \ flags |= *total_flags & FIF_##_flag; \
phy->rxfilter &= ~(_hw); \ dev->mt76.rxfilter &= ~(_hw); \
phy->rxfilter |= !(flags & FIF_##_flag) * (_hw); \ dev->mt76.rxfilter |= !(flags & FIF_##_flag) * (_hw); \
} while (0) } while (0)
mt7921_mutex_acquire(dev); mt7921_mutex_acquire(dev);
phy->rxfilter &= ~(MT_WF_RFCR_DROP_OTHER_BSS | dev->mt76.rxfilter &= ~(MT_WF_RFCR_DROP_OTHER_BSS |
MT_WF_RFCR_DROP_OTHER_BEACON | MT_WF_RFCR_DROP_OTHER_BEACON |
MT_WF_RFCR_DROP_FRAME_REPORT | MT_WF_RFCR_DROP_FRAME_REPORT |
MT_WF_RFCR_DROP_PROBEREQ | MT_WF_RFCR_DROP_PROBEREQ |
MT_WF_RFCR_DROP_MCAST_FILTERED | MT_WF_RFCR_DROP_MCAST_FILTERED |
MT_WF_RFCR_DROP_MCAST | MT_WF_RFCR_DROP_MCAST |
MT_WF_RFCR_DROP_BCAST | MT_WF_RFCR_DROP_BCAST |
MT_WF_RFCR_DROP_DUPLICATE | MT_WF_RFCR_DROP_DUPLICATE |
MT_WF_RFCR_DROP_A2_BSSID | MT_WF_RFCR_DROP_A2_BSSID |
MT_WF_RFCR_DROP_UNWANTED_CTL | MT_WF_RFCR_DROP_UNWANTED_CTL |
MT_WF_RFCR_DROP_STBC_MULTI); MT_WF_RFCR_DROP_STBC_MULTI);
MT76_FILTER(OTHER_BSS, MT_WF_RFCR_DROP_OTHER_TIM | MT76_FILTER(OTHER_BSS, MT_WF_RFCR_DROP_OTHER_TIM |
MT_WF_RFCR_DROP_A3_MAC | MT_WF_RFCR_DROP_A3_MAC |
...@@ -606,7 +605,7 @@ static void mt7921_configure_filter(struct ieee80211_hw *hw, ...@@ -606,7 +605,7 @@ static void mt7921_configure_filter(struct ieee80211_hw *hw,
MT_WF_RFCR_DROP_NDPA); MT_WF_RFCR_DROP_NDPA);
*total_flags = flags; *total_flags = flags;
mt76_wr(dev, MT_WF_RFCR(0), phy->rxfilter); mt76_wr(dev, MT_WF_RFCR(0), dev->mt76.rxfilter);
if (*total_flags & FIF_CONTROL) if (*total_flags & FIF_CONTROL)
mt76_clear(dev, MT_WF_RFCR1(0), ctl_flags); mt76_clear(dev, MT_WF_RFCR1(0), ctl_flags);
......
...@@ -155,7 +155,6 @@ struct mt7921_phy { ...@@ -155,7 +155,6 @@ struct mt7921_phy {
struct ieee80211_sband_iftype_data iftype[NUM_NL80211_BANDS][NUM_NL80211_IFTYPES]; struct ieee80211_sband_iftype_data iftype[NUM_NL80211_BANDS][NUM_NL80211_IFTYPES];
u32 rxfilter;
u64 omac_mask; u64 omac_mask;
u16 noise; u16 noise;
......
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