Thread (3 messages) 3 messages, 2 authors, 2020-03-30

Re: [PATCH] ath10k: enable VHT160 and VHT80+80 modes

From: <hidden>
Date: 2020-03-26 13:15:14

On 2020-03-26 15:29, Kalle Valo wrote:
Sowmiya Sree Elavalagan [off-list ref] wrote:
quoted
From: Lei Wang <redacted>

Set right channel frequencies in VHT160 mode according to the VHT160
interoperability workaround added as part of IEEE Std 802.11™-2016 in
"Table 9-252—VHT Operation Information subfields", band_center_freq2
corresponds to CCFS1 in Table 9-253. Previous implementation
(band_center_freq2 = 0 for VHT160) is only deprecated.

Enable VHT80+80 mode and set the proper peer RX nss value for VHT160 and
VHT80+80 mode.

Based on patches by Sebastian Gottschall:

https://lkml.kernel.org/r/20180704095444.662-1-s.gottschall@dd-wrt.com

https://lkml.kernel.org/r/20180704120519.6479-1-s.gottschall@dd-wrt.com

Tested: qca9984 with firmware ver 10.4-3.10-00047

Co-developed-by: Sebastian Gottschall <redacted>
Signed-off-by: Sebastian Gottschall <redacted>
Co-developed-by: Rick Wu <redacted>
Signed-off-by: Rick Wu <redacted>
Signed-off-by: Lei Wang <redacted>
Signed-off-by: Sowmiya Sree Elavalagan <redacted>
Fails to build on GCC 8.1. Did you test this?

In file included from ./include/asm-generic/bug.h:5,
                 from ./arch/x86/include/asm/bug.h:83,
                 from ./include/linux/bug.h:5,
                 from ./include/net/mac80211.h:16,
                 from drivers/net/wireless/ath/ath10k/mac.h:10,
                 from drivers/net/wireless/ath/ath10k/mac.c:8:
In function 'ath10k_peer_assoc_h_vht',
    inlined from 'ath10k_peer_assoc_prepare' at
drivers/net/wireless/ath/ath10k/mac.c:2790:2:
./include/linux/compiler.h:350:38: error: call to
'__compiletime_assert_2631' declared with attribute error:
BUILD_BUG_ON failed: ((((((~(((0UL)))) - ((((1UL))) << (3)) + 1) &
(~(((0UL))) >> (64 - 1 - (5))))) + (1ULL <<
(__builtin_ffsll((((~(((0UL)))) - ((((1UL))) << (3)) + 1) &
(~(((0UL))) >> (64 - 1 - (5))))) - 1))) & ((((((~(((0UL)))) -
((((1UL))) << (3)) + 1) & (~(((0UL))) >> (64 - 1 - (5))))) + (1ULL <<
(__builtin_ffsll((((~(((0UL)))) - ((((1UL))) << (3)) + 1) &
(~(((0UL))) >> (64 - 1 - (5))))) - 1))) - 1)) != 0
  _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
                                      ^
./include/linux/compiler.h:331:4: note: in definition of macro
'__compiletime_assert'
    prefix ## suffix();    \
    ^~~~~~
./include/linux/compiler.h:350:2: note: in expansion of macro
'_compiletime_assert'
  _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
  ^~~~~~~~~~~~~~~~~~~
./include/linux/build_bug.h:39:37: note: in expansion of macro
'compiletime_assert'
 #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                     ^~~~~~~~~~~~~~~~~~
./include/linux/bitfield.h:49:3: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ?  \
   ^~~~~~~~~~~~~~~~
./include/linux/bitfield.h:81:3: note: in expansion of macro '__BF_FIELD_CHECK'
   __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
   ^~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:2631:4: note: in expansion of
macro 'FIELD_PREP'
    FIELD_PREP(WMI_PEER_NSS_80_80MHZ_MASK, (rx_nss - 1));
    ^~~~~~~~~~
./include/linux/compiler.h:350:38: error: call to
'__compiletime_assert_2627' declared with attribute error:
BUILD_BUG_ON failed: ((((((~(((0UL)))) - ((((1UL))) << (0)) + 1) &
(~(((0UL))) >> (64 - 1 - (2))))) + (1ULL <<
(__builtin_ffsll((((~(((0UL)))) - ((((1UL))) << (0)) + 1) &
(~(((0UL))) >> (64 - 1 - (2))))) - 1))) & ((((((~(((0UL)))) -
((((1UL))) << (0)) + 1) & (~(((0UL))) >> (64 - 1 - (2))))) + (1ULL <<
(__builtin_ffsll((((~(((0UL)))) - ((((1UL))) << (0)) + 1) &
(~(((0UL))) >> (64 - 1 - (2))))) - 1))) - 1)) != 0
  _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
                                      ^
./include/linux/compiler.h:331:4: note: in definition of macro
'__compiletime_assert'
    prefix ## suffix();    \
    ^~~~~~
./include/linux/compiler.h:350:2: note: in expansion of macro
'_compiletime_assert'
  _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
  ^~~~~~~~~~~~~~~~~~~
./include/linux/build_bug.h:39:37: note: in expansion of macro
'compiletime_assert'
 #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                     ^~~~~~~~~~~~~~~~~~
./include/linux/bitfield.h:49:3: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ?  \
   ^~~~~~~~~~~~~~~~
./include/linux/bitfield.h:81:3: note: in expansion of macro '__BF_FIELD_CHECK'
   __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
   ^~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:2627:4: note: in expansion of
macro 'FIELD_PREP'
    FIELD_PREP(WMI_PEER_NSS_160MHZ_MASK, (rx_nss - 1));
    ^~~~~~~~~~
make[5]: *** [drivers/net/wireless/ath/ath10k/mac.o] Error 1
make[5]: *** Waiting for unfinished jobs....
make[4]: *** [drivers/net/wireless/ath/ath10k] Error 2
make[3]: *** [drivers/net/wireless/ath] Error 2
make[2]: *** [drivers/net/wireless] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2

Patch set to Changes Requested.
Hi Kalle,

I checked the build. Build was successful with GCC version 4.8.
Will fix the error and update the patch.

Thanks,
Sowmiya Sree
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help