* [PATCH 00/11] staging: rtl8723bs: fix extern declaration checkpatch issues [not found] <YFbvwZjwMa4mPsn8@kroah.com> @ 2021-03-22 14:31 ` Fabio Aiuto 2021-03-22 14:31 ` [PATCH 01/11] staging: rtl8723bs: delete extern declarations in core/rtw_ap.c Fabio Aiuto ` (10 more replies) 0 siblings, 11 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-22 14:31 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto Fix extern declaration issues warned by checkpatch Fabio Aiuto (11): staging: rtl8723bs: delete extern declarations in core/rtw_ap.c staging: rtl8723bs: moved function prototypes out of core/rtw_efuse.c staging: rtl8723bs: moved function prototype out of core/rtw_ioctl_set.c and core/rtw_mlme.c staging: rtl8723bs: moved function prototypes out of core/rtw_recv.c staging: rtl8723bs: remove argument in recv_indicatepkts_pkt_loss_cnt staging: rtl8723bs: move function prototype out of core/rtw_recv.c staging: rtl8723bs: delete extern declarations in core/rtw_wlan_util.c staging: rtl8723bs: move function prototypes out of hal/odm.c staging: rtl8723bs: move function prototypes out of os_dep/int_fs.c staging: rtl8723bs: remove undefined function prototype in of os_dep/sdio_intf.c staging: rtl8723bs: remove unnecessary extern in os_dep/sdio_intf.c drivers/staging/rtl8723bs/core/rtw_ap.c | 5 -- drivers/staging/rtl8723bs/core/rtw_efuse.c | 10 --- .../staging/rtl8723bs/core/rtw_ioctl_set.c | 1 - drivers/staging/rtl8723bs/core/rtw_mlme.c | 2 - drivers/staging/rtl8723bs/core/rtw_recv.c | 41 ++--------- .../staging/rtl8723bs/core/rtw_wlan_util.c | 3 - drivers/staging/rtl8723bs/hal/odm.c | 68 ------------------- drivers/staging/rtl8723bs/hal/odm.h | 62 +++++++++++++++++ .../staging/rtl8723bs/include/osdep_intf.h | 3 + drivers/staging/rtl8723bs/include/rtw_efuse.h | 3 + .../staging/rtl8723bs/include/rtw_ioctl_set.h | 2 + drivers/staging/rtl8723bs/include/rtw_recv.h | 53 +++++++++++++++ drivers/staging/rtl8723bs/os_dep/os_intfs.c | 3 - drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 3 - 14 files changed, 129 insertions(+), 130 deletions(-) -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH 01/11] staging: rtl8723bs: delete extern declarations in core/rtw_ap.c 2021-03-22 14:31 ` [PATCH 00/11] staging: rtl8723bs: fix extern declaration checkpatch issues Fabio Aiuto @ 2021-03-22 14:31 ` Fabio Aiuto 2021-03-22 14:31 ` [PATCH 02/11] staging: rtl8723bs: moved function prototypes out of core/rtw_efuse.c Fabio Aiuto ` (9 subsequent siblings) 10 siblings, 0 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-22 14:31 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto delete extern declaration in .c file (RTW_WPA_OUI) and fix the following checkpatch issues: WARNING: externs should be avoided in .c files 14: FILE: drivers/staging/rtl8723bs/core/rtw_ap.c:14: +extern unsigned char WMM_OUI[]; -- WARNING: externs should be avoided in .c files 15: FILE: drivers/staging/rtl8723bs/core/rtw_ap.c:15: +extern unsigned char WPS_OUI[]; -- WARNING: externs should be avoided in .c files 16: FILE: drivers/staging/rtl8723bs/core/rtw_ap.c:16: +extern unsigned char P2P_OUI[]; Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/core/rtw_ap.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_ap.c b/drivers/staging/rtl8723bs/core/rtw_ap.c index a01b68274fa0..3cd9c61eec99 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ap.c +++ b/drivers/staging/rtl8723bs/core/rtw_ap.c @@ -10,11 +10,6 @@ #include <rtw_debug.h> #include <asm/unaligned.h> -extern unsigned char RTW_WPA_OUI[]; -extern unsigned char WMM_OUI[]; -extern unsigned char WPS_OUI[]; -extern unsigned char P2P_OUI[]; - void init_mlme_ap_info(struct adapter *padapter) { struct mlme_priv *pmlmepriv = &padapter->mlmepriv; -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 02/11] staging: rtl8723bs: moved function prototypes out of core/rtw_efuse.c 2021-03-22 14:31 ` [PATCH 00/11] staging: rtl8723bs: fix extern declaration checkpatch issues Fabio Aiuto 2021-03-22 14:31 ` [PATCH 01/11] staging: rtl8723bs: delete extern declarations in core/rtw_ap.c Fabio Aiuto @ 2021-03-22 14:31 ` Fabio Aiuto 2021-03-22 16:07 ` Greg KH 2021-03-22 19:29 ` Dan Carpenter 2021-03-22 14:31 ` [PATCH 03/11] staging: rtl8723bs: moved function prototype out of core/rtw_ioctl_set.c and core/rtw_mlme.c Fabio Aiuto ` (8 subsequent siblings) 10 siblings, 2 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-22 14:31 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto fix the following checkpatch issues: WARNING: externs should be avoided in .c files 35: FILE: drivers/staging/rtl8723bs/core/rtw_efuse.c:35: +bool moved two function prototypes in include/rtw_efuse.h Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/core/rtw_efuse.c | 10 ---------- drivers/staging/rtl8723bs/include/rtw_efuse.h | 3 +++ 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_efuse.c b/drivers/staging/rtl8723bs/core/rtw_efuse.c index 32ca10f01413..0772397738d4 100644 --- a/drivers/staging/rtl8723bs/core/rtw_efuse.c +++ b/drivers/staging/rtl8723bs/core/rtw_efuse.c @@ -32,11 +32,6 @@ u8 fakeBTEfuseModifiedMap[EFUSE_BT_MAX_MAP_LEN] = {0}; #define REG_EFUSE_CTRL 0x0030 #define EFUSE_CTRL REG_EFUSE_CTRL /* E-Fuse Control. */ -bool -Efuse_Read1ByteFromFakeContent( - struct adapter *padapter, - u16 Offset, - u8 *Value); bool Efuse_Read1ByteFromFakeContent( struct adapter *padapter, @@ -53,11 +48,6 @@ Efuse_Read1ByteFromFakeContent( return true; } -bool -Efuse_Write1ByteToFakeContent( - struct adapter *padapter, - u16 Offset, - u8 Value); bool Efuse_Write1ByteToFakeContent( struct adapter *padapter, diff --git a/drivers/staging/rtl8723bs/include/rtw_efuse.h b/drivers/staging/rtl8723bs/include/rtw_efuse.h index 5bae46ecd9de..1f304df8c421 100644 --- a/drivers/staging/rtl8723bs/include/rtw_efuse.h +++ b/drivers/staging/rtl8723bs/include/rtw_efuse.h @@ -103,6 +103,9 @@ extern u8 fakeBTEfuseInitMap[]; extern u8 fakeBTEfuseModifiedMap[]; /*------------------------Export global variable----------------------------*/ +bool Efuse_Read1ByteFromFakeContent(struct adapter *padapter, u16 Offset, u8 *Value); +bool Efuse_Write1ByteToFakeContent(struct adapter *padapter, u16 Offset, u8 Value); + u16 Efuse_GetCurrentSize(struct adapter *padapter, u8 efuseType, bool bPseudoTest); u8 Efuse_CalculateWordCnts(u8 word_en); void EFUSE_GetEfuseDefinition(struct adapter *padapter, u8 efuseType, u8 type, void *pOut, bool bPseudoTest); -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH 02/11] staging: rtl8723bs: moved function prototypes out of core/rtw_efuse.c 2021-03-22 14:31 ` [PATCH 02/11] staging: rtl8723bs: moved function prototypes out of core/rtw_efuse.c Fabio Aiuto @ 2021-03-22 16:07 ` Greg KH 2021-03-22 18:22 ` Fabio Aiuto 2021-03-22 19:29 ` Dan Carpenter 1 sibling, 1 reply; 31+ messages in thread From: Greg KH @ 2021-03-22 16:07 UTC (permalink / raw) To: Fabio Aiuto; +Cc: joe, apw, devel, linux-kernel On Mon, Mar 22, 2021 at 03:31:40PM +0100, Fabio Aiuto wrote: > fix the following checkpatch issues: > > WARNING: externs should be avoided in .c files > 35: FILE: drivers/staging/rtl8723bs/core/rtw_efuse.c:35: > +bool > > moved two function prototypes in include/rtw_efuse.h > > Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> > --- > drivers/staging/rtl8723bs/core/rtw_efuse.c | 10 ---------- > drivers/staging/rtl8723bs/include/rtw_efuse.h | 3 +++ > 2 files changed, 3 insertions(+), 10 deletions(-) > > diff --git a/drivers/staging/rtl8723bs/core/rtw_efuse.c b/drivers/staging/rtl8723bs/core/rtw_efuse.c > index 32ca10f01413..0772397738d4 100644 > --- a/drivers/staging/rtl8723bs/core/rtw_efuse.c > +++ b/drivers/staging/rtl8723bs/core/rtw_efuse.c > @@ -32,11 +32,6 @@ u8 fakeBTEfuseModifiedMap[EFUSE_BT_MAX_MAP_LEN] = {0}; > #define REG_EFUSE_CTRL 0x0030 > #define EFUSE_CTRL REG_EFUSE_CTRL /* E-Fuse Control. */ > > -bool > -Efuse_Read1ByteFromFakeContent( > - struct adapter *padapter, > - u16 Offset, > - u8 *Value); > bool > Efuse_Read1ByteFromFakeContent( > struct adapter *padapter, > @@ -53,11 +48,6 @@ Efuse_Read1ByteFromFakeContent( > return true; > } > > -bool > -Efuse_Write1ByteToFakeContent( > - struct adapter *padapter, > - u16 Offset, > - u8 Value); > bool > Efuse_Write1ByteToFakeContent( > struct adapter *padapter, > diff --git a/drivers/staging/rtl8723bs/include/rtw_efuse.h b/drivers/staging/rtl8723bs/include/rtw_efuse.h > index 5bae46ecd9de..1f304df8c421 100644 > --- a/drivers/staging/rtl8723bs/include/rtw_efuse.h > +++ b/drivers/staging/rtl8723bs/include/rtw_efuse.h > @@ -103,6 +103,9 @@ extern u8 fakeBTEfuseInitMap[]; > extern u8 fakeBTEfuseModifiedMap[]; > /*------------------------Export global variable----------------------------*/ > > +bool Efuse_Read1ByteFromFakeContent(struct adapter *padapter, u16 Offset, u8 *Value); > +bool Efuse_Write1ByteToFakeContent(struct adapter *padapter, u16 Offset, u8 Value); No, there's no need for this to be in a .h file, it is only called from one .c file. Make the thing static and all should be fine, right? thanks, greg k-h _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 02/11] staging: rtl8723bs: moved function prototypes out of core/rtw_efuse.c 2021-03-22 16:07 ` Greg KH @ 2021-03-22 18:22 ` Fabio Aiuto 0 siblings, 0 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-22 18:22 UTC (permalink / raw) To: Greg KH; +Cc: joe, apw, devel, linux-kernel On Mon, Mar 22, 2021 at 05:07:53PM +0100, Greg KH wrote: > On Mon, Mar 22, 2021 at 03:31:40PM +0100, Fabio Aiuto wrote: > > fix the following checkpatch issues: > > > > WARNING: externs should be avoided in .c files > > 35: FILE: drivers/staging/rtl8723bs/core/rtw_efuse.c:35: > > +bool > > > > moved two function prototypes in include/rtw_efuse.h > > > > Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> > > --- > > drivers/staging/rtl8723bs/core/rtw_efuse.c | 10 ---------- > > drivers/staging/rtl8723bs/include/rtw_efuse.h | 3 +++ > > 2 files changed, 3 insertions(+), 10 deletions(-) > > > > diff --git a/drivers/staging/rtl8723bs/core/rtw_efuse.c b/drivers/staging/rtl8723bs/core/rtw_efuse.c > > index 32ca10f01413..0772397738d4 100644 > > --- a/drivers/staging/rtl8723bs/core/rtw_efuse.c > > +++ b/drivers/staging/rtl8723bs/core/rtw_efuse.c > > @@ -32,11 +32,6 @@ u8 fakeBTEfuseModifiedMap[EFUSE_BT_MAX_MAP_LEN] = {0}; > > #define REG_EFUSE_CTRL 0x0030 > > #define EFUSE_CTRL REG_EFUSE_CTRL /* E-Fuse Control. */ > > > > -bool > > -Efuse_Read1ByteFromFakeContent( > > - struct adapter *padapter, > > - u16 Offset, > > - u8 *Value); > > bool > > Efuse_Read1ByteFromFakeContent( > > struct adapter *padapter, > > @@ -53,11 +48,6 @@ Efuse_Read1ByteFromFakeContent( > > return true; > > } > > > > -bool > > -Efuse_Write1ByteToFakeContent( > > - struct adapter *padapter, > > - u16 Offset, > > - u8 Value); > > bool > > Efuse_Write1ByteToFakeContent( > > struct adapter *padapter, > > diff --git a/drivers/staging/rtl8723bs/include/rtw_efuse.h b/drivers/staging/rtl8723bs/include/rtw_efuse.h > > index 5bae46ecd9de..1f304df8c421 100644 > > --- a/drivers/staging/rtl8723bs/include/rtw_efuse.h > > +++ b/drivers/staging/rtl8723bs/include/rtw_efuse.h > > @@ -103,6 +103,9 @@ extern u8 fakeBTEfuseInitMap[]; > > extern u8 fakeBTEfuseModifiedMap[]; > > /*------------------------Export global variable----------------------------*/ > > > > +bool Efuse_Read1ByteFromFakeContent(struct adapter *padapter, u16 Offset, u8 *Value); > > +bool Efuse_Write1ByteToFakeContent(struct adapter *padapter, u16 Offset, u8 Value); > > No, there's no need for this to be in a .h file, it is only called from > one .c file. > > Make the thing static and all should be fine, right? > > thanks, > > greg k-h ok, better static function when possibile. Thank you Greg, fabio _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 02/11] staging: rtl8723bs: moved function prototypes out of core/rtw_efuse.c 2021-03-22 14:31 ` [PATCH 02/11] staging: rtl8723bs: moved function prototypes out of core/rtw_efuse.c Fabio Aiuto 2021-03-22 16:07 ` Greg KH @ 2021-03-22 19:29 ` Dan Carpenter 2021-03-23 13:25 ` Fabio Aiuto 1 sibling, 1 reply; 31+ messages in thread From: Dan Carpenter @ 2021-03-22 19:29 UTC (permalink / raw) To: Fabio Aiuto; +Cc: joe, gregkh, devel, apw, linux-kernel On Mon, Mar 22, 2021 at 03:31:40PM +0100, Fabio Aiuto wrote: > fix the following checkpatch issues: > > WARNING: externs should be avoided in .c files > 35: FILE: drivers/staging/rtl8723bs/core/rtw_efuse.c:35: > +bool > > moved two function prototypes in include/rtw_efuse.h Can't you just make these functions static instead? regards, dan carpenter _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 02/11] staging: rtl8723bs: moved function prototypes out of core/rtw_efuse.c 2021-03-22 19:29 ` Dan Carpenter @ 2021-03-23 13:25 ` Fabio Aiuto 0 siblings, 0 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-23 13:25 UTC (permalink / raw) To: Dan Carpenter; +Cc: joe, gregkh, devel, apw, linux-kernel On Mon, Mar 22, 2021 at 10:29:27PM +0300, Dan Carpenter wrote: > On Mon, Mar 22, 2021 at 03:31:40PM +0100, Fabio Aiuto wrote: > > fix the following checkpatch issues: > > > > WARNING: externs should be avoided in .c files > > 35: FILE: drivers/staging/rtl8723bs/core/rtw_efuse.c:35: > > +bool > > > > moved two function prototypes in include/rtw_efuse.h > > Can't you just make these functions static instead? > > regards, > dan carpenter > Hi Dan, sorry for my recent spamming, I forgot to cc you in my patchset v2 submit. Thank you, fabio _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH 03/11] staging: rtl8723bs: moved function prototype out of core/rtw_ioctl_set.c and core/rtw_mlme.c 2021-03-22 14:31 ` [PATCH 00/11] staging: rtl8723bs: fix extern declaration checkpatch issues Fabio Aiuto 2021-03-22 14:31 ` [PATCH 01/11] staging: rtl8723bs: delete extern declarations in core/rtw_ap.c Fabio Aiuto 2021-03-22 14:31 ` [PATCH 02/11] staging: rtl8723bs: moved function prototypes out of core/rtw_efuse.c Fabio Aiuto @ 2021-03-22 14:31 ` Fabio Aiuto 2021-03-22 16:09 ` Greg KH 2021-03-22 14:31 ` [PATCH 04/11] staging: rtl8723bs: moved function prototypes out of core/rtw_recv.c Fabio Aiuto ` (7 subsequent siblings) 10 siblings, 1 reply; 31+ messages in thread From: Fabio Aiuto @ 2021-03-22 14:31 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto fix the following checkpatch issues: WARNING: externs should be avoided in .c files 40: FILE: drivers/staging/rtl8723bs/core/rtw_ioctl_set.c:40: +u8 rtw_do_join(struct adapter *padapter); WARNING: externs should be avoided in .c files 15: FILE: drivers/staging/rtl8723bs/core/rtw_mlme.c:15: +extern u8 rtw_do_join(struct adapter *padapter); moved function prototype in include/rtw_ioctl_set.h Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/core/rtw_ioctl_set.c | 1 - drivers/staging/rtl8723bs/core/rtw_mlme.c | 2 -- drivers/staging/rtl8723bs/include/rtw_ioctl_set.h | 2 ++ 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c index cb14855742f7..7d858cae2395 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c +++ b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c @@ -37,7 +37,6 @@ u8 rtw_validate_ssid(struct ndis_802_11_ssid *ssid) return ret; } -u8 rtw_do_join(struct adapter *padapter); u8 rtw_do_join(struct adapter *padapter) { struct list_head *plist, *phead; diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index 95cfef118a94..1ee86ec2dee7 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -12,8 +12,6 @@ #include <hal_btcoex.h> #include <linux/jiffies.h> -extern u8 rtw_do_join(struct adapter *padapter); - int rtw_init_mlme_priv(struct adapter *padapter) { int i; diff --git a/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h b/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h index 4b929b84040a..55722c1366aa 100644 --- a/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h +++ b/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h @@ -28,6 +28,8 @@ u8 rtw_set_802_11_connect(struct adapter *padapter, u8 *bssid, struct ndis_802_1 u8 rtw_validate_bssid(u8 *bssid); u8 rtw_validate_ssid(struct ndis_802_11_ssid *ssid); +u8 rtw_do_join(struct adapter *padapter); + u16 rtw_get_cur_max_rate(struct adapter *adapter); #endif -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH 03/11] staging: rtl8723bs: moved function prototype out of core/rtw_ioctl_set.c and core/rtw_mlme.c 2021-03-22 14:31 ` [PATCH 03/11] staging: rtl8723bs: moved function prototype out of core/rtw_ioctl_set.c and core/rtw_mlme.c Fabio Aiuto @ 2021-03-22 16:09 ` Greg KH 2021-03-23 12:56 ` [PATCH v2 0/9] fix extern declarations checkpatch issues Fabio Aiuto 0 siblings, 1 reply; 31+ messages in thread From: Greg KH @ 2021-03-22 16:09 UTC (permalink / raw) To: Fabio Aiuto; +Cc: joe, apw, devel, linux-kernel On Mon, Mar 22, 2021 at 03:31:41PM +0100, Fabio Aiuto wrote: > fix the following checkpatch issues: > > WARNING: externs should be avoided in .c files > 40: FILE: drivers/staging/rtl8723bs/core/rtw_ioctl_set.c:40: > +u8 rtw_do_join(struct adapter *padapter); > > WARNING: externs should be avoided in .c files > 15: FILE: drivers/staging/rtl8723bs/core/rtw_mlme.c:15: > +extern u8 rtw_do_join(struct adapter *padapter); > > moved function prototype in include/rtw_ioctl_set.h > > Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> > --- > drivers/staging/rtl8723bs/core/rtw_ioctl_set.c | 1 - > drivers/staging/rtl8723bs/core/rtw_mlme.c | 2 -- > drivers/staging/rtl8723bs/include/rtw_ioctl_set.h | 2 ++ > 3 files changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c > index cb14855742f7..7d858cae2395 100644 > --- a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c > +++ b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c > @@ -37,7 +37,6 @@ u8 rtw_validate_ssid(struct ndis_802_11_ssid *ssid) > return ret; > } > > -u8 rtw_do_join(struct adapter *padapter); > u8 rtw_do_join(struct adapter *padapter) > { > struct list_head *plist, *phead; > diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c > index 95cfef118a94..1ee86ec2dee7 100644 > --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c > +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c > @@ -12,8 +12,6 @@ > #include <hal_btcoex.h> > #include <linux/jiffies.h> > > -extern u8 rtw_do_join(struct adapter *padapter); > - > int rtw_init_mlme_priv(struct adapter *padapter) > { > int i; > diff --git a/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h b/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h > index 4b929b84040a..55722c1366aa 100644 > --- a/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h > +++ b/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h > @@ -28,6 +28,8 @@ u8 rtw_set_802_11_connect(struct adapter *padapter, u8 *bssid, struct ndis_802_1 > u8 rtw_validate_bssid(u8 *bssid); > u8 rtw_validate_ssid(struct ndis_802_11_ssid *ssid); > > +u8 rtw_do_join(struct adapter *padapter); > + This is already in drivers/staging/rtl8188eu/include/hal_intf.h, why declare it again? I'm stopping here on reviewing this patchset, please look closer at it again and fix up and resend a v2. thanks, greg k-h _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH v2 0/9] fix extern declarations checkpatch issues 2021-03-22 16:09 ` Greg KH @ 2021-03-23 12:56 ` Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 1/9] staging: rtl8723bs: removed function prototypes in core/rtw_efuse.c Fabio Aiuto ` (9 more replies) 0 siblings, 10 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-23 12:56 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto Fix extern declaration issues warned by checkpatch. Changes in v2: - removal of prototypes when function can be static - move of static function defs inside file to let the code compile - split last patch in two patches (one patch for blank line removal) Fabio Aiuto (9): staging: rtl8723bs: removed function prototypes in core/rtw_efuse.c staging: rtl8723bs: moved function prototype out of core/rtw_ioctl_set.c and core/rtw_mlme.c staging: rtl8723bs: removed function prototypes and made statics in core/rtw_recv.c staging: rtl8723bs: delete extern declarations in core/rtw_wlan_util.c staging: rtl8723bs: remove function prototypes in hal/odm.c staging: rtl8723bs: move function prototypes out of os_dep/int_fs.c staging: rtl8723bs: remove undefined function prototype in of os_dep/sdio_intf.c staging: rtl8723bs: remove unnecessary extern in os_dep/sdio_intf.c staging: rtl8723bs: remove blank line os_dep/os_intfs.c drivers/staging/rtl8723bs/core/rtw_efuse.c | 14 +- .../staging/rtl8723bs/core/rtw_ioctl_set.c | 1 - drivers/staging/rtl8723bs/core/rtw_mlme.c | 2 - drivers/staging/rtl8723bs/core/rtw_recv.c | 441 ++--- .../staging/rtl8723bs/core/rtw_wlan_util.c | 3 - drivers/staging/rtl8723bs/hal/odm.c | 1717 ++++++++--------- .../staging/rtl8723bs/include/osdep_intf.h | 2 + .../staging/rtl8723bs/include/rtw_ioctl_set.h | 2 + .../staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 2 - drivers/staging/rtl8723bs/os_dep/os_intfs.c | 5 +- drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 3 - 11 files changed, 1038 insertions(+), 1154 deletions(-) -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH v2 1/9] staging: rtl8723bs: removed function prototypes in core/rtw_efuse.c 2021-03-23 12:56 ` [PATCH v2 0/9] fix extern declarations checkpatch issues Fabio Aiuto @ 2021-03-23 12:56 ` Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 2/9] staging: rtl8723bs: moved function prototype out of core/rtw_ioctl_set.c and core/rtw_mlme.c Fabio Aiuto ` (8 subsequent siblings) 9 siblings, 0 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-23 12:56 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto fix the following checkpatch issues: WARNING: externs should be avoided in .c files 35: FILE: drivers/staging/rtl8723bs/core/rtw_efuse.c:35: +bool removed two function prototypes in core/rtw_efuse.c and made definition static Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/core/rtw_efuse.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_efuse.c b/drivers/staging/rtl8723bs/core/rtw_efuse.c index 32ca10f01413..3701336e7ff6 100644 --- a/drivers/staging/rtl8723bs/core/rtw_efuse.c +++ b/drivers/staging/rtl8723bs/core/rtw_efuse.c @@ -32,12 +32,7 @@ u8 fakeBTEfuseModifiedMap[EFUSE_BT_MAX_MAP_LEN] = {0}; #define REG_EFUSE_CTRL 0x0030 #define EFUSE_CTRL REG_EFUSE_CTRL /* E-Fuse Control. */ -bool -Efuse_Read1ByteFromFakeContent( - struct adapter *padapter, - u16 Offset, - u8 *Value); -bool +static bool Efuse_Read1ByteFromFakeContent( struct adapter *padapter, u16 Offset, @@ -53,12 +48,7 @@ Efuse_Read1ByteFromFakeContent( return true; } -bool -Efuse_Write1ByteToFakeContent( - struct adapter *padapter, - u16 Offset, - u8 Value); -bool +static bool Efuse_Write1ByteToFakeContent( struct adapter *padapter, u16 Offset, -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH v2 2/9] staging: rtl8723bs: moved function prototype out of core/rtw_ioctl_set.c and core/rtw_mlme.c 2021-03-23 12:56 ` [PATCH v2 0/9] fix extern declarations checkpatch issues Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 1/9] staging: rtl8723bs: removed function prototypes in core/rtw_efuse.c Fabio Aiuto @ 2021-03-23 12:56 ` Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 3/9] staging: rtl8723bs: removed function prototypes and made statics in core/rtw_recv.c Fabio Aiuto ` (7 subsequent siblings) 9 siblings, 0 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-23 12:56 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto fix the following checkpatch issues: WARNING: externs should be avoided in .c files 40: FILE: drivers/staging/rtl8723bs/core/rtw_ioctl_set.c:40: +u8 rtw_do_join(struct adapter *padapter); WARNING: externs should be avoided in .c files 15: FILE: drivers/staging/rtl8723bs/core/rtw_mlme.c:15: +extern u8 rtw_do_join(struct adapter *padapter); moved function prototype in include/rtw_ioctl_set.h Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/core/rtw_ioctl_set.c | 1 - drivers/staging/rtl8723bs/core/rtw_mlme.c | 2 -- drivers/staging/rtl8723bs/include/rtw_ioctl_set.h | 2 ++ 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c index cb14855742f7..7d858cae2395 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c +++ b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c @@ -37,7 +37,6 @@ u8 rtw_validate_ssid(struct ndis_802_11_ssid *ssid) return ret; } -u8 rtw_do_join(struct adapter *padapter); u8 rtw_do_join(struct adapter *padapter) { struct list_head *plist, *phead; diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index 95cfef118a94..1ee86ec2dee7 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -12,8 +12,6 @@ #include <hal_btcoex.h> #include <linux/jiffies.h> -extern u8 rtw_do_join(struct adapter *padapter); - int rtw_init_mlme_priv(struct adapter *padapter) { int i; diff --git a/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h b/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h index d6d3c39a69c6..31424bf2d926 100644 --- a/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h +++ b/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h @@ -22,6 +22,8 @@ u8 rtw_set_802_11_connect(struct adapter *padapter, u8 *bssid, struct ndis_802_1 u8 rtw_validate_bssid(u8 *bssid); u8 rtw_validate_ssid(struct ndis_802_11_ssid *ssid); +u8 rtw_do_join(struct adapter *padapter); + u16 rtw_get_cur_max_rate(struct adapter *adapter); #endif -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH v2 3/9] staging: rtl8723bs: removed function prototypes and made statics in core/rtw_recv.c 2021-03-23 12:56 ` [PATCH v2 0/9] fix extern declarations checkpatch issues Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 1/9] staging: rtl8723bs: removed function prototypes in core/rtw_efuse.c Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 2/9] staging: rtl8723bs: moved function prototype out of core/rtw_ioctl_set.c and core/rtw_mlme.c Fabio Aiuto @ 2021-03-23 12:56 ` Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 4/9] staging: rtl8723bs: delete extern declarations in core/rtw_wlan_util.c Fabio Aiuto ` (6 subsequent siblings) 9 siblings, 0 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-23 12:56 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto fix the following checkpatch issue: WARNING: externs should be avoided in .c files 1190: FILE: drivers/staging/rtl8723bs/core/rtw_recv.c:1190: +signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame *precv_frame); removed function prototypes and made statics moved two static function definitions before their usage to make code compile Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/core/rtw_recv.c | 441 ++++++++++------------ 1 file changed, 207 insertions(+), 234 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c index 1fa381663b4c..608a59286505 100644 --- a/drivers/staging/rtl8723bs/core/rtw_recv.c +++ b/drivers/staging/rtl8723bs/core/rtw_recv.c @@ -305,8 +305,7 @@ struct recv_buf *rtw_dequeue_recvbuf(struct __queue *queue) } -signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *precvframe); -signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *precvframe) +static signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *precvframe) { signed int i, res = _SUCCESS; @@ -436,8 +435,7 @@ signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *precvfra } /* decrypt and set the ivlen, icvlen of the recv_frame */ -union recv_frame *decryptor(struct adapter *padapter, union recv_frame *precv_frame); -union recv_frame *decryptor(struct adapter *padapter, union recv_frame *precv_frame) +static union recv_frame *decryptor(struct adapter *padapter, union recv_frame *precv_frame) { struct rx_pkt_attrib *prxattrib = &precv_frame->u.hdr.attrib; @@ -528,8 +526,7 @@ union recv_frame *decryptor(struct adapter *padapter, union recv_frame *precv_fr } /* set the security information in the recv_frame */ -union recv_frame *portctrl(struct adapter *adapter, union recv_frame *precv_frame); -union recv_frame *portctrl(struct adapter *adapter, union recv_frame *precv_frame) +static union recv_frame *portctrl(struct adapter *adapter, union recv_frame *precv_frame) { u8 *psta_addr = NULL; u8 *ptr; @@ -606,8 +603,7 @@ union recv_frame *portctrl(struct adapter *adapter, union recv_frame *precv_fram return prtnframe; } -signed int recv_decache(union recv_frame *precv_frame, u8 bretry, struct stainfo_rxcache *prxcache); -signed int recv_decache(union recv_frame *precv_frame, u8 bretry, struct stainfo_rxcache *prxcache) +static signed int recv_decache(union recv_frame *precv_frame, u8 bretry, struct stainfo_rxcache *prxcache) { signed int tid = precv_frame->u.hdr.attrib.priority; @@ -634,8 +630,7 @@ signed int recv_decache(union recv_frame *precv_frame, u8 bretry, struct stainfo } -void process_pwrbit_data(struct adapter *padapter, union recv_frame *precv_frame); -void process_pwrbit_data(struct adapter *padapter, union recv_frame *precv_frame) +static void process_pwrbit_data(struct adapter *padapter, union recv_frame *precv_frame) { unsigned char pwrbit; u8 *ptr = precv_frame->u.hdr.rx_data; @@ -671,8 +666,7 @@ void process_pwrbit_data(struct adapter *padapter, union recv_frame *precv_frame } } -void process_wmmps_data(struct adapter *padapter, union recv_frame *precv_frame); -void process_wmmps_data(struct adapter *padapter, union recv_frame *precv_frame) +static void process_wmmps_data(struct adapter *padapter, union recv_frame *precv_frame) { struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib; struct sta_priv *pstapriv = &padapter->stapriv; @@ -723,8 +717,7 @@ void process_wmmps_data(struct adapter *padapter, union recv_frame *precv_frame) } } -void count_rx_stats(struct adapter *padapter, union recv_frame *prframe, struct sta_info *sta); -void count_rx_stats(struct adapter *padapter, union recv_frame *prframe, struct sta_info *sta) +static void count_rx_stats(struct adapter *padapter, union recv_frame *prframe, struct sta_info *sta) { int sz; struct sta_info *psta = NULL; @@ -755,9 +748,7 @@ void count_rx_stats(struct adapter *padapter, union recv_frame *prframe, struct traffic_check_for_leave_lps(padapter, false, 0); } -signed int sta2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame, - struct sta_info **psta); -signed int sta2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame, +static signed int sta2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame, struct sta_info **psta) { u8 *ptr = precv_frame->u.hdr.rx_data; @@ -850,9 +841,7 @@ signed int sta2sta_data_frame(struct adapter *adapter, union recv_frame *precv_f return ret; } -signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame, - struct sta_info **psta); -signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame, +static signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame, struct sta_info **psta) { u8 *ptr = precv_frame->u.hdr.rx_data; @@ -992,9 +981,7 @@ signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *precv_fr return ret; } -signed int sta2ap_data_frame(struct adapter *adapter, union recv_frame *precv_frame, - struct sta_info **psta); -signed int sta2ap_data_frame(struct adapter *adapter, union recv_frame *precv_frame, +static signed int sta2ap_data_frame(struct adapter *adapter, union recv_frame *precv_frame, struct sta_info **psta) { u8 *ptr = precv_frame->u.hdr.rx_data; @@ -1049,8 +1036,7 @@ signed int sta2ap_data_frame(struct adapter *adapter, union recv_frame *precv_fr return ret; } -signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_frame *precv_frame); -signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_frame *precv_frame) +static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_frame *precv_frame) { struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib; struct sta_priv *pstapriv = &padapter->stapriv; @@ -1186,9 +1172,191 @@ signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_frame * } -union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union recv_frame *precv_frame); -signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame *precv_frame); -signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame *precv_frame) +/* perform defrag */ +static union recv_frame *recvframe_defrag(struct adapter *adapter, + struct __queue *defrag_q) +{ + struct list_head *plist, *phead; + u8 wlanhdr_offset; + u8 curfragnum; + struct recv_frame_hdr *pfhdr, *pnfhdr; + union recv_frame *prframe, *pnextrframe; + struct __queue *pfree_recv_queue; + + curfragnum = 0; + pfree_recv_queue = &adapter->recvpriv.free_recv_queue; + + phead = get_list_head(defrag_q); + plist = get_next(phead); + prframe = (union recv_frame *)plist; + pfhdr = &prframe->u.hdr; + list_del_init(&(prframe->u.list)); + + if (curfragnum != pfhdr->attrib.frag_num) { + /* the first fragment number must be 0 */ + /* free the whole queue */ + rtw_free_recvframe(prframe, pfree_recv_queue); + rtw_free_recvframe_queue(defrag_q, pfree_recv_queue); + + return NULL; + } + + curfragnum++; + + plist = get_list_head(defrag_q); + + plist = get_next(plist); + + while (phead != plist) { + pnextrframe = (union recv_frame *)plist; + pnfhdr = &pnextrframe->u.hdr; + + + /* check the fragment sequence (2nd ~n fragment frame) */ + + if (curfragnum != pnfhdr->attrib.frag_num) { + /* the fragment number must be increasing (after decache) */ + /* release the defrag_q & prframe */ + rtw_free_recvframe(prframe, pfree_recv_queue); + rtw_free_recvframe_queue(defrag_q, pfree_recv_queue); + return NULL; + } + + curfragnum++; + + /* copy the 2nd~n fragment frame's payload to the first fragment */ + /* get the 2nd~last fragment frame's payload */ + + wlanhdr_offset = pnfhdr->attrib.hdrlen + pnfhdr->attrib.iv_len; + + recvframe_pull(pnextrframe, wlanhdr_offset); + + /* append to first fragment frame's tail (if privacy frame, pull the ICV) */ + recvframe_pull_tail(prframe, pfhdr->attrib.icv_len); + + /* memcpy */ + memcpy(pfhdr->rx_tail, pnfhdr->rx_data, pnfhdr->len); + + recvframe_put(prframe, pnfhdr->len); + + pfhdr->attrib.icv_len = pnfhdr->attrib.icv_len; + plist = get_next(plist); + + } + + /* free the defrag_q queue and return the prframe */ + rtw_free_recvframe_queue(defrag_q, pfree_recv_queue); + + RT_TRACE(_module_rtl871x_recv_c_, _drv_info_, ("Performance defrag!!!!!\n")); + + return prframe; +} + +/* check if need to defrag, if needed queue the frame to defrag_q */ +static union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union recv_frame *precv_frame) +{ + u8 ismfrag; + u8 fragnum; + u8 *psta_addr; + struct recv_frame_hdr *pfhdr; + struct sta_info *psta; + struct sta_priv *pstapriv; + struct list_head *phead; + union recv_frame *prtnframe = NULL; + struct __queue *pfree_recv_queue, *pdefrag_q; + + pstapriv = &padapter->stapriv; + + pfhdr = &precv_frame->u.hdr; + + pfree_recv_queue = &padapter->recvpriv.free_recv_queue; + + /* need to define struct of wlan header frame ctrl */ + ismfrag = pfhdr->attrib.mfrag; + fragnum = pfhdr->attrib.frag_num; + + psta_addr = pfhdr->attrib.ta; + psta = rtw_get_stainfo(pstapriv, psta_addr); + if (!psta) { + u8 type = GetFrameType(pfhdr->rx_data); + if (type != WIFI_DATA_TYPE) { + psta = rtw_get_bcmc_stainfo(padapter); + pdefrag_q = &psta->sta_recvpriv.defrag_q; + } else + pdefrag_q = NULL; + } else + pdefrag_q = &psta->sta_recvpriv.defrag_q; + + if ((ismfrag == 0) && (fragnum == 0)) + prtnframe = precv_frame;/* isn't a fragment frame */ + + if (ismfrag == 1) { + /* 0~(n-1) fragment frame */ + /* enqueue to defraf_g */ + if (pdefrag_q) { + if (fragnum == 0) + /* the first fragment */ + if (!list_empty(&pdefrag_q->queue)) + /* free current defrag_q */ + rtw_free_recvframe_queue(pdefrag_q, pfree_recv_queue); + + + /* Then enqueue the 0~(n-1) fragment into the defrag_q */ + + /* spin_lock(&pdefrag_q->lock); */ + phead = get_list_head(pdefrag_q); + list_add_tail(&pfhdr->list, phead); + /* spin_unlock(&pdefrag_q->lock); */ + + RT_TRACE(_module_rtl871x_recv_c_, _drv_info_, ("Enqueuq: ismfrag = %d, fragnum = %d\n", ismfrag, fragnum)); + + prtnframe = NULL; + + } else { + /* can't find this ta's defrag_queue, so free this recv_frame */ + rtw_free_recvframe(precv_frame, pfree_recv_queue); + prtnframe = NULL; + RT_TRACE(_module_rtl871x_recv_c_, _drv_err_, ("Free because pdefrag_q == NULL: ismfrag = %d, fragnum = %d\n", ismfrag, fragnum)); + } + + } + + if ((ismfrag == 0) && (fragnum != 0)) { + /* the last fragment frame */ + /* enqueue the last fragment */ + if (pdefrag_q) { + /* spin_lock(&pdefrag_q->lock); */ + phead = get_list_head(pdefrag_q); + list_add_tail(&pfhdr->list, phead); + /* spin_unlock(&pdefrag_q->lock); */ + + /* call recvframe_defrag to defrag */ + RT_TRACE(_module_rtl871x_recv_c_, _drv_info_, ("defrag: ismfrag = %d, fragnum = %d\n", ismfrag, fragnum)); + precv_frame = recvframe_defrag(padapter, pdefrag_q); + prtnframe = precv_frame; + + } else { + /* can't find this ta's defrag_queue, so free this recv_frame */ + rtw_free_recvframe(precv_frame, pfree_recv_queue); + prtnframe = NULL; + RT_TRACE(_module_rtl871x_recv_c_, _drv_err_, ("Free because pdefrag_q == NULL: ismfrag = %d, fragnum = %d\n", ismfrag, fragnum)); + } + + } + + + if ((prtnframe) && (prtnframe->u.hdr.attrib.privacy)) { + /* after defrag we must check tkip mic code */ + if (recvframe_chkmic(padapter, prtnframe) == _FAIL) { + RT_TRACE(_module_rtl871x_recv_c_, _drv_err_, ("recvframe_chkmic(padapter, prtnframe) == _FAIL\n")); + rtw_free_recvframe(prtnframe, pfree_recv_queue); + prtnframe = NULL; + } + } + return prtnframe; +} + +static signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame *precv_frame) { /* struct mlme_priv *pmlmepriv = &adapter->mlmepriv; */ @@ -1227,8 +1395,7 @@ signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame * } -signed int validate_recv_data_frame(struct adapter *adapter, union recv_frame *precv_frame); -signed int validate_recv_data_frame(struct adapter *adapter, union recv_frame *precv_frame) +static signed int validate_recv_data_frame(struct adapter *adapter, union recv_frame *precv_frame) { u8 bretry; u8 *psa, *pda, *pbssid; @@ -1459,8 +1626,7 @@ static inline void dump_rx_packet(u8 *ptr) DBG_871X("#############################\n"); } -signed int validate_recv_frame(struct adapter *adapter, union recv_frame *precv_frame); -signed int validate_recv_frame(struct adapter *adapter, union recv_frame *precv_frame) +static signed int validate_recv_frame(struct adapter *adapter, union recv_frame *precv_frame) { /* shall check frame subtype, to / from ds, da, bssid */ @@ -1557,10 +1723,8 @@ signed int validate_recv_frame(struct adapter *adapter, union recv_frame *precv_ return retval; } - /* remove the wlanhdr and add the eth_hdr */ -signed int wlanhdr_to_ethhdr(union recv_frame *precvframe); -signed int wlanhdr_to_ethhdr(union recv_frame *precvframe) +static signed int wlanhdr_to_ethhdr(union recv_frame *precvframe) { signed int rmv_len; u16 eth_type, len; @@ -1624,190 +1788,6 @@ signed int wlanhdr_to_ethhdr(union recv_frame *precvframe) return _SUCCESS; } -/* perform defrag */ -static union recv_frame *recvframe_defrag(struct adapter *adapter, - struct __queue *defrag_q) -{ - struct list_head *plist, *phead; - u8 wlanhdr_offset; - u8 curfragnum; - struct recv_frame_hdr *pfhdr, *pnfhdr; - union recv_frame *prframe, *pnextrframe; - struct __queue *pfree_recv_queue; - - curfragnum = 0; - pfree_recv_queue = &adapter->recvpriv.free_recv_queue; - - phead = get_list_head(defrag_q); - plist = get_next(phead); - prframe = (union recv_frame *)plist; - pfhdr = &prframe->u.hdr; - list_del_init(&(prframe->u.list)); - - if (curfragnum != pfhdr->attrib.frag_num) { - /* the first fragment number must be 0 */ - /* free the whole queue */ - rtw_free_recvframe(prframe, pfree_recv_queue); - rtw_free_recvframe_queue(defrag_q, pfree_recv_queue); - - return NULL; - } - - curfragnum++; - - plist = get_list_head(defrag_q); - - plist = get_next(plist); - - while (phead != plist) { - pnextrframe = (union recv_frame *)plist; - pnfhdr = &pnextrframe->u.hdr; - - - /* check the fragment sequence (2nd ~n fragment frame) */ - - if (curfragnum != pnfhdr->attrib.frag_num) { - /* the fragment number must be increasing (after decache) */ - /* release the defrag_q & prframe */ - rtw_free_recvframe(prframe, pfree_recv_queue); - rtw_free_recvframe_queue(defrag_q, pfree_recv_queue); - return NULL; - } - - curfragnum++; - - /* copy the 2nd~n fragment frame's payload to the first fragment */ - /* get the 2nd~last fragment frame's payload */ - - wlanhdr_offset = pnfhdr->attrib.hdrlen + pnfhdr->attrib.iv_len; - - recvframe_pull(pnextrframe, wlanhdr_offset); - - /* append to first fragment frame's tail (if privacy frame, pull the ICV) */ - recvframe_pull_tail(prframe, pfhdr->attrib.icv_len); - - /* memcpy */ - memcpy(pfhdr->rx_tail, pnfhdr->rx_data, pnfhdr->len); - - recvframe_put(prframe, pnfhdr->len); - - pfhdr->attrib.icv_len = pnfhdr->attrib.icv_len; - plist = get_next(plist); - - } - - /* free the defrag_q queue and return the prframe */ - rtw_free_recvframe_queue(defrag_q, pfree_recv_queue); - - RT_TRACE(_module_rtl871x_recv_c_, _drv_info_, ("Performance defrag!!!!!\n")); - - return prframe; -} - -/* check if need to defrag, if needed queue the frame to defrag_q */ -union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union recv_frame *precv_frame) -{ - u8 ismfrag; - u8 fragnum; - u8 *psta_addr; - struct recv_frame_hdr *pfhdr; - struct sta_info *psta; - struct sta_priv *pstapriv; - struct list_head *phead; - union recv_frame *prtnframe = NULL; - struct __queue *pfree_recv_queue, *pdefrag_q; - - pstapriv = &padapter->stapriv; - - pfhdr = &precv_frame->u.hdr; - - pfree_recv_queue = &padapter->recvpriv.free_recv_queue; - - /* need to define struct of wlan header frame ctrl */ - ismfrag = pfhdr->attrib.mfrag; - fragnum = pfhdr->attrib.frag_num; - - psta_addr = pfhdr->attrib.ta; - psta = rtw_get_stainfo(pstapriv, psta_addr); - if (!psta) { - u8 type = GetFrameType(pfhdr->rx_data); - if (type != WIFI_DATA_TYPE) { - psta = rtw_get_bcmc_stainfo(padapter); - pdefrag_q = &psta->sta_recvpriv.defrag_q; - } else - pdefrag_q = NULL; - } else - pdefrag_q = &psta->sta_recvpriv.defrag_q; - - if ((ismfrag == 0) && (fragnum == 0)) - prtnframe = precv_frame;/* isn't a fragment frame */ - - if (ismfrag == 1) { - /* 0~(n-1) fragment frame */ - /* enqueue to defraf_g */ - if (pdefrag_q) { - if (fragnum == 0) - /* the first fragment */ - if (!list_empty(&pdefrag_q->queue)) - /* free current defrag_q */ - rtw_free_recvframe_queue(pdefrag_q, pfree_recv_queue); - - - /* Then enqueue the 0~(n-1) fragment into the defrag_q */ - - /* spin_lock(&pdefrag_q->lock); */ - phead = get_list_head(pdefrag_q); - list_add_tail(&pfhdr->list, phead); - /* spin_unlock(&pdefrag_q->lock); */ - - RT_TRACE(_module_rtl871x_recv_c_, _drv_info_, ("Enqueuq: ismfrag = %d, fragnum = %d\n", ismfrag, fragnum)); - - prtnframe = NULL; - - } else { - /* can't find this ta's defrag_queue, so free this recv_frame */ - rtw_free_recvframe(precv_frame, pfree_recv_queue); - prtnframe = NULL; - RT_TRACE(_module_rtl871x_recv_c_, _drv_err_, ("Free because pdefrag_q == NULL: ismfrag = %d, fragnum = %d\n", ismfrag, fragnum)); - } - - } - - if ((ismfrag == 0) && (fragnum != 0)) { - /* the last fragment frame */ - /* enqueue the last fragment */ - if (pdefrag_q) { - /* spin_lock(&pdefrag_q->lock); */ - phead = get_list_head(pdefrag_q); - list_add_tail(&pfhdr->list, phead); - /* spin_unlock(&pdefrag_q->lock); */ - - /* call recvframe_defrag to defrag */ - RT_TRACE(_module_rtl871x_recv_c_, _drv_info_, ("defrag: ismfrag = %d, fragnum = %d\n", ismfrag, fragnum)); - precv_frame = recvframe_defrag(padapter, pdefrag_q); - prtnframe = precv_frame; - - } else { - /* can't find this ta's defrag_queue, so free this recv_frame */ - rtw_free_recvframe(precv_frame, pfree_recv_queue); - prtnframe = NULL; - RT_TRACE(_module_rtl871x_recv_c_, _drv_err_, ("Free because pdefrag_q == NULL: ismfrag = %d, fragnum = %d\n", ismfrag, fragnum)); - } - - } - - - if ((prtnframe) && (prtnframe->u.hdr.attrib.privacy)) { - /* after defrag we must check tkip mic code */ - if (recvframe_chkmic(padapter, prtnframe) == _FAIL) { - RT_TRACE(_module_rtl871x_recv_c_, _drv_err_, ("recvframe_chkmic(padapter, prtnframe) == _FAIL\n")); - rtw_free_recvframe(prtnframe, pfree_recv_queue); - prtnframe = NULL; - } - } - return prtnframe; -} - static int amsdu_to_msdu(struct adapter *padapter, union recv_frame *prframe) { int a_len, padding_len; @@ -1886,8 +1866,7 @@ static int amsdu_to_msdu(struct adapter *padapter, union recv_frame *prframe) return _SUCCESS; } -int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_num); -int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_num) +static int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_num) { struct adapter *padapter = preorder_ctrl->padapter; struct dvobj_priv *psdpriv = padapter->dvobj; @@ -1955,8 +1934,7 @@ int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_num) return true; } -int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, union recv_frame *prframe); -int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, union recv_frame *prframe) +static int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, union recv_frame *prframe) { struct rx_pkt_attrib *pattrib = &prframe->u.hdr.attrib; struct __queue *ppending_recvframe_queue = &preorder_ctrl->pending_recvframe_queue; @@ -2008,8 +1986,7 @@ int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, union rec } -void recv_indicatepkts_pkt_loss_cnt(struct debug_priv *pdbgpriv, u64 prev_seq, u64 current_seq); -void recv_indicatepkts_pkt_loss_cnt(struct debug_priv *pdbgpriv, u64 prev_seq, u64 current_seq) +static void recv_indicatepkts_pkt_loss_cnt(struct debug_priv *pdbgpriv, u64 prev_seq, u64 current_seq) { if (current_seq < prev_seq) pdbgpriv->dbg_rx_ampdu_loss_count += (4096 + current_seq - prev_seq); @@ -2017,8 +1994,8 @@ void recv_indicatepkts_pkt_loss_cnt(struct debug_priv *pdbgpriv, u64 prev_seq, u pdbgpriv->dbg_rx_ampdu_loss_count += (current_seq - prev_seq); } -int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctrl *preorder_ctrl, int bforced); -int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctrl *preorder_ctrl, int bforced) + +static int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctrl *preorder_ctrl, int bforced) { struct list_head *phead, *plist; union recv_frame *prframe; @@ -2125,8 +2102,7 @@ int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctr return bPktInBuf; } -int recv_indicatepkt_reorder(struct adapter *padapter, union recv_frame *prframe); -int recv_indicatepkt_reorder(struct adapter *padapter, union recv_frame *prframe) +static int recv_indicatepkt_reorder(struct adapter *padapter, union recv_frame *prframe) { int retval = _SUCCESS; struct rx_pkt_attrib *pattrib = &prframe->u.hdr.attrib; @@ -2279,8 +2255,7 @@ void rtw_reordering_ctrl_timeout_handler(struct timer_list *t) } -int process_recv_indicatepkts(struct adapter *padapter, union recv_frame *prframe); -int process_recv_indicatepkts(struct adapter *padapter, union recv_frame *prframe) +static int process_recv_indicatepkts(struct adapter *padapter, union recv_frame *prframe) { int retval = _SUCCESS; /* struct recv_priv *precvpriv = &padapter->recvpriv; */ @@ -2402,9 +2377,7 @@ static int recv_func_posthandle(struct adapter *padapter, union recv_frame *prfr return ret; } - -int recv_func(struct adapter *padapter, union recv_frame *rframe); -int recv_func(struct adapter *padapter, union recv_frame *rframe) +static int recv_func(struct adapter *padapter, union recv_frame *rframe) { int ret; struct rx_pkt_attrib *prxattrib = &rframe->u.hdr.attrib; -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH v2 4/9] staging: rtl8723bs: delete extern declarations in core/rtw_wlan_util.c 2021-03-23 12:56 ` [PATCH v2 0/9] fix extern declarations checkpatch issues Fabio Aiuto ` (2 preceding siblings ...) 2021-03-23 12:56 ` [PATCH v2 3/9] staging: rtl8723bs: removed function prototypes and made statics in core/rtw_recv.c Fabio Aiuto @ 2021-03-23 12:56 ` Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 5/9] staging: rtl8723bs: remove function prototypes in hal/odm.c Fabio Aiuto ` (5 subsequent siblings) 9 siblings, 0 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-23 12:56 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto fix the following checkpatch issues: WARNING: externs should be avoided in .c files 28: FILE: drivers/staging/rtl8723bs/core/rtw_wlan_util.c:28: +extern unsigned char RTW_WPA_OUI[]; -- WARNING: externs should be avoided in .c files 29: FILE: drivers/staging/rtl8723bs/core/rtw_wlan_util.c:29: +extern unsigned char WPA_TKIP_CIPHER[4]; Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/core/rtw_wlan_util.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c index bfd55a0356f5..760b0ea4e9bd 100644 --- a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c +++ b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c @@ -25,9 +25,6 @@ static unsigned char AIRGOCAP_OUI[] = {0x00, 0x0a, 0xf5}; static unsigned char RSN_TKIP_CIPHER[4] = {0x00, 0x0f, 0xac, 0x02}; static unsigned char WPA_TKIP_CIPHER[4] = {0x00, 0x50, 0xf2, 0x02}; -extern unsigned char RTW_WPA_OUI[]; -extern unsigned char WPA_TKIP_CIPHER[4]; - #define R2T_PHY_DELAY (0) /* define WAIT_FOR_BCN_TO_MIN (3000) */ -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH v2 5/9] staging: rtl8723bs: remove function prototypes in hal/odm.c 2021-03-23 12:56 ` [PATCH v2 0/9] fix extern declarations checkpatch issues Fabio Aiuto ` (3 preceding siblings ...) 2021-03-23 12:56 ` [PATCH v2 4/9] staging: rtl8723bs: delete extern declarations in core/rtw_wlan_util.c Fabio Aiuto @ 2021-03-23 12:56 ` Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 6/9] staging: rtl8723bs: move function prototypes out of os_dep/int_fs.c Fabio Aiuto ` (4 subsequent siblings) 9 siblings, 0 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-23 12:56 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto fix the following checkpatch issues: WARNING: externs should be avoided in .c files 285: FILE: drivers/staging/rtl8723bs/hal/odm.c:285: +void odm_CommonInfoSelfInit(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 287: FILE: drivers/staging/rtl8723bs/hal/odm.c:287: +void odm_CommonInfoSelfUpdate(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 289: FILE: drivers/staging/rtl8723bs/hal/odm.c:289: +void odm_CmnInfoInit_Debug(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 291: FILE: drivers/staging/rtl8723bs/hal/odm.c:291: +void odm_BasicDbgMessage(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 305: FILE: drivers/staging/rtl8723bs/hal/odm.c:305: +void odm_RefreshRateAdaptiveMaskCE(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 309: FILE: drivers/staging/rtl8723bs/hal/odm.c:309: +void odm_RSSIMonitorInit(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 311: FILE: drivers/staging/rtl8723bs/hal/odm.c:311: +void odm_RSSIMonitorCheckCE(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 313: FILE: drivers/staging/rtl8723bs/hal/odm.c:313: +void odm_RSSIMonitorCheck(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 315: FILE: drivers/staging/rtl8723bs/hal/odm.c:315: +void odm_SwAntDetectInit(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 317: FILE: drivers/staging/rtl8723bs/hal/odm.c:317: +void odm_SwAntDivChkAntSwitchCallback(void *FunctionContext); -- WARNING: externs should be avoided in .c files 321: FILE: drivers/staging/rtl8723bs/hal/odm.c:321: +void odm_GlobalAdapterCheck(void); -- WARNING: externs should be avoided in .c files 323: FILE: drivers/staging/rtl8723bs/hal/odm.c:323: +void odm_RefreshRateAdaptiveMask(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 325: FILE: drivers/staging/rtl8723bs/hal/odm.c:325: +void ODM_TXPowerTrackingCheck(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 327: FILE: drivers/staging/rtl8723bs/hal/odm.c:327: +void odm_RateAdaptiveMaskInit(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 330: FILE: drivers/staging/rtl8723bs/hal/odm.c:330: +void odm_TXPowerTrackingInit(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 338: FILE: drivers/staging/rtl8723bs/hal/odm.c:338: +void odm_InitHybridAntDiv(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 340: FILE: drivers/staging/rtl8723bs/hal/odm.c:340: +bool odm_StaDefAntSel( -- WARNING: externs should be avoided in .c files 349: FILE: drivers/staging/rtl8723bs/hal/odm.c:349: +void odm_SetRxIdleAnt(struct dm_odm_t *pDM_Odm, u8 Ant, bool bDualPath); -- WARNING: externs should be avoided in .c files 353: FILE: drivers/staging/rtl8723bs/hal/odm.c:353: +void odm_HwAntDiv(struct dm_odm_t *pDM_Odm); removed function prototypes and made staics where needed in hal/odm.c moved function definition in file to let the compiler work Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/hal/odm.c | 1717 +++++++++++++-------------- 1 file changed, 824 insertions(+), 893 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/odm.c b/drivers/staging/rtl8723bs/hal/odm.c index 49d552105a65..3d92eee3a840 100644 --- a/drivers/staging/rtl8723bs/hal/odm.c +++ b/drivers/staging/rtl8723bs/hal/odm.c @@ -279,1126 +279,1057 @@ u32 TxScalingTable_Jaguar[TXSCALE_TABLE_SIZE] = { 0x3FE /* 36, +6.0dB */ }; -/* Local Function predefine. */ - -/* START------------COMMON INFO RELATED--------------- */ -void odm_CommonInfoSelfInit(struct dm_odm_t *pDM_Odm); - -void odm_CommonInfoSelfUpdate(struct dm_odm_t *pDM_Odm); +/* Remove Edca by Yu Chen */ -void odm_CmnInfoInit_Debug(struct dm_odm_t *pDM_Odm); -void odm_BasicDbgMessage(struct dm_odm_t *pDM_Odm); +#define RxDefaultAnt1 0x65a9 +#define RxDefaultAnt2 0x569a -/* END------------COMMON INFO RELATED--------------- */ +static void odm_CommonInfoSelfInit(struct dm_odm_t *pDM_Odm) +{ + pDM_Odm->bCckHighPower = (bool) PHY_QueryBBReg(pDM_Odm->Adapter, ODM_REG(CCK_RPT_FORMAT, pDM_Odm), ODM_BIT(CCK_RPT_FORMAT, pDM_Odm)); + pDM_Odm->RFPathRxEnable = (u8) PHY_QueryBBReg(pDM_Odm->Adapter, ODM_REG(BB_RX_PATH, pDM_Odm), ODM_BIT(BB_RX_PATH, pDM_Odm)); -/* START---------------DIG--------------------------- */ + ODM_InitDebugSetting(pDM_Odm); -/* Remove by Yuchen */ + pDM_Odm->TxRate = 0xFF; +} -/* END---------------DIG--------------------------- */ +static void odm_CommonInfoSelfUpdate(struct dm_odm_t *pDM_Odm) +{ + u8 EntryCnt = 0; + u8 i; + PSTA_INFO_T pEntry; -/* START-------BB POWER SAVE----------------------- */ -/* Remove BB power Saving by YuChen */ -/* END---------BB POWER SAVE----------------------- */ + if (*(pDM_Odm->pBandWidth) == ODM_BW40M) { + if (*(pDM_Odm->pSecChOffset) == 1) + pDM_Odm->ControlChannel = *(pDM_Odm->pChannel)-2; + else if (*(pDM_Odm->pSecChOffset) == 2) + pDM_Odm->ControlChannel = *(pDM_Odm->pChannel)+2; + } else + pDM_Odm->ControlChannel = *(pDM_Odm->pChannel); -void odm_RefreshRateAdaptiveMaskCE(struct dm_odm_t *pDM_Odm); + for (i = 0; i < ODM_ASSOCIATE_ENTRY_NUM; i++) { + pEntry = pDM_Odm->pODM_StaInfo[i]; + if (IS_STA_VALID(pEntry)) + EntryCnt++; + } -/* Remove by YuChen */ + if (EntryCnt == 1) + pDM_Odm->bOneEntryOnly = true; + else + pDM_Odm->bOneEntryOnly = false; +} -void odm_RSSIMonitorInit(struct dm_odm_t *pDM_Odm); +static void odm_CmnInfoInit_Debug(struct dm_odm_t *pDM_Odm) +{ + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("odm_CmnInfoInit_Debug ==>\n")); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("SupportPlatform =%d\n", pDM_Odm->SupportPlatform)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("SupportAbility = 0x%x\n", pDM_Odm->SupportAbility)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("SupportInterface =%d\n", pDM_Odm->SupportInterface)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("SupportICType = 0x%x\n", pDM_Odm->SupportICType)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("CutVersion =%d\n", pDM_Odm->CutVersion)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("FabVersion =%d\n", pDM_Odm->FabVersion)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("RFType =%d\n", pDM_Odm->RFType)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("BoardType =%d\n", pDM_Odm->BoardType)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("ExtLNA =%d\n", pDM_Odm->ExtLNA)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("ExtPA =%d\n", pDM_Odm->ExtPA)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("ExtTRSW =%d\n", pDM_Odm->ExtTRSW)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("PatchID =%d\n", pDM_Odm->PatchID)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("bInHctTest =%d\n", pDM_Odm->bInHctTest)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("bWIFITest =%d\n", pDM_Odm->bWIFITest)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("bDualMacSmartConcurrent =%d\n", pDM_Odm->bDualMacSmartConcurrent)); -void odm_RSSIMonitorCheckCE(struct dm_odm_t *pDM_Odm); +} -void odm_RSSIMonitorCheck(struct dm_odm_t *pDM_Odm); +static void odm_BasicDbgMessage(struct dm_odm_t *pDM_Odm) +{ + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("odm_BasicDbgMsg ==>\n")); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("bLinked = %d, RSSI_Min = %d,\n", + pDM_Odm->bLinked, pDM_Odm->RSSI_Min)); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("RxRate = 0x%x, RSSI_A = %d, RSSI_B = %d\n", + pDM_Odm->RxRate, pDM_Odm->RSSI_A, pDM_Odm->RSSI_B)); +} -void odm_SwAntDetectInit(struct dm_odm_t *pDM_Odm); +/* 3 ============================================================ */ +/* 3 RATR MASK */ +/* 3 ============================================================ */ +/* 3 ============================================================ */ +/* 3 Rate Adaptive */ +/* 3 ============================================================ */ -void odm_SwAntDivChkAntSwitchCallback(void *FunctionContext); +static void odm_RateAdaptiveMaskInit(struct dm_odm_t *pDM_Odm) +{ + struct odm_rate_adaptive *pOdmRA = &pDM_Odm->RateAdaptive; + pOdmRA->Type = DM_Type_ByDriver; + if (pOdmRA->Type == DM_Type_ByDriver) + pDM_Odm->bUseRAMask = true; + else + pDM_Odm->bUseRAMask = false; + pOdmRA->RATRState = DM_RATR_STA_INIT; + pOdmRA->LdpcThres = 35; + pOdmRA->bUseLdpc = false; + pOdmRA->HighRSSIThresh = 50; + pOdmRA->LowRSSIThresh = 20; +} -void odm_GlobalAdapterCheck(void); +u32 ODM_Get_Rate_Bitmap( + struct dm_odm_t *pDM_Odm, + u32 macid, + u32 ra_mask, + u8 rssi_level +) +{ + PSTA_INFO_T pEntry; + u32 rate_bitmap = 0; + u8 WirelessMode; -void odm_RefreshRateAdaptiveMask(struct dm_odm_t *pDM_Odm); + pEntry = pDM_Odm->pODM_StaInfo[macid]; + if (!IS_STA_VALID(pEntry)) + return ra_mask; -void ODM_TXPowerTrackingCheck(struct dm_odm_t *pDM_Odm); + WirelessMode = pEntry->wireless_mode; -void odm_RateAdaptiveMaskInit(struct dm_odm_t *pDM_Odm); + switch (WirelessMode) { + case ODM_WM_B: + if (ra_mask & 0x0000000c) /* 11M or 5.5M enable */ + rate_bitmap = 0x0000000d; + else + rate_bitmap = 0x0000000f; + break; + case (ODM_WM_G): + case (ODM_WM_A): + if (rssi_level == DM_RATR_STA_HIGH) + rate_bitmap = 0x00000f00; + else + rate_bitmap = 0x00000ff0; + break; -void odm_TXPowerTrackingInit(struct dm_odm_t *pDM_Odm); + case (ODM_WM_B|ODM_WM_G): + if (rssi_level == DM_RATR_STA_HIGH) + rate_bitmap = 0x00000f00; + else if (rssi_level == DM_RATR_STA_MIDDLE) + rate_bitmap = 0x00000ff0; + else + rate_bitmap = 0x00000ff5; + break; -/* Remove Edca by Yu Chen */ + case (ODM_WM_B|ODM_WM_G|ODM_WM_N24G): + case (ODM_WM_B|ODM_WM_N24G): + case (ODM_WM_G|ODM_WM_N24G): + case (ODM_WM_A|ODM_WM_N5G): + if (pDM_Odm->RFType == ODM_1T2R || pDM_Odm->RFType == ODM_1T1R) { + if (rssi_level == DM_RATR_STA_HIGH) + rate_bitmap = 0x000f0000; + else if (rssi_level == DM_RATR_STA_MIDDLE) + rate_bitmap = 0x000ff000; + else { + if (*(pDM_Odm->pBandWidth) == ODM_BW40M) + rate_bitmap = 0x000ff015; + else + rate_bitmap = 0x000ff005; + } + } else { + if (rssi_level == DM_RATR_STA_HIGH) + rate_bitmap = 0x0f8f0000; + else if (rssi_level == DM_RATR_STA_MIDDLE) + rate_bitmap = 0x0f8ff000; + else { + if (*(pDM_Odm->pBandWidth) == ODM_BW40M) + rate_bitmap = 0x0f8ff015; + else + rate_bitmap = 0x0f8ff005; + } + } + break; + case (ODM_WM_AC|ODM_WM_G): + if (rssi_level == 1) + rate_bitmap = 0xfc3f0000; + else if (rssi_level == 2) + rate_bitmap = 0xfffff000; + else + rate_bitmap = 0xffffffff; + break; -#define RxDefaultAnt1 0x65a9 -#define RxDefaultAnt2 0x569a + case (ODM_WM_AC|ODM_WM_A): -void odm_InitHybridAntDiv(struct dm_odm_t *pDM_Odm); + if (pDM_Odm->RFType == RF_1T1R) { + if (rssi_level == 1) /* add by Gary for ac-series */ + rate_bitmap = 0x003f8000; + else if (rssi_level == 2) + rate_bitmap = 0x003ff000; + else + rate_bitmap = 0x003ff010; + } else { + if (rssi_level == 1) /* add by Gary for ac-series */ + rate_bitmap = 0xfe3f8000; /* VHT 2SS MCS3~9 */ + else if (rssi_level == 2) + rate_bitmap = 0xfffff000; /* VHT 2SS MCS0~9 */ + else + rate_bitmap = 0xfffff010; /* All */ + } + break; -bool odm_StaDefAntSel( - struct dm_odm_t *pDM_Odm, - u32 OFDM_Ant1_Cnt, - u32 OFDM_Ant2_Cnt, - u32 CCK_Ant1_Cnt, - u32 CCK_Ant2_Cnt, - u8 *pDefAnt -); + default: + if (pDM_Odm->RFType == RF_1T2R) + rate_bitmap = 0x000fffff; + else + rate_bitmap = 0x0fffffff; + break; + } -void odm_SetRxIdleAnt(struct dm_odm_t *pDM_Odm, u8 Ant, bool bDualPath); + /* printk("%s ==> rssi_level:0x%02x, WirelessMode:0x%02x, rate_bitmap:0x%08x\n", __func__, rssi_level, WirelessMode, rate_bitmap); */ + ODM_RT_TRACE(pDM_Odm, ODM_COMP_RA_MASK, ODM_DBG_LOUD, (" ==> rssi_level:0x%02x, WirelessMode:0x%02x, rate_bitmap:0x%08x\n", rssi_level, WirelessMode, rate_bitmap)); + return ra_mask & rate_bitmap; +} -void odm_HwAntDiv(struct dm_odm_t *pDM_Odm); +static void odm_RefreshRateAdaptiveMaskCE(struct dm_odm_t *pDM_Odm) +{ + u8 i; + struct adapter *padapter = pDM_Odm->Adapter; + if (padapter->bDriverStopped) { + ODM_RT_TRACE(pDM_Odm, ODM_COMP_RA_MASK, ODM_DBG_TRACE, ("<---- odm_RefreshRateAdaptiveMask(): driver is going to unload\n")); + return; + } -/* */ -/* 3 Export Interface */ -/* */ + if (!pDM_Odm->bUseRAMask) { + ODM_RT_TRACE(pDM_Odm, ODM_COMP_RA_MASK, ODM_DBG_LOUD, ("<---- odm_RefreshRateAdaptiveMask(): driver does not control rate adaptive mask\n")); + return; + } -/* */ -/* 2011/09/21 MH Add to describe different team necessary resource allocate?? */ -/* */ -void ODM_DMInit(struct dm_odm_t *pDM_Odm) -{ + for (i = 0; i < ODM_ASSOCIATE_ENTRY_NUM; i++) { + PSTA_INFO_T pstat = pDM_Odm->pODM_StaInfo[i]; - odm_CommonInfoSelfInit(pDM_Odm); - odm_CmnInfoInit_Debug(pDM_Odm); - odm_DIGInit(pDM_Odm); - odm_NHMCounterStatisticsInit(pDM_Odm); - odm_AdaptivityInit(pDM_Odm); - odm_RateAdaptiveMaskInit(pDM_Odm); - ODM_CfoTrackingInit(pDM_Odm); - ODM_EdcaTurboInit(pDM_Odm); - odm_RSSIMonitorInit(pDM_Odm); - odm_TXPowerTrackingInit(pDM_Odm); + if (IS_STA_VALID(pstat)) { + if (IS_MCAST(pstat->hwaddr)) /* if (psta->mac_id == 1) */ + continue; - ODM_ClearTxPowerTrackingState(pDM_Odm); + if (true == ODM_RAStateCheck(pDM_Odm, pstat->rssi_stat.UndecoratedSmoothedPWDB, false, &pstat->rssi_level)) { + ODM_RT_TRACE(pDM_Odm, ODM_COMP_RA_MASK, ODM_DBG_LOUD, ("RSSI:%d, RSSI_LEVEL:%d\n", pstat->rssi_stat.UndecoratedSmoothedPWDB, pstat->rssi_level)); + /* printk("RSSI:%d, RSSI_LEVEL:%d\n", pstat->rssi_stat.UndecoratedSmoothedPWDB, pstat->rssi_level); */ + rtw_hal_update_ra_mask(pstat, pstat->rssi_level); + } - if (*(pDM_Odm->mp_mode) != 1) - odm_PathDiversityInit(pDM_Odm); + } + } +} - odm_DynamicBBPowerSavingInit(pDM_Odm); - odm_DynamicTxPowerInit(pDM_Odm); +/*----------------------------------------------------------------------------- +* Function: odm_RefreshRateAdaptiveMask() +* +* Overview: Update rate table mask according to rssi +* +* Input: NONE +* +* Output: NONE +* +* Return: NONE +* +* Revised History: +*When Who Remark +*05/27/2009 hpfan Create Version 0. +* +* -------------------------------------------------------------------------- +*/ +static void odm_RefreshRateAdaptiveMask(struct dm_odm_t *pDM_Odm) +{ - odm_SwAntDetectInit(pDM_Odm); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_RA_MASK, ODM_DBG_TRACE, ("odm_RefreshRateAdaptiveMask()---------->\n")); + if (!(pDM_Odm->SupportAbility & ODM_BB_RA_MASK)) { + ODM_RT_TRACE(pDM_Odm, ODM_COMP_RA_MASK, ODM_DBG_TRACE, ("odm_RefreshRateAdaptiveMask(): Return cos not supported\n")); + return; + } + odm_RefreshRateAdaptiveMaskCE(pDM_Odm); } -/* */ -/* 2011/09/20 MH This is the entry pointer for all team to execute HW out source DM. */ -/* You can not add any dummy function here, be care, you can only use DM structure */ -/* to perform any new ODM_DM. */ -/* */ -void ODM_DMWatchdog(struct dm_odm_t *pDM_Odm) +/* Return Value: bool */ +/* - true: RATRState is changed. */ +bool ODM_RAStateCheck( + struct dm_odm_t *pDM_Odm, + s32 RSSI, + bool bForceUpdate, + u8 *pRATRState +) { - odm_CommonInfoSelfUpdate(pDM_Odm); - odm_BasicDbgMessage(pDM_Odm); - odm_FalseAlarmCounterStatistics(pDM_Odm); - odm_NHMCounterStatistics(pDM_Odm); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): RSSI = 0x%x\n", pDM_Odm->RSSI_Min)); + struct odm_rate_adaptive *pRA = &pDM_Odm->RateAdaptive; + const u8 GoUpGap = 5; + u8 HighRSSIThreshForRA = pRA->HighRSSIThresh; + u8 LowRSSIThreshForRA = pRA->LowRSSIThresh; + u8 RATRState; - odm_RSSIMonitorCheck(pDM_Odm); + /* Threshold Adjustment: */ + /* when RSSI state trends to go up one or two levels, make sure RSSI is high enough. */ + /* Here GoUpGap is added to solve the boundary's level alternation issue. */ + switch (*pRATRState) { + case DM_RATR_STA_INIT: + case DM_RATR_STA_HIGH: + break; - /* For CE Platform(SPRD or Tablet) */ - /* 8723A or 8189ES platform */ - /* NeilChen--2012--08--24-- */ - /* Fix Leave LPS issue */ - if ((adapter_to_pwrctl(pDM_Odm->Adapter)->pwr_mode != PS_MODE_ACTIVE) /* in LPS mode */ - /* */ - /* (pDM_Odm->SupportICType & (ODM_RTL8723A))|| */ - /* (pDM_Odm->SupportICType & (ODM_RTL8188E) &&(&&(((pDM_Odm->SupportInterface == ODM_ITRF_SDIO))) */ - /* */ - ) { - ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("----Step1: odm_DIG is in LPS mode\n")); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("---Step2: 8723AS is in LPS mode\n")); - odm_DIGbyRSSI_LPS(pDM_Odm); - } else - odm_DIG(pDM_Odm); + case DM_RATR_STA_MIDDLE: + HighRSSIThreshForRA += GoUpGap; + break; - { - struct dig_t *pDM_DigTable = &pDM_Odm->DM_DigTable; + case DM_RATR_STA_LOW: + HighRSSIThreshForRA += GoUpGap; + LowRSSIThreshForRA += GoUpGap; + break; - odm_Adaptivity(pDM_Odm, pDM_DigTable->CurIGValue); + default: + ODM_RT_ASSERT(pDM_Odm, false, ("wrong rssi level setting %d !", *pRATRState)); + break; } - odm_CCKPacketDetectionThresh(pDM_Odm); - if (*(pDM_Odm->pbPowerSaving) == true) - return; + /* Decide RATRState by RSSI. */ + if (RSSI > HighRSSIThreshForRA) + RATRState = DM_RATR_STA_HIGH; + else if (RSSI > LowRSSIThreshForRA) + RATRState = DM_RATR_STA_MIDDLE; + else + RATRState = DM_RATR_STA_LOW; + /* printk("==>%s, RATRState:0x%02x , RSSI:%d\n", __func__, RATRState, RSSI); */ + if (*pRATRState != RATRState || bForceUpdate) { + ODM_RT_TRACE(pDM_Odm, ODM_COMP_RA_MASK, ODM_DBG_LOUD, ("RSSI Level %d -> %d\n", *pRATRState, RATRState)); + *pRATRState = RATRState; + return true; + } - odm_RefreshRateAdaptiveMask(pDM_Odm); - odm_EdcaTurboCheck(pDM_Odm); - odm_PathDiversity(pDM_Odm); - ODM_CfoTracking(pDM_Odm); + return false; +} - ODM_TXPowerTrackingCheck(pDM_Odm); +/* */ - /* odm_EdcaTurboCheck(pDM_Odm); */ +/* 3 ============================================================ */ +/* 3 RSSI Monitor */ +/* 3 ============================================================ */ - /* 2010.05.30 LukeLee: For CE platform, files in IC subfolders may not be included to be compiled, */ - /* so compile flags must be left here to prevent from compile errors */ - pDM_Odm->PhyDbgInfo.NumQryBeaconPkt = 0; -} +static void odm_RSSIMonitorInit(struct dm_odm_t *pDM_Odm) +{ + struct ra_t *pRA_Table = &pDM_Odm->DM_RA_Table; + pRA_Table->firstconnect = false; -/* */ -/* Init /.. Fixed HW value. Only init time. */ -/* */ -void ODM_CmnInfoInit(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, u32 Value) +} + +static void FindMinimumRSSI(struct adapter *padapter) { - /* */ - /* This section is used for init value */ - /* */ - switch (CmnInfo) { - /* */ - /* Fixed ODM value. */ - /* */ - case ODM_CMNINFO_ABILITY: - pDM_Odm->SupportAbility = (u32)Value; - break; + struct hal_com_data *pHalData = GET_HAL_DATA(padapter); + struct dm_priv *pdmpriv = &pHalData->dmpriv; + struct dm_odm_t *pDM_Odm = &pHalData->odmpriv; - case ODM_CMNINFO_RF_TYPE: - pDM_Odm->RFType = (u8)Value; - break; + /* 1 1.Determine the minimum RSSI */ - case ODM_CMNINFO_PLATFORM: - pDM_Odm->SupportPlatform = (u8)Value; - break; + if ( + (pDM_Odm->bLinked != true) && + (pdmpriv->EntryMinUndecoratedSmoothedPWDB == 0) + ) { + pdmpriv->MinUndecoratedPWDBForDM = 0; + /* ODM_RT_TRACE(pDM_Odm, COMP_BB_POWERSAVING, DBG_LOUD, ("Not connected to any\n")); */ + } else + pdmpriv->MinUndecoratedPWDBForDM = pdmpriv->EntryMinUndecoratedSmoothedPWDB; - case ODM_CMNINFO_INTERFACE: - pDM_Odm->SupportInterface = (u8)Value; - break; + /* DBG_8192C("%s =>MinUndecoratedPWDBForDM(%d)\n", __func__, pdmpriv->MinUndecoratedPWDBForDM); */ + /* ODM_RT_TRACE(pDM_Odm, COMP_DIG, DBG_LOUD, ("MinUndecoratedPWDBForDM =%d\n", pHalData->MinUndecoratedPWDBForDM)); */ +} - case ODM_CMNINFO_MP_TEST_CHIP: - pDM_Odm->bIsMPChip = (u8)Value; - break; +static void odm_RSSIMonitorCheckCE(struct dm_odm_t *pDM_Odm) +{ + struct adapter *Adapter = pDM_Odm->Adapter; + struct hal_com_data *pHalData = GET_HAL_DATA(Adapter); + struct dm_priv *pdmpriv = &pHalData->dmpriv; + int i; + int tmpEntryMaxPWDB = 0, tmpEntryMinPWDB = 0xff; + u8 sta_cnt = 0; + u32 PWDB_rssi[NUM_STA] = {0};/* 0~15]:MACID, [16~31]:PWDB_rssi */ + struct ra_t *pRA_Table = &pDM_Odm->DM_RA_Table; - case ODM_CMNINFO_IC_TYPE: - pDM_Odm->SupportICType = Value; - break; + if (pDM_Odm->bLinked != true) + return; - case ODM_CMNINFO_CUT_VER: - pDM_Odm->CutVersion = (u8)Value; - break; + pRA_Table->firstconnect = pDM_Odm->bLinked; - case ODM_CMNINFO_FAB_VER: - pDM_Odm->FabVersion = (u8)Value; - break; + /* if (check_fwstate(&Adapter->mlmepriv, WIFI_AP_STATE|WIFI_ADHOC_STATE|WIFI_ADHOC_MASTER_STATE) == true) */ + { + struct sta_info *psta; - case ODM_CMNINFO_RFE_TYPE: - pDM_Odm->RFEType = (u8)Value; - break; + for (i = 0; i < ODM_ASSOCIATE_ENTRY_NUM; i++) { + psta = pDM_Odm->pODM_StaInfo[i]; + if (IS_STA_VALID(psta)) { + if (IS_MCAST(psta->hwaddr)) /* if (psta->mac_id == 1) */ + continue; - case ODM_CMNINFO_RF_ANTENNA_TYPE: - pDM_Odm->AntDivType = (u8)Value; - break; + if (psta->rssi_stat.UndecoratedSmoothedPWDB == (-1)) + continue; - case ODM_CMNINFO_BOARD_TYPE: - pDM_Odm->BoardType = (u8)Value; - break; + if (psta->rssi_stat.UndecoratedSmoothedPWDB < tmpEntryMinPWDB) + tmpEntryMinPWDB = psta->rssi_stat.UndecoratedSmoothedPWDB; - case ODM_CMNINFO_PACKAGE_TYPE: - pDM_Odm->PackageType = (u8)Value; - break; + if (psta->rssi_stat.UndecoratedSmoothedPWDB > tmpEntryMaxPWDB) + tmpEntryMaxPWDB = psta->rssi_stat.UndecoratedSmoothedPWDB; - case ODM_CMNINFO_EXT_LNA: - pDM_Odm->ExtLNA = (u8)Value; - break; + if (psta->rssi_stat.UndecoratedSmoothedPWDB != (-1)) + PWDB_rssi[sta_cnt++] = (psta->mac_id | (psta->rssi_stat.UndecoratedSmoothedPWDB<<16)); + } + } - case ODM_CMNINFO_5G_EXT_LNA: - pDM_Odm->ExtLNA5G = (u8)Value; - break; + /* printk("%s ==> sta_cnt(%d)\n", __func__, sta_cnt); */ - case ODM_CMNINFO_EXT_PA: - pDM_Odm->ExtPA = (u8)Value; - break; + for (i = 0; i < sta_cnt; i++) { + if (PWDB_rssi[i] != (0)) { + if (pHalData->fw_ractrl == true)/* Report every sta's RSSI to FW */ + rtl8723b_set_rssi_cmd(Adapter, (u8 *)(&PWDB_rssi[i])); + } + } + } - case ODM_CMNINFO_5G_EXT_PA: - pDM_Odm->ExtPA5G = (u8)Value; - break; - case ODM_CMNINFO_GPA: - pDM_Odm->TypeGPA = (enum odm_type_gpa_e)Value; - break; - case ODM_CMNINFO_APA: - pDM_Odm->TypeAPA = (enum odm_type_apa_e)Value; - break; - case ODM_CMNINFO_GLNA: - pDM_Odm->TypeGLNA = (enum odm_type_glna_e)Value; - break; - case ODM_CMNINFO_ALNA: - pDM_Odm->TypeALNA = (enum odm_type_alna_e)Value; - break; - case ODM_CMNINFO_EXT_TRSW: - pDM_Odm->ExtTRSW = (u8)Value; - break; - case ODM_CMNINFO_PATCH_ID: - pDM_Odm->PatchID = (u8)Value; - break; - case ODM_CMNINFO_BINHCT_TEST: - pDM_Odm->bInHctTest = (bool)Value; - break; - case ODM_CMNINFO_BWIFI_TEST: - pDM_Odm->bWIFITest = (bool)Value; - break; + if (tmpEntryMaxPWDB != 0) /* If associated entry is found */ + pdmpriv->EntryMaxUndecoratedSmoothedPWDB = tmpEntryMaxPWDB; + else + pdmpriv->EntryMaxUndecoratedSmoothedPWDB = 0; - case ODM_CMNINFO_SMART_CONCURRENT: - pDM_Odm->bDualMacSmartConcurrent = (bool)Value; - break; + if (tmpEntryMinPWDB != 0xff) /* If associated entry is found */ + pdmpriv->EntryMinUndecoratedSmoothedPWDB = tmpEntryMinPWDB; + else + pdmpriv->EntryMinUndecoratedSmoothedPWDB = 0; - /* To remove the compiler warning, must add an empty default statement to handle the other values. */ - default: - /* do nothing */ - break; - } + FindMinimumRSSI(Adapter);/* get pdmpriv->MinUndecoratedPWDBForDM */ + pDM_Odm->RSSI_Min = pdmpriv->MinUndecoratedPWDBForDM; + /* ODM_CmnInfoUpdate(&pHalData->odmpriv , ODM_CMNINFO_RSSI_MIN, pdmpriv->MinUndecoratedPWDBForDM); */ } - -void ODM_CmnInfoHook(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, void *pValue) +static void odm_RSSIMonitorCheck(struct dm_odm_t *pDM_Odm) { - /* */ - /* Hook call by reference pointer. */ - /* */ - switch (CmnInfo) { - /* */ - /* Dynamic call by reference pointer. */ - /* */ - case ODM_CMNINFO_MAC_PHY_MODE: - pDM_Odm->pMacPhyMode = pValue; - break; - - case ODM_CMNINFO_TX_UNI: - pDM_Odm->pNumTxBytesUnicast = pValue; - break; - - case ODM_CMNINFO_RX_UNI: - pDM_Odm->pNumRxBytesUnicast = pValue; - break; - - case ODM_CMNINFO_WM_MODE: - pDM_Odm->pwirelessmode = pValue; - break; + if (!(pDM_Odm->SupportAbility & ODM_BB_RSSI_MONITOR)) + return; - case ODM_CMNINFO_BAND: - pDM_Odm->pBandType = pValue; - break; + odm_RSSIMonitorCheckCE(pDM_Odm); - case ODM_CMNINFO_SEC_CHNL_OFFSET: - pDM_Odm->pSecChOffset = pValue; - break; +} /* odm_RSSIMonitorCheck */ - case ODM_CMNINFO_SEC_MODE: - pDM_Odm->pSecurity = pValue; - break; +/* 3 ============================================================ */ +/* 3 SW Antenna Diversity */ +/* 3 ============================================================ */ +static void odm_SwAntDetectInit(struct dm_odm_t *pDM_Odm) +{ + struct swat_t *pDM_SWAT_Table = &pDM_Odm->DM_SWAT_Table; - case ODM_CMNINFO_BW: - pDM_Odm->pBandWidth = pValue; - break; + pDM_SWAT_Table->SWAS_NoLink_BK_Reg92c = rtw_read32(pDM_Odm->Adapter, rDPDT_control); + pDM_SWAT_Table->PreAntenna = MAIN_ANT; + pDM_SWAT_Table->CurAntenna = MAIN_ANT; + pDM_SWAT_Table->SWAS_NoLink_State = 0; +} - case ODM_CMNINFO_CHNL: - pDM_Odm->pChannel = pValue; - break; +/* 3 ============================================================ */ +/* 3 Tx Power Tracking */ +/* 3 ============================================================ */ - case ODM_CMNINFO_DMSP_GET_VALUE: - pDM_Odm->pbGetValueFromOtherMac = pValue; - break; +static u8 getSwingIndex(struct dm_odm_t *pDM_Odm) +{ + struct adapter *Adapter = pDM_Odm->Adapter; + u8 i = 0; + u32 bbSwing; + u32 swingTableSize; + u32 *pSwingTable; - case ODM_CMNINFO_BUDDY_ADAPTOR: - pDM_Odm->pBuddyAdapter = pValue; - break; + bbSwing = PHY_QueryBBReg(Adapter, rOFDM0_XATxIQImbalance, 0xFFC00000); - case ODM_CMNINFO_DMSP_IS_MASTER: - pDM_Odm->pbMasterOfDMSP = pValue; - break; + pSwingTable = OFDMSwingTable_New; + swingTableSize = OFDM_TABLE_SIZE; - case ODM_CMNINFO_SCAN: - pDM_Odm->pbScanInProcess = pValue; - break; + for (i = 0; i < swingTableSize; ++i) { + u32 tableValue = pSwingTable[i]; - case ODM_CMNINFO_POWER_SAVING: - pDM_Odm->pbPowerSaving = pValue; - break; + if (tableValue >= 0x100000) + tableValue >>= 22; + if (bbSwing == tableValue) + break; + } + return i; +} - case ODM_CMNINFO_ONE_PATH_CCA: - pDM_Odm->pOnePathCCA = pValue; - break; +void odm_TXPowerTrackingInit(struct dm_odm_t *pDM_Odm) +{ + u8 defaultSwingIndex = getSwingIndex(pDM_Odm); + u8 p = 0; + struct adapter *Adapter = pDM_Odm->Adapter; + struct hal_com_data *pHalData = GET_HAL_DATA(Adapter); - case ODM_CMNINFO_DRV_STOP: - pDM_Odm->pbDriverStopped = pValue; - break; - case ODM_CMNINFO_PNP_IN: - pDM_Odm->pbDriverIsGoingToPnpSetPowerSleep = pValue; - break; + struct dm_priv *pdmpriv = &pHalData->dmpriv; - case ODM_CMNINFO_INIT_ON: - pDM_Odm->pinit_adpt_in_progress = pValue; - break; + pdmpriv->bTXPowerTracking = true; + pdmpriv->TXPowercount = 0; + pdmpriv->bTXPowerTrackingInit = false; - case ODM_CMNINFO_ANT_TEST: - pDM_Odm->pAntennaTest = pValue; - break; + if (*(pDM_Odm->mp_mode) != 1) + pdmpriv->TxPowerTrackControl = true; + else + pdmpriv->TxPowerTrackControl = false; - case ODM_CMNINFO_NET_CLOSED: - pDM_Odm->pbNet_closed = pValue; - break; - case ODM_CMNINFO_FORCED_RATE: - pDM_Odm->pForcedDataRate = pValue; - break; + /* MSG_8192C("pdmpriv->TxPowerTrackControl = %d\n", pdmpriv->TxPowerTrackControl); */ - case ODM_CMNINFO_FORCED_IGI_LB: - pDM_Odm->pu1ForcedIgiLb = pValue; - break; + /* pDM_Odm->RFCalibrateInfo.TxPowerTrackControl = true; */ + pDM_Odm->RFCalibrateInfo.ThermalValue = pHalData->EEPROMThermalMeter; + pDM_Odm->RFCalibrateInfo.ThermalValue_IQK = pHalData->EEPROMThermalMeter; + pDM_Odm->RFCalibrateInfo.ThermalValue_LCK = pHalData->EEPROMThermalMeter; - case ODM_CMNINFO_MP_MODE: - pDM_Odm->mp_mode = pValue; - break; + /* The index of "0 dB" in SwingTable. */ + pDM_Odm->DefaultOfdmIndex = (defaultSwingIndex >= OFDM_TABLE_SIZE) ? 30 : defaultSwingIndex; + pDM_Odm->DefaultCckIndex = 20; - /* case ODM_CMNINFO_RTSTA_AID: */ - /* pDM_Odm->pAidMap = (u8 *)pValue; */ - /* break; */ + pDM_Odm->BbSwingIdxCckBase = pDM_Odm->DefaultCckIndex; + pDM_Odm->RFCalibrateInfo.CCK_index = pDM_Odm->DefaultCckIndex; - /* case ODM_CMNINFO_BT_COEXIST: */ - /* pDM_Odm->BTCoexist = (bool *)pValue; */ + for (p = ODM_RF_PATH_A; p < MAX_RF_PATH; ++p) { + pDM_Odm->BbSwingIdxOfdmBase[p] = pDM_Odm->DefaultOfdmIndex; + pDM_Odm->RFCalibrateInfo.OFDM_index[p] = pDM_Odm->DefaultOfdmIndex; + pDM_Odm->RFCalibrateInfo.DeltaPowerIndex[p] = 0; + pDM_Odm->RFCalibrateInfo.DeltaPowerIndexLast[p] = 0; + pDM_Odm->RFCalibrateInfo.PowerIndexOffset[p] = 0; + } - /* case ODM_CMNINFO_STA_STATUS: */ - /* pDM_Odm->pODM_StaInfo[] = (PSTA_INFO_T)pValue; */ - /* break; */ +} - /* case ODM_CMNINFO_PHY_STATUS: */ - /* pDM_Odm->pPhyInfo = (ODM_PHY_INFO *)pValue; */ - /* break; */ +void ODM_TXPowerTrackingCheck(struct dm_odm_t *pDM_Odm) +{ + struct adapter *Adapter = pDM_Odm->Adapter; - /* case ODM_CMNINFO_MAC_STATUS: */ - /* pDM_Odm->pMacInfo = (struct odm_mac_status_info *)pValue; */ - /* break; */ - /* To remove the compiler warning, must add an empty default statement to handle the other values. */ - default: - /* do nothing */ - break; - } + if (!(pDM_Odm->SupportAbility & ODM_RF_TX_PWR_TRACK)) + return; -} + if (!pDM_Odm->RFCalibrateInfo.TM_Trigger) { /* at least delay 1 sec */ + PHY_SetRFReg(pDM_Odm->Adapter, ODM_RF_PATH_A, RF_T_METER_NEW, (BIT17 | BIT16), 0x03); + /* DBG_871X("Trigger Thermal Meter!!\n"); */ -void ODM_CmnInfoPtrArrayHook( - struct dm_odm_t *pDM_Odm, - enum odm_cmninfo_e CmnInfo, - u16 Index, - void *pValue -) -{ - /* */ - /* Hook call by reference pointer. */ - /* */ - switch (CmnInfo) { - /* */ - /* Dynamic call by reference pointer. */ - /* */ - case ODM_CMNINFO_STA_STATUS: - pDM_Odm->pODM_StaInfo[Index] = (PSTA_INFO_T)pValue; - break; - /* To remove the compiler warning, must add an empty default statement to handle the other values. */ - default: - /* do nothing */ - break; + pDM_Odm->RFCalibrateInfo.TM_Trigger = 1; + return; + } else { + /* DBG_871X("Schedule TxPowerTracking direct call!!\n"); */ + ODM_TXPowerTrackingCallback_ThermalMeter(Adapter); + pDM_Odm->RFCalibrateInfo.TM_Trigger = 0; } - } +/* */ +/* 3 Export Interface */ +/* */ /* */ -/* Update Band/CHannel/.. The values are dynamic but non-per-packet. */ +/* 2011/09/21 MH Add to describe different team necessary resource allocate?? */ /* */ -void ODM_CmnInfoUpdate(struct dm_odm_t *pDM_Odm, u32 CmnInfo, u64 Value) +void ODM_DMInit(struct dm_odm_t *pDM_Odm) { - /* */ - /* This init variable may be changed in run time. */ - /* */ - switch (CmnInfo) { - case ODM_CMNINFO_LINK_IN_PROGRESS: - pDM_Odm->bLinkInProcess = (bool)Value; - break; - - case ODM_CMNINFO_ABILITY: - pDM_Odm->SupportAbility = (u32)Value; - break; - - case ODM_CMNINFO_RF_TYPE: - pDM_Odm->RFType = (u8)Value; - break; - - case ODM_CMNINFO_WIFI_DIRECT: - pDM_Odm->bWIFI_Direct = (bool)Value; - break; - case ODM_CMNINFO_WIFI_DISPLAY: - pDM_Odm->bWIFI_Display = (bool)Value; - break; + odm_CommonInfoSelfInit(pDM_Odm); + odm_CmnInfoInit_Debug(pDM_Odm); + odm_DIGInit(pDM_Odm); + odm_NHMCounterStatisticsInit(pDM_Odm); + odm_AdaptivityInit(pDM_Odm); + odm_RateAdaptiveMaskInit(pDM_Odm); + ODM_CfoTrackingInit(pDM_Odm); + ODM_EdcaTurboInit(pDM_Odm); + odm_RSSIMonitorInit(pDM_Odm); + odm_TXPowerTrackingInit(pDM_Odm); - case ODM_CMNINFO_LINK: - pDM_Odm->bLinked = (bool)Value; - break; + ODM_ClearTxPowerTrackingState(pDM_Odm); - case ODM_CMNINFO_STATION_STATE: - pDM_Odm->bsta_state = (bool)Value; - break; + if (*(pDM_Odm->mp_mode) != 1) + odm_PathDiversityInit(pDM_Odm); - case ODM_CMNINFO_RSSI_MIN: - pDM_Odm->RSSI_Min = (u8)Value; - break; + odm_DynamicBBPowerSavingInit(pDM_Odm); + odm_DynamicTxPowerInit(pDM_Odm); - case ODM_CMNINFO_DBG_COMP: - pDM_Odm->DebugComponents = Value; - break; + odm_SwAntDetectInit(pDM_Odm); +} - case ODM_CMNINFO_DBG_LEVEL: - pDM_Odm->DebugLevel = (u32)Value; - break; - case ODM_CMNINFO_RA_THRESHOLD_HIGH: - pDM_Odm->RateAdaptive.HighRSSIThresh = (u8)Value; - break; - - case ODM_CMNINFO_RA_THRESHOLD_LOW: - pDM_Odm->RateAdaptive.LowRSSIThresh = (u8)Value; - break; - /* The following is for BT HS mode and BT coexist mechanism. */ - case ODM_CMNINFO_BT_ENABLED: - pDM_Odm->bBtEnabled = (bool)Value; - break; - - case ODM_CMNINFO_BT_HS_CONNECT_PROCESS: - pDM_Odm->bBtConnectProcess = (bool)Value; - break; - - case ODM_CMNINFO_BT_HS_RSSI: - pDM_Odm->btHsRssi = (u8)Value; - break; - - case ODM_CMNINFO_BT_OPERATION: - pDM_Odm->bBtHsOperation = (bool)Value; - break; - - case ODM_CMNINFO_BT_LIMITED_DIG: - pDM_Odm->bBtLimitedDig = (bool)Value; - break; - - case ODM_CMNINFO_BT_DISABLE_EDCA: - pDM_Odm->bBtDisableEdcaTurbo = (bool)Value; - break; - -/* - case ODM_CMNINFO_OP_MODE: - pDM_Odm->OPMode = (u8)Value; - break; - - case ODM_CMNINFO_WM_MODE: - pDM_Odm->WirelessMode = (u8)Value; - break; - - case ODM_CMNINFO_BAND: - pDM_Odm->BandType = (u8)Value; - break; - - case ODM_CMNINFO_SEC_CHNL_OFFSET: - pDM_Odm->SecChOffset = (u8)Value; - break; - - case ODM_CMNINFO_SEC_MODE: - pDM_Odm->Security = (u8)Value; - break; - - case ODM_CMNINFO_BW: - pDM_Odm->BandWidth = (u8)Value; - break; - - case ODM_CMNINFO_CHNL: - pDM_Odm->Channel = (u8)Value; - break; -*/ - default: - /* do nothing */ - break; - } - - -} - -void odm_CommonInfoSelfInit(struct dm_odm_t *pDM_Odm) +/* */ +/* 2011/09/20 MH This is the entry pointer for all team to execute HW out source DM. */ +/* You can not add any dummy function here, be care, you can only use DM structure */ +/* to perform any new ODM_DM. */ +/* */ +void ODM_DMWatchdog(struct dm_odm_t *pDM_Odm) { - pDM_Odm->bCckHighPower = (bool) PHY_QueryBBReg(pDM_Odm->Adapter, ODM_REG(CCK_RPT_FORMAT, pDM_Odm), ODM_BIT(CCK_RPT_FORMAT, pDM_Odm)); - pDM_Odm->RFPathRxEnable = (u8) PHY_QueryBBReg(pDM_Odm->Adapter, ODM_REG(BB_RX_PATH, pDM_Odm), ODM_BIT(BB_RX_PATH, pDM_Odm)); - - ODM_InitDebugSetting(pDM_Odm); - - pDM_Odm->TxRate = 0xFF; -} + odm_CommonInfoSelfUpdate(pDM_Odm); + odm_BasicDbgMessage(pDM_Odm); + odm_FalseAlarmCounterStatistics(pDM_Odm); + odm_NHMCounterStatistics(pDM_Odm); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): RSSI = 0x%x\n", pDM_Odm->RSSI_Min)); -void odm_CommonInfoSelfUpdate(struct dm_odm_t *pDM_Odm) -{ - u8 EntryCnt = 0; - u8 i; - PSTA_INFO_T pEntry; + odm_RSSIMonitorCheck(pDM_Odm); - if (*(pDM_Odm->pBandWidth) == ODM_BW40M) { - if (*(pDM_Odm->pSecChOffset) == 1) - pDM_Odm->ControlChannel = *(pDM_Odm->pChannel)-2; - else if (*(pDM_Odm->pSecChOffset) == 2) - pDM_Odm->ControlChannel = *(pDM_Odm->pChannel)+2; + /* For CE Platform(SPRD or Tablet) */ + /* 8723A or 8189ES platform */ + /* NeilChen--2012--08--24-- */ + /* Fix Leave LPS issue */ + if ((adapter_to_pwrctl(pDM_Odm->Adapter)->pwr_mode != PS_MODE_ACTIVE) /* in LPS mode */ + /* */ + /* (pDM_Odm->SupportICType & (ODM_RTL8723A))|| */ + /* (pDM_Odm->SupportICType & (ODM_RTL8188E) &&(&&(((pDM_Odm->SupportInterface == ODM_ITRF_SDIO))) */ + /* */ + ) { + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("----Step1: odm_DIG is in LPS mode\n")); + ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("---Step2: 8723AS is in LPS mode\n")); + odm_DIGbyRSSI_LPS(pDM_Odm); } else - pDM_Odm->ControlChannel = *(pDM_Odm->pChannel); - - for (i = 0; i < ODM_ASSOCIATE_ENTRY_NUM; i++) { - pEntry = pDM_Odm->pODM_StaInfo[i]; - if (IS_STA_VALID(pEntry)) - EntryCnt++; - } - - if (EntryCnt == 1) - pDM_Odm->bOneEntryOnly = true; - else - pDM_Odm->bOneEntryOnly = false; -} - -void odm_CmnInfoInit_Debug(struct dm_odm_t *pDM_Odm) -{ - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("odm_CmnInfoInit_Debug ==>\n")); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("SupportPlatform =%d\n", pDM_Odm->SupportPlatform)); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("SupportAbility = 0x%x\n", pDM_Odm->SupportAbility)); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("SupportInterface =%d\n", pDM_Odm->SupportInterface)); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("SupportICType = 0x%x\n", pDM_Odm->SupportICType)); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("CutVersion =%d\n", pDM_Odm->CutVersion)); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("FabVersion =%d\n", pDM_Odm->FabVersion)); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("RFType =%d\n", pDM_Odm->RFType)); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("BoardType =%d\n", pDM_Odm->BoardType)); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("ExtLNA =%d\n", pDM_Odm->ExtLNA)); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("ExtPA =%d\n", pDM_Odm->ExtPA)); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("ExtTRSW =%d\n", pDM_Odm->ExtTRSW)); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("PatchID =%d\n", pDM_Odm->PatchID)); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("bInHctTest =%d\n", pDM_Odm->bInHctTest)); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("bWIFITest =%d\n", pDM_Odm->bWIFITest)); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("bDualMacSmartConcurrent =%d\n", pDM_Odm->bDualMacSmartConcurrent)); - -} - -void odm_BasicDbgMessage(struct dm_odm_t *pDM_Odm) -{ - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("odm_BasicDbgMsg ==>\n")); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("bLinked = %d, RSSI_Min = %d,\n", - pDM_Odm->bLinked, pDM_Odm->RSSI_Min)); - ODM_RT_TRACE(pDM_Odm, ODM_COMP_COMMON, ODM_DBG_LOUD, ("RxRate = 0x%x, RSSI_A = %d, RSSI_B = %d\n", - pDM_Odm->RxRate, pDM_Odm->RSSI_A, pDM_Odm->RSSI_B)); -} - -/* 3 ============================================================ */ -/* 3 DIG */ -/* 3 ============================================================ */ -/*----------------------------------------------------------------------------- - * Function: odm_DIGInit() - * - * Overview: Set DIG scheme init value. - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - *When Who Remark - * - *--------------------------------------------------------------------------- - */ - -/* Remove DIG by yuchen */ + odm_DIG(pDM_Odm); -/* Remove DIG and FA check by Yu Chen */ + { + struct dig_t *pDM_DigTable = &pDM_Odm->DM_DigTable; + odm_Adaptivity(pDM_Odm, pDM_DigTable->CurIGValue); + } + odm_CCKPacketDetectionThresh(pDM_Odm); -/* 3 ============================================================ */ -/* 3 BB Power Save */ -/* 3 ============================================================ */ + if (*(pDM_Odm->pbPowerSaving) == true) + return; -/* Remove BB power saving by Yuchen */ -/* 3 ============================================================ */ -/* 3 RATR MASK */ -/* 3 ============================================================ */ -/* 3 ============================================================ */ -/* 3 Rate Adaptive */ -/* 3 ============================================================ */ + odm_RefreshRateAdaptiveMask(pDM_Odm); + odm_EdcaTurboCheck(pDM_Odm); + odm_PathDiversity(pDM_Odm); + ODM_CfoTracking(pDM_Odm); -void odm_RateAdaptiveMaskInit(struct dm_odm_t *pDM_Odm) -{ - struct odm_rate_adaptive *pOdmRA = &pDM_Odm->RateAdaptive; + ODM_TXPowerTrackingCheck(pDM_Odm); - pOdmRA->Type = DM_Type_ByDriver; - if (pOdmRA->Type == DM_Type_ByDriver) - pDM_Odm->bUseRAMask = true; - else - pDM_Odm->bUseRAMask = false; + /* odm_EdcaTurboCheck(pDM_Odm); */ - pOdmRA->RATRState = DM_RATR_STA_INIT; - pOdmRA->LdpcThres = 35; - pOdmRA->bUseLdpc = false; - pOdmRA->HighRSSIThresh = 50; - pOdmRA->LowRSSIThresh = 20; + /* 2010.05.30 LukeLee: For CE platform, files in IC subfolders may not be included to be compiled, */ + /* so compile flags must be left here to prevent from compile errors */ + pDM_Odm->PhyDbgInfo.NumQryBeaconPkt = 0; } -u32 ODM_Get_Rate_Bitmap( - struct dm_odm_t *pDM_Odm, - u32 macid, - u32 ra_mask, - u8 rssi_level -) -{ - PSTA_INFO_T pEntry; - u32 rate_bitmap = 0; - u8 WirelessMode; - - pEntry = pDM_Odm->pODM_StaInfo[macid]; - if (!IS_STA_VALID(pEntry)) - return ra_mask; - - WirelessMode = pEntry->wireless_mode; - switch (WirelessMode) { - case ODM_WM_B: - if (ra_mask & 0x0000000c) /* 11M or 5.5M enable */ - rate_bitmap = 0x0000000d; - else - rate_bitmap = 0x0000000f; +/* */ +/* Init /.. Fixed HW value. Only init time. */ +/* */ +void ODM_CmnInfoInit(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, u32 Value) +{ + /* */ + /* This section is used for init value */ + /* */ + switch (CmnInfo) { + /* */ + /* Fixed ODM value. */ + /* */ + case ODM_CMNINFO_ABILITY: + pDM_Odm->SupportAbility = (u32)Value; break; - case (ODM_WM_G): - case (ODM_WM_A): - if (rssi_level == DM_RATR_STA_HIGH) - rate_bitmap = 0x00000f00; - else - rate_bitmap = 0x00000ff0; + case ODM_CMNINFO_RF_TYPE: + pDM_Odm->RFType = (u8)Value; break; - case (ODM_WM_B|ODM_WM_G): - if (rssi_level == DM_RATR_STA_HIGH) - rate_bitmap = 0x00000f00; - else if (rssi_level == DM_RATR_STA_MIDDLE) - rate_bitmap = 0x00000ff0; - else - rate_bitmap = 0x00000ff5; + case ODM_CMNINFO_PLATFORM: + pDM_Odm->SupportPlatform = (u8)Value; break; - case (ODM_WM_B|ODM_WM_G|ODM_WM_N24G): - case (ODM_WM_B|ODM_WM_N24G): - case (ODM_WM_G|ODM_WM_N24G): - case (ODM_WM_A|ODM_WM_N5G): - if (pDM_Odm->RFType == ODM_1T2R || pDM_Odm->RFType == ODM_1T1R) { - if (rssi_level == DM_RATR_STA_HIGH) - rate_bitmap = 0x000f0000; - else if (rssi_level == DM_RATR_STA_MIDDLE) - rate_bitmap = 0x000ff000; - else { - if (*(pDM_Odm->pBandWidth) == ODM_BW40M) - rate_bitmap = 0x000ff015; - else - rate_bitmap = 0x000ff005; - } - } else { - if (rssi_level == DM_RATR_STA_HIGH) - rate_bitmap = 0x0f8f0000; - else if (rssi_level == DM_RATR_STA_MIDDLE) - rate_bitmap = 0x0f8ff000; - else { - if (*(pDM_Odm->pBandWidth) == ODM_BW40M) - rate_bitmap = 0x0f8ff015; - else - rate_bitmap = 0x0f8ff005; - } - } + case ODM_CMNINFO_INTERFACE: + pDM_Odm->SupportInterface = (u8)Value; break; - case (ODM_WM_AC|ODM_WM_G): - if (rssi_level == 1) - rate_bitmap = 0xfc3f0000; - else if (rssi_level == 2) - rate_bitmap = 0xfffff000; - else - rate_bitmap = 0xffffffff; + case ODM_CMNINFO_MP_TEST_CHIP: + pDM_Odm->bIsMPChip = (u8)Value; break; - case (ODM_WM_AC|ODM_WM_A): - - if (pDM_Odm->RFType == RF_1T1R) { - if (rssi_level == 1) /* add by Gary for ac-series */ - rate_bitmap = 0x003f8000; - else if (rssi_level == 2) - rate_bitmap = 0x003ff000; - else - rate_bitmap = 0x003ff010; - } else { - if (rssi_level == 1) /* add by Gary for ac-series */ - rate_bitmap = 0xfe3f8000; /* VHT 2SS MCS3~9 */ - else if (rssi_level == 2) - rate_bitmap = 0xfffff000; /* VHT 2SS MCS0~9 */ - else - rate_bitmap = 0xfffff010; /* All */ - } + case ODM_CMNINFO_IC_TYPE: + pDM_Odm->SupportICType = Value; break; - default: - if (pDM_Odm->RFType == RF_1T2R) - rate_bitmap = 0x000fffff; - else - rate_bitmap = 0x0fffffff; + case ODM_CMNINFO_CUT_VER: + pDM_Odm->CutVersion = (u8)Value; break; - } - - /* printk("%s ==> rssi_level:0x%02x, WirelessMode:0x%02x, rate_bitmap:0x%08x\n", __func__, rssi_level, WirelessMode, rate_bitmap); */ - ODM_RT_TRACE(pDM_Odm, ODM_COMP_RA_MASK, ODM_DBG_LOUD, (" ==> rssi_level:0x%02x, WirelessMode:0x%02x, rate_bitmap:0x%08x\n", rssi_level, WirelessMode, rate_bitmap)); - - return ra_mask & rate_bitmap; -} - -/*----------------------------------------------------------------------------- -* Function: odm_RefreshRateAdaptiveMask() -* -* Overview: Update rate table mask according to rssi -* -* Input: NONE -* -* Output: NONE -* -* Return: NONE -* -* Revised History: -*When Who Remark -*05/27/2009 hpfan Create Version 0. -* -* -------------------------------------------------------------------------- -*/ -void odm_RefreshRateAdaptiveMask(struct dm_odm_t *pDM_Odm) -{ - - ODM_RT_TRACE(pDM_Odm, ODM_COMP_RA_MASK, ODM_DBG_TRACE, ("odm_RefreshRateAdaptiveMask()---------->\n")); - if (!(pDM_Odm->SupportAbility & ODM_BB_RA_MASK)) { - ODM_RT_TRACE(pDM_Odm, ODM_COMP_RA_MASK, ODM_DBG_TRACE, ("odm_RefreshRateAdaptiveMask(): Return cos not supported\n")); - return; - } - odm_RefreshRateAdaptiveMaskCE(pDM_Odm); -} - -void odm_RefreshRateAdaptiveMaskCE(struct dm_odm_t *pDM_Odm) -{ - u8 i; - struct adapter *padapter = pDM_Odm->Adapter; + case ODM_CMNINFO_FAB_VER: + pDM_Odm->FabVersion = (u8)Value; + break; - if (padapter->bDriverStopped) { - ODM_RT_TRACE(pDM_Odm, ODM_COMP_RA_MASK, ODM_DBG_TRACE, ("<---- odm_RefreshRateAdaptiveMask(): driver is going to unload\n")); - return; - } + case ODM_CMNINFO_RFE_TYPE: + pDM_Odm->RFEType = (u8)Value; + break; - if (!pDM_Odm->bUseRAMask) { - ODM_RT_TRACE(pDM_Odm, ODM_COMP_RA_MASK, ODM_DBG_LOUD, ("<---- odm_RefreshRateAdaptiveMask(): driver does not control rate adaptive mask\n")); - return; - } + case ODM_CMNINFO_RF_ANTENNA_TYPE: + pDM_Odm->AntDivType = (u8)Value; + break; - for (i = 0; i < ODM_ASSOCIATE_ENTRY_NUM; i++) { - PSTA_INFO_T pstat = pDM_Odm->pODM_StaInfo[i]; + case ODM_CMNINFO_BOARD_TYPE: + pDM_Odm->BoardType = (u8)Value; + break; - if (IS_STA_VALID(pstat)) { - if (IS_MCAST(pstat->hwaddr)) /* if (psta->mac_id == 1) */ - continue; + case ODM_CMNINFO_PACKAGE_TYPE: + pDM_Odm->PackageType = (u8)Value; + break; - if (true == ODM_RAStateCheck(pDM_Odm, pstat->rssi_stat.UndecoratedSmoothedPWDB, false, &pstat->rssi_level)) { - ODM_RT_TRACE(pDM_Odm, ODM_COMP_RA_MASK, ODM_DBG_LOUD, ("RSSI:%d, RSSI_LEVEL:%d\n", pstat->rssi_stat.UndecoratedSmoothedPWDB, pstat->rssi_level)); - /* printk("RSSI:%d, RSSI_LEVEL:%d\n", pstat->rssi_stat.UndecoratedSmoothedPWDB, pstat->rssi_level); */ - rtw_hal_update_ra_mask(pstat, pstat->rssi_level); - } + case ODM_CMNINFO_EXT_LNA: + pDM_Odm->ExtLNA = (u8)Value; + break; - } - } -} + case ODM_CMNINFO_5G_EXT_LNA: + pDM_Odm->ExtLNA5G = (u8)Value; + break; -/* Return Value: bool */ -/* - true: RATRState is changed. */ -bool ODM_RAStateCheck( - struct dm_odm_t *pDM_Odm, - s32 RSSI, - bool bForceUpdate, - u8 *pRATRState -) -{ - struct odm_rate_adaptive *pRA = &pDM_Odm->RateAdaptive; - const u8 GoUpGap = 5; - u8 HighRSSIThreshForRA = pRA->HighRSSIThresh; - u8 LowRSSIThreshForRA = pRA->LowRSSIThresh; - u8 RATRState; + case ODM_CMNINFO_EXT_PA: + pDM_Odm->ExtPA = (u8)Value; + break; - /* Threshold Adjustment: */ - /* when RSSI state trends to go up one or two levels, make sure RSSI is high enough. */ - /* Here GoUpGap is added to solve the boundary's level alternation issue. */ - switch (*pRATRState) { - case DM_RATR_STA_INIT: - case DM_RATR_STA_HIGH: + case ODM_CMNINFO_5G_EXT_PA: + pDM_Odm->ExtPA5G = (u8)Value; break; - case DM_RATR_STA_MIDDLE: - HighRSSIThreshForRA += GoUpGap; + case ODM_CMNINFO_GPA: + pDM_Odm->TypeGPA = (enum odm_type_gpa_e)Value; + break; + case ODM_CMNINFO_APA: + pDM_Odm->TypeAPA = (enum odm_type_apa_e)Value; + break; + case ODM_CMNINFO_GLNA: + pDM_Odm->TypeGLNA = (enum odm_type_glna_e)Value; + break; + case ODM_CMNINFO_ALNA: + pDM_Odm->TypeALNA = (enum odm_type_alna_e)Value; break; - case DM_RATR_STA_LOW: - HighRSSIThreshForRA += GoUpGap; - LowRSSIThreshForRA += GoUpGap; + case ODM_CMNINFO_EXT_TRSW: + pDM_Odm->ExtTRSW = (u8)Value; + break; + case ODM_CMNINFO_PATCH_ID: + pDM_Odm->PatchID = (u8)Value; + break; + case ODM_CMNINFO_BINHCT_TEST: + pDM_Odm->bInHctTest = (bool)Value; + break; + case ODM_CMNINFO_BWIFI_TEST: + pDM_Odm->bWIFITest = (bool)Value; + break; + + case ODM_CMNINFO_SMART_CONCURRENT: + pDM_Odm->bDualMacSmartConcurrent = (bool)Value; break; + /* To remove the compiler warning, must add an empty default statement to handle the other values. */ default: - ODM_RT_ASSERT(pDM_Odm, false, ("wrong rssi level setting %d !", *pRATRState)); + /* do nothing */ break; } - /* Decide RATRState by RSSI. */ - if (RSSI > HighRSSIThreshForRA) - RATRState = DM_RATR_STA_HIGH; - else if (RSSI > LowRSSIThreshForRA) - RATRState = DM_RATR_STA_MIDDLE; - else - RATRState = DM_RATR_STA_LOW; - /* printk("==>%s, RATRState:0x%02x , RSSI:%d\n", __func__, RATRState, RSSI); */ +} - if (*pRATRState != RATRState || bForceUpdate) { - ODM_RT_TRACE(pDM_Odm, ODM_COMP_RA_MASK, ODM_DBG_LOUD, ("RSSI Level %d -> %d\n", *pRATRState, RATRState)); - *pRATRState = RATRState; - return true; - } - return false; -} +void ODM_CmnInfoHook(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, void *pValue) +{ + /* */ + /* Hook call by reference pointer. */ + /* */ + switch (CmnInfo) { + /* */ + /* Dynamic call by reference pointer. */ + /* */ + case ODM_CMNINFO_MAC_PHY_MODE: + pDM_Odm->pMacPhyMode = pValue; + break; + case ODM_CMNINFO_TX_UNI: + pDM_Odm->pNumTxBytesUnicast = pValue; + break; -/* */ + case ODM_CMNINFO_RX_UNI: + pDM_Odm->pNumRxBytesUnicast = pValue; + break; -/* 3 ============================================================ */ -/* 3 Dynamic Tx Power */ -/* 3 ============================================================ */ + case ODM_CMNINFO_WM_MODE: + pDM_Odm->pwirelessmode = pValue; + break; -/* Remove BY YuChen */ + case ODM_CMNINFO_BAND: + pDM_Odm->pBandType = pValue; + break; -/* 3 ============================================================ */ -/* 3 RSSI Monitor */ -/* 3 ============================================================ */ + case ODM_CMNINFO_SEC_CHNL_OFFSET: + pDM_Odm->pSecChOffset = pValue; + break; -void odm_RSSIMonitorInit(struct dm_odm_t *pDM_Odm) -{ - struct ra_t *pRA_Table = &pDM_Odm->DM_RA_Table; + case ODM_CMNINFO_SEC_MODE: + pDM_Odm->pSecurity = pValue; + break; - pRA_Table->firstconnect = false; + case ODM_CMNINFO_BW: + pDM_Odm->pBandWidth = pValue; + break; -} + case ODM_CMNINFO_CHNL: + pDM_Odm->pChannel = pValue; + break; -void odm_RSSIMonitorCheck(struct dm_odm_t *pDM_Odm) -{ - if (!(pDM_Odm->SupportAbility & ODM_BB_RSSI_MONITOR)) - return; + case ODM_CMNINFO_DMSP_GET_VALUE: + pDM_Odm->pbGetValueFromOtherMac = pValue; + break; - odm_RSSIMonitorCheckCE(pDM_Odm); + case ODM_CMNINFO_BUDDY_ADAPTOR: + pDM_Odm->pBuddyAdapter = pValue; + break; -} /* odm_RSSIMonitorCheck */ + case ODM_CMNINFO_DMSP_IS_MASTER: + pDM_Odm->pbMasterOfDMSP = pValue; + break; -static void FindMinimumRSSI(struct adapter *padapter) -{ - struct hal_com_data *pHalData = GET_HAL_DATA(padapter); - struct dm_priv *pdmpriv = &pHalData->dmpriv; - struct dm_odm_t *pDM_Odm = &pHalData->odmpriv; + case ODM_CMNINFO_SCAN: + pDM_Odm->pbScanInProcess = pValue; + break; - /* 1 1.Determine the minimum RSSI */ + case ODM_CMNINFO_POWER_SAVING: + pDM_Odm->pbPowerSaving = pValue; + break; - if ( - (pDM_Odm->bLinked != true) && - (pdmpriv->EntryMinUndecoratedSmoothedPWDB == 0) - ) { - pdmpriv->MinUndecoratedPWDBForDM = 0; - /* ODM_RT_TRACE(pDM_Odm, COMP_BB_POWERSAVING, DBG_LOUD, ("Not connected to any\n")); */ - } else - pdmpriv->MinUndecoratedPWDBForDM = pdmpriv->EntryMinUndecoratedSmoothedPWDB; + case ODM_CMNINFO_ONE_PATH_CCA: + pDM_Odm->pOnePathCCA = pValue; + break; - /* DBG_8192C("%s =>MinUndecoratedPWDBForDM(%d)\n", __func__, pdmpriv->MinUndecoratedPWDBForDM); */ - /* ODM_RT_TRACE(pDM_Odm, COMP_DIG, DBG_LOUD, ("MinUndecoratedPWDBForDM =%d\n", pHalData->MinUndecoratedPWDBForDM)); */ -} + case ODM_CMNINFO_DRV_STOP: + pDM_Odm->pbDriverStopped = pValue; + break; -void odm_RSSIMonitorCheckCE(struct dm_odm_t *pDM_Odm) -{ - struct adapter *Adapter = pDM_Odm->Adapter; - struct hal_com_data *pHalData = GET_HAL_DATA(Adapter); - struct dm_priv *pdmpriv = &pHalData->dmpriv; - int i; - int tmpEntryMaxPWDB = 0, tmpEntryMinPWDB = 0xff; - u8 sta_cnt = 0; - u32 PWDB_rssi[NUM_STA] = {0};/* 0~15]:MACID, [16~31]:PWDB_rssi */ - struct ra_t *pRA_Table = &pDM_Odm->DM_RA_Table; + case ODM_CMNINFO_PNP_IN: + pDM_Odm->pbDriverIsGoingToPnpSetPowerSleep = pValue; + break; - if (pDM_Odm->bLinked != true) - return; + case ODM_CMNINFO_INIT_ON: + pDM_Odm->pinit_adpt_in_progress = pValue; + break; - pRA_Table->firstconnect = pDM_Odm->bLinked; + case ODM_CMNINFO_ANT_TEST: + pDM_Odm->pAntennaTest = pValue; + break; - /* if (check_fwstate(&Adapter->mlmepriv, WIFI_AP_STATE|WIFI_ADHOC_STATE|WIFI_ADHOC_MASTER_STATE) == true) */ - { - struct sta_info *psta; + case ODM_CMNINFO_NET_CLOSED: + pDM_Odm->pbNet_closed = pValue; + break; - for (i = 0; i < ODM_ASSOCIATE_ENTRY_NUM; i++) { - psta = pDM_Odm->pODM_StaInfo[i]; - if (IS_STA_VALID(psta)) { - if (IS_MCAST(psta->hwaddr)) /* if (psta->mac_id == 1) */ - continue; + case ODM_CMNINFO_FORCED_RATE: + pDM_Odm->pForcedDataRate = pValue; + break; - if (psta->rssi_stat.UndecoratedSmoothedPWDB == (-1)) - continue; + case ODM_CMNINFO_FORCED_IGI_LB: + pDM_Odm->pu1ForcedIgiLb = pValue; + break; - if (psta->rssi_stat.UndecoratedSmoothedPWDB < tmpEntryMinPWDB) - tmpEntryMinPWDB = psta->rssi_stat.UndecoratedSmoothedPWDB; + case ODM_CMNINFO_MP_MODE: + pDM_Odm->mp_mode = pValue; + break; + + /* case ODM_CMNINFO_RTSTA_AID: */ + /* pDM_Odm->pAidMap = (u8 *)pValue; */ + /* break; */ + + /* case ODM_CMNINFO_BT_COEXIST: */ + /* pDM_Odm->BTCoexist = (bool *)pValue; */ + + /* case ODM_CMNINFO_STA_STATUS: */ + /* pDM_Odm->pODM_StaInfo[] = (PSTA_INFO_T)pValue; */ + /* break; */ + + /* case ODM_CMNINFO_PHY_STATUS: */ + /* pDM_Odm->pPhyInfo = (ODM_PHY_INFO *)pValue; */ + /* break; */ - if (psta->rssi_stat.UndecoratedSmoothedPWDB > tmpEntryMaxPWDB) - tmpEntryMaxPWDB = psta->rssi_stat.UndecoratedSmoothedPWDB; + /* case ODM_CMNINFO_MAC_STATUS: */ + /* pDM_Odm->pMacInfo = (struct odm_mac_status_info *)pValue; */ + /* break; */ + /* To remove the compiler warning, must add an empty default statement to handle the other values. */ + default: + /* do nothing */ + break; + } - if (psta->rssi_stat.UndecoratedSmoothedPWDB != (-1)) - PWDB_rssi[sta_cnt++] = (psta->mac_id | (psta->rssi_stat.UndecoratedSmoothedPWDB<<16)); - } - } +} - /* printk("%s ==> sta_cnt(%d)\n", __func__, sta_cnt); */ - for (i = 0; i < sta_cnt; i++) { - if (PWDB_rssi[i] != (0)) { - if (pHalData->fw_ractrl == true)/* Report every sta's RSSI to FW */ - rtl8723b_set_rssi_cmd(Adapter, (u8 *)(&PWDB_rssi[i])); - } - } +void ODM_CmnInfoPtrArrayHook( + struct dm_odm_t *pDM_Odm, + enum odm_cmninfo_e CmnInfo, + u16 Index, + void *pValue +) +{ + /* */ + /* Hook call by reference pointer. */ + /* */ + switch (CmnInfo) { + /* */ + /* Dynamic call by reference pointer. */ + /* */ + case ODM_CMNINFO_STA_STATUS: + pDM_Odm->pODM_StaInfo[Index] = (PSTA_INFO_T)pValue; + break; + /* To remove the compiler warning, must add an empty default statement to handle the other values. */ + default: + /* do nothing */ + break; } +} - if (tmpEntryMaxPWDB != 0) /* If associated entry is found */ - pdmpriv->EntryMaxUndecoratedSmoothedPWDB = tmpEntryMaxPWDB; - else - pdmpriv->EntryMaxUndecoratedSmoothedPWDB = 0; +/* */ +/* Update Band/CHannel/.. The values are dynamic but non-per-packet. */ +/* */ +void ODM_CmnInfoUpdate(struct dm_odm_t *pDM_Odm, u32 CmnInfo, u64 Value) +{ + /* */ + /* This init variable may be changed in run time. */ + /* */ + switch (CmnInfo) { + case ODM_CMNINFO_LINK_IN_PROGRESS: + pDM_Odm->bLinkInProcess = (bool)Value; + break; - if (tmpEntryMinPWDB != 0xff) /* If associated entry is found */ - pdmpriv->EntryMinUndecoratedSmoothedPWDB = tmpEntryMinPWDB; - else - pdmpriv->EntryMinUndecoratedSmoothedPWDB = 0; + case ODM_CMNINFO_ABILITY: + pDM_Odm->SupportAbility = (u32)Value; + break; - FindMinimumRSSI(Adapter);/* get pdmpriv->MinUndecoratedPWDBForDM */ + case ODM_CMNINFO_RF_TYPE: + pDM_Odm->RFType = (u8)Value; + break; - pDM_Odm->RSSI_Min = pdmpriv->MinUndecoratedPWDBForDM; - /* ODM_CmnInfoUpdate(&pHalData->odmpriv , ODM_CMNINFO_RSSI_MIN, pdmpriv->MinUndecoratedPWDBForDM); */ -} + case ODM_CMNINFO_WIFI_DIRECT: + pDM_Odm->bWIFI_Direct = (bool)Value; + break; -/* 3 ============================================================ */ -/* 3 Tx Power Tracking */ -/* 3 ============================================================ */ + case ODM_CMNINFO_WIFI_DISPLAY: + pDM_Odm->bWIFI_Display = (bool)Value; + break; -static u8 getSwingIndex(struct dm_odm_t *pDM_Odm) -{ - struct adapter *Adapter = pDM_Odm->Adapter; - u8 i = 0; - u32 bbSwing; - u32 swingTableSize; - u32 *pSwingTable; + case ODM_CMNINFO_LINK: + pDM_Odm->bLinked = (bool)Value; + break; - bbSwing = PHY_QueryBBReg(Adapter, rOFDM0_XATxIQImbalance, 0xFFC00000); + case ODM_CMNINFO_STATION_STATE: + pDM_Odm->bsta_state = (bool)Value; + break; - pSwingTable = OFDMSwingTable_New; - swingTableSize = OFDM_TABLE_SIZE; + case ODM_CMNINFO_RSSI_MIN: + pDM_Odm->RSSI_Min = (u8)Value; + break; - for (i = 0; i < swingTableSize; ++i) { - u32 tableValue = pSwingTable[i]; + case ODM_CMNINFO_DBG_COMP: + pDM_Odm->DebugComponents = Value; + break; - if (tableValue >= 0x100000) - tableValue >>= 22; - if (bbSwing == tableValue) - break; - } - return i; -} + case ODM_CMNINFO_DBG_LEVEL: + pDM_Odm->DebugLevel = (u32)Value; + break; + case ODM_CMNINFO_RA_THRESHOLD_HIGH: + pDM_Odm->RateAdaptive.HighRSSIThresh = (u8)Value; + break; -void odm_TXPowerTrackingInit(struct dm_odm_t *pDM_Odm) -{ - u8 defaultSwingIndex = getSwingIndex(pDM_Odm); - u8 p = 0; - struct adapter *Adapter = pDM_Odm->Adapter; - struct hal_com_data *pHalData = GET_HAL_DATA(Adapter); + case ODM_CMNINFO_RA_THRESHOLD_LOW: + pDM_Odm->RateAdaptive.LowRSSIThresh = (u8)Value; + break; + /* The following is for BT HS mode and BT coexist mechanism. */ + case ODM_CMNINFO_BT_ENABLED: + pDM_Odm->bBtEnabled = (bool)Value; + break; + case ODM_CMNINFO_BT_HS_CONNECT_PROCESS: + pDM_Odm->bBtConnectProcess = (bool)Value; + break; - struct dm_priv *pdmpriv = &pHalData->dmpriv; + case ODM_CMNINFO_BT_HS_RSSI: + pDM_Odm->btHsRssi = (u8)Value; + break; - pdmpriv->bTXPowerTracking = true; - pdmpriv->TXPowercount = 0; - pdmpriv->bTXPowerTrackingInit = false; + case ODM_CMNINFO_BT_OPERATION: + pDM_Odm->bBtHsOperation = (bool)Value; + break; - if (*(pDM_Odm->mp_mode) != 1) - pdmpriv->TxPowerTrackControl = true; - else - pdmpriv->TxPowerTrackControl = false; + case ODM_CMNINFO_BT_LIMITED_DIG: + pDM_Odm->bBtLimitedDig = (bool)Value; + break; + case ODM_CMNINFO_BT_DISABLE_EDCA: + pDM_Odm->bBtDisableEdcaTurbo = (bool)Value; + break; - /* MSG_8192C("pdmpriv->TxPowerTrackControl = %d\n", pdmpriv->TxPowerTrackControl); */ +/* + case ODM_CMNINFO_OP_MODE: + pDM_Odm->OPMode = (u8)Value; + break; - /* pDM_Odm->RFCalibrateInfo.TxPowerTrackControl = true; */ - pDM_Odm->RFCalibrateInfo.ThermalValue = pHalData->EEPROMThermalMeter; - pDM_Odm->RFCalibrateInfo.ThermalValue_IQK = pHalData->EEPROMThermalMeter; - pDM_Odm->RFCalibrateInfo.ThermalValue_LCK = pHalData->EEPROMThermalMeter; + case ODM_CMNINFO_WM_MODE: + pDM_Odm->WirelessMode = (u8)Value; + break; - /* The index of "0 dB" in SwingTable. */ - pDM_Odm->DefaultOfdmIndex = (defaultSwingIndex >= OFDM_TABLE_SIZE) ? 30 : defaultSwingIndex; - pDM_Odm->DefaultCckIndex = 20; + case ODM_CMNINFO_BAND: + pDM_Odm->BandType = (u8)Value; + break; - pDM_Odm->BbSwingIdxCckBase = pDM_Odm->DefaultCckIndex; - pDM_Odm->RFCalibrateInfo.CCK_index = pDM_Odm->DefaultCckIndex; + case ODM_CMNINFO_SEC_CHNL_OFFSET: + pDM_Odm->SecChOffset = (u8)Value; + break; - for (p = ODM_RF_PATH_A; p < MAX_RF_PATH; ++p) { - pDM_Odm->BbSwingIdxOfdmBase[p] = pDM_Odm->DefaultOfdmIndex; - pDM_Odm->RFCalibrateInfo.OFDM_index[p] = pDM_Odm->DefaultOfdmIndex; - pDM_Odm->RFCalibrateInfo.DeltaPowerIndex[p] = 0; - pDM_Odm->RFCalibrateInfo.DeltaPowerIndexLast[p] = 0; - pDM_Odm->RFCalibrateInfo.PowerIndexOffset[p] = 0; + case ODM_CMNINFO_SEC_MODE: + pDM_Odm->Security = (u8)Value; + break; + + case ODM_CMNINFO_BW: + pDM_Odm->BandWidth = (u8)Value; + break; + + case ODM_CMNINFO_CHNL: + pDM_Odm->Channel = (u8)Value; + break; +*/ + default: + /* do nothing */ + break; } + } -void ODM_TXPowerTrackingCheck(struct dm_odm_t *pDM_Odm) -{ - struct adapter *Adapter = pDM_Odm->Adapter; +/* 3 ============================================================ */ +/* 3 DIG */ +/* 3 ============================================================ */ +/*----------------------------------------------------------------------------- + * Function: odm_DIGInit() + * + * Overview: Set DIG scheme init value. + * + * Input: NONE + * + * Output: NONE + * + * Return: NONE + * + * Revised History: + *When Who Remark + * + *--------------------------------------------------------------------------- + */ - if (!(pDM_Odm->SupportAbility & ODM_RF_TX_PWR_TRACK)) - return; +/* Remove DIG by yuchen */ - if (!pDM_Odm->RFCalibrateInfo.TM_Trigger) { /* at least delay 1 sec */ - PHY_SetRFReg(pDM_Odm->Adapter, ODM_RF_PATH_A, RF_T_METER_NEW, (BIT17 | BIT16), 0x03); +/* Remove DIG and FA check by Yu Chen */ - /* DBG_871X("Trigger Thermal Meter!!\n"); */ +/* 3 ============================================================ */ +/* 3 BB Power Save */ +/* 3 ============================================================ */ - pDM_Odm->RFCalibrateInfo.TM_Trigger = 1; - return; - } else { - /* DBG_871X("Schedule TxPowerTracking direct call!!\n"); */ - ODM_TXPowerTrackingCallback_ThermalMeter(Adapter); - pDM_Odm->RFCalibrateInfo.TM_Trigger = 0; - } -} +/* Remove BB power saving by Yuchen */ /* 3 ============================================================ */ -/* 3 SW Antenna Diversity */ +/* 3 Dynamic Tx Power */ /* 3 ============================================================ */ -void odm_SwAntDetectInit(struct dm_odm_t *pDM_Odm) -{ - struct swat_t *pDM_SWAT_Table = &pDM_Odm->DM_SWAT_Table; - pDM_SWAT_Table->SWAS_NoLink_BK_Reg92c = rtw_read32(pDM_Odm->Adapter, rDPDT_control); - pDM_SWAT_Table->PreAntenna = MAIN_ANT; - pDM_SWAT_Table->CurAntenna = MAIN_ANT; - pDM_SWAT_Table->SWAS_NoLink_State = 0; -} +/* Remove BY YuChen */ + -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH v2 6/9] staging: rtl8723bs: move function prototypes out of os_dep/int_fs.c 2021-03-23 12:56 ` [PATCH v2 0/9] fix extern declarations checkpatch issues Fabio Aiuto ` (4 preceding siblings ...) 2021-03-23 12:56 ` [PATCH v2 5/9] staging: rtl8723bs: remove function prototypes in hal/odm.c Fabio Aiuto @ 2021-03-23 12:56 ` Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 7/9] staging: rtl8723bs: remove undefined function prototype in of os_dep/sdio_intf.c Fabio Aiuto ` (3 subsequent siblings) 9 siblings, 0 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-23 12:56 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto fix the following checkpatch issues: WARNING: externs should be avoided in .c files 196: FILE: drivers/staging/rtl8723bs/os_dep/os_intfs.c:196: +int _netdev_open(struct net_device *pnetdev); -- WARNING: externs should be avoided in .c files 197: FILE: drivers/staging/rtl8723bs/os_dep/os_intfs.c:197: +int netdev_open(struct net_device *pnetdev); moved function prototype in include/osdep_intf.h removed function prototype and made a static removed unnecessary extern declaration in os_dep/ioctl_cfg80211.c Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/include/osdep_intf.h | 2 ++ drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 2 -- drivers/staging/rtl8723bs/os_dep/os_intfs.c | 4 +--- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/osdep_intf.h b/drivers/staging/rtl8723bs/include/osdep_intf.h index 5ad85416c598..48c90f00cc2e 100644 --- a/drivers/staging/rtl8723bs/include/osdep_intf.h +++ b/drivers/staging/rtl8723bs/include/osdep_intf.h @@ -69,4 +69,6 @@ void rtw_ndev_destructor(struct net_device *ndev); int rtw_suspend_common(struct adapter *padapter); int rtw_resume_common(struct adapter *padapter); +int netdev_open(struct net_device *pnetdev); + #endif /* _OSDEP_INTF_H_ */ diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c index a577ddcce8cd..03a784558d79 100644 --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c @@ -1259,8 +1259,6 @@ static int cfg80211_rtw_get_station(struct wiphy *wiphy, return ret; } -extern int netdev_open(struct net_device *pnetdev); - static int cfg80211_rtw_change_iface(struct wiphy *wiphy, struct net_device *ndev, enum nl80211_iftype type, diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c index 9ae7d46fb501..c6c5cc0a9e08 100644 --- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c +++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c @@ -193,8 +193,6 @@ MODULE_PARM_DESC(rtw_tx_pwr_lmt_enable, "0:Disable, 1:Enable, 2: Depend on efuse module_param(rtw_tx_pwr_by_rate, int, 0644); MODULE_PARM_DESC(rtw_tx_pwr_by_rate, "0:Disable, 1:Enable, 2: Depend on efuse"); -int _netdev_open(struct net_device *pnetdev); -int netdev_open(struct net_device *pnetdev); static int netdev_close(struct net_device *pnetdev); static void loadparam(struct adapter *padapter, struct net_device *pnetdev) @@ -875,7 +873,7 @@ int rtw_drv_register_netdev(struct adapter *if1) return _rtw_drv_register_netdev(padapter, name); } -int _netdev_open(struct net_device *pnetdev) +static int _netdev_open(struct net_device *pnetdev) { uint status; struct adapter *padapter = rtw_netdev_priv(pnetdev); -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH v2 7/9] staging: rtl8723bs: remove undefined function prototype in of os_dep/sdio_intf.c 2021-03-23 12:56 ` [PATCH v2 0/9] fix extern declarations checkpatch issues Fabio Aiuto ` (5 preceding siblings ...) 2021-03-23 12:56 ` [PATCH v2 6/9] staging: rtl8723bs: move function prototypes out of os_dep/int_fs.c Fabio Aiuto @ 2021-03-23 12:56 ` Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 8/9] staging: rtl8723bs: remove unnecessary extern in os_dep/sdio_intf.c Fabio Aiuto ` (2 subsequent siblings) 9 siblings, 0 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-23 12:56 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto fix the following checkpatch issue: WARNING: externs should be avoided in .c files 486: FILE: drivers/staging/rtl8723bs/os_dep/sdio_intf.c:486: +extern int pm_netdev_close(struct net_device *pnetdev, u8 bnormal); Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c index 8f8549eee23e..185919b6963f 100644 --- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c +++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c @@ -483,7 +483,6 @@ static void rtw_dev_remove(struct sdio_func *func) } extern int pm_netdev_open(struct net_device *pnetdev, u8 bnormal); -extern int pm_netdev_close(struct net_device *pnetdev, u8 bnormal); static int rtw_sdio_suspend(struct device *dev) { -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH v2 8/9] staging: rtl8723bs: remove unnecessary extern in os_dep/sdio_intf.c 2021-03-23 12:56 ` [PATCH v2 0/9] fix extern declarations checkpatch issues Fabio Aiuto ` (6 preceding siblings ...) 2021-03-23 12:56 ` [PATCH v2 7/9] staging: rtl8723bs: remove undefined function prototype in of os_dep/sdio_intf.c Fabio Aiuto @ 2021-03-23 12:56 ` Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 9/9] staging: rtl8723bs: remove blank line os_dep/os_intfs.c Fabio Aiuto 2021-03-23 13:08 ` [PATCH v2 0/9] fix extern declarations checkpatch issues Greg KH 9 siblings, 0 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-23 12:56 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto remove unnecessary extern. The function is defined static in os_dep/os_intfs.c and used only once in the same file Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c index 185919b6963f..156ad91d33ee 100644 --- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c +++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c @@ -482,8 +482,6 @@ static void rtw_dev_remove(struct sdio_func *func) RT_TRACE(_module_hci_intfs_c_, _drv_notice_, ("-rtw_dev_remove\n")); } -extern int pm_netdev_open(struct net_device *pnetdev, u8 bnormal); - static int rtw_sdio_suspend(struct device *dev) { struct sdio_func *func = dev_to_sdio_func(dev); -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH v2 9/9] staging: rtl8723bs: remove blank line os_dep/os_intfs.c 2021-03-23 12:56 ` [PATCH v2 0/9] fix extern declarations checkpatch issues Fabio Aiuto ` (7 preceding siblings ...) 2021-03-23 12:56 ` [PATCH v2 8/9] staging: rtl8723bs: remove unnecessary extern in os_dep/sdio_intf.c Fabio Aiuto @ 2021-03-23 12:56 ` Fabio Aiuto 2021-03-23 13:08 ` [PATCH v2 0/9] fix extern declarations checkpatch issues Greg KH 9 siblings, 0 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-23 12:56 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto remove blank line Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/os_dep/os_intfs.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c index c6c5cc0a9e08..405aa95af579 100644 --- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c +++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c @@ -1027,7 +1027,6 @@ void rtw_ips_dev_unload(struct adapter *padapter) rtw_hal_deinit(padapter); } - static int pm_netdev_open(struct net_device *pnetdev, u8 bnormal) { int status = -1; -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH v2 0/9] fix extern declarations checkpatch issues 2021-03-23 12:56 ` [PATCH v2 0/9] fix extern declarations checkpatch issues Fabio Aiuto ` (8 preceding siblings ...) 2021-03-23 12:56 ` [PATCH v2 9/9] staging: rtl8723bs: remove blank line os_dep/os_intfs.c Fabio Aiuto @ 2021-03-23 13:08 ` Greg KH 9 siblings, 0 replies; 31+ messages in thread From: Greg KH @ 2021-03-23 13:08 UTC (permalink / raw) To: Fabio Aiuto; +Cc: joe, apw, devel, linux-kernel On Tue, Mar 23, 2021 at 01:56:27PM +0100, Fabio Aiuto wrote: > Fix extern declaration issues warned by checkpatch. Nit, we have a new mailing list, you might want to use that now instead of driverdev in the future, thanks! greg k-h _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH 04/11] staging: rtl8723bs: moved function prototypes out of core/rtw_recv.c 2021-03-22 14:31 ` [PATCH 00/11] staging: rtl8723bs: fix extern declaration checkpatch issues Fabio Aiuto ` (2 preceding siblings ...) 2021-03-22 14:31 ` [PATCH 03/11] staging: rtl8723bs: moved function prototype out of core/rtw_ioctl_set.c and core/rtw_mlme.c Fabio Aiuto @ 2021-03-22 14:31 ` Fabio Aiuto 2021-03-22 16:09 ` Greg KH 2021-03-22 14:31 ` [PATCH 05/11] staging: rtl8723bs: remove argument in recv_indicatepkts_pkt_loss_cnt Fabio Aiuto ` (6 subsequent siblings) 10 siblings, 1 reply; 31+ messages in thread From: Fabio Aiuto @ 2021-03-22 14:31 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto fix the following checkpatch issues: WARNING: externs should be avoided in .c files 1190: FILE: drivers/staging/rtl8723bs/core/rtw_recv.c:1190: +signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame *precv_frame); and then moved all function prototypes but one in include/rtw_recv.h Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/core/rtw_recv.c | 31 +----------- drivers/staging/rtl8723bs/include/rtw_recv.h | 51 ++++++++++++++++++++ 2 files changed, 52 insertions(+), 30 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c index 1fa381663b4c..9ef2408ded57 100644 --- a/drivers/staging/rtl8723bs/core/rtw_recv.c +++ b/drivers/staging/rtl8723bs/core/rtw_recv.c @@ -305,7 +305,6 @@ struct recv_buf *rtw_dequeue_recvbuf(struct __queue *queue) } -signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *precvframe); signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *precvframe) { @@ -435,8 +434,6 @@ signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *precvfra } -/* decrypt and set the ivlen, icvlen of the recv_frame */ -union recv_frame *decryptor(struct adapter *padapter, union recv_frame *precv_frame); union recv_frame *decryptor(struct adapter *padapter, union recv_frame *precv_frame) { @@ -527,8 +524,6 @@ union recv_frame *decryptor(struct adapter *padapter, union recv_frame *precv_fr return return_packet; } -/* set the security information in the recv_frame */ -union recv_frame *portctrl(struct adapter *adapter, union recv_frame *precv_frame); union recv_frame *portctrl(struct adapter *adapter, union recv_frame *precv_frame) { u8 *psta_addr = NULL; @@ -606,7 +601,6 @@ union recv_frame *portctrl(struct adapter *adapter, union recv_frame *precv_fram return prtnframe; } -signed int recv_decache(union recv_frame *precv_frame, u8 bretry, struct stainfo_rxcache *prxcache); signed int recv_decache(union recv_frame *precv_frame, u8 bretry, struct stainfo_rxcache *prxcache) { signed int tid = precv_frame->u.hdr.attrib.priority; @@ -634,7 +628,6 @@ signed int recv_decache(union recv_frame *precv_frame, u8 bretry, struct stainfo } -void process_pwrbit_data(struct adapter *padapter, union recv_frame *precv_frame); void process_pwrbit_data(struct adapter *padapter, union recv_frame *precv_frame) { unsigned char pwrbit; @@ -671,7 +664,6 @@ void process_pwrbit_data(struct adapter *padapter, union recv_frame *precv_frame } } -void process_wmmps_data(struct adapter *padapter, union recv_frame *precv_frame); void process_wmmps_data(struct adapter *padapter, union recv_frame *precv_frame) { struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib; @@ -723,7 +715,6 @@ void process_wmmps_data(struct adapter *padapter, union recv_frame *precv_frame) } } -void count_rx_stats(struct adapter *padapter, union recv_frame *prframe, struct sta_info *sta); void count_rx_stats(struct adapter *padapter, union recv_frame *prframe, struct sta_info *sta) { int sz; @@ -755,8 +746,6 @@ void count_rx_stats(struct adapter *padapter, union recv_frame *prframe, struct traffic_check_for_leave_lps(padapter, false, 0); } -signed int sta2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame, - struct sta_info **psta); signed int sta2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame, struct sta_info **psta) { @@ -850,8 +839,6 @@ signed int sta2sta_data_frame(struct adapter *adapter, union recv_frame *precv_f return ret; } -signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame, - struct sta_info **psta); signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame, struct sta_info **psta) { @@ -992,8 +979,6 @@ signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *precv_fr return ret; } -signed int sta2ap_data_frame(struct adapter *adapter, union recv_frame *precv_frame, - struct sta_info **psta); signed int sta2ap_data_frame(struct adapter *adapter, union recv_frame *precv_frame, struct sta_info **psta) { @@ -1049,7 +1034,6 @@ signed int sta2ap_data_frame(struct adapter *adapter, union recv_frame *precv_fr return ret; } -signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_frame *precv_frame); signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_frame *precv_frame) { struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib; @@ -1186,8 +1170,6 @@ signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_frame * } -union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union recv_frame *precv_frame); -signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame *precv_frame); signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame *precv_frame) { /* struct mlme_priv *pmlmepriv = &adapter->mlmepriv; */ @@ -1227,7 +1209,6 @@ signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame * } -signed int validate_recv_data_frame(struct adapter *adapter, union recv_frame *precv_frame); signed int validate_recv_data_frame(struct adapter *adapter, union recv_frame *precv_frame) { u8 bretry; @@ -1459,7 +1440,6 @@ static inline void dump_rx_packet(u8 *ptr) DBG_871X("#############################\n"); } -signed int validate_recv_frame(struct adapter *adapter, union recv_frame *precv_frame); signed int validate_recv_frame(struct adapter *adapter, union recv_frame *precv_frame) { /* shall check frame subtype, to / from ds, da, bssid */ @@ -1557,9 +1537,6 @@ signed int validate_recv_frame(struct adapter *adapter, union recv_frame *precv_ return retval; } - -/* remove the wlanhdr and add the eth_hdr */ -signed int wlanhdr_to_ethhdr(union recv_frame *precvframe); signed int wlanhdr_to_ethhdr(union recv_frame *precvframe) { signed int rmv_len; @@ -1886,7 +1863,6 @@ static int amsdu_to_msdu(struct adapter *padapter, union recv_frame *prframe) return _SUCCESS; } -int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_num); int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_num) { struct adapter *padapter = preorder_ctrl->padapter; @@ -1955,7 +1931,6 @@ int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_num) return true; } -int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, union recv_frame *prframe); int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, union recv_frame *prframe) { struct rx_pkt_attrib *pattrib = &prframe->u.hdr.attrib; @@ -2017,7 +1992,7 @@ void recv_indicatepkts_pkt_loss_cnt(struct debug_priv *pdbgpriv, u64 prev_seq, u pdbgpriv->dbg_rx_ampdu_loss_count += (current_seq - prev_seq); } -int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctrl *preorder_ctrl, int bforced); + int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctrl *preorder_ctrl, int bforced) { struct list_head *phead, *plist; @@ -2125,7 +2100,6 @@ int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctr return bPktInBuf; } -int recv_indicatepkt_reorder(struct adapter *padapter, union recv_frame *prframe); int recv_indicatepkt_reorder(struct adapter *padapter, union recv_frame *prframe) { int retval = _SUCCESS; @@ -2279,7 +2253,6 @@ void rtw_reordering_ctrl_timeout_handler(struct timer_list *t) } -int process_recv_indicatepkts(struct adapter *padapter, union recv_frame *prframe); int process_recv_indicatepkts(struct adapter *padapter, union recv_frame *prframe) { int retval = _SUCCESS; @@ -2402,8 +2375,6 @@ static int recv_func_posthandle(struct adapter *padapter, union recv_frame *prfr return ret; } - -int recv_func(struct adapter *padapter, union recv_frame *rframe); int recv_func(struct adapter *padapter, union recv_frame *rframe) { int ret; diff --git a/drivers/staging/rtl8723bs/include/rtw_recv.h b/drivers/staging/rtl8723bs/include/rtw_recv.h index 3e2ee7f75e8c..248e098726fd 100644 --- a/drivers/staging/rtl8723bs/include/rtw_recv.h +++ b/drivers/staging/rtl8723bs/include/rtw_recv.h @@ -513,4 +513,55 @@ extern void _rtw_init_sta_recv_priv(struct sta_recv_priv *psta_recvpriv); extern void mgt_dispatcher(struct adapter *padapter, union recv_frame *precv_frame); +signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *precvframe); + +/* decrypt and set the ivlen, icvlen of the recv_frame */ +union recv_frame *decryptor(struct adapter *padapter, union recv_frame *precv_frame); + +/* set the security information in the recv_frame */ +union recv_frame *portctrl(struct adapter *adapter, union recv_frame *precv_frame); + +signed int recv_decache(union recv_frame *precv_frame, u8 bretry, struct stainfo_rxcache *prxcache); + +void process_pwrbit_data(struct adapter *padapter, union recv_frame *precv_frame); + +void process_wmmps_data(struct adapter *padapter, union recv_frame *precv_frame); + +void count_rx_stats(struct adapter *padapter, union recv_frame *prframe, struct sta_info *sta); + +signed int sta2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame, + struct sta_info **psta); + +signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame, + struct sta_info **psta); + +signed int sta2ap_data_frame(struct adapter *adapter, union recv_frame *precv_frame, + struct sta_info **psta); + +signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_frame *precv_frame); + +union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union recv_frame *precv_frame); + +signed int validate_recv_data_frame(struct adapter *adapter, union recv_frame *precv_frame); + +signed int validate_recv_frame(struct adapter *adapter, union recv_frame *precv_frame); + +/* remove the wlanhdr and add the eth_hdr */ +signed int wlanhdr_to_ethhdr(union recv_frame *precvframe); + +int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_num); + +int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, union recv_frame *prframe); + +int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctrl *preorder_ctrl, + int bforced); + +int recv_indicatepkt_reorder(struct adapter *padapter, union recv_frame *prframe); + +int process_recv_indicatepkts(struct adapter *padapter, union recv_frame *prframe); + +int recv_func(struct adapter *padapter, union recv_frame *rframe); + +signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame *precv_frame); + #endif -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH 04/11] staging: rtl8723bs: moved function prototypes out of core/rtw_recv.c 2021-03-22 14:31 ` [PATCH 04/11] staging: rtl8723bs: moved function prototypes out of core/rtw_recv.c Fabio Aiuto @ 2021-03-22 16:09 ` Greg KH 0 siblings, 0 replies; 31+ messages in thread From: Greg KH @ 2021-03-22 16:09 UTC (permalink / raw) To: Fabio Aiuto; +Cc: joe, apw, devel, linux-kernel On Mon, Mar 22, 2021 at 03:31:42PM +0100, Fabio Aiuto wrote: > fix the following checkpatch issues: > > WARNING: externs should be avoided in .c files > 1190: FILE: drivers/staging/rtl8723bs/core/rtw_recv.c:1190: > +signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame *precv_frame); > > and then moved all function prototypes but one in include/rtw_recv.h > > Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> > --- > drivers/staging/rtl8723bs/core/rtw_recv.c | 31 +----------- > drivers/staging/rtl8723bs/include/rtw_recv.h | 51 ++++++++++++++++++++ > 2 files changed, 52 insertions(+), 30 deletions(-) > > diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c > index 1fa381663b4c..9ef2408ded57 100644 > --- a/drivers/staging/rtl8723bs/core/rtw_recv.c > +++ b/drivers/staging/rtl8723bs/core/rtw_recv.c > @@ -305,7 +305,6 @@ struct recv_buf *rtw_dequeue_recvbuf(struct __queue *queue) > > } > > -signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *precvframe); > signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *precvframe) > { > > @@ -435,8 +434,6 @@ signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *precvfra > > } > > -/* decrypt and set the ivlen, icvlen of the recv_frame */ > -union recv_frame *decryptor(struct adapter *padapter, union recv_frame *precv_frame); > union recv_frame *decryptor(struct adapter *padapter, union recv_frame *precv_frame) > { > > @@ -527,8 +524,6 @@ union recv_frame *decryptor(struct adapter *padapter, union recv_frame *precv_fr > return return_packet; > } > > -/* set the security information in the recv_frame */ > -union recv_frame *portctrl(struct adapter *adapter, union recv_frame *precv_frame); > union recv_frame *portctrl(struct adapter *adapter, union recv_frame *precv_frame) > { > u8 *psta_addr = NULL; > @@ -606,7 +601,6 @@ union recv_frame *portctrl(struct adapter *adapter, union recv_frame *precv_fram > return prtnframe; > } > > -signed int recv_decache(union recv_frame *precv_frame, u8 bretry, struct stainfo_rxcache *prxcache); > signed int recv_decache(union recv_frame *precv_frame, u8 bretry, struct stainfo_rxcache *prxcache) > { > signed int tid = precv_frame->u.hdr.attrib.priority; > @@ -634,7 +628,6 @@ signed int recv_decache(union recv_frame *precv_frame, u8 bretry, struct stainfo > > } > > -void process_pwrbit_data(struct adapter *padapter, union recv_frame *precv_frame); > void process_pwrbit_data(struct adapter *padapter, union recv_frame *precv_frame) > { > unsigned char pwrbit; > @@ -671,7 +664,6 @@ void process_pwrbit_data(struct adapter *padapter, union recv_frame *precv_frame > } > } > > -void process_wmmps_data(struct adapter *padapter, union recv_frame *precv_frame); > void process_wmmps_data(struct adapter *padapter, union recv_frame *precv_frame) > { > struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib; > @@ -723,7 +715,6 @@ void process_wmmps_data(struct adapter *padapter, union recv_frame *precv_frame) > } > } > > -void count_rx_stats(struct adapter *padapter, union recv_frame *prframe, struct sta_info *sta); > void count_rx_stats(struct adapter *padapter, union recv_frame *prframe, struct sta_info *sta) > { > int sz; > @@ -755,8 +746,6 @@ void count_rx_stats(struct adapter *padapter, union recv_frame *prframe, struct > traffic_check_for_leave_lps(padapter, false, 0); > } > > -signed int sta2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame, > - struct sta_info **psta); > signed int sta2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame, > struct sta_info **psta) > { > @@ -850,8 +839,6 @@ signed int sta2sta_data_frame(struct adapter *adapter, union recv_frame *precv_f > return ret; > } > > -signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame, > - struct sta_info **psta); > signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame, > struct sta_info **psta) > { > @@ -992,8 +979,6 @@ signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *precv_fr > return ret; > } > > -signed int sta2ap_data_frame(struct adapter *adapter, union recv_frame *precv_frame, > - struct sta_info **psta); > signed int sta2ap_data_frame(struct adapter *adapter, union recv_frame *precv_frame, > struct sta_info **psta) > { > @@ -1049,7 +1034,6 @@ signed int sta2ap_data_frame(struct adapter *adapter, union recv_frame *precv_fr > return ret; > } > > -signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_frame *precv_frame); > signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_frame *precv_frame) > { > struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib; > @@ -1186,8 +1170,6 @@ signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_frame * > > } > > -union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union recv_frame *precv_frame); > -signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame *precv_frame); > signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame *precv_frame) > { > /* struct mlme_priv *pmlmepriv = &adapter->mlmepriv; */ > @@ -1227,7 +1209,6 @@ signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame * > > } > > -signed int validate_recv_data_frame(struct adapter *adapter, union recv_frame *precv_frame); > signed int validate_recv_data_frame(struct adapter *adapter, union recv_frame *precv_frame) > { > u8 bretry; > @@ -1459,7 +1440,6 @@ static inline void dump_rx_packet(u8 *ptr) > DBG_871X("#############################\n"); > } > > -signed int validate_recv_frame(struct adapter *adapter, union recv_frame *precv_frame); > signed int validate_recv_frame(struct adapter *adapter, union recv_frame *precv_frame) > { > /* shall check frame subtype, to / from ds, da, bssid */ > @@ -1557,9 +1537,6 @@ signed int validate_recv_frame(struct adapter *adapter, union recv_frame *precv_ > return retval; > } > > - > -/* remove the wlanhdr and add the eth_hdr */ > -signed int wlanhdr_to_ethhdr(union recv_frame *precvframe); > signed int wlanhdr_to_ethhdr(union recv_frame *precvframe) > { > signed int rmv_len; > @@ -1886,7 +1863,6 @@ static int amsdu_to_msdu(struct adapter *padapter, union recv_frame *prframe) > return _SUCCESS; > } > > -int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_num); > int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_num) > { > struct adapter *padapter = preorder_ctrl->padapter; > @@ -1955,7 +1931,6 @@ int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_num) > return true; > } > > -int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, union recv_frame *prframe); > int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, union recv_frame *prframe) > { > struct rx_pkt_attrib *pattrib = &prframe->u.hdr.attrib; > @@ -2017,7 +1992,7 @@ void recv_indicatepkts_pkt_loss_cnt(struct debug_priv *pdbgpriv, u64 prev_seq, u > pdbgpriv->dbg_rx_ampdu_loss_count += (current_seq - prev_seq); > > } > -int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctrl *preorder_ctrl, int bforced); > + > int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctrl *preorder_ctrl, int bforced) > { > struct list_head *phead, *plist; > @@ -2125,7 +2100,6 @@ int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctr > return bPktInBuf; > } > > -int recv_indicatepkt_reorder(struct adapter *padapter, union recv_frame *prframe); > int recv_indicatepkt_reorder(struct adapter *padapter, union recv_frame *prframe) > { > int retval = _SUCCESS; > @@ -2279,7 +2253,6 @@ void rtw_reordering_ctrl_timeout_handler(struct timer_list *t) > > } > > -int process_recv_indicatepkts(struct adapter *padapter, union recv_frame *prframe); > int process_recv_indicatepkts(struct adapter *padapter, union recv_frame *prframe) > { > int retval = _SUCCESS; > @@ -2402,8 +2375,6 @@ static int recv_func_posthandle(struct adapter *padapter, union recv_frame *prfr > return ret; > } > > - > -int recv_func(struct adapter *padapter, union recv_frame *rframe); Shouldn't this just be a static function? And same for others in here? thanks, greg k-h _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH 05/11] staging: rtl8723bs: remove argument in recv_indicatepkts_pkt_loss_cnt 2021-03-22 14:31 ` [PATCH 00/11] staging: rtl8723bs: fix extern declaration checkpatch issues Fabio Aiuto ` (3 preceding siblings ...) 2021-03-22 14:31 ` [PATCH 04/11] staging: rtl8723bs: moved function prototypes out of core/rtw_recv.c Fabio Aiuto @ 2021-03-22 14:31 ` Fabio Aiuto 2021-03-22 16:11 ` Greg KH 2021-03-22 14:31 ` [PATCH 06/11] staging: rtl8723bs: move function prototype out of core/rtw_recv.c Fabio Aiuto ` (5 subsequent siblings) 10 siblings, 1 reply; 31+ messages in thread From: Fabio Aiuto @ 2021-03-22 14:31 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto remove debug_priv argument so function prototype can be easily moved away Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/core/rtw_recv.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c index 9ef2408ded57..e2a6afed723c 100644 --- a/drivers/staging/rtl8723bs/core/rtw_recv.c +++ b/drivers/staging/rtl8723bs/core/rtw_recv.c @@ -1983,13 +1983,13 @@ int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, union rec } -void recv_indicatepkts_pkt_loss_cnt(struct debug_priv *pdbgpriv, u64 prev_seq, u64 current_seq); -void recv_indicatepkts_pkt_loss_cnt(struct debug_priv *pdbgpriv, u64 prev_seq, u64 current_seq) +u64 recv_indicatepkts_pkt_loss_cnt(u64 prev_seq, u64 current_seq); +u64 recv_indicatepkts_pkt_loss_cnt(u64 prev_seq, u64 current_seq) { if (current_seq < prev_seq) - pdbgpriv->dbg_rx_ampdu_loss_count += (4096 + current_seq - prev_seq); + return 4096 + current_seq - prev_seq; else - pdbgpriv->dbg_rx_ampdu_loss_count += (current_seq - prev_seq); + return current_seq - prev_seq; } @@ -2029,7 +2029,8 @@ int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctr DBG_871X("DBG_RX_SEQ %s:%d IndicateSeq: %d, NewSeq: %d\n", __func__, __LINE__, preorder_ctrl->indicate_seq, pattrib->seq_num); #endif - recv_indicatepkts_pkt_loss_cnt(pdbgpriv, preorder_ctrl->indicate_seq, pattrib->seq_num); + pdbgpriv->dbg_rx_ampdu_loss_count += recv_indicatepkts_pkt_loss_cnt( + preorder_ctrl->indicate_seq, pattrib->seq_num); preorder_ctrl->indicate_seq = pattrib->seq_num; } -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH 05/11] staging: rtl8723bs: remove argument in recv_indicatepkts_pkt_loss_cnt 2021-03-22 14:31 ` [PATCH 05/11] staging: rtl8723bs: remove argument in recv_indicatepkts_pkt_loss_cnt Fabio Aiuto @ 2021-03-22 16:11 ` Greg KH 0 siblings, 0 replies; 31+ messages in thread From: Greg KH @ 2021-03-22 16:11 UTC (permalink / raw) To: Fabio Aiuto; +Cc: joe, apw, devel, linux-kernel On Mon, Mar 22, 2021 at 03:31:43PM +0100, Fabio Aiuto wrote: > remove debug_priv argument so function prototype can be > easily moved away > > Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> > --- > drivers/staging/rtl8723bs/core/rtw_recv.c | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c > index 9ef2408ded57..e2a6afed723c 100644 > --- a/drivers/staging/rtl8723bs/core/rtw_recv.c > +++ b/drivers/staging/rtl8723bs/core/rtw_recv.c > @@ -1983,13 +1983,13 @@ int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, union rec > > } > > -void recv_indicatepkts_pkt_loss_cnt(struct debug_priv *pdbgpriv, u64 prev_seq, u64 current_seq); > -void recv_indicatepkts_pkt_loss_cnt(struct debug_priv *pdbgpriv, u64 prev_seq, u64 current_seq) > +u64 recv_indicatepkts_pkt_loss_cnt(u64 prev_seq, u64 current_seq); But you did not drop the function prototype, why keep it? And shouldn't this be static? thanks, greg k-h _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH 06/11] staging: rtl8723bs: move function prototype out of core/rtw_recv.c 2021-03-22 14:31 ` [PATCH 00/11] staging: rtl8723bs: fix extern declaration checkpatch issues Fabio Aiuto ` (4 preceding siblings ...) 2021-03-22 14:31 ` [PATCH 05/11] staging: rtl8723bs: remove argument in recv_indicatepkts_pkt_loss_cnt Fabio Aiuto @ 2021-03-22 14:31 ` Fabio Aiuto 2021-03-22 14:31 ` [PATCH 07/11] staging: rtl8723bs: delete extern declarations in core/rtw_wlan_util.c Fabio Aiuto ` (4 subsequent siblings) 10 siblings, 0 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-22 14:31 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto move function prototype in include/rtw_recv.h Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/core/rtw_recv.c | 1 - drivers/staging/rtl8723bs/include/rtw_recv.h | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c index e2a6afed723c..99dede774b7a 100644 --- a/drivers/staging/rtl8723bs/core/rtw_recv.c +++ b/drivers/staging/rtl8723bs/core/rtw_recv.c @@ -1983,7 +1983,6 @@ int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, union rec } -u64 recv_indicatepkts_pkt_loss_cnt(u64 prev_seq, u64 current_seq); u64 recv_indicatepkts_pkt_loss_cnt(u64 prev_seq, u64 current_seq) { if (current_seq < prev_seq) diff --git a/drivers/staging/rtl8723bs/include/rtw_recv.h b/drivers/staging/rtl8723bs/include/rtw_recv.h index 248e098726fd..1dca18040b98 100644 --- a/drivers/staging/rtl8723bs/include/rtw_recv.h +++ b/drivers/staging/rtl8723bs/include/rtw_recv.h @@ -553,6 +553,8 @@ int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_num); int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, union recv_frame *prframe); +u64 recv_indicatepkts_pkt_loss_cnt(u64 prev_seq, u64 current_seq); + int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctrl *preorder_ctrl, int bforced); -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 07/11] staging: rtl8723bs: delete extern declarations in core/rtw_wlan_util.c 2021-03-22 14:31 ` [PATCH 00/11] staging: rtl8723bs: fix extern declaration checkpatch issues Fabio Aiuto ` (5 preceding siblings ...) 2021-03-22 14:31 ` [PATCH 06/11] staging: rtl8723bs: move function prototype out of core/rtw_recv.c Fabio Aiuto @ 2021-03-22 14:31 ` Fabio Aiuto 2021-03-22 14:31 ` [PATCH 08/11] staging: rtl8723bs: move function prototypes out of hal/odm.c Fabio Aiuto ` (3 subsequent siblings) 10 siblings, 0 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-22 14:31 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto fix the following checkpatch issues: WARNING: externs should be avoided in .c files 28: FILE: drivers/staging/rtl8723bs/core/rtw_wlan_util.c:28: +extern unsigned char RTW_WPA_OUI[]; -- WARNING: externs should be avoided in .c files 29: FILE: drivers/staging/rtl8723bs/core/rtw_wlan_util.c:29: +extern unsigned char WPA_TKIP_CIPHER[4]; Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/core/rtw_wlan_util.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c index bfd55a0356f5..760b0ea4e9bd 100644 --- a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c +++ b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c @@ -25,9 +25,6 @@ static unsigned char AIRGOCAP_OUI[] = {0x00, 0x0a, 0xf5}; static unsigned char RSN_TKIP_CIPHER[4] = {0x00, 0x0f, 0xac, 0x02}; static unsigned char WPA_TKIP_CIPHER[4] = {0x00, 0x50, 0xf2, 0x02}; -extern unsigned char RTW_WPA_OUI[]; -extern unsigned char WPA_TKIP_CIPHER[4]; - #define R2T_PHY_DELAY (0) /* define WAIT_FOR_BCN_TO_MIN (3000) */ -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 08/11] staging: rtl8723bs: move function prototypes out of hal/odm.c 2021-03-22 14:31 ` [PATCH 00/11] staging: rtl8723bs: fix extern declaration checkpatch issues Fabio Aiuto ` (6 preceding siblings ...) 2021-03-22 14:31 ` [PATCH 07/11] staging: rtl8723bs: delete extern declarations in core/rtw_wlan_util.c Fabio Aiuto @ 2021-03-22 14:31 ` Fabio Aiuto 2021-03-22 14:31 ` [PATCH 09/11] staging: rtl8723bs: move function prototypes out of os_dep/int_fs.c Fabio Aiuto ` (2 subsequent siblings) 10 siblings, 0 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-22 14:31 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto fix the following checkpatch issues: WARNING: externs should be avoided in .c files 285: FILE: drivers/staging/rtl8723bs/hal/odm.c:285: +void odm_CommonInfoSelfInit(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 287: FILE: drivers/staging/rtl8723bs/hal/odm.c:287: +void odm_CommonInfoSelfUpdate(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 289: FILE: drivers/staging/rtl8723bs/hal/odm.c:289: +void odm_CmnInfoInit_Debug(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 291: FILE: drivers/staging/rtl8723bs/hal/odm.c:291: +void odm_BasicDbgMessage(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 305: FILE: drivers/staging/rtl8723bs/hal/odm.c:305: +void odm_RefreshRateAdaptiveMaskCE(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 309: FILE: drivers/staging/rtl8723bs/hal/odm.c:309: +void odm_RSSIMonitorInit(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 311: FILE: drivers/staging/rtl8723bs/hal/odm.c:311: +void odm_RSSIMonitorCheckCE(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 313: FILE: drivers/staging/rtl8723bs/hal/odm.c:313: +void odm_RSSIMonitorCheck(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 315: FILE: drivers/staging/rtl8723bs/hal/odm.c:315: +void odm_SwAntDetectInit(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 317: FILE: drivers/staging/rtl8723bs/hal/odm.c:317: +void odm_SwAntDivChkAntSwitchCallback(void *FunctionContext); -- WARNING: externs should be avoided in .c files 321: FILE: drivers/staging/rtl8723bs/hal/odm.c:321: +void odm_GlobalAdapterCheck(void); -- WARNING: externs should be avoided in .c files 323: FILE: drivers/staging/rtl8723bs/hal/odm.c:323: +void odm_RefreshRateAdaptiveMask(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 325: FILE: drivers/staging/rtl8723bs/hal/odm.c:325: +void ODM_TXPowerTrackingCheck(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 327: FILE: drivers/staging/rtl8723bs/hal/odm.c:327: +void odm_RateAdaptiveMaskInit(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 330: FILE: drivers/staging/rtl8723bs/hal/odm.c:330: +void odm_TXPowerTrackingInit(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 338: FILE: drivers/staging/rtl8723bs/hal/odm.c:338: +void odm_InitHybridAntDiv(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 340: FILE: drivers/staging/rtl8723bs/hal/odm.c:340: +bool odm_StaDefAntSel( -- WARNING: externs should be avoided in .c files 349: FILE: drivers/staging/rtl8723bs/hal/odm.c:349: +void odm_SetRxIdleAnt(struct dm_odm_t *pDM_Odm, u8 Ant, bool bDualPath); -- WARNING: externs should be avoided in .c files 353: FILE: drivers/staging/rtl8723bs/hal/odm.c:353: +void odm_HwAntDiv(struct dm_odm_t *pDM_Odm); moved function prototypes in hal/odm.h Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/hal/odm.c | 68 ----------------------------- drivers/staging/rtl8723bs/hal/odm.h | 62 ++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 68 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/odm.c b/drivers/staging/rtl8723bs/hal/odm.c index 49d552105a65..1ede10f0b9da 100644 --- a/drivers/staging/rtl8723bs/hal/odm.c +++ b/drivers/staging/rtl8723bs/hal/odm.c @@ -279,80 +279,12 @@ u32 TxScalingTable_Jaguar[TXSCALE_TABLE_SIZE] = { 0x3FE /* 36, +6.0dB */ }; -/* Local Function predefine. */ - -/* START------------COMMON INFO RELATED--------------- */ -void odm_CommonInfoSelfInit(struct dm_odm_t *pDM_Odm); - -void odm_CommonInfoSelfUpdate(struct dm_odm_t *pDM_Odm); - -void odm_CmnInfoInit_Debug(struct dm_odm_t *pDM_Odm); - -void odm_BasicDbgMessage(struct dm_odm_t *pDM_Odm); - -/* END------------COMMON INFO RELATED--------------- */ - -/* START---------------DIG--------------------------- */ - -/* Remove by Yuchen */ - -/* END---------------DIG--------------------------- */ - -/* START-------BB POWER SAVE----------------------- */ -/* Remove BB power Saving by YuChen */ -/* END---------BB POWER SAVE----------------------- */ - -void odm_RefreshRateAdaptiveMaskCE(struct dm_odm_t *pDM_Odm); - -/* Remove by YuChen */ - -void odm_RSSIMonitorInit(struct dm_odm_t *pDM_Odm); - -void odm_RSSIMonitorCheckCE(struct dm_odm_t *pDM_Odm); - -void odm_RSSIMonitorCheck(struct dm_odm_t *pDM_Odm); - -void odm_SwAntDetectInit(struct dm_odm_t *pDM_Odm); - -void odm_SwAntDivChkAntSwitchCallback(void *FunctionContext); - - - -void odm_GlobalAdapterCheck(void); - -void odm_RefreshRateAdaptiveMask(struct dm_odm_t *pDM_Odm); - -void ODM_TXPowerTrackingCheck(struct dm_odm_t *pDM_Odm); - -void odm_RateAdaptiveMaskInit(struct dm_odm_t *pDM_Odm); - - -void odm_TXPowerTrackingInit(struct dm_odm_t *pDM_Odm); - /* Remove Edca by Yu Chen */ #define RxDefaultAnt1 0x65a9 #define RxDefaultAnt2 0x569a -void odm_InitHybridAntDiv(struct dm_odm_t *pDM_Odm); - -bool odm_StaDefAntSel( - struct dm_odm_t *pDM_Odm, - u32 OFDM_Ant1_Cnt, - u32 OFDM_Ant2_Cnt, - u32 CCK_Ant1_Cnt, - u32 CCK_Ant2_Cnt, - u8 *pDefAnt -); - -void odm_SetRxIdleAnt(struct dm_odm_t *pDM_Odm, u8 Ant, bool bDualPath); - - - -void odm_HwAntDiv(struct dm_odm_t *pDM_Odm); - - /* */ /* 3 Export Interface */ /* */ diff --git a/drivers/staging/rtl8723bs/hal/odm.h b/drivers/staging/rtl8723bs/hal/odm.h index 3c8d76e42c99..42fb01aa15cd 100644 --- a/drivers/staging/rtl8723bs/hal/odm.h +++ b/drivers/staging/rtl8723bs/hal/odm.h @@ -1429,4 +1429,66 @@ void ODM_AntselStatistics_88C( void ODM_DynamicARFBSelect(struct dm_odm_t *pDM_Odm, u8 rate, bool Collision_State); +/* Local Function predefine. */ + +/* START------------COMMON INFO RELATED--------------- */ +void odm_CommonInfoSelfInit(struct dm_odm_t *pDM_Odm); + +void odm_CommonInfoSelfUpdate(struct dm_odm_t *pDM_Odm); + +void odm_CmnInfoInit_Debug(struct dm_odm_t *pDM_Odm); + +void odm_BasicDbgMessage(struct dm_odm_t *pDM_Odm); + +/* END------------COMMON INFO RELATED--------------- */ + +/* START---------------DIG--------------------------- */ + +/* Remove by Yuchen */ + +/* END---------------DIG--------------------------- */ + +/* START-------BB POWER SAVE----------------------- */ +/* Remove BB power Saving by YuChen */ +/* END---------BB POWER SAVE----------------------- */ + +void odm_RefreshRateAdaptiveMaskCE(struct dm_odm_t *pDM_Odm); + +/* Remove by YuChen */ + +void odm_RSSIMonitorInit(struct dm_odm_t *pDM_Odm); + +void odm_RSSIMonitorCheckCE(struct dm_odm_t *pDM_Odm); + +void odm_RSSIMonitorCheck(struct dm_odm_t *pDM_Odm); + +void odm_SwAntDetectInit(struct dm_odm_t *pDM_Odm); + +void odm_SwAntDivChkAntSwitchCallback(void *FunctionContext); + +void odm_GlobalAdapterCheck(void); + +void odm_RefreshRateAdaptiveMask(struct dm_odm_t *pDM_Odm); + +void ODM_TXPowerTrackingCheck(struct dm_odm_t *pDM_Odm); + +void odm_RateAdaptiveMaskInit(struct dm_odm_t *pDM_Odm); + +void odm_TXPowerTrackingInit(struct dm_odm_t *pDM_Odm); + +void odm_InitHybridAntDiv(struct dm_odm_t *pDM_Odm); + +bool odm_StaDefAntSel( + struct dm_odm_t *pDM_Odm, + u32 OFDM_Ant1_Cnt, + u32 OFDM_Ant2_Cnt, + u32 CCK_Ant1_Cnt, + u32 CCK_Ant2_Cnt, + u8 *pDefAnt +); + +void odm_SetRxIdleAnt(struct dm_odm_t *pDM_Odm, u8 Ant, bool bDualPath); + +void odm_HwAntDiv(struct dm_odm_t *pDM_Odm); + #endif -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 09/11] staging: rtl8723bs: move function prototypes out of os_dep/int_fs.c 2021-03-22 14:31 ` [PATCH 00/11] staging: rtl8723bs: fix extern declaration checkpatch issues Fabio Aiuto ` (7 preceding siblings ...) 2021-03-22 14:31 ` [PATCH 08/11] staging: rtl8723bs: move function prototypes out of hal/odm.c Fabio Aiuto @ 2021-03-22 14:31 ` Fabio Aiuto 2021-03-22 14:31 ` [PATCH 10/11] staging: rtl8723bs: remove undefined function prototype in of os_dep/sdio_intf.c Fabio Aiuto 2021-03-22 14:31 ` [PATCH 11/11] staging: rtl8723bs: remove unnecessary extern in os_dep/sdio_intf.c Fabio Aiuto 10 siblings, 0 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-22 14:31 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto fix the following checkpatch issues: WARNING: externs should be avoided in .c files 196: FILE: drivers/staging/rtl8723bs/os_dep/os_intfs.c:196: +int _netdev_open(struct net_device *pnetdev); -- WARNING: externs should be avoided in .c files 197: FILE: drivers/staging/rtl8723bs/os_dep/os_intfs.c:197: +int netdev_open(struct net_device *pnetdev); moved function prototypes in include/osdep_intf.h Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/include/osdep_intf.h | 3 +++ drivers/staging/rtl8723bs/os_dep/os_intfs.c | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/osdep_intf.h b/drivers/staging/rtl8723bs/include/osdep_intf.h index 5ad85416c598..dc279ceb1469 100644 --- a/drivers/staging/rtl8723bs/include/osdep_intf.h +++ b/drivers/staging/rtl8723bs/include/osdep_intf.h @@ -69,4 +69,7 @@ void rtw_ndev_destructor(struct net_device *ndev); int rtw_suspend_common(struct adapter *padapter); int rtw_resume_common(struct adapter *padapter); +int _netdev_open(struct net_device *pnetdev); +int netdev_open(struct net_device *pnetdev); + #endif /* _OSDEP_INTF_H_ */ diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c index 9ae7d46fb501..3713c62a477c 100644 --- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c +++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c @@ -193,8 +193,6 @@ MODULE_PARM_DESC(rtw_tx_pwr_lmt_enable, "0:Disable, 1:Enable, 2: Depend on efuse module_param(rtw_tx_pwr_by_rate, int, 0644); MODULE_PARM_DESC(rtw_tx_pwr_by_rate, "0:Disable, 1:Enable, 2: Depend on efuse"); -int _netdev_open(struct net_device *pnetdev); -int netdev_open(struct net_device *pnetdev); static int netdev_close(struct net_device *pnetdev); static void loadparam(struct adapter *padapter, struct net_device *pnetdev) -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 10/11] staging: rtl8723bs: remove undefined function prototype in of os_dep/sdio_intf.c 2021-03-22 14:31 ` [PATCH 00/11] staging: rtl8723bs: fix extern declaration checkpatch issues Fabio Aiuto ` (8 preceding siblings ...) 2021-03-22 14:31 ` [PATCH 09/11] staging: rtl8723bs: move function prototypes out of os_dep/int_fs.c Fabio Aiuto @ 2021-03-22 14:31 ` Fabio Aiuto 2021-03-22 14:31 ` [PATCH 11/11] staging: rtl8723bs: remove unnecessary extern in os_dep/sdio_intf.c Fabio Aiuto 10 siblings, 0 replies; 31+ messages in thread From: Fabio Aiuto @ 2021-03-22 14:31 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto fix the following checkpatch issue: WARNING: externs should be avoided in .c files 486: FILE: drivers/staging/rtl8723bs/os_dep/sdio_intf.c:486: +extern int pm_netdev_close(struct net_device *pnetdev, u8 bnormal); Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c index 8f8549eee23e..185919b6963f 100644 --- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c +++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c @@ -483,7 +483,6 @@ static void rtw_dev_remove(struct sdio_func *func) } extern int pm_netdev_open(struct net_device *pnetdev, u8 bnormal); -extern int pm_netdev_close(struct net_device *pnetdev, u8 bnormal); static int rtw_sdio_suspend(struct device *dev) { -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 11/11] staging: rtl8723bs: remove unnecessary extern in os_dep/sdio_intf.c 2021-03-22 14:31 ` [PATCH 00/11] staging: rtl8723bs: fix extern declaration checkpatch issues Fabio Aiuto ` (9 preceding siblings ...) 2021-03-22 14:31 ` [PATCH 10/11] staging: rtl8723bs: remove undefined function prototype in of os_dep/sdio_intf.c Fabio Aiuto @ 2021-03-22 14:31 ` Fabio Aiuto 2021-03-22 16:06 ` Greg KH 10 siblings, 1 reply; 31+ messages in thread From: Fabio Aiuto @ 2021-03-22 14:31 UTC (permalink / raw) To: gregkh; +Cc: joe, apw, devel, linux-kernel, Fabio Aiuto remove unnecessary extern. The function is defined static in os_dep/os_intfs.c and used only once in the same file remove also a blank line Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> --- drivers/staging/rtl8723bs/os_dep/os_intfs.c | 1 - drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 2 -- 2 files changed, 3 deletions(-) diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c index 3713c62a477c..321f7c45ed95 100644 --- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c +++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c @@ -1027,7 +1027,6 @@ void rtw_ips_dev_unload(struct adapter *padapter) rtw_hal_deinit(padapter); } - static int pm_netdev_open(struct net_device *pnetdev, u8 bnormal) { int status = -1; diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c index 185919b6963f..156ad91d33ee 100644 --- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c +++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c @@ -482,8 +482,6 @@ static void rtw_dev_remove(struct sdio_func *func) RT_TRACE(_module_hci_intfs_c_, _drv_notice_, ("-rtw_dev_remove\n")); } -extern int pm_netdev_open(struct net_device *pnetdev, u8 bnormal); - static int rtw_sdio_suspend(struct device *dev) { struct sdio_func *func = dev_to_sdio_func(dev); -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH 11/11] staging: rtl8723bs: remove unnecessary extern in os_dep/sdio_intf.c 2021-03-22 14:31 ` [PATCH 11/11] staging: rtl8723bs: remove unnecessary extern in os_dep/sdio_intf.c Fabio Aiuto @ 2021-03-22 16:06 ` Greg KH 0 siblings, 0 replies; 31+ messages in thread From: Greg KH @ 2021-03-22 16:06 UTC (permalink / raw) To: Fabio Aiuto; +Cc: joe, apw, devel, linux-kernel On Mon, Mar 22, 2021 at 03:31:49PM +0100, Fabio Aiuto wrote: > remove unnecessary extern. > > The function is defined static in os_dep/os_intfs.c and used only once > in the same file > > remove also a blank line That needs to go to a separate patch :( _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 31+ messages in thread
end of thread, other threads:[~2021-03-23 13:26 UTC | newest] Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <YFbvwZjwMa4mPsn8@kroah.com> 2021-03-22 14:31 ` [PATCH 00/11] staging: rtl8723bs: fix extern declaration checkpatch issues Fabio Aiuto 2021-03-22 14:31 ` [PATCH 01/11] staging: rtl8723bs: delete extern declarations in core/rtw_ap.c Fabio Aiuto 2021-03-22 14:31 ` [PATCH 02/11] staging: rtl8723bs: moved function prototypes out of core/rtw_efuse.c Fabio Aiuto 2021-03-22 16:07 ` Greg KH 2021-03-22 18:22 ` Fabio Aiuto 2021-03-22 19:29 ` Dan Carpenter 2021-03-23 13:25 ` Fabio Aiuto 2021-03-22 14:31 ` [PATCH 03/11] staging: rtl8723bs: moved function prototype out of core/rtw_ioctl_set.c and core/rtw_mlme.c Fabio Aiuto 2021-03-22 16:09 ` Greg KH 2021-03-23 12:56 ` [PATCH v2 0/9] fix extern declarations checkpatch issues Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 1/9] staging: rtl8723bs: removed function prototypes in core/rtw_efuse.c Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 2/9] staging: rtl8723bs: moved function prototype out of core/rtw_ioctl_set.c and core/rtw_mlme.c Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 3/9] staging: rtl8723bs: removed function prototypes and made statics in core/rtw_recv.c Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 4/9] staging: rtl8723bs: delete extern declarations in core/rtw_wlan_util.c Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 5/9] staging: rtl8723bs: remove function prototypes in hal/odm.c Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 6/9] staging: rtl8723bs: move function prototypes out of os_dep/int_fs.c Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 7/9] staging: rtl8723bs: remove undefined function prototype in of os_dep/sdio_intf.c Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 8/9] staging: rtl8723bs: remove unnecessary extern in os_dep/sdio_intf.c Fabio Aiuto 2021-03-23 12:56 ` [PATCH v2 9/9] staging: rtl8723bs: remove blank line os_dep/os_intfs.c Fabio Aiuto 2021-03-23 13:08 ` [PATCH v2 0/9] fix extern declarations checkpatch issues Greg KH 2021-03-22 14:31 ` [PATCH 04/11] staging: rtl8723bs: moved function prototypes out of core/rtw_recv.c Fabio Aiuto 2021-03-22 16:09 ` Greg KH 2021-03-22 14:31 ` [PATCH 05/11] staging: rtl8723bs: remove argument in recv_indicatepkts_pkt_loss_cnt Fabio Aiuto 2021-03-22 16:11 ` Greg KH 2021-03-22 14:31 ` [PATCH 06/11] staging: rtl8723bs: move function prototype out of core/rtw_recv.c Fabio Aiuto 2021-03-22 14:31 ` [PATCH 07/11] staging: rtl8723bs: delete extern declarations in core/rtw_wlan_util.c Fabio Aiuto 2021-03-22 14:31 ` [PATCH 08/11] staging: rtl8723bs: move function prototypes out of hal/odm.c Fabio Aiuto 2021-03-22 14:31 ` [PATCH 09/11] staging: rtl8723bs: move function prototypes out of os_dep/int_fs.c Fabio Aiuto 2021-03-22 14:31 ` [PATCH 10/11] staging: rtl8723bs: remove undefined function prototype in of os_dep/sdio_intf.c Fabio Aiuto 2021-03-22 14:31 ` [PATCH 11/11] staging: rtl8723bs: remove unnecessary extern in os_dep/sdio_intf.c Fabio Aiuto 2021-03-22 16:06 ` Greg KH
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).