summaryrefslogtreecommitdiff
path: root/drivers/staging
diff options
context:
space:
mode:
authorQuytelda Kahja <quytelda@tamalin.org>2018-06-16 22:30:36 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-06-28 22:03:16 +0900
commit81dff62b3d03e9050a6ab4da3d1c8fd8f14b2495 (patch)
tree41f1e0a39e4b34970ceb80531b328faa879b590b /drivers/staging
parent9ca65c3041fd296af74ff7e356865217fba58e50 (diff)
staging: rtl8723bs: Move bandwidth index lookup to new function.
Factoring out the conditional lookup of bandwidth index into the power limit table into it's own function simplifies the logic of 'phy_get_tx_pwr_lmt()'. Signed-off-by: Quytelda Kahja <quytelda@tamalin.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/rtl8723bs/hal/hal_com_phycfg.c26
1 files changed, 17 insertions, 9 deletions
diff --git a/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c b/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
index 4b5219481b33..6d8a07ac7bb3 100644
--- a/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
+++ b/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
@@ -1612,6 +1612,22 @@ static s8 phy_GetChannelIndexOfTxPowerLimit(u8 Band, u8 Channel)
return channelIndex;
}
+static s16 get_bandwidth_idx(const enum CHANNEL_WIDTH bandwidth)
+{
+ switch (bandwidth) {
+ case CHANNEL_WIDTH_20:
+ return 0;
+ case CHANNEL_WIDTH_40:
+ return 1;
+ case CHANNEL_WIDTH_80:
+ return 2;
+ case CHANNEL_WIDTH_160:
+ return 3;
+ default:
+ return -1;
+ }
+}
+
static s16 get_rate_sctn_idx(const u8 rate)
{
switch (rate) {
@@ -1703,15 +1719,7 @@ s8 phy_get_tx_pwr_lmt(struct adapter *adapter, u32 reg_pwr_tbl_sel,
else if (band_type == BAND_ON_5G)
idx_band = 1;
- if (bandwidth == CHANNEL_WIDTH_20)
- idx_bandwidth = 0;
- else if (bandwidth == CHANNEL_WIDTH_40)
- idx_bandwidth = 1;
- else if (bandwidth == CHANNEL_WIDTH_80)
- idx_bandwidth = 2;
- else if (bandwidth == CHANNEL_WIDTH_160)
- idx_bandwidth = 3;
-
+ idx_bandwidth = get_bandwidth_idx(bandwidth);
idx_rate_sctn = get_rate_sctn_idx(data_rate);
if (band_type == BAND_ON_5G && idx_rate_sctn == 0)