2018-02-06 13:41:03

by Kangmin Park

[permalink] [raw]
Subject: [PATCH] Resolve RF Type mismatch

Match rf_type of staging/rtlwifi/wifi.h and staging/rtl8723bs/include/rtw_rf.h,
and update some additional code that resulted.

Signed-off-by: Kangmin Park <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
---


diff --git a/drivers/staging/rtl8723bs/hal/odm.h
b/drivers/staging/rtl8723bs/hal/odm.h
index 87a76ba..dbb78fe 100644
--- a/drivers/staging/rtl8723bs/hal/odm.h
+++ b/drivers/staging/rtl8723bs/hal/odm.h
@@ -511,14 +511,15 @@ typedef enum tag_ODM_RF_Path_Bit_Definition {


typedef enum tag_ODM_RF_Type_Definition {
- ODM_1T1R = 0,
- ODM_1T2R = 1,
- ODM_2T2R = 2,
- ODM_2T3R = 3,
- ODM_2T4R = 4,
- ODM_3T3R = 5,
- ODM_3T4R = 6,
- ODM_4T4R = 7,
+ ODM_1T1R = 0,
+ ODM_1T2R = 1,
+ ODM_2T2R = 2,
+ ODM_2T2R_GREEN = 3,
+ ODM_2T3R = 4,
+ ODM_2T4R = 5,
+ ODM_3T3R = 6,
+ ODM_3T4R = 7,
+ ODM_4T4R = 8,
} ODM_RF_TYPE_E;


diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c
b/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c
index b162559..20dcdcd 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c
@@ -64,10 +64,22 @@ static void Init_ODM_ComInfo_8723b(struct adapter *Adapter)

if (pHalData->rf_type == RF_1T1R) {
ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_1T1R);
- } else if (pHalData->rf_type == RF_2T2R) {
- ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_2T2R);
} else if (pHalData->rf_type == RF_1T2R) {
ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_1T2R);
+ } else if (pHalData->rf_type == RF_2T2R) {
+ ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_2T2R);
+ } else if (pHalData->rf_type == RF_2T2R_GREEN) {
+ ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_2T2R_GREEN);
+ } else if (pHalData->rf_type == RF_2T3R) {
+ ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_2T3R);
+ } else if (pHalData->rf_type == RF_2T4R) {
+ ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_2T4R);
+ } else if (pHalData->rf_type == RF_3T3R) {
+ ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_3T3R);
+ } else if (pHalData->rf_type == RF_3T4R) {
+ ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_3T4R);
+ } else if (pHalData->rf_type == RF_4T4R) {
+ ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_RF_TYPE, ODM_4T4R);
}

