|
@@ -8499,6 +8499,8 @@ const struct nla_policy wlan_hdd_wifi_config_policy[
|
|
|
[QCA_WLAN_VENDOR_ATTR_CONFIG_PEER_AMPDU_CNT] = {.type = NLA_U16},
|
|
|
[QCA_WLAN_VENDOR_ATTR_CONFIG_TTLM_NEGOTIATION_SUPPORT] = {
|
|
|
.type = NLA_U8},
|
|
|
+ [QCA_WLAN_VENDOR_ATTR_CONFIG_COEX_TRAFFIC_SHAPING_MODE] = {
|
|
|
+ .type = NLA_U8},
|
|
|
};
|
|
|
|
|
|
#define WLAN_MAX_LINK_ID 15
|
|
@@ -11489,6 +11491,42 @@ static int hdd_set_ul_mu_config(struct wlan_hdd_link_info *link_info,
|
|
|
return errno;
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * hdd_set_coex_traffic_shaping_mode() - Configure coex traffic
|
|
|
+ * shaping mode
|
|
|
+ * @link_info: Link info pointer in HDD adapter
|
|
|
+ * @attr: pointer to nla attr
|
|
|
+ *
|
|
|
+ * Return: 0 on success, negative on failure
|
|
|
+ */
|
|
|
+
|
|
|
+static int
|
|
|
+hdd_set_coex_traffic_shaping_mode(struct wlan_hdd_link_info *link_info,
|
|
|
+ const struct nlattr *attr)
|
|
|
+{
|
|
|
+ uint8_t mode;
|
|
|
+ struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(link_info->adapter);
|
|
|
+ int errno, ret;
|
|
|
+
|
|
|
+ errno = wlan_hdd_validate_context(hdd_ctx);
|
|
|
+ if (errno) {
|
|
|
+ hdd_err("Invalid HDD ctx, errno : %d", errno);
|
|
|
+ return errno;
|
|
|
+ }
|
|
|
+
|
|
|
+ mode = nla_get_u8(attr);
|
|
|
+ if (mode > QCA_COEX_TRAFFIC_SHAPING_MODE_ENABLE) {
|
|
|
+ hdd_err("Invalid traffic shaping mode : %d", mode);
|
|
|
+ return -EINVAL;
|
|
|
+ }
|
|
|
+
|
|
|
+ hdd_debug("Coex Traffic shaping mode : %d", mode);
|
|
|
+
|
|
|
+ ret = hdd_send_coex_traffic_shaping_mode(link_info->vdev_id, mode);
|
|
|
+
|
|
|
+ return ret;
|
|
|
+}
|
|
|
+
|
|
|
#ifdef WLAN_FEATURE_11BE_MLO
|
|
|
static int hdd_test_config_emlsr_mode(struct hdd_context *hdd_ctx,
|
|
|
bool cfg_val)
|
|
@@ -12113,6 +12151,8 @@ static const struct independent_setters independent_setters[] = {
|
|
|
hdd_set_master_channel_list},
|
|
|
{QCA_WLAN_VENDOR_ATTR_CONFIG_TTLM_NEGOTIATION_SUPPORT,
|
|
|
hdd_set_t2lm_negotiation_support},
|
|
|
+ {QCA_WLAN_VENDOR_ATTR_CONFIG_COEX_TRAFFIC_SHAPING_MODE,
|
|
|
+ hdd_set_coex_traffic_shaping_mode},
|
|
|
};
|
|
|
|
|
|
#ifdef WLAN_FEATURE_ELNA
|