]> git.baikalelectronics.ru Git - kernel.git/commitdiff
rtw88: Use secondary channel offset enumeration
authorPing-Ke Shih <pkshih@realtek.com>
Thu, 30 Jan 2020 05:31:11 +0000 (13:31 +0800)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 12 Feb 2020 16:20:39 +0000 (18:20 +0200)
The hardware value of secondary channel offset isn't very intuitive. This
commit adds enumeration, so we can easier to check the logic with the
suffix of enumeration name, likes _UPPER or _LOWER.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
Reviewed-by: Chris Chiu <chiu@endlessm.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/realtek/rtw88/mac.c
drivers/net/wireless/realtek/rtw88/main.c
drivers/net/wireless/realtek/rtw88/main.h
drivers/net/wireless/realtek/rtw88/rtw8822b.c
drivers/net/wireless/realtek/rtw88/rtw8822c.c

index cadf0abbe16bb9b8932f58e9aa3e44002f518362..ec2c1adcb90045fa3b11eb89252b7ce9f8e9b116 100644 (file)
@@ -17,10 +17,10 @@ void rtw_set_channel_mac(struct rtw_dev *rtwdev, u8 channel, u8 bw,
 
        txsc20 = primary_ch_idx;
        if (bw == RTW_CHANNEL_WIDTH_80) {
-               if (txsc20 == 1 || txsc20 == 3)
-                       txsc40 = 9;
+               if (txsc20 == RTW_SC_20_UPPER || txsc20 == RTW_SC_20_UPMOST)
+                       txsc40 = RTW_SC_40_UPPER;
                else
-                       txsc40 = 10;
+                       txsc40 = RTW_SC_40_LOWER;
        }
        rtw_write8(rtwdev, REG_DATA_SC,
                   BIT_TXSC_20M(txsc20) | BIT_TXSC_40M(txsc40));
index edecc7d7ea565f45839e8720897f6eb9b076927d..2f73820cd9ba542ebb632267a9460ea87ddcc2a5 100644 (file)
@@ -317,15 +317,15 @@ void rtw_get_channel_params(struct cfg80211_chan_def *chandef,
        case NL80211_CHAN_WIDTH_20_NOHT:
        case NL80211_CHAN_WIDTH_20:
                bandwidth = RTW_CHANNEL_WIDTH_20;
-               primary_chan_idx = 0;
+               primary_chan_idx = RTW_SC_DONT_CARE;
                break;
        case NL80211_CHAN_WIDTH_40:
                bandwidth = RTW_CHANNEL_WIDTH_40;
                if (primary_freq > center_freq) {
-                       primary_chan_idx = 1;
+                       primary_chan_idx = RTW_SC_20_UPPER;
                        center_chan -= 2;
                } else {
-                       primary_chan_idx = 2;
+                       primary_chan_idx = RTW_SC_20_LOWER;
                        center_chan += 2;
                }
                break;
@@ -333,10 +333,10 @@ void rtw_get_channel_params(struct cfg80211_chan_def *chandef,
                bandwidth = RTW_CHANNEL_WIDTH_80;
                if (primary_freq > center_freq) {
                        if (primary_freq - center_freq == 10) {
-                               primary_chan_idx = 1;
+                               primary_chan_idx = RTW_SC_20_UPPER;
                                center_chan -= 2;
                        } else {
-                               primary_chan_idx = 3;
+                               primary_chan_idx = RTW_SC_20_UPMOST;
                                center_chan -= 6;
                        }
                        /* assign the center channel used
@@ -345,10 +345,10 @@ void rtw_get_channel_params(struct cfg80211_chan_def *chandef,
                        cch_by_bw[RTW_CHANNEL_WIDTH_40] = center_chan + 4;
                } else {
                        if (center_freq - primary_freq == 10) {
-                               primary_chan_idx = 2;
+                               primary_chan_idx = RTW_SC_20_LOWER;
                                center_chan += 2;
                        } else {
-                               primary_chan_idx = 4;
+                               primary_chan_idx = RTW_SC_20_LOWEST;
                                center_chan += 6;
                        }
                        /* assign the center channel used
index f334d201bfb5e927d2184e146bacc18fa324a063..d11f3a26b7bfe4bef8cd0a1bd0eefd93b405f60c 100644 (file)
@@ -99,6 +99,16 @@ enum rtw_bandwidth {
        RTW_CHANNEL_WIDTH_10    = 6,
 };
 
+enum rtw_sc_offset {
+       RTW_SC_DONT_CARE        = 0,
+       RTW_SC_20_UPPER         = 1,
+       RTW_SC_20_LOWER         = 2,
+       RTW_SC_20_UPMOST        = 3,
+       RTW_SC_20_LOWEST        = 4,
+       RTW_SC_40_UPPER         = 9,
+       RTW_SC_40_LOWER         = 10,
+};
+
 enum rtw_net_type {
        RTW_NET_NO_LINK         = 0,
        RTW_NET_AD_HOC          = 1,
index 4bc14b1a634023e4b3110a3638c3e414504ebf7c..2eed777ee692893e8cc2fe6662f03b47b7826d6c 100644 (file)
@@ -645,7 +645,7 @@ static void rtw8822b_set_channel_bb(struct rtw_dev *rtwdev, u8 channel, u8 bw,
                rtw_write32_mask(rtwdev, REG_ADC160, BIT(30), 0x1);
                break;
        case RTW_CHANNEL_WIDTH_40:
-               if (primary_ch_idx == 1)
+               if (primary_ch_idx == RTW_SC_20_UPPER)
                        rtw_write32_set(rtwdev, REG_RXSB, BIT(4));
                else
                        rtw_write32_clr(rtwdev, REG_RXSB, BIT(4));
index d49c8b697e4fcea2d0f9ff14dda09b2c14f6ea9a..56de9d0c5c10860c69bbf920458ae7950c08dffc 100644 (file)
@@ -1482,7 +1482,7 @@ static void rtw8822c_set_channel_bb(struct rtw_dev *rtwdev, u8 channel, u8 bw,
                break;
        case RTW_CHANNEL_WIDTH_40:
                rtw_write32_mask(rtwdev, REG_CCKSB, BIT(4),
-                                (primary_ch_idx == 1 ? 1 : 0));
+                                (primary_ch_idx == RTW_SC_20_UPPER ? 1 : 0));
                rtw_write32_mask(rtwdev, REG_TXBWCTL, 0xf, 0x5);
                rtw_write32_mask(rtwdev, REG_TXBWCTL, 0xc0, 0x0);
                rtw_write32_mask(rtwdev, REG_TXBWCTL, 0xff00,