qcacmn: Add TLV implementations for WIN specific WMI CMDs
Converged FW has few left-over WIN specfic WMI CMDs that need to be
implemented in TLV method.
WMI CMDs implemented through this change -
WMI_PDEV_SMART_ANT_ENABLE_CMDID
WMI_PDEV_SMART_ANT_SET_RX_ANTENNA_CMDID
WMI_PDEV_SET_CTL_TABLE_CMDID
WMI_PDEV_SET_MIMOGAIN_TABLE_CMDID
WMI_PDEV_GET_TPC_CMDID
WMI_VDEV_RATEMASK_CMDID
WMI_VDEV_SET_DSCP_TID_MAP_CMDID
WMI_VDEV_FILTER_NEIGHBOR_RX_PACKETS_CMDID
WMI_PEER_UPDATE_WDS_ENTRY_CMDID
WMI_PEER_SMART_ANT_SET_TX_ANTENNA_CMDID
Change-Id: I6e59bcb948a7368729df35d19c3d5a03a0075a15
CRs-Fixed: 1115239
diff --git a/wmi_unified_param.h b/wmi_unified_param.h
index d1de13c..7918d63 100644
--- a/wmi_unified_param.h
+++ b/wmi_unified_param.h
@@ -127,6 +127,9 @@
#define FIPS_IS_ALIGNED(__addr, __to) \
(!(((unsigned long int)(__addr)) & ((__to)-1)))
+#define WMI_HOST_MAX_SERIAL_ANTENNA 2
+#define WMI_SMART_ANT_MAX_RATE_SERIES 2
+
#define WMI_HOST_F_MS(_v, _f) \
(((_v) & (_f)) >> (_f##_S))
@@ -219,6 +222,40 @@
#define WMI_HOST_PDEV_MAX_VDEVS 17
+/* for QC98XX only */
+/*6 modes (A, HT20, HT40, VHT20, VHT40, VHT80) * 3 reg dommains
+ */
+#define WMI_HOST_NUM_CTLS_5G 18
+/*6 modes (B, G, HT20, HT40, VHT20, VHT40) * 3 reg domains */
+#define WMI_HOST_NUM_CTLS_2G 18
+#define WMI_HOST_NUM_BAND_EDGES_5G 8
+#define WMI_HOST_NUM_BAND_EDGES_2G 4
+
+/*Beelinier 5G*/
+#define WMI_HOST_NUM_CTLS_5G_11A 9
+#define WMI_HOST_NUM_BAND_EDGES_5G_11A 25
+#define WMI_HOST_NUM_CTLS_5G_HT20 24
+#define WMI_HOST_NUM_BAND_EDGES_5G_HT20 25
+#define WMI_HOST_NUM_CTLS_5G_HT40 18
+#define WMI_HOST_NUM_BAND_EDGES_5G_HT40 12
+#define WMI_HOST_NUM_CTLS_5G_HT80 18
+#define WMI_HOST_NUM_BAND_EDGES_5G_HT80 6
+#define WMI_HOST_NUM_CTLS_5G_HT160 9
+#define WMI_HOST_NUM_BAND_EDGES_5G_HT160 2
+
+/* Beeliner 2G */
+#define WMI_HOST_NUM_CTLS_2G_11B 6
+#define WMI_HOST_NUM_BAND_EDGES_2G_11B 9
+#define WMI_HOST_NUM_CTLS_2G_20MHZ 30
+#define WMI_HOST_NUM_BAND_EDGES_2G_20MHZ 11
+#define WMI_HOST_NUM_CTLS_2G_40MHZ 18
+#define WMI_HOST_NUM_BAND_EDGES_2G_40MHZ 6
+
+/* for QC98XX only */
+#define WMI_HOST_TX_NUM_CHAIN 0x3
+#define WMI_HOST_TPC_REGINDEX_MAX 4
+#define WMI_HOST_ARRAY_GAIN_NUM_STREAMS 2
+
#include "qdf_atomic.h"
#ifdef BIG_ENDIAN_HOST
@@ -3543,6 +3580,7 @@
uint8_t *wds_macaddr;
uint8_t *peer_macaddr;
uint32_t flags;
+ uint32_t vdev_id;
};
/**
@@ -3597,6 +3635,7 @@
uint32_t rx_antenna;
uint32_t gpio_pin[WMI_HAL_MAX_SANTENNA];
uint32_t gpio_func[WMI_HAL_MAX_SANTENNA];
+ uint32_t pdev_id;
};
/**
@@ -3605,6 +3644,7 @@
*/
struct smart_ant_rx_ant_params {
uint32_t antenna;
+ uint32_t pdev_id;
};
/**
@@ -4069,6 +4109,7 @@
uint32_t target_type;
bool is_2g;
uint32_t ctl_band;
+ uint32_t pdev_id;
};
/**
@@ -4081,6 +4122,7 @@
uint8_t *array_gain;
uint16_t tbl_len;
bool multichain_gain_bypass;
+ uint32_t pdev_id;
};
/**
@@ -4207,6 +4249,7 @@
uint16_t nss;
uint16_t preamble;
uint16_t hw_rate;
+ uint32_t pdev_id;
};
/**