2015-11-24 17:39:14

by Peter Oh

[permalink] [raw]
Subject: [PATCH 0/3] ath10k: introduce Mesh support in native WiFi mode for QCA988X

QCA988X firmware has started supporting Mesh frame in native Wi-Fi mode
by adding its subtype since 10.2.4.70.12-2.
Hence update its WMI service map and vdev subtypes to be used for Mesh in
native Wi-Fi mode.

Peter Oh (3):
ath10k: update WMI 10.x service map
ath10k: introduce new subtypes for proxy STA and Mesh
ath10k: apply Mesh subtype when Mesh interface created.

drivers/net/wireless/ath/ath10k/mac.c | 4 +++-
drivers/net/wireless/ath/ath10k/wmi.h | 17 +++++++++++++++++
2 files changed, 20 insertions(+), 1 deletion(-)

--
1.9.1



2015-11-24 18:20:59

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH 3/3] ath10k: apply Mesh subtype when Mesh interface created.

Hi Peter,

[auto build test WARNING on net-next/master]
[also build test WARNING on v4.4-rc2 next-20151124]

url: https://github.com/0day-ci/linux/commits/Peter-Oh/ath10k-introduce-Mesh-support-in-native-WiFi-mode-for-QCA988X/20151125-014059
config: x86_64-randconfig-s5-11250138 (attached as .config)
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

All warnings (new ones prefixed by >>):

