Message ID | 20220426063235.41650-16-pkshih@realtek.com |
---|---|
State | New |
Headers | show |
Series | rtw89: 8852c: add RFK and then enable 8852ce in Makefile and Kconfig | expand |
Hi Ping-Ke,
I love your patch! Perhaps something to improve:
[auto build test WARNING on wireless-next/main]
[also build test WARNING on next-20220428]
[cannot apply to wireless/main v5.18-rc4]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/intel-lab-lkp/linux/commits/Ping-Ke-Shih/rtw89-8852c-add-RFK-and-then-enable-8852ce-in-Makefile-and-Kconfig/20220426-143456
base: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git main
config: i386-allmodconfig (https://download.01.org/0day-ci/archive/20220429/202204290830.slUaIhad-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project c59473aacce38cd7dd77eebceaf3c98c5707ab3b)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/5aaabdd4d9ac433ed14c1c02147c2609827739d2
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Ping-Ke-Shih/rtw89-8852c-add-RFK-and-then-enable-8852ce-in-Makefile-and-Kconfig/20220426-143456
git checkout 5aaabdd4d9ac433ed14c1c02147c2609827739d2
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/net/wireless/realtek/rtw89/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/net/wireless/realtek/rtw89/rtw8852c.c:2640:2: warning: result of comparison of constant 18446744073709551615 with expression of type 'typeof (_Generic((__msk), char: (unsigned char)0, unsigned char: (unsigned char)0, signed char: (unsigned char)0, unsigned short: (unsigned short)0, short: (unsigned short)0, unsigned int: (unsigned int)0, int: (unsigned int)0, unsigned long: (unsigned long)0, long: (unsigned long)0, unsigned long long: (unsigned long long)0, long long: (unsigned long long)0, default: (__msk)))' (aka 'unsigned long') is always false [-Wtautological-constant-out-of-range-compare]
__write_ctrl(R_AX_PWR_RATE_CTRL, B_AX_FORCE_PWR_BY_RATE_VALUE_MASK,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/realtek/rtw89/rtw8852c.c:2621:13: note: expanded from macro '__write_ctrl'
u32 _wrt = FIELD_PREP(__msk, _val); \
^~~~~~~~~~~~~~~~~~~~~~~
include/linux/bitfield.h:114:3: note: expanded from macro 'FIELD_PREP'
__BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/bitfield.h:71:53: note: expanded from macro '__BF_FIELD_CHECK'
BUILD_BUG_ON_MSG(__bf_cast_unsigned(_mask, _mask) > \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:352:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:340:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:332:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
drivers/net/wireless/realtek/rtw89/rtw8852c.c:2653:2: warning: result of comparison of constant 18446744073709551615 with expression of type 'typeof (_Generic((__msk), char: (unsigned char)0, unsigned char: (unsigned char)0, signed char: (unsigned char)0, unsigned short: (unsigned short)0, short: (unsigned short)0, unsigned int: (unsigned int)0, int: (unsigned int)0, unsigned long: (unsigned long)0, long: (unsigned long)0, unsigned long long: (unsigned long long)0, long long: (unsigned long long)0, default: (__msk)))' (aka 'unsigned long') is always false [-Wtautological-constant-out-of-range-compare]
__write_ctrl(R_AX_PWR_COEXT_CTRL, B_AX_TXAGC_BT_MASK, val,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/realtek/rtw89/rtw8852c.c:2621:13: note: expanded from macro '__write_ctrl'
u32 _wrt = FIELD_PREP(__msk, _val); \
^~~~~~~~~~~~~~~~~~~~~~~
include/linux/bitfield.h:114:3: note: expanded from macro 'FIELD_PREP'
__BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/bitfield.h:71:53: note: expanded from macro '__BF_FIELD_CHECK'
BUILD_BUG_ON_MSG(__bf_cast_unsigned(_mask, _mask) > \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:352:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:340:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:332:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
2 warnings generated.
vim +2640 drivers/net/wireless/realtek/rtw89/rtw8852c.c
2fb822f82a59db Ping-Ke Shih 2022-04-21 2630
2fb822f82a59db Ping-Ke Shih 2022-04-21 2631 switch (arg.ctrl_all_time) {
2fb822f82a59db Ping-Ke Shih 2022-04-21 2632 case 0xffff:
2fb822f82a59db Ping-Ke Shih 2022-04-21 2633 val = 0;
2fb822f82a59db Ping-Ke Shih 2022-04-21 2634 break;
2fb822f82a59db Ping-Ke Shih 2022-04-21 2635 default:
2fb822f82a59db Ping-Ke Shih 2022-04-21 2636 val = arg.all_time.data;
2fb822f82a59db Ping-Ke Shih 2022-04-21 2637 break;
2fb822f82a59db Ping-Ke Shih 2022-04-21 2638 }
2fb822f82a59db Ping-Ke Shih 2022-04-21 2639
2fb822f82a59db Ping-Ke Shih 2022-04-21 @2640 __write_ctrl(R_AX_PWR_RATE_CTRL, B_AX_FORCE_PWR_BY_RATE_VALUE_MASK,
2fb822f82a59db Ping-Ke Shih 2022-04-21 2641 val, B_AX_FORCE_PWR_BY_RATE_EN,
2fb822f82a59db Ping-Ke Shih 2022-04-21 2642 arg.ctrl_all_time != 0xffff);
2fb822f82a59db Ping-Ke Shih 2022-04-21 2643
2fb822f82a59db Ping-Ke Shih 2022-04-21 2644 switch (arg.ctrl_gnt_bt) {
2fb822f82a59db Ping-Ke Shih 2022-04-21 2645 case 0xffff:
2fb822f82a59db Ping-Ke Shih 2022-04-21 2646 val = 0;
2fb822f82a59db Ping-Ke Shih 2022-04-21 2647 break;
2fb822f82a59db Ping-Ke Shih 2022-04-21 2648 default:
2fb822f82a59db Ping-Ke Shih 2022-04-21 2649 val = arg.gnt_bt.data;
2fb822f82a59db Ping-Ke Shih 2022-04-21 2650 break;
2fb822f82a59db Ping-Ke Shih 2022-04-21 2651 };
2fb822f82a59db Ping-Ke Shih 2022-04-21 2652
2fb822f82a59db Ping-Ke Shih 2022-04-21 2653 __write_ctrl(R_AX_PWR_COEXT_CTRL, B_AX_TXAGC_BT_MASK, val,
2fb822f82a59db Ping-Ke Shih 2022-04-21 2654 B_AX_TXAGC_BT_EN, arg.ctrl_gnt_bt != 0xffff);
2fb822f82a59db Ping-Ke Shih 2022-04-21 2655
> -----Original Message----- > From: Kalle Valo <kvalo@kernel.org> > Sent: Friday, April 29, 2022 1:53 PM > To: Pkshih <pkshih@realtek.com> > Cc: kernel test robot <lkp@intel.com>; llvm@lists.linux.dev; kbuild-all@lists.01.org; > linux-wireless@vger.kernel.org > Subject: Re: [PATCH 15/15] rtw89: 8852c: add 8852ce to Makefile and Kconfig > > Pkshih <pkshih@realtek.com> writes: > > >> -----Original Message----- > >> From: kernel test robot <lkp@intel.com> > >> Sent: Friday, April 29, 2022 8:46 AM > >> To: Pkshih <pkshih@realtek.com>; kvalo@kernel.org > >> Cc: llvm@lists.linux.dev; kbuild-all@lists.01.org; linux-wireless@vger.kernel.org > >> Subject: Re: [PATCH 15/15] rtw89: 8852c: add 8852ce to Makefile and Kconfig > >> > >> Hi Ping-Ke, > >> > >> I love your patch! Perhaps something to improve: > >> > >> [auto build test WARNING on wireless-next/main] > >> [also build test WARNING on next-20220428] > >> [cannot apply to wireless/main v5.18-rc4] > >> [If your patch is applied to the wrong git tree, kindly drop us a note. > >> And when submitting patch, we suggest to use '--base' as documented in > >> https://git-scm.com/docs/git-format-patch] > >> > >> url: > >> > https://github.com/intel-lab-lkp/linux/commits/Ping-Ke-Shih/rtw89-8852c-add-RFK-and-then-enable-8852ce > >> -in-Makefile-and-Kconfig/20220426-143456 > >> base: > >> https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git > >> main > >> config: i386-allmodconfig > >> (https://download.01.org/0day-ci/archive/20220429/202204290830.slUaIhad-lkp@intel.com/config) > >> compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project > >> c59473aacce38cd7dd77eebceaf3c98c5707ab3b) > >> reproduce (this is a W=1 build): > >> wget > >> https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross > >> -O > >> ~/bin/make.cross > >> chmod +x ~/bin/make.cross > >> # > >> https://github.com/intel-lab-lkp/linux/commit/5aaabdd4d9ac433ed14c1c02147c2609827739d2 > >> git remote add linux-review https://github.com/intel-lab-lkp/linux > >> git fetch --no-tags linux-review > >> Ping-Ke-Shih/rtw89-8852c-add-RFK-and-then-enable-8852ce-in-Makefile-and-Kconfig/20220426-143456 > >> git checkout 5aaabdd4d9ac433ed14c1c02147c2609827739d2 > >> # save the config file > >> mkdir build_dir && cp config build_dir/.config > >> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross > >> W=1 O=build_dir ARCH=i386 > >> SHELL=/bin/bash drivers/net/wireless/realtek/rtw89/ > >> > >> If you fix the issue, kindly add following tag as appropriate > >> Reported-by: kernel test robot <lkp@intel.com> > >> > >> All warnings (new ones prefixed by >>): > >> > >> >> drivers/net/wireless/realtek/rtw89/rtw8852c.c:2640:2: warning: > >> > result of comparison of constant > >> 18446744073709551615 with expression of type 'typeof (_Generic((__msk), char: (unsigned char)0, unsigned > >> char: (unsigned char)0, signed char: (unsigned char)0, unsigned short: (unsigned short)0, short: > (unsigned > >> short)0, unsigned int: (unsigned int)0, int: (unsigned int)0, unsigned long: (unsigned long)0, long: > >> (unsigned long)0, unsigned long long: (unsigned long long)0, long long: (unsigned long long)0, default: > >> (__msk)))' (aka 'unsigned long') is always false [-Wtautological-constant-out-of-range-compare] > >> __write_ctrl(R_AX_PWR_RATE_CTRL, B_AX_FORCE_PWR_BY_RATE_VALUE_MASK, > >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> drivers/net/wireless/realtek/rtw89/rtw8852c.c:2621:13: note: expanded from macro '__write_ctrl' > >> u32 _wrt = FIELD_PREP(__msk, _val); \ > >> ^~~~~~~~~~~~~~~~~~~~~~~ > >> include/linux/bitfield.h:114:3: note: expanded from macro 'FIELD_PREP' > >> __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \ > >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> include/linux/bitfield.h:71:53: note: expanded from macro '__BF_FIELD_CHECK' > >> BUILD_BUG_ON_MSG(__bf_cast_unsigned(_mask, _mask) > \ > >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ > >> note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) > >> include/linux/compiler_types.h:352:22: note: expanded from macro 'compiletime_assert' > >> _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) > >> ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> include/linux/compiler_types.h:340:23: note: expanded from macro '_compiletime_assert' > >> __compiletime_assert(condition, msg, prefix, suffix) > >> ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> include/linux/compiler_types.h:332:9: note: expanded from macro '__compiletime_assert' > >> if (!(condition)) \ > >> ^~~~~~~~~ > > > > We add 'BUILD_BUG_ON((__msk & __en) != 0);' to prevent coding error during > > development. The __msk and __en in the expression are constant and expected > > no intersection of these two bit masks. Since we have verified this code, > > I think I can send a patch to remove the BUILD_BUG_ON() from this macro. > > I'm dropping the patchset, please submit a new version including your > fix. > v2 has sent. But, I misread the cause that isn't due to BUILD_BUG_ON() but mask type. Ping-Ke
diff --git a/drivers/net/wireless/realtek/rtw89/Kconfig b/drivers/net/wireless/realtek/rtw89/Kconfig index dd02b6a6790e3..93e09400aac49 100644 --- a/drivers/net/wireless/realtek/rtw89/Kconfig +++ b/drivers/net/wireless/realtek/rtw89/Kconfig @@ -19,8 +19,11 @@ config RTW89_PCI config RTW89_8852A tristate +config RTW89_8852C + tristate + config RTW89_8852AE - tristate "Realtek 8852AE PCI wireless network adapter" + tristate "Realtek 8852AE PCI wireless network (Wi-Fi 6) adapter" depends on PCI select RTW89_CORE select RTW89_PCI @@ -28,7 +31,18 @@ config RTW89_8852AE help Select this option will enable support for 8852AE chipset - 802.11ax PCIe wireless network adapter + 802.11ax PCIe wireless network (Wi-Fi 6) adapter + +config RTW89_8852CE + tristate "Realtek 8852CE PCI wireless network (Wi-Fi 6E) adapter" + depends on PCI + select RTW89_CORE + select RTW89_PCI + select RTW89_8852C + help + Select this option will enable support for 8852CE chipset + + 802.11ax PCIe wireless network (Wi-Fi 6E) adapter config RTW89_DEBUG bool diff --git a/drivers/net/wireless/realtek/rtw89/Makefile b/drivers/net/wireless/realtek/rtw89/Makefile index 012ae60c0b811..3006482d25c77 100644 --- a/drivers/net/wireless/realtek/rtw89/Makefile +++ b/drivers/net/wireless/realtek/rtw89/Makefile @@ -23,6 +23,15 @@ rtw89_8852a-objs := rtw8852a.o \ obj-$(CONFIG_RTW89_8852AE) += rtw89_8852ae.o rtw89_8852ae-objs := rtw8852ae.o +obj-$(CONFIG_RTW89_8852C) += rtw89_8852c.o +rtw89_8852c-objs := rtw8852c.o \ + rtw8852c_table.o \ + rtw8852c_rfk.o \ + rtw8852c_rfk_table.o + +obj-$(CONFIG_RTW89_8852CE) += rtw89_8852ce.o +rtw89_8852ce-objs := rtw8852ce.o + rtw89_core-$(CONFIG_RTW89_DEBUG) += debug.o obj-$(CONFIG_RTW89_PCI) += rtw89_pci.o
This initial vesion is usable now. It can support STA, AP and monitor modes, so we can add 8852ce to Kconfig and Makefile. We are still working on some features, such as deep power save, and BT coexistence. But, this version still can have a good WiFi-only performance already, and will continue to fine tune power consumption. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> --- drivers/net/wireless/realtek/rtw89/Kconfig | 18 ++++++++++++++++-- drivers/net/wireless/realtek/rtw89/Makefile | 9 +++++++++ 2 files changed, 25 insertions(+), 2 deletions(-)