wifi: rtw89: mac: define register address of rx_filter to generalize code
[platform/kernel/linux-rpi.git] / drivers / net / wireless / realtek / rtw89 / core.c
index eca973b..133bf28 100644 (file)
@@ -2477,6 +2477,7 @@ out:
 
 void rtw89_roc_start(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif)
 {
+       const struct rtw89_mac_gen_def *mac = rtwdev->chip->mac_def;
        struct ieee80211_hw *hw = rtwdev->hw;
        struct rtw89_roc *roc = &rtwvif->roc;
        struct cfg80211_chan_def roc_chan;
@@ -2504,7 +2505,7 @@ void rtw89_roc_start(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif)
        rtw89_config_roc_chandef(rtwdev, rtwvif->sub_entity_idx, &roc_chan);
        rtw89_set_channel(rtwdev);
        rtw89_write32_clr(rtwdev,
-                         rtw89_mac_reg_by_idx(rtwdev, R_AX_RX_FLTR_OPT, RTW89_MAC_0),
+                         rtw89_mac_reg_by_idx(rtwdev, mac->rx_fltr, RTW89_MAC_0),
                          B_AX_A_UC_CAM_MATCH | B_AX_A_BC_CAM_MATCH);
 
        ieee80211_ready_on_channel(hw);
@@ -2512,6 +2513,7 @@ void rtw89_roc_start(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif)
 
 void rtw89_roc_end(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif)
 {
+       const struct rtw89_mac_gen_def *mac = rtwdev->chip->mac_def;
        struct ieee80211_hw *hw = rtwdev->hw;
        struct rtw89_roc *roc = &rtwvif->roc;
        struct rtw89_vif *tmp;
@@ -2525,7 +2527,7 @@ void rtw89_roc_end(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif)
        rtw89_leave_lps(rtwdev);
 
        rtw89_write32_mask(rtwdev,
-                          rtw89_mac_reg_by_idx(rtwdev, R_AX_RX_FLTR_OPT, RTW89_MAC_0),
+                          rtw89_mac_reg_by_idx(rtwdev, mac->rx_fltr, RTW89_MAC_0),
                           B_AX_RX_FLTR_CFG_MASK,
                           rtwdev->hal.rx_fltr);