Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f0a4a745 authored by Surabhi Vishnoi's avatar Surabhi Vishnoi Committed by Balaji Pothunoori
Browse files

UPSTREAM: ath10k: Add wmi tlv vdev subtype for mesh in WCN3990



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: default avatarSurabhi Vishnoi <svishnoi@codeaurora.org>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Change-Id: Iea5367f7664399c178b5749f7f9f46d7730ee781
Git-commit: a7368c395fc3ebd544cf6ceaca715adb4e85eff1
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git


Signed-off-by: default avatarBalaji Pothunoori <bpothuno@codeaurora.org>
parent 8ade5805
Loading
Loading
Loading
Loading
+23 −1
Original line number Diff line number Diff line
@@ -1704,6 +1704,28 @@ ath10k_wmi_tlv_op_gen_stop_scan(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,
@@ -3826,7 +3848,7 @@ static const struct wmi_ops wmi_tlv_ops = {
	.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,
+10 −0
Original line number Diff line number Diff line
@@ -1721,6 +1721,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;