* [PATCH 0/3] Add support for MESH 11S for WCN3990
@ 2019-04-17 8:31 Surabhi Vishnoi
2019-04-17 8:31 ` [PATCH 1/3] ath10k: Add wmi tlv vdev subtype for mesh in WCN3990 Surabhi Vishnoi
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Surabhi Vishnoi @ 2019-04-17 8:31 UTC (permalink / raw)
To: ath10k; +Cc: linux-wireless, Surabhi Vishnoi
Currently, mesh 11s is not supported for WCN3990.
This patchset add the changes to enable the mesh for WCN3990.
Surabhi Vishnoi (3):
ath10k: Add wmi tlv vdev subtype for mesh in WCN3990
ath10k: Do not send probe response template for mesh
ath10k: Add wmi tlv service map for mesh 11s
drivers/net/wireless/ath/ath10k/mac.c | 4 ++++
drivers/net/wireless/ath/ath10k/wmi-tlv.c | 24 +++++++++++++++++++++++-
drivers/net/wireless/ath/ath10k/wmi-tlv.h | 12 ++++++++++++
3 files changed, 39 insertions(+), 1 deletion(-)
--
1.9.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/3] ath10k: Add wmi tlv vdev subtype for mesh in WCN3990
2019-04-17 8:31 [PATCH 0/3] Add support for MESH 11S for WCN3990 Surabhi Vishnoi
@ 2019-04-17 8:31 ` Surabhi Vishnoi
2019-05-07 14:02 ` Kalle Valo
2019-04-17 8:31 ` [PATCH 2/3] ath10k: Do not send probe response template for mesh Surabhi Vishnoi
2019-04-17 8:31 ` [PATCH 3/3] ath10k: Add wmi tlv service map for mesh 11s Surabhi Vishnoi
2 siblings, 1 reply; 5+ messages in thread
From: Surabhi Vishnoi @ 2019-04-17 8:31 UTC (permalink / raw)
To: ath10k; +Cc: linux-wireless, Surabhi Vishnoi
There is a disparity in wmi and wmi tlv vdev subtype
enum for WMI_VDEV_SUBTYPE_MESH_11S.
Add different enum for wmi tlv vdev subtype to support
vdev of subtype mesh 11s for WCN3990.
Tested HW: WCN3990
Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org>
---
drivers/net/wireless/ath/ath10k/wmi-tlv.c | 24 +++++++++++++++++++++++-
drivers/net/wireless/ath/ath10k/wmi-tlv.h | 10 ++++++++++
2 files changed, 33 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath10k/wmi-tlv.c b/drivers/net/wireless/ath/ath10k/wmi-tlv.c
index 582fb11..a19f7e2 100644
--- a/drivers/net/wireless/ath/ath10k/wmi-tlv.c
+++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.c
@@ -1905,6 +1905,28 @@ static struct sk_buff *ath10k_wmi_tlv_op_gen_init(struct ath10k *ar)
return skb;
}
+static int ath10k_wmi_tlv_op_get_vdev_subtype(struct ath10k *ar,
+ enum wmi_vdev_subtype subtype)
+{
+ switch (subtype) {
+ case WMI_VDEV_SUBTYPE_NONE:
+ return WMI_TLV_VDEV_SUBTYPE_NONE;
+ case WMI_VDEV_SUBTYPE_P2P_DEVICE:
+ return WMI_TLV_VDEV_SUBTYPE_P2P_DEV;
+ case WMI_VDEV_SUBTYPE_P2P_CLIENT:
+ return WMI_TLV_VDEV_SUBTYPE_P2P_CLI;
+ case WMI_VDEV_SUBTYPE_P2P_GO:
+ return WMI_TLV_VDEV_SUBTYPE_P2P_GO;
+ case WMI_VDEV_SUBTYPE_PROXY_STA:
+ return WMI_TLV_VDEV_SUBTYPE_PROXY_STA;
+ case WMI_VDEV_SUBTYPE_MESH_11S:
+ return WMI_TLV_VDEV_SUBTYPE_MESH_11S;
+ case WMI_VDEV_SUBTYPE_MESH_NON_11S:
+ return -ENOTSUPP;
+ }
+ return -ENOTSUPP;
+}
+
static struct sk_buff *
ath10k_wmi_tlv_op_gen_vdev_create(struct ath10k *ar,
u32 vdev_id,
@@ -4305,7 +4327,7 @@ static struct sk_buff *ath10k_wmi_tlv_op_gen_config_pno_stop(struct ath10k *ar,
.gen_tdls_peer_update = ath10k_wmi_tlv_op_gen_tdls_peer_update,
.gen_adaptive_qcs = ath10k_wmi_tlv_op_gen_adaptive_qcs,
.fw_stats_fill = ath10k_wmi_main_op_fw_stats_fill,
- .get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
+ .get_vdev_subtype = ath10k_wmi_tlv_op_get_vdev_subtype,
.gen_echo = ath10k_wmi_tlv_op_gen_echo,
.gen_vdev_spectral_conf = ath10k_wmi_tlv_op_gen_vdev_spectral_conf,
.gen_vdev_spectral_enable = ath10k_wmi_tlv_op_gen_vdev_spectral_enable,
diff --git a/drivers/net/wireless/ath/ath10k/wmi-tlv.h b/drivers/net/wireless/ath/ath10k/wmi-tlv.h
index 65e6aa5..55da01f 100644
--- a/drivers/net/wireless/ath/ath10k/wmi-tlv.h
+++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.h
@@ -1775,6 +1775,16 @@ struct wmi_tlv_start_scan_cmd {
struct wmi_mac_addr mac_mask;
} __packed;
+enum wmi_tlv_vdev_subtype {
+ WMI_TLV_VDEV_SUBTYPE_NONE = 0,
+ WMI_TLV_VDEV_SUBTYPE_P2P_DEV = 1,
+ WMI_TLV_VDEV_SUBTYPE_P2P_CLI = 2,
+ WMI_TLV_VDEV_SUBTYPE_P2P_GO = 3,
+ WMI_TLV_VDEV_SUBTYPE_PROXY_STA = 4,
+ WMI_TLV_VDEV_SUBTYPE_MESH = 5,
+ WMI_TLV_VDEV_SUBTYPE_MESH_11S = 6,
+};
+
struct wmi_tlv_vdev_start_cmd {
__le32 vdev_id;
__le32 requestor_id;
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/3] ath10k: Do not send probe response template for mesh
2019-04-17 8:31 [PATCH 0/3] Add support for MESH 11S for WCN3990 Surabhi Vishnoi
2019-04-17 8:31 ` [PATCH 1/3] ath10k: Add wmi tlv vdev subtype for mesh in WCN3990 Surabhi Vishnoi
@ 2019-04-17 8:31 ` Surabhi Vishnoi
2019-04-17 8:31 ` [PATCH 3/3] ath10k: Add wmi tlv service map for mesh 11s Surabhi Vishnoi
2 siblings, 0 replies; 5+ messages in thread
From: Surabhi Vishnoi @ 2019-04-17 8:31 UTC (permalink / raw)
To: ath10k; +Cc: linux-wireless, Surabhi Vishnoi
Currently mac80211 do not support probe response template for
mesh point. When WMI_SERVICE_BEACON_OFFLOAD is enabled, host
driver tries to configure probe response template for mesh, but
it fails because the interface type is not NL80211_IFTYPE_AP but
NL80211_IFTYPE_MESH_POINT.
To avoid this failure, skip sending probe response template to
firmware for mesh point.
Tested HW: WCN3990/QCA6174/QCA9984
Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org>
---
drivers/net/wireless/ath/ath10k/mac.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index b73c23d..3eceb67 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -1630,6 +1630,10 @@ static int ath10k_mac_setup_prb_tmpl(struct ath10k_vif *arvif)
if (arvif->vdev_type != WMI_VDEV_TYPE_AP)
return 0;
+ /* For mesh, probe response and beacon share the same template */
+ if (ieee80211_vif_is_mesh(vif))
+ return 0;
+
prb = ieee80211_proberesp_get(hw, vif);
if (!prb) {
ath10k_warn(ar, "failed to get probe resp template from mac80211\n");
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] ath10k: Add wmi tlv service map for mesh 11s
2019-04-17 8:31 [PATCH 0/3] Add support for MESH 11S for WCN3990 Surabhi Vishnoi
2019-04-17 8:31 ` [PATCH 1/3] ath10k: Add wmi tlv vdev subtype for mesh in WCN3990 Surabhi Vishnoi
2019-04-17 8:31 ` [PATCH 2/3] ath10k: Do not send probe response template for mesh Surabhi Vishnoi
@ 2019-04-17 8:31 ` Surabhi Vishnoi
2 siblings, 0 replies; 5+ messages in thread
From: Surabhi Vishnoi @ 2019-04-17 8:31 UTC (permalink / raw)
To: ath10k; +Cc: linux-wireless, Surabhi Vishnoi
WCN3990 firmware advertises the service WMI_TLV_SERVICE_MESH_11S
for mesh 11s. Map this wmi tlv service to enable mesh 11s
for WCN3990.
Tested HW: WCN3990
Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org>
---
drivers/net/wireless/ath/ath10k/wmi-tlv.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/wireless/ath/ath10k/wmi-tlv.h b/drivers/net/wireless/ath/ath10k/wmi-tlv.h
index 55da01f..bc3198b 100644
--- a/drivers/net/wireless/ath/ath10k/wmi-tlv.h
+++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.h
@@ -1567,6 +1567,8 @@ enum wmi_tlv_service {
WMI_SERVICE_SAP_AUTH_OFFLOAD, len);
SVCMAP(WMI_TLV_SERVICE_MGMT_TX_WMI,
WMI_SERVICE_MGMT_TX_WMI, len);
+ SVCMAP(WMI_TLV_SERVICE_MESH_11S,
+ WMI_SERVICE_MESH_11S, len);
}
static inline void
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/3] ath10k: Add wmi tlv vdev subtype for mesh in WCN3990
2019-04-17 8:31 ` [PATCH 1/3] ath10k: Add wmi tlv vdev subtype for mesh in WCN3990 Surabhi Vishnoi
@ 2019-05-07 14:02 ` Kalle Valo
0 siblings, 0 replies; 5+ messages in thread
From: Kalle Valo @ 2019-05-07 14:02 UTC (permalink / raw)
To: Surabhi Vishnoi; +Cc: ath10k, linux-wireless, Surabhi Vishnoi
Surabhi Vishnoi <svishnoi@codeaurora.org> wrote:
> There is a disparity in wmi and wmi tlv vdev subtype
> enum for WMI_VDEV_SUBTYPE_MESH_11S.
>
> Add different enum for wmi tlv vdev subtype to support
> vdev of subtype mesh 11s for WCN3990.
>
> Tested HW: WCN3990
>
> Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org>
> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
3 patches applied to ath-next branch of ath.git, thanks.
a7368c395fc3 ath10k: Add wmi tlv vdev subtype for mesh in WCN3990
97354f2c4327 ath10k: Do not send probe response template for mesh
7835d8f8792d ath10k: Add wmi tlv service map for mesh 11s
--
https://patchwork.kernel.org/patch/10904959/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-05-07 14:02 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-17 8:31 [PATCH 0/3] Add support for MESH 11S for WCN3990 Surabhi Vishnoi
2019-04-17 8:31 ` [PATCH 1/3] ath10k: Add wmi tlv vdev subtype for mesh in WCN3990 Surabhi Vishnoi
2019-05-07 14:02 ` Kalle Valo
2019-04-17 8:31 ` [PATCH 2/3] ath10k: Do not send probe response template for mesh Surabhi Vishnoi
2019-04-17 8:31 ` [PATCH 3/3] ath10k: Add wmi tlv service map for mesh 11s Surabhi Vishnoi
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).