qcacmn: CTL changes for Beeliner family

For Beeliner family of chipsets, the number of values expected is 688
for 2G and 1540 for 5G

Change-Id: I2c47ed98f639c09453687fce7f713946304a7036
CRs-fixed: 1071083
This commit is contained in:
Nandha Kishore Easwaran
2016-10-14 15:22:05 +05:30
committed by qcabuildsw
parent 82ea32676c
commit 9b7f47eac5

View File

@@ -3709,6 +3709,27 @@ send_set_ctl_table_cmd_non_tlv(wmi_unified_t wmi_handle,
#define WHAL_NUM_CTLS_2G 18
#define WHAL_NUM_BAND_EDGES_5G 8
#define WHAL_NUM_BAND_EDGES_2G 4
/*Beelinier 5G*/
#define WHAL_NUM_CTLS_5G_11A 9
#define WHAL_NUM_BAND_EDGES_5G_11A 25
#define WHAL_NUM_CTLS_5G_HT20 24
#define WHAL_NUM_BAND_EDGES_5G_HT20 25
#define WHAL_NUM_CTLS_5G_HT40 18
#define WHAL_NUM_BAND_EDGES_5G_HT40 12
#define WHAL_NUM_CTLS_5G_HT80 18
#define WHAL_NUM_BAND_EDGES_5G_HT80 6
#define WHAL_NUM_CTLS_5G_HT160 9
#define WHAL_NUM_BAND_EDGES_5G_HT160 2
/* Beeliner 2G */
#define WHAL_NUM_CTLS_2G_11B 6
#define WHAL_NUM_BAND_EDGES_2G_11B 9
#define WHAL_NUM_CTLS_2G_20MHZ 30
#define WHAL_NUM_BAND_EDGES_2G_20MHZ 11
#define WHAL_NUM_CTLS_2G_40MHZ 18
#define WHAL_NUM_BAND_EDGES_2G_40MHZ 6
uint16_t len;
wmi_buf_t buf;
wmi_pdev_set_ctl_table_cmd *cmd;
@@ -3716,11 +3737,63 @@ send_set_ctl_table_cmd_non_tlv(wmi_unified_t wmi_handle,
if (!param->ctl_array)
return QDF_STATUS_E_FAILURE;
if (!param->is_acfg_ctl && param->ctl_len !=
WHAL_NUM_CTLS_2G * WHAL_NUM_BAND_EDGES_2G * 2 +
WHAL_NUM_CTLS_5G * WHAL_NUM_BAND_EDGES_5G * 2) {
qdf_print("CTL array len not correct\n");
return QDF_STATUS_E_FAILURE;
/* CTL array length check for Beeliner family */
if (param->target_type == TARGET_TYPE_AR900B ||
param->target_type == TARGET_TYPE_QCA9984 ||
param->target_type == TARGET_TYPE_IPQ4019 ||
param->target_type == TARGET_TYPE_QCA9888) {
if (param->is_2g) {
/* For 2G, CTL array length should be 688*/
if (!param->is_acfg_ctl && param->ctl_len !=
(4 + (WHAL_NUM_CTLS_2G_11B * 2) +
(WHAL_NUM_BAND_EDGES_2G_11B * 3) +
1 + (WHAL_NUM_CTLS_2G_11B *
WHAL_NUM_BAND_EDGES_2G_11B) +
(WHAL_NUM_CTLS_2G_20MHZ * 2) +
(WHAL_NUM_BAND_EDGES_2G_20MHZ * 3) +
1 + (WHAL_NUM_CTLS_2G_20MHZ *
WHAL_NUM_BAND_EDGES_2G_20MHZ) +
(WHAL_NUM_CTLS_2G_40MHZ * 2) +
(WHAL_NUM_BAND_EDGES_2G_40MHZ * 3) +
(WHAL_NUM_CTLS_2G_40MHZ *
WHAL_NUM_BAND_EDGES_2G_40MHZ) + 4)) {
qdf_print("CTL array len not correct\n");
return QDF_STATUS_E_FAILURE;
}
} else {
/* For 5G, CTL array length should be 1540 */
if (!param->is_acfg_ctl && param->ctl_len !=
(4 + (WHAL_NUM_CTLS_5G_11A * 2) +
(WHAL_NUM_BAND_EDGES_5G_11A * 3) +
1 + (WHAL_NUM_CTLS_5G_11A *
WHAL_NUM_BAND_EDGES_5G_11A) + 1
+ (WHAL_NUM_CTLS_5G_HT20 * 2) +
(WHAL_NUM_BAND_EDGES_5G_HT20 * 3) +
1 + (WHAL_NUM_CTLS_5G_HT20 *
WHAL_NUM_BAND_EDGES_5G_HT20) +
(WHAL_NUM_CTLS_5G_HT40 * 2) +
(WHAL_NUM_BAND_EDGES_5G_HT40 * 3) +
(WHAL_NUM_CTLS_5G_HT40 *
WHAL_NUM_BAND_EDGES_5G_HT40) +
(WHAL_NUM_CTLS_5G_HT80 * 2) +
(WHAL_NUM_BAND_EDGES_5G_HT80 * 3) +
(WHAL_NUM_CTLS_5G_HT80 *
WHAL_NUM_BAND_EDGES_5G_HT80) +
(WHAL_NUM_CTLS_5G_HT160 * 2) +
(WHAL_NUM_BAND_EDGES_5G_HT160 * 3) +
(WHAL_NUM_CTLS_5G_HT160 *
WHAL_NUM_BAND_EDGES_5G_HT160))) {
qdf_print("CTL array len not correct\n");
return QDF_STATUS_E_FAILURE;
}
}
} else {
if (!param->is_acfg_ctl && param->ctl_len !=
WHAL_NUM_CTLS_2G * WHAL_NUM_BAND_EDGES_2G * 2 +
WHAL_NUM_CTLS_5G * WHAL_NUM_BAND_EDGES_5G * 2) {
qdf_print("CTL array len not correct\n");
return QDF_STATUS_E_FAILURE;
}
}
len = sizeof(wmi_pdev_set_ctl_table_cmd);