pdmpriv->InitODMFlag = ODM_RF_CALIBRATION|ODM_RF_TX_PWR_TRACK;
diff --git a/drivers/staging/rtl8723bs/include/rtw_rf.h
b/drivers/staging/rtl8723bs/include/rtw_rf.h
index f9becab..7ef113d1 100644
--- a/drivers/staging/rtl8723bs/include/rtw_rf.h
+++ b/drivers/staging/rtl8723bs/include/rtw_rf.h
@@ -146,12 +146,17 @@ enum PROTECTION_MODE {

/* 2007/11/15 MH Define different RF type. */
enum RT_RF_TYPE_DEFINITION {
- RF_1T2R = 0,
- RF_2T4R = 1,
+ RF_1T1R = 0,
+ RF_1T2R = 1,
RF_2T2R = 2,
- RF_1T1R = 3,
- RF_2T2R_GREEN = 4,
- RF_MAX_TYPE = 5,
+ RF_2T2R_GREEN = 3,
+ RF_2T3R = 4,
+ RF_2T4R = 5,
+ RF_3T3R = 6,
+ RF_3T4R = 7,
+ RF_4T4R = 8,
+
+ RF_MAX_TYPE = 0xF
};

u32 rtw_ch2freq(u32 ch);
diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
index 51d48de..520d2f6 100644
--- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
+++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
@@ -3299,7 +3299,7 @@ static int cfg80211_rtw_sched_scan_stop(struct
wiphy *wiphy,

static void rtw_cfg80211_init_ht_capab(struct ieee80211_sta_ht_cap
*ht_cap, enum nl80211_band band, u8 rf_type)
{
-
+#define MAX_BIT_RATE_40MHZ_MCS23 450 /* Mbps */
#define MAX_BIT_RATE_40MHZ_MCS15 300 /* Mbps */
#define MAX_BIT_RATE_40MHZ_MCS7 150 /* Mbps */

@@ -3338,7 +3338,7 @@ static void rtw_cfg80211_init_ht_capab(struct
ieee80211_sta_ht_cap *ht_cap, enum

ht_cap->mcs.rx_highest = cpu_to_le16(MAX_BIT_RATE_40MHZ_MCS7);
}
- else if ((rf_type == RF_1T2R) || (rf_type ==RF_2T2R))
+ else if ((rf_type == RF_1T2R) || (rf_type == RF_2T2R) || (rf_type ==
RF_2T2R_GREEN))
{
ht_cap->mcs.rx_mask[0] = 0xFF;
ht_cap->mcs.rx_mask[1] = 0xFF;
@@ -3346,6 +3346,14 @@ static void rtw_cfg80211_init_ht_capab(struct
ieee80211_sta_ht_cap *ht_cap, enum

ht_cap->mcs.rx_highest = cpu_to_le16(MAX_BIT_RATE_40MHZ_MCS15);
}
+ else if ((rf_type == RF_2T3R) || (rf_type == RF_3T3R))
+ {
+ ht_cap->mcs.rx_mask[0] = 0xFF;
+ ht_cap->mcs.rx_mask[1] = 0xFF;
+ ht_cap->mcs.rx_mask[2] = 0xFF;
+
+ ht_cap->mcs.rx_highest = cpu_to_le16(MAX_BIT_RATE_40MHZ_MCS23);
+ }
else
{
DBG_8192C("%s, error rf_type =%d\n", __func__, rf_type);


2018-02-06 14:39:03

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] Resolve RF Type mismatch

On Tue, Feb 06, 2018 at 10:39:45PM +0900, Kangmin Park wrote:
> Match rf_type of staging/rtlwifi/wifi.h and staging/rtl8723bs/include/rtw_rf.h,
> and update some additional code that resulted.
>
> Signed-off-by: Kangmin Park <[email protected]>
> Cc: Greg Kroah-Hartman <[email protected]>
> ---
>
>
> diff --git a/drivers/staging/rtl8723bs/hal/odm.h
> b/drivers/staging/rtl8723bs/hal/odm.h
> index 87a76ba..dbb78fe 100644
> --- a/drivers/staging/rtl8723bs/hal/odm.h
> +++ b/drivers/staging/rtl8723bs/hal/odm.h
> @@ -511,14 +511,15 @@ typedef enum tag_ODM_RF_Path_Bit_Definition {
>
>
> typedef enum tag_ODM_RF_Type_Definition {
> - ODM_1T1R = 0,
> - ODM_1T2R = 1,
> - ODM_2T2R = 2,
> - ODM_2T3R = 3,
> - ODM_2T4R = 4,
> - ODM_3T3R = 5,
> - ODM_3T4R = 6,
> - ODM_4T4R = 7,
> + ODM_1T1R = 0,
> + ODM_1T2R = 1,
> + ODM_2T2R = 2,
> + ODM_2T2R_GREEN = 3,
> + ODM_2T3R = 4,
> + ODM_2T4R = 5,
> + ODM_3T3R = 6,
> + ODM_3T4R = 7,
> + ODM_4T4R = 8,
> } ODM_RF_TYPE_E;
>
>

Whitespace seems to be totally broken in your patch, making it
impossible to apply :(

Please try fixing up your email client and trying again.

Also, use the scripts/get_maintainer.pl tool on your patch to know what
mailing lists and people to cc: for a patch.

thanks,

greg k-h