In file included from drivers/net/wireless/ath/ath10k/core.h:32:0,
from drivers/net/wireless/ath/ath10k/mac.h:22,
from drivers/net/wireless/ath/ath10k/mac.c:18:
drivers/net/wireless/ath/ath10k/wmi.h: In function 'wmi_10x_svc_map':
drivers/net/wireless/ath/ath10k/wmi.h:457:9: error: 'WMI_SERVICE_MESH' undeclared (first use in this function)
WMI_SERVICE_MESH, len);
^
drivers/net/wireless/ath/ath10k/wmi.h:398:14: note: in definition of macro 'SVCMAP'
__set_bit(y, out); \
^
drivers/net/wireless/ath/ath10k/wmi.h:457:9: note: each undeclared identifier is reported only once for each function it appears in
WMI_SERVICE_MESH, len);
^
drivers/net/wireless/ath/ath10k/wmi.h:398:14: note: in definition of macro 'SVCMAP'
__set_bit(y, out); \
^
drivers/net/wireless/ath/ath10k/wmi.h:459:9: error: 'WMI_SERVICE_EXT_RES_CFG_SUPPORT' undeclared (first use in this function)
WMI_SERVICE_EXT_RES_CFG_SUPPORT, len);
^
drivers/net/wireless/ath/ath10k/wmi.h:398:14: note: in definition of macro 'SVCMAP'
__set_bit(y, out); \
^
In file included from include/asm-generic/bug.h:4:0,
from arch/x86/include/asm/bug.h:35,
from include/linux/bug.h:4,
from include/net/mac80211.h:18,
from drivers/net/wireless/ath/ath10k/mac.h:21,
from drivers/net/wireless/ath/ath10k/mac.c:18:
drivers/net/wireless/ath/ath10k/mac.c: In function 'ath10k_add_interface':
drivers/net/wireless/ath/ath10k/mac.c:4353:16: error: 'WMI_SERVICE_MESH' undeclared (first use in this function)
if (test_bit(WMI_SERVICE_MESH, ar->wmi.svc_map)) {
^
include/linux/compiler.h:147:28: note: in definition of macro '__trace_if'
if (__builtin_constant_p((cond)) ? !!(cond) : \
^
>> drivers/net/wireless/ath/ath10k/mac.c:4353:3: note: in expansion of macro 'if'
if (test_bit(WMI_SERVICE_MESH, ar->wmi.svc_map)) {
^
>> drivers/net/wireless/ath/ath10k/mac.c:4353:7: note: in expansion of macro 'test_bit'
if (test_bit(WMI_SERVICE_MESH, ar->wmi.svc_map)) {
^

vim +/if +4353 drivers/net/wireless/ath/ath10k/mac.c

4337
4338 switch (vif->type) {
4339 case NL80211_IFTYPE_P2P_DEVICE:
4340 arvif->vdev_type = WMI_VDEV_TYPE_STA;
4341 arvif->vdev_subtype = WMI_VDEV_SUBTYPE_P2P_DEVICE;
4342 break;
4343 case NL80211_IFTYPE_UNSPECIFIED:
4344 case NL80211_IFTYPE_STATION:
4345 arvif->vdev_type = WMI_VDEV_TYPE_STA;
4346 if (vif->p2p)
4347 arvif->vdev_subtype = WMI_VDEV_SUBTYPE_P2P_CLIENT;
4348 break;
4349 case NL80211_IFTYPE_ADHOC:
4350 arvif->vdev_type = WMI_VDEV_TYPE_IBSS;
4351 break;
4352 case NL80211_IFTYPE_MESH_POINT:
> 4353 if (test_bit(WMI_SERVICE_MESH, ar->wmi.svc_map)) {
4354 arvif->vdev_subtype = WMI_VDEV_SUBTYPE_MESH;
4355 } else if (!test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags)) {
4356 ret = -EINVAL;
4357 ath10k_warn(ar, "must load driver with rawmode=1 to add mesh interfaces\n");
4358 goto err;
4359 }
4360 arvif->vdev_type = WMI_VDEV_TYPE_AP;
4361 break;

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation


Attachments:
(No filename) (3.83 kB)
.config.gz (23.68 kB)
Download all attachments

2015-11-30 15:08:05

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 0/3] ath10k: introduce Mesh support in native WiFi mode for QCA988X

Peter Oh <[email protected]> writes:

> QCA988X firmware has started supporting Mesh frame in native Wi-Fi mode
> by adding its subtype since 10.2.4.70.12-2.
> Hence update its WMI service map and vdev subtypes to be used for Mesh in
> native Wi-Fi mode.
>
> Peter Oh (3):
> ath10k: update WMI 10.x service map
> ath10k: introduce new subtypes for proxy STA and Mesh
> ath10k: apply Mesh subtype when Mesh interface created.

All three applied, thanks.

--
Kalle Valo

2015-11-24 18:02:41

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH 3/3] ath10k: apply Mesh subtype when Mesh interface created.

Hi Peter,

[auto build test ERROR on net-next/master]
[also build test ERROR on v4.4-rc2 next-20151124]

url: https://github.com/0day-ci/linux/commits/Peter-Oh/ath10k-introduce-Mesh-support-in-native-WiFi-mode-for-QCA988X/20151125-014059
config: x86_64-randconfig-x006-11230704 (attached as .config)
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

All errors (new ones prefixed by >>):

In file included from drivers/net/wireless/ath/ath10k/core.h:32:0,
from drivers/net/wireless/ath/ath10k/mac.h:22,
from drivers/net/wireless/ath/ath10k/mac.c:18:
drivers/net/wireless/ath/ath10k/wmi.h: In function 'wmi_10x_svc_map':
drivers/net/wireless/ath/ath10k/wmi.h:457:9: error: 'WMI_SERVICE_MESH' undeclared (first use in this function)
WMI_SERVICE_MESH, len);
^
drivers/net/wireless/ath/ath10k/wmi.h:398:14: note: in definition of macro 'SVCMAP'
__set_bit(y, out); \
^
drivers/net/wireless/ath/ath10k/wmi.h:457:9: note: each undeclared identifier is reported only once for each function it appears in
WMI_SERVICE_MESH, len);
^
drivers/net/wireless/ath/ath10k/wmi.h:398:14: note: in definition of macro 'SVCMAP'
__set_bit(y, out); \
^
drivers/net/wireless/ath/ath10k/wmi.h:459:9: error: 'WMI_SERVICE_EXT_RES_CFG_SUPPORT' undeclared (first use in this function)
WMI_SERVICE_EXT_RES_CFG_SUPPORT, len);
^
drivers/net/wireless/ath/ath10k/wmi.h:398:14: note: in definition of macro 'SVCMAP'
__set_bit(y, out); \
^
In file included from include/linux/bitops.h:36:0,
from include/linux/kernel.h:10,
from include/asm-generic/bug.h:13,
from arch/x86/include/asm/bug.h:35,
from include/linux/bug.h:4,
from include/net/mac80211.h:18,
from drivers/net/wireless/ath/ath10k/mac.h:21,
from drivers/net/wireless/ath/ath10k/mac.c:18:
drivers/net/wireless/ath/ath10k/mac.c: In function 'ath10k_add_interface':
>> drivers/net/wireless/ath/ath10k/mac.c:4353:16: error: 'WMI_SERVICE_MESH' undeclared (first use in this function)
if (test_bit(WMI_SERVICE_MESH, ar->wmi.svc_map)) {
^
arch/x86/include/asm/bitops.h:336:25: note: in definition of macro 'test_bit'
(__builtin_constant_p((nr)) \
^

vim +/WMI_SERVICE_MESH +4353 drivers/net/wireless/ath/ath10k/mac.c

4347 arvif->vdev_subtype = WMI_VDEV_SUBTYPE_P2P_CLIENT;
4348 break;
4349 case NL80211_IFTYPE_ADHOC:
4350 arvif->vdev_type = WMI_VDEV_TYPE_IBSS;
4351 break;
4352 case NL80211_IFTYPE_MESH_POINT:
> 4353 if (test_bit(WMI_SERVICE_MESH, ar->wmi.svc_map)) {
4354 arvif->vdev_subtype = WMI_VDEV_SUBTYPE_MESH;
4355 } else if (!test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags)) {
4356 ret = -EINVAL;

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation


Attachments:
(No filename) (3.11 kB)
.config.gz (24.70 kB)
Download all attachments

2015-11-24 18:06:38

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH 1/3] ath10k: update WMI 10.x service map

Hi Peter,

[auto build test ERROR on net-next/master]
[also build test ERROR on v4.4-rc2 next-20151124]

url: https://github.com/0day-ci/linux/commits/Peter-Oh/ath10k-introduce-Mesh-support-in-native-WiFi-mode-for-QCA988X/20151125-014059
config: x86_64-randconfig-x006-11230704 (attached as .config)
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

All errors (new ones prefixed by >>):

In file included from drivers/net/wireless/ath/ath10k/core.h:32:0,
from drivers/net/wireless/ath/ath10k/mac.h:22,
from drivers/net/wireless/ath/ath10k/mac.c:18:
drivers/net/wireless/ath/ath10k/wmi.h: In function 'wmi_10x_svc_map':
>> drivers/net/wireless/ath/ath10k/wmi.h:457:9: error: 'WMI_SERVICE_MESH' undeclared (first use in this function)
WMI_SERVICE_MESH, len);
^
drivers/net/wireless/ath/ath10k/wmi.h:398:14: note: in definition of macro 'SVCMAP'
__set_bit(y, out); \
^
drivers/net/wireless/ath/ath10k/wmi.h:457:9: note: each undeclared identifier is reported only once for each function it appears in
WMI_SERVICE_MESH, len);
^
drivers/net/wireless/ath/ath10k/wmi.h:398:14: note: in definition of macro 'SVCMAP'
__set_bit(y, out); \
^
>> drivers/net/wireless/ath/ath10k/wmi.h:459:9: error: 'WMI_SERVICE_EXT_RES_CFG_SUPPORT' undeclared (first use in this function)
WMI_SERVICE_EXT_RES_CFG_SUPPORT, len);
^
drivers/net/wireless/ath/ath10k/wmi.h:398:14: note: in definition of macro 'SVCMAP'
__set_bit(y, out); \
^

vim +/WMI_SERVICE_MESH +457 drivers/net/wireless/ath/ath10k/wmi.h

