From cc9d503469044c3181e7a1b2bc3c8855280bfb54 Mon Sep 17 00:00:00 2001 From: Krishna Kumaar Natarajan Date: Thu, 29 Sep 2016 14:20:54 -0700 Subject: [PATCH] qcacmn: [11AX] Add changes for 11ax peer association Add changes for peer association by adding support to include HE capabilities and HE operation information in vdev start and peer assoc WMI commands. Change-Id: I50c0241f872219e08ee2d231c907309ee5adceef CRs-Fixed: 1073481 --- wmi_unified_tlv.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/wmi_unified_tlv.c b/wmi_unified_tlv.c index 3178c3e8b2..0220b9deb6 100644 --- a/wmi_unified_tlv.c +++ b/wmi_unified_tlv.c @@ -357,6 +357,7 @@ static QDF_STATUS send_vdev_start_cmd_tlv(wmi_unified_t wmi_handle, cmd->preferred_tx_streams = req->preferred_tx_streams; cmd->cac_duration_ms = req->cac_duration_ms; cmd->regdomain = req->regdomain; + cmd->he_ops = req->he_ops; buf_ptr = (uint8_t *) (((uintptr_t) cmd) + sizeof(*cmd) + sizeof(wmi_channel)); @@ -366,13 +367,13 @@ static QDF_STATUS send_vdev_start_cmd_tlv(wmi_unified_t wmi_handle, WMI_LOGA("%s: vdev_id %d freq %d chanmode %d ch_info: 0x%x is_dfs %d " "beacon interval %d dtim %d center_chan %d center_freq2 %d " "reg_info_1: 0x%x reg_info_2: 0x%x, req->max_txpow: 0x%x " - "Tx SS %d, Rx SS %d, cac %d, regd %d", + "Tx SS %d, Rx SS %d, cac %d, regd %d, HE ops: %d", __func__, req->vdev_id, chan->mhz, req->chan_mode, chan->info, req->is_dfs, req->beacon_intval, cmd->dtim_period, chan->band_center_freq1, chan->band_center_freq2, chan->reg_info_1, chan->reg_info_2, req->max_txpow, req->preferred_tx_streams, req->preferred_rx_streams, - req->cac_duration_ms, req->regdomain); + req->cac_duration_ms, req->regdomain, req->he_ops); if (req->is_restart) ret = wmi_unified_cmd_send(wmi_handle, buf, len, @@ -1880,6 +1881,15 @@ static QDF_STATUS send_peer_assoc_cmd_tlv(wmi_unified_t wmi_handle, cmd->peer_vht_caps = param->peer_vht_caps; cmd->peer_phymode = param->peer_phymode; + /* Update 11ax capabilities */ + cmd->peer_he_cap_info = param->peer_he_cap_macinfo; + cmd->peer_he_ops = param->peer_he_ops; + cmd->peer_he_mcs = param->peer_he_mcs; + qdf_mem_copy(&cmd->peer_he_cap_phy, ¶m->peer_he_cap_phyinfo, + sizeof(param->peer_he_cap_phyinfo)); + qdf_mem_copy(&cmd->peer_ppet, ¶m->peer_ppet, + sizeof(param->peer_ppet)); + /* Update peer legacy rate information */ buf_ptr += sizeof(*cmd); WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_BYTE, @@ -1911,14 +1921,6 @@ static QDF_STATUS send_peer_assoc_cmd_tlv(wmi_unified_t wmi_handle, mcs->tx_max_rate = param->tx_max_rate; mcs->tx_mcs_set = param->tx_mcs_set; } - /* Update 11ax capabilities */ - cmd->peer_he_cap_info = param->peer_he_cap_macinfo; - cmd->peer_he_ops = param->peer_he_ops; - cmd->peer_he_mcs = param->peer_he_mcs; - qdf_mem_copy(&cmd->peer_he_cap_phy, ¶m->peer_he_cap_phyinfo, - sizeof(param->peer_he_cap_phyinfo)); - qdf_mem_copy(&cmd->peer_ppet, ¶m->peer_ppet, - sizeof(param->peer_ppet)); WMI_LOGD("%s: vdev_id %d associd %d peer_flags %x rate_caps %x " "peer_caps %x listen_intval %d ht_caps %x max_mpdu %d "