ath9k: drop redundant code in ar9003_hw_set_channel
authorTomislav Požega <pozega.tomislav@gmail.com>
Thu, 14 Mar 2019 14:07:50 +0000 (15:07 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 29 Apr 2019 14:56:03 +0000 (17:56 +0300)
AR9330, AR9485, AR9531, AR9550, AR9561 and AR9565 all use same
channel set register configuration which allows for small code
size reduction.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath9k/ar9003_phy.c

index 98c5f524a360348e15e36751a173e620d715fd3f..daf30f9946b481fc4892c7e3eec198d1eeac2b14 100644 (file)
@@ -157,7 +157,9 @@ static int ar9003_hw_set_channel(struct ath_hw *ah, struct ath9k_channel *chan)
        freq = centers.synth_center;
 
        if (freq < 4800) {     /* 2 GHz, fractional mode */
-               if (AR_SREV_9330(ah)) {
+               if (AR_SREV_9330(ah) || AR_SREV_9485(ah) ||
+                   AR_SREV_9531(ah) || AR_SREV_9550(ah) ||
+                   AR_SREV_9561(ah) || AR_SREV_9565(ah)) {
                        if (ah->is_clk_25mhz)
                                div = 75;
                        else
@@ -166,16 +168,6 @@ static int ar9003_hw_set_channel(struct ath_hw *ah, struct ath9k_channel *chan)
                        channelSel = (freq * 4) / div;
                        chan_frac = (((freq * 4) % div) * 0x20000) / div;
                        channelSel = (channelSel << 17) | chan_frac;
-               } else if (AR_SREV_9485(ah) || AR_SREV_9565(ah)) {
-                       /*
-                        * freq_ref = 40 / (refdiva >> amoderefsel);
-                        * where refdiva=1 and amoderefsel=0
-                        * ndiv = ((chan_mhz * 4) / 3) / freq_ref;
-                        * chansel = int(ndiv), chanfrac = (ndiv - chansel) * 0x20000
-                        */
-                       channelSel = (freq * 4) / 120;
-                       chan_frac = (((freq * 4) % 120) * 0x20000) / 120;
-                       channelSel = (channelSel << 17) | chan_frac;
                } else if (AR_SREV_9340(ah)) {
                        if (ah->is_clk_25mhz) {
                                channelSel = (freq * 2) / 75;
@@ -184,16 +176,6 @@ static int ar9003_hw_set_channel(struct ath_hw *ah, struct ath9k_channel *chan)
                        } else {
                                channelSel = CHANSEL_2G(freq) >> 1;
                        }
-               } else if (AR_SREV_9550(ah) || AR_SREV_9531(ah) ||
-                          AR_SREV_9561(ah)) {
-                       if (ah->is_clk_25mhz)
-                               div = 75;
-                       else
-                               div = 120;
-
-                       channelSel = (freq * 4) / div;
-                       chan_frac = (((freq * 4) % div) * 0x20000) / div;
-                       channelSel = (channelSel << 17) | chan_frac;
                } else {
                        channelSel = CHANSEL_2G(freq);
                }