392 __le32_to_cpu((wmi_svc_bmap)[(svc_id)/(sizeof(u32))]) & \
393 BIT((svc_id)%(sizeof(u32))))
394
395 #define SVCMAP(x, y, len) \
396 do { \
397 if (WMI_SERVICE_IS_ENABLED((in), (x), (len))) \
> 398 __set_bit(y, out); \
399 } while (0)
400
401 static inline void wmi_10x_svc_map(const __le32 *in, unsigned long *out,
402 size_t len)
403 {
404 SVCMAP(WMI_10X_SERVICE_BEACON_OFFLOAD,
405 WMI_SERVICE_BEACON_OFFLOAD, len);
406 SVCMAP(WMI_10X_SERVICE_SCAN_OFFLOAD,
407 WMI_SERVICE_SCAN_OFFLOAD, len);
408 SVCMAP(WMI_10X_SERVICE_ROAM_OFFLOAD,
409 WMI_SERVICE_ROAM_OFFLOAD, len);
410 SVCMAP(WMI_10X_SERVICE_BCN_MISS_OFFLOAD,
411 WMI_SERVICE_BCN_MISS_OFFLOAD, len);
412 SVCMAP(WMI_10X_SERVICE_STA_PWRSAVE,
413 WMI_SERVICE_STA_PWRSAVE, len);
414 SVCMAP(WMI_10X_SERVICE_STA_ADVANCED_PWRSAVE,
415 WMI_SERVICE_STA_ADVANCED_PWRSAVE, len);
416 SVCMAP(WMI_10X_SERVICE_AP_UAPSD,
417 WMI_SERVICE_AP_UAPSD, len);
418 SVCMAP(WMI_10X_SERVICE_AP_DFS,
419 WMI_SERVICE_AP_DFS, len);
420 SVCMAP(WMI_10X_SERVICE_11AC,
421 WMI_SERVICE_11AC, len);
422 SVCMAP(WMI_10X_SERVICE_BLOCKACK,
423 WMI_SERVICE_BLOCKACK, len);
424 SVCMAP(WMI_10X_SERVICE_PHYERR,
425 WMI_SERVICE_PHYERR, len);
426 SVCMAP(WMI_10X_SERVICE_BCN_FILTER,
427 WMI_SERVICE_BCN_FILTER, len);
428 SVCMAP(WMI_10X_SERVICE_RTT,
429 WMI_SERVICE_RTT, len);
430 SVCMAP(WMI_10X_SERVICE_RATECTRL,
431 WMI_SERVICE_RATECTRL, len);
432 SVCMAP(WMI_10X_SERVICE_WOW,
433 WMI_SERVICE_WOW, len);
434 SVCMAP(WMI_10X_SERVICE_RATECTRL_CACHE,
435 WMI_SERVICE_RATECTRL_CACHE, len);
436 SVCMAP(WMI_10X_SERVICE_IRAM_TIDS,
437 WMI_SERVICE_IRAM_TIDS, len);
438 SVCMAP(WMI_10X_SERVICE_BURST,
439 WMI_SERVICE_BURST, len);
440 SVCMAP(WMI_10X_SERVICE_SMART_ANTENNA_SW_SUPPORT,
441 WMI_SERVICE_SMART_ANTENNA_SW_SUPPORT, len);
442 SVCMAP(WMI_10X_SERVICE_FORCE_FW_HANG,
443 WMI_SERVICE_FORCE_FW_HANG, len);
444 SVCMAP(WMI_10X_SERVICE_SMART_ANTENNA_HW_SUPPORT,
445 WMI_SERVICE_SMART_ANTENNA_HW_SUPPORT, len);
446 SVCMAP(WMI_10X_SERVICE_ATF,
447 WMI_SERVICE_ATF, len);
448 SVCMAP(WMI_10X_SERVICE_COEX_GPIO,
449 WMI_SERVICE_COEX_GPIO, len);
450 SVCMAP(WMI_10X_SERVICE_AUX_SPECTRAL_INTF,
451 WMI_SERVICE_AUX_SPECTRAL_INTF, len);
452 SVCMAP(WMI_10X_SERVICE_AUX_CHAN_LOAD_INTF,
453 WMI_SERVICE_AUX_CHAN_LOAD_INTF, len);
454 SVCMAP(WMI_10X_SERVICE_BSS_CHANNEL_INFO_64,
455 WMI_SERVICE_BSS_CHANNEL_INFO_64, len);
456 SVCMAP(WMI_10X_SERVICE_MESH,
> 457 WMI_SERVICE_MESH, len);
458 SVCMAP(WMI_10X_SERVICE_EXT_RES_CFG_SUPPORT,
> 459 WMI_SERVICE_EXT_RES_CFG_SUPPORT, len);
460 }
461
462 static inline void wmi_main_svc_map(const __le32 *in, unsigned long *out,

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation


Attachments:
(No filename) (4.81 kB)
.config.gz (24.70 kB)
Download all attachments

2015-11-25 10:59:33

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 1/3] ath10k: update WMI 10.x service map

(fixing quotes)

Peter Oh <[email protected]> writes:

>> In file included from include/linux/bitops.h:36:0,
>> from include/linux/kernel.h:10,
>> from include/asm-generic/bug.h:13,
>> from arch/m68k/include/asm/bug.h:28,
>> from include/linux/bug.h:4,
>> from include/net/mac80211.h:18,
>> from drivers/net/wireless/ath/ath10k/mac.h:21,
>> from drivers/net/wireless/ath/ath10k/mac.c:18:
>> drivers/net/wireless/ath/ath10k/wmi.h: In function 'wmi_10x_svc_map':
>> drivers/net/wireless/ath/ath10k/wmi.h:457:9: error: 'WMI_SERVICE_MESH'
>> undeclared (first use in this function)
>> WMI_SERVICE_MESH, len);
>> ^
>> arch/m68k/include/asm/bitops.h:63:50: note: in definition of macro
>> 'set_bit'
>> #define set_bit(nr, vaddr) (__builtin_constant_p(nr) ? \
>> ^
>>>> drivers/net/wireless/ath/ath10k/wmi.h:398:4: note: in expansion of
>> macro '__set_bit'
>> __set_bit(y, out); \
>> ^
>
> I believe the robot report is false.
> Am I right?

I think these are false, at least I didn't notice anything when I
applied these to ath.git pending branch.

--
Kalle Valo

2015-11-24 17:39:15

by Peter Oh

[permalink] [raw]
Subject: [PATCH 1/3] ath10k: update WMI 10.x service map

Update WMI 10.x service map to sync with firmware 10.2.4.70.12-2
released on 11/11/2015 which is the latest QCA988X firmware as of
11/18/2015.

Signed-off-by: Peter Oh <[email protected]>
---
drivers/net/wireless/ath/ath10k/wmi.h | 15 +++++++++++++++
1 file changed, 15 insertions(+)

diff --git a/drivers/net/wireless/ath/ath10k/wmi.h b/drivers/net/wireless/ath/ath10k/wmi.h
index 80d3f1c..0747055 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.h
+++ b/drivers/net/wireless/ath/ath10k/wmi.h
@@ -208,6 +208,11 @@ enum wmi_10x_service {
WMI_10X_SERVICE_SMART_ANTENNA_HW_SUPPORT,
WMI_10X_SERVICE_ATF,
WMI_10X_SERVICE_COEX_GPIO,
+ WMI_10X_SERVICE_AUX_SPECTRAL_INTF,
+ WMI_10X_SERVICE_AUX_CHAN_LOAD_INTF,
+ WMI_10X_SERVICE_BSS_CHANNEL_INFO_64,
+ WMI_10X_SERVICE_MESH,
+ WMI_10X_SERVICE_EXT_RES_CFG_SUPPORT,
};

enum wmi_main_service {
@@ -448,6 +453,16 @@ static inline void wmi_10x_svc_map(const __le32 *in, unsigned long *out,
WMI_SERVICE_ATF, len);
SVCMAP(WMI_10X_SERVICE_COEX_GPIO,
WMI_SERVICE_COEX_GPIO, len);
+ SVCMAP(WMI_10X_SERVICE_AUX_SPECTRAL_INTF,
+ WMI_SERVICE_AUX_SPECTRAL_INTF, len);
+ SVCMAP(WMI_10X_SERVICE_AUX_CHAN_LOAD_INTF,
+ WMI_SERVICE_AUX_CHAN_LOAD_INTF, len);
+ SVCMAP(WMI_10X_SERVICE_BSS_CHANNEL_INFO_64,
+ WMI_SERVICE_BSS_CHANNEL_INFO_64, len);
+ SVCMAP(WMI_10X_SERVICE_MESH,
+ WMI_SERVICE_MESH, len);
+ SVCMAP(WMI_10X_SERVICE_EXT_RES_CFG_SUPPORT,
+ WMI_SERVICE_EXT_RES_CFG_SUPPORT, len);
}

static inline void wmi_main_svc_map(const __le32 *in, unsigned long *out,
--
1.9.1


2015-11-24 17:39:15

by Peter Oh

[permalink] [raw]
Subject: [PATCH 3/3] ath10k: apply Mesh subtype when Mesh interface created.

QCA988X firmware starting from 10.2.4.70.12-2 has capability to support
Mesh Control Field Present bit in QoS field in native Wi-Fi mode.
Hence apply Mesh subtype according to the WMI service map.

Firmware will allows unicast, broadcast, multicast, and WDS frame
(FromDS = 1 and ToDS = 1) to be received via the interface, once Mesh
subtype is used.

The firmware and this patch together make native Wi-Fi mode comply to
IEEE802.11s Mesh frame in open mode, but the firmware doesn't yet
support secured Mesh mode.

Signed-off-by: Peter Oh <[email protected]>
---
drivers/net/wireless/ath/ath10k/mac.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index 6637854..6d151a2 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -4361,7 +4361,9 @@ static int ath10k_add_interface(struct ieee80211_hw *hw,
arvif->vdev_type = WMI_VDEV_TYPE_IBSS;
break;
case NL80211_IFTYPE_MESH_POINT:
- if (!test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags)) {
+ if (test_bit(WMI_SERVICE_MESH, ar->wmi.svc_map)) {
+ arvif->vdev_subtype = WMI_VDEV_SUBTYPE_MESH;
+ } else if (!test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags)) {
ret = -EINVAL;
ath10k_warn(ar, "must load driver with rawmode=1 to add mesh interfaces\n");
goto err;
--
1.9.1


2015-11-25 01:23:50

by Peter Oh

[permalink] [raw]
Subject: Re: [PATCH 1/3] ath10k: update WMI 10.x service map

I believe the robot report is false.
Am I right?

Thanks,
Peter
On 11/24/2015 01:19 PM, kbuild test robot wrote:
> Hi Peter,
>
> [auto build test WARNING on net-next/master]
> [also build test WARNING on v4.4-rc2 next-20151124]
>
> url:
> https://github.com/0day-ci/linux/commits/Peter-Oh/ath10k-introduce-Mesh-su
> pport-in-native-WiFi-mode-for-QCA988X/20151125-014059
> config: m68k-allmodconfig (attached as .config)
> reproduce:
> wget
> https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/
> make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # save the attached .config to linux build tree
> make.cross ARCH=m68k
>
> All warnings (new ones prefixed by >>):
>
> In file included from include/linux/bitops.h:36:0,
> from include/linux/kernel.h:10,
> from include/asm-generic/bug.h:13,
> from arch/m68k/include/asm/bug.h:28,
> from include/linux/bug.h:4,
> from include/net/mac80211.h:18,
> from drivers/net/wireless/ath/ath10k/mac.h:21,
> from drivers/net/wireless/ath/ath10k/mac.c:18:
> drivers/net/wireless/ath/ath10k/wmi.h: In function 'wmi_10x_svc_map':
> drivers/net/wireless/ath/ath10k/wmi.h:457:9: error: 'WMI_SERVICE_MESH'
> undeclared (first use in this function)
> WMI_SERVICE_MESH, len);
> ^
> arch/m68k/include/asm/bitops.h:63:50: note: in definition of macro
> 'set_bit'
> #define set_bit(nr, vaddr) (__builtin_constant_p(nr) ? \
> ^
>>> drivers/net/wireless/ath/ath10k/wmi.h:398:4: note: in expansion of
> macro '__set_bit'
> __set_bit(y, out); \
> ^
>>> drivers/net/wireless/ath/ath10k/wmi.h:456:2: note: in expansion of
> macro 'SVCMAP'
> SVCMAP(WMI_10X_SERVICE_MESH,
> ^
> drivers/net/wireless/ath/ath10k/wmi.h:457:9: note: each undeclared
> identifier is reported only once for each function it appears in
> WMI_SERVICE_MESH, len);
> ^
> arch/m68k/include/asm/bitops.h:63:50: note: in definition of macro
> 'set_bit'
> #define set_bit(nr, vaddr) (__builtin_constant_p(nr) ? \
> ^
>>> drivers/net/wireless/ath/ath10k/wmi.h:398:4: note: in expansion of
> macro '__set_bit'
> __set_bit(y, out); \
> ^
>>> drivers/net/wireless/ath/ath10k/wmi.h:456:2: note: in expansion of
> macro 'SVCMAP'
> SVCMAP(WMI_10X_SERVICE_MESH,
> ^
> drivers/net/wireless/ath/ath10k/wmi.h:459:9: error:
> 'WMI_SERVICE_EXT_RES_CFG_SUPPORT' undeclared (first use in this function)
> WMI_SERVICE_EXT_RES_CFG_SUPPORT, len);
> ^
> arch/m68k/include/asm/bitops.h:63:50: note: in definition of macro
> 'set_bit'
> #define set_bit(nr, vaddr) (__builtin_constant_p(nr) ? \
> ^
>>> drivers/net/wireless/ath/ath10k/wmi.h:398:4: note: in expansion of
> macro '__set_bit'
> __set_bit(y, out); \
> ^
> drivers/net/wireless/ath/ath10k/wmi.h:458:2: note: in expansion of
> macro 'SVCMAP'
> SVCMAP(WMI_10X_SERVICE_EXT_RES_CFG_SUPPORT,
> ^
>
> vim +/__set_bit +398 drivers/net/wireless/ath/ath10k/wmi.h
>
> 37b9f933 Michal Kazior 2014-11-27 392
> __le32_to_cpu((wmi_svc_bmap)[(svc_id)/(sizeof(u32))]) & \
> cff990ce Michal Kazior 2014-08-04 393
> BIT((svc_id)%(sizeof(u32))))
> cff990ce Michal Kazior 2014-08-04 394
> 37b9f933 Michal Kazior 2014-11-27 395 #define SVCMAP(x, y, len) \
> cff990ce Michal Kazior 2014-08-04 396 do { \
> 37b9f933 Michal Kazior 2014-11-27 397 if
> (WMI_SERVICE_IS_ENABLED((in), (x), (len))) \
> cff990ce Michal Kazior 2014-08-04 @398
> __set_bit(y, out); \
> cff990ce Michal Kazior 2014-08-04 399 } while (0)
> cff990ce Michal Kazior 2014-08-04 400
> 37b9f933 Michal Kazior 2014-11-27 401 static inline void
> wmi_10x_svc_map(const __le32 *in, unsigned long *out,
> 37b9f933 Michal Kazior 2014-11-27 402
> size_t len)
> cff990ce Michal Kazior 2014-08-04 403 {
> cff990ce Michal Kazior 2014-08-04 404
> SVCMAP(WMI_10X_SERVICE_BEACON_OFFLOAD,
> 37b9f933 Michal Kazior 2014-11-27 405
> WMI_SERVICE_BEACON_OFFLOAD, len);
> cff990ce Michal Kazior 2014-08-04 406
> SVCMAP(WMI_10X_SERVICE_SCAN_OFFLOAD,
> 37b9f933 Michal Kazior 2014-11-27 407
> WMI_SERVICE_SCAN_OFFLOAD, len);
> cff990ce Michal Kazior 2014-08-04 408
> SVCMAP(WMI_10X_SERVICE_ROAM_OFFLOAD,
> 37b9f933 Michal Kazior 2014-11-27 409
> WMI_SERVICE_ROAM_OFFLOAD, len);
> cff990ce Michal Kazior 2014-08-04 410
> SVCMAP(WMI_10X_SERVICE_BCN_MISS_OFFLOAD,
> 37b9f933 Michal Kazior 2014-11-27 411
> WMI_SERVICE_BCN_MISS_OFFLOAD, len);
> cff990ce Michal Kazior 2014-08-04 412
> SVCMAP(WMI_10X_SERVICE_STA_PWRSAVE,
> 37b9f933 Michal Kazior 2014-11-27 413
> WMI_SERVICE_STA_PWRSAVE, len);
> cff990ce Michal Kazior 2014-08-04 414
> SVCMAP(WMI_10X_SERVICE_STA_ADVANCED_PWRSAVE,
> 37b9f933 Michal Kazior 2014-11-27 415
> WMI_SERVICE_STA_ADVANCED_PWRSAVE, len);
> cff990ce Michal Kazior 2014-08-04 416
> SVCMAP(WMI_10X_SERVICE_AP_UAPSD,
> 37b9f933 Michal Kazior 2014-11-27 417
> WMI_SERVICE_AP_UAPSD, len);
> cff990ce Michal Kazior 2014-08-04 418
> SVCMAP(WMI_10X_SERVICE_AP_DFS,
> 37b9f933 Michal Kazior 2014-11-27 419 WMI_SERVICE_AP_DFS,
> len);
> cff990ce Michal Kazior 2014-08-04 420
> SVCMAP(WMI_10X_SERVICE_11AC,
> 37b9f933 Michal Kazior 2014-11-27 421 WMI_SERVICE_11AC,
> len);
> cff990ce Michal Kazior 2014-08-04 422
> SVCMAP(WMI_10X_SERVICE_BLOCKACK,
> 37b9f933 Michal Kazior 2014-11-27 423
> WMI_SERVICE_BLOCKACK, len);
> cff990ce Michal Kazior 2014-08-04 424
> SVCMAP(WMI_10X_SERVICE_PHYERR,
> 37b9f933 Michal Kazior 2014-11-27 425 WMI_SERVICE_PHYERR,
> len);
> cff990ce Michal Kazior 2014-08-04 426
> SVCMAP(WMI_10X_SERVICE_BCN_FILTER,
> 37b9f933 Michal Kazior 2014-11-27 427
> WMI_SERVICE_BCN_FILTER, len);
> cff990ce Michal Kazior 2014-08-04 428
> SVCMAP(WMI_10X_SERVICE_RTT,
> 37b9f933 Michal Kazior 2014-11-27 429 WMI_SERVICE_RTT,
> len);
> cff990ce Michal Kazior 2014-08-04 430
> SVCMAP(WMI_10X_SERVICE_RATECTRL,
> 37b9f933 Michal Kazior 2014-11-27 431
> WMI_SERVICE_RATECTRL, len);
> cff990ce Michal Kazior 2014-08-04 432
> SVCMAP(WMI_10X_SERVICE_WOW,
> 37b9f933 Michal Kazior 2014-11-27 433 WMI_SERVICE_WOW,
> len);
> cff990ce Michal Kazior 2014-08-04 434
> SVCMAP(WMI_10X_SERVICE_RATECTRL_CACHE,
> 37b9f933 Michal Kazior 2014-11-27 435
> WMI_SERVICE_RATECTRL_CACHE, len);
> cff990ce Michal Kazior 2014-08-04 436
> SVCMAP(WMI_10X_SERVICE_IRAM_TIDS,
> 37b9f933 Michal Kazior 2014-11-27 437
> WMI_SERVICE_IRAM_TIDS, len);
> cff990ce Michal Kazior 2014-08-04 438
> SVCMAP(WMI_10X_SERVICE_BURST,
> 37b9f933 Michal Kazior 2014-11-27 439 WMI_SERVICE_BURST,
> len);
> cff990ce Michal Kazior 2014-08-04 440
> SVCMAP(WMI_10X_SERVICE_SMART_ANTENNA_SW_SUPPORT,
> 37b9f933 Michal Kazior 2014-11-27 441
> WMI_SERVICE_SMART_ANTENNA_SW_SUPPORT, len);
> cff990ce Michal Kazior 2014-08-04 442
> SVCMAP(WMI_10X_SERVICE_FORCE_FW_HANG,
> 37b9f933 Michal Kazior 2014-11-27 443
> WMI_SERVICE_FORCE_FW_HANG, len);
> cff990ce Michal Kazior 2014-08-04 444
> SVCMAP(WMI_10X_SERVICE_SMART_ANTENNA_HW_SUPPORT,
> 37b9f933 Michal Kazior 2014-11-27 445
> WMI_SERVICE_SMART_ANTENNA_HW_SUPPORT, len);
> 52c22a63 Yanbo Li 2015-04-15 446
> SVCMAP(WMI_10X_SERVICE_ATF,
> 52c22a63 Yanbo Li 2015-04-15 447 WMI_SERVICE_ATF,
> len);
> de0c789b Yanbo Li 2015-04-15 448
> SVCMAP(WMI_10X_SERVICE_COEX_GPIO,
> de0c789b Yanbo Li 2015-04-15 449
> WMI_SERVICE_COEX_GPIO, len);
> 96a31b26 Peter Oh 2015-11-24 450
> SVCMAP(WMI_10X_SERVICE_AUX_SPECTRAL_INTF,
> 96a31b26 Peter Oh 2015-11-24 451
> WMI_SERVICE_AUX_SPECTRAL_INTF, len);
> 96a31b26 Peter Oh 2015-11-24 452
> SVCMAP(WMI_10X_SERVICE_AUX_CHAN_LOAD_INTF,
> 96a31b26 Peter Oh 2015-11-24 453
> WMI_SERVICE_AUX_CHAN_LOAD_INTF, len);
> 96a31b26 Peter Oh 2015-11-24 454
> SVCMAP(WMI_10X_SERVICE_BSS_CHANNEL_INFO_64,
> 96a31b26 Peter Oh 2015-11-24 455
> WMI_SERVICE_BSS_CHANNEL_INFO_64, len);
> 96a31b26 Peter Oh 2015-11-24 @456
> SVCMAP(WMI_10X_SERVICE_MESH,
> 96a31b26 Peter Oh 2015-11-24 @457 WMI_SERVICE_MESH,
> len);
> 96a31b26 Peter Oh 2015-11-24 458
> SVCMAP(WMI_10X_SERVICE_EXT_RES_CFG_SUPPORT,
> 96a31b26 Peter Oh 2015-11-24 459
> WMI_SERVICE_EXT_RES_CFG_SUPPORT, len);
> 5e3dd157 Kalle Valo 2013-06-12 460 }
>
> :::::: The code at line 398 was first introduced by commit
> :::::: cff990ce7ddd6a43f86757867399a8a64aa29af9 ath10k: fix wmi service
> bitmap debug
>
> :::::: TO: Michal Kazior <[email protected]>
> :::::: CC: Kalle Valo <[email protected]>
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology
> Center
> https://lists.01.org/pipermail/kbuild-all Intel
> Corporation


2015-11-24 21:19:47

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH 1/3] ath10k: update WMI 10.x service map

Hi Peter,

[auto build test WARNING on net-next/master]
[also build test WARNING on v4.4-rc2 next-20151124]

url: https://github.com/0day-ci/linux/commits/Peter-Oh/ath10k-introduce-Mesh-support-in-native-WiFi-mode-for-QCA988X/20151125-014059
config: m68k-allmodconfig (attached as .config)
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=m68k

All warnings (new ones prefixed by >>):

In file included from include/linux/bitops.h:36:0,
from include/linux/kernel.h:10,
from include/asm-generic/bug.h:13,
from arch/m68k/include/asm/bug.h:28,
from include/linux/bug.h:4,
from include/net/mac80211.h:18,
from drivers/net/wireless/ath/ath10k/mac.h:21,
from drivers/net/wireless/ath/ath10k/mac.c:18:
drivers/net/wireless/ath/ath10k/wmi.h: In function 'wmi_10x_svc_map':
drivers/net/wireless/ath/ath10k/wmi.h:457:9: error: 'WMI_SERVICE_MESH' undeclared (first use in this function)
WMI_SERVICE_MESH, len);
^
arch/m68k/include/asm/bitops.h:63:50: note: in definition of macro 'set_bit'
#define set_bit(nr, vaddr) (__builtin_constant_p(nr) ? \
^
>> drivers/net/wireless/ath/ath10k/wmi.h:398:4: note: in expansion of macro '__set_bit'
__set_bit(y, out); \
^
>> drivers/net/wireless/ath/ath10k/wmi.h:456:2: note: in expansion of macro 'SVCMAP'
SVCMAP(WMI_10X_SERVICE_MESH,
^
drivers/net/wireless/ath/ath10k/wmi.h:457:9: note: each undeclared identifier is reported only once for each function it appears in
WMI_SERVICE_MESH, len);
^
arch/m68k/include/asm/bitops.h:63:50: note: in definition of macro 'set_bit'
#define set_bit(nr, vaddr) (__builtin_constant_p(nr) ? \
^
>> drivers/net/wireless/ath/ath10k/wmi.h:398:4: note: in expansion of macro '__set_bit'
__set_bit(y, out); \
^
>> drivers/net/wireless/ath/ath10k/wmi.h:456:2: note: in expansion of macro 'SVCMAP'
SVCMAP(WMI_10X_SERVICE_MESH,
^
drivers/net/wireless/ath/ath10k/wmi.h:459:9: error: 'WMI_SERVICE_EXT_RES_CFG_SUPPORT' undeclared (first use in this function)
WMI_SERVICE_EXT_RES_CFG_SUPPORT, len);
^
arch/m68k/include/asm/bitops.h:63:50: note: in definition of macro 'set_bit'
#define set_bit(nr, vaddr) (__builtin_constant_p(nr) ? \
^
>> drivers/net/wireless/ath/ath10k/wmi.h:398:4: note: in expansion of macro '__set_bit'
__set_bit(y, out); \
^
drivers/net/wireless/ath/ath10k/wmi.h:458:2: note: in expansion of macro 'SVCMAP'
SVCMAP(WMI_10X_SERVICE_EXT_RES_CFG_SUPPORT,
^

vim +/__set_bit +398 drivers/net/wireless/ath/ath10k/wmi.h

37b9f933 Michal Kazior 2014-11-27 392 __le32_to_cpu((wmi_svc_bmap)[(svc_id)/(sizeof(u32))]) & \
cff990ce Michal Kazior 2014-08-04 393 BIT((svc_id)%(sizeof(u32))))
cff990ce Michal Kazior 2014-08-04 394
37b9f933 Michal Kazior 2014-11-27 395 #define SVCMAP(x, y, len) \
cff990ce Michal Kazior 2014-08-04 396 do { \
37b9f933 Michal Kazior 2014-11-27 397 if (WMI_SERVICE_IS_ENABLED((in), (x), (len))) \
cff990ce Michal Kazior 2014-08-04 @398 __set_bit(y, out); \
cff990ce Michal Kazior 2014-08-04 399 } while (0)
cff990ce Michal Kazior 2014-08-04 400
37b9f933 Michal Kazior 2014-11-27 401 static inline void wmi_10x_svc_map(const __le32 *in, unsigned long *out,
37b9f933 Michal Kazior 2014-11-27 402 size_t len)
cff990ce Michal Kazior 2014-08-04 403 {
cff990ce Michal Kazior 2014-08-04 404 SVCMAP(WMI_10X_SERVICE_BEACON_OFFLOAD,
37b9f933 Michal Kazior 2014-11-27 405 WMI_SERVICE_BEACON_OFFLOAD, len);
cff990ce Michal Kazior 2014-08-04 406 SVCMAP(WMI_10X_SERVICE_SCAN_OFFLOAD,
37b9f933 Michal Kazior 2014-11-27 407 WMI_SERVICE_SCAN_OFFLOAD, len);
cff990ce Michal Kazior 2014-08-04 408 SVCMAP(WMI_10X_SERVICE_ROAM_OFFLOAD,
37b9f933 Michal Kazior 2014-11-27 409 WMI_SERVICE_ROAM_OFFLOAD, len);
cff990ce Michal Kazior 2014-08-04 410 SVCMAP(WMI_10X_SERVICE_BCN_MISS_OFFLOAD,
37b9f933 Michal Kazior 2014-11-27 411 WMI_SERVICE_BCN_MISS_OFFLOAD, len);
cff990ce Michal Kazior 2014-08-04 412 SVCMAP(WMI_10X_SERVICE_STA_PWRSAVE,
37b9f933 Michal Kazior 2014-11-27 413 WMI_SERVICE_STA_PWRSAVE, len);
cff990ce Michal Kazior 2014-08-04 414 SVCMAP(WMI_10X_SERVICE_STA_ADVANCED_PWRSAVE,
37b9f933 Michal Kazior 2014-11-27 415 WMI_SERVICE_STA_ADVANCED_PWRSAVE, len);
cff990ce Michal Kazior 2014-08-04 416 SVCMAP(WMI_10X_SERVICE_AP_UAPSD,
37b9f933 Michal Kazior 2014-11-27 417 WMI_SERVICE_AP_UAPSD, len);
cff990ce Michal Kazior 2014-08-04 418 SVCMAP(WMI_10X_SERVICE_AP_DFS,
37b9f933 Michal Kazior 2014-11-27 419 WMI_SERVICE_AP_DFS, len);
cff990ce Michal Kazior 2014-08-04 420 SVCMAP(WMI_10X_SERVICE_11AC,
37b9f933 Michal Kazior 2014-11-27 421 WMI_SERVICE_11AC, len);
cff990ce Michal Kazior 2014-08-04 422 SVCMAP(WMI_10X_SERVICE_BLOCKACK,
37b9f933 Michal Kazior 2014-11-27 423 WMI_SERVICE_BLOCKACK, len);
cff990ce Michal Kazior 2014-08-04 424 SVCMAP(WMI_10X_SERVICE_PHYERR,
37b9f933 Michal Kazior 2014-11-27 425 WMI_SERVICE_PHYERR, len);
cff990ce Michal Kazior 2014-08-04 426 SVCMAP(WMI_10X_SERVICE_BCN_FILTER,
37b9f933 Michal Kazior 2014-11-27 427 WMI_SERVICE_BCN_FILTER, len);
cff990ce Michal Kazior 2014-08-04 428 SVCMAP(WMI_10X_SERVICE_RTT,
37b9f933 Michal Kazior 2014-11-27 429 WMI_SERVICE_RTT, len);
cff990ce Michal Kazior 2014-08-04 430 SVCMAP(WMI_10X_SERVICE_RATECTRL,
37b9f933 Michal Kazior 2014-11-27 431 WMI_SERVICE_RATECTRL, len);
cff990ce Michal Kazior 2014-08-04 432 SVCMAP(WMI_10X_SERVICE_WOW,
37b9f933 Michal Kazior 2014-11-27 433 WMI_SERVICE_WOW, len);
cff990ce Michal Kazior 2014-08-04 434 SVCMAP(WMI_10X_SERVICE_RATECTRL_CACHE,
37b9f933 Michal Kazior 2014-11-27 435 WMI_SERVICE_RATECTRL_CACHE, len);
cff990ce Michal Kazior 2014-08-04 436 SVCMAP(WMI_10X_SERVICE_IRAM_TIDS,
37b9f933 Michal Kazior 2014-11-27 437 WMI_SERVICE_IRAM_TIDS, len);
cff990ce Michal Kazior 2014-08-04 438 SVCMAP(WMI_10X_SERVICE_BURST,
37b9f933 Michal Kazior 2014-11-27 439 WMI_SERVICE_BURST, len);
cff990ce Michal Kazior 2014-08-04 440 SVCMAP(WMI_10X_SERVICE_SMART_ANTENNA_SW_SUPPORT,
37b9f933 Michal Kazior 2014-11-27 441 WMI_SERVICE_SMART_ANTENNA_SW_SUPPORT, len);
cff990ce Michal Kazior 2014-08-04 442 SVCMAP(WMI_10X_SERVICE_FORCE_FW_HANG,
37b9f933 Michal Kazior 2014-11-27 443 WMI_SERVICE_FORCE_FW_HANG, len);
cff990ce Michal Kazior 2014-08-04 444 SVCMAP(WMI_10X_SERVICE_SMART_ANTENNA_HW_SUPPORT,
37b9f933 Michal Kazior 2014-11-27 445 WMI_SERVICE_SMART_ANTENNA_HW_SUPPORT, len);
52c22a63 Yanbo Li 2015-04-15 446 SVCMAP(WMI_10X_SERVICE_ATF,
52c22a63 Yanbo Li 2015-04-15 447 WMI_SERVICE_ATF, len);
de0c789b Yanbo Li 2015-04-15 448 SVCMAP(WMI_10X_SERVICE_COEX_GPIO,
de0c789b Yanbo Li 2015-04-15 449 WMI_SERVICE_COEX_GPIO, len);
96a31b26 Peter Oh 2015-11-24 450 SVCMAP(WMI_10X_SERVICE_AUX_SPECTRAL_INTF,
96a31b26 Peter Oh 2015-11-24 451 WMI_SERVICE_AUX_SPECTRAL_INTF, len);
96a31b26 Peter Oh 2015-11-24 452 SVCMAP(WMI_10X_SERVICE_AUX_CHAN_LOAD_INTF,
96a31b26 Peter Oh 2015-11-24 453 WMI_SERVICE_AUX_CHAN_LOAD_INTF, len);
96a31b26 Peter Oh 2015-11-24 454 SVCMAP(WMI_10X_SERVICE_BSS_CHANNEL_INFO_64,
96a31b26 Peter Oh 2015-11-24 455 WMI_SERVICE_BSS_CHANNEL_INFO_64, len);
96a31b26 Peter Oh 2015-11-24 @456 SVCMAP(WMI_10X_SERVICE_MESH,
96a31b26 Peter Oh 2015-11-24 @457 WMI_SERVICE_MESH, len);
96a31b26 Peter Oh 2015-11-24 458 SVCMAP(WMI_10X_SERVICE_EXT_RES_CFG_SUPPORT,
96a31b26 Peter Oh 2015-11-24 459 WMI_SERVICE_EXT_RES_CFG_SUPPORT, len);
5e3dd157 Kalle Valo 2013-06-12 460 }

:::::: The code at line 398 was first introduced by commit
:::::: cff990ce7ddd6a43f86757867399a8a64aa29af9 ath10k: fix wmi service bitmap debug

:::::: TO: Michal Kazior <[email protected]>
:::::: CC: Kalle Valo <[email protected]>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation


Attachments:
(No filename) (8.49 kB)
.config.gz (34.07 kB)
Download all attachments

2015-11-24 17:39:15

by Peter Oh

[permalink] [raw]
Subject: [PATCH 2/3] ath10k: introduce new subtypes for proxy STA and Mesh

QCA988X firmware starting from 10.2.4.70.12-2 supports new
vdev subtypes for proxy STA and Mesh, hence add them to be used
as needed.

Signed-off-by: Peter Oh <[email protected]>
---
drivers/net/wireless/ath/ath10k/wmi.h | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/net/wireless/ath/ath10k/wmi.h b/drivers/net/wireless/ath/ath10k/wmi.h
index 0747055..d85ad78 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.h
+++ b/drivers/net/wireless/ath/ath10k/wmi.h
@@ -4274,6 +4274,8 @@ enum wmi_vdev_subtype {
WMI_VDEV_SUBTYPE_P2P_DEVICE = 1,
WMI_VDEV_SUBTYPE_P2P_CLIENT = 2,
WMI_VDEV_SUBTYPE_P2P_GO = 3,
+ WMI_VDEV_SUBTYPE_PROXY_STA = 4,
+ WMI_VDEV_SUBTYPE_MESH = 5,
};

/* values for vdev_subtype */
--
1.9.1