diff --git a/wmi_unified_non_tlv.c b/wmi_unified_non_tlv.c index e0168fbe39..b7032c1f5b 100644 --- a/wmi_unified_non_tlv.c +++ b/wmi_unified_non_tlv.c @@ -3214,14 +3214,16 @@ send_set_bwf_cmd_non_tlv(wmi_unified_t wmi_handle, return QDF_STATUS_E_FAILURE; } cmd = (wmi_peer_bwf_request *)wmi_buf_data(buf); - qdf_mem_copy((void *)&(cmd->num_peers), - (void *)&(param->num_peers), - sizeof(u_int32_t)); + qdf_mem_copy(&(cmd->num_peers), &(param->num_peers), sizeof(uint32_t)); peer_info = (struct wmi_bwf_peer_info *)&(cmd->peer_info[0]); for (i = 0; i < param->num_peers; i++) { - qdf_mem_copy((void *)&(peer_info[i]), - (void *)&(param->peer_info[i]), - sizeof(struct wmi_bwf_peer_info)); + qdf_mem_copy(&(peer_info[i].peer_macaddr), + &(param->peer_info[i].peer_macaddr), + sizeof(wmi_mac_addr)); + peer_info[i].bwf_guaranteed_bandwidth = + param->peer_info[i].throughput; + peer_info[i].bwf_max_airtime = param->peer_info[i].max_airtime; + peer_info[i].bwf_peer_priority = param->peer_info[i].priority; } retval = wmi_unified_cmd_send(wmi_handle, buf, len, @@ -3258,13 +3260,13 @@ send_set_atf_cmd_non_tlv(wmi_unified_t wmi_handle, } cmd = (wmi_peer_atf_request *)wmi_buf_data(buf); - qdf_mem_copy((void *)&(cmd->num_peers), (void *)&(param->num_peers), - sizeof(uint32_t)); + qdf_mem_copy(&(cmd->num_peers), &(param->num_peers), sizeof(uint32_t)); peer_info = (struct wmi_atf_peer_info *)&(cmd->peer_info[0]); for (i = 0; i < param->num_peers; i++) { - qdf_mem_copy((void *)&(peer_info[i]), - (void *)&(param->peer_info[i]), - sizeof(struct wmi_atf_peer_info)); + qdf_mem_copy(&(peer_info[i].peer_macaddr), + &(param->peer_info[i].peer_macaddr), + sizeof(wmi_mac_addr)); + peer_info[i].atf_units = param->peer_info[i].percentage_peer; } /* qdf_print("wmi_unified_pdev_set_atf peer_num=%d\n", cmd->num_peers); */ retval = wmi_unified_cmd_send(wmi_handle, buf, len, @@ -3297,17 +3299,21 @@ send_atf_peer_request_cmd_non_tlv(wmi_unified_t wmi_handle, } cmd = (wmi_peer_atf_ext_request *)wmi_buf_data(buf); - qdf_mem_copy((void *)&(cmd->num_peers), (void *)&(param->num_peers), - sizeof(uint32_t)); + qdf_mem_copy(&(cmd->num_peers), &(param->num_peers), sizeof(uint32_t)); peer_ext_info = (struct wmi_atf_peer_ext_info *)&(cmd->peer_ext_info[0]); for (i = 0; i < param->num_peers; i++) { - qdf_mem_copy((void *)&(peer_ext_info[i]), - (void *)&(param->peer_ext_info[i]), - sizeof(struct wmi_atf_peer_ext_info)); + qdf_mem_copy(&(peer_ext_info[i].peer_macaddr), + &(param->peer_ext_info[i].peer_macaddr), + sizeof(wmi_mac_addr)); + peer_ext_info[i].atf_groupid = + param->peer_ext_info[i].group_index; + peer_ext_info[i].atf_units_reserved = + param->peer_ext_info[i].atf_index_reserved; } retval = wmi_unified_cmd_send(wmi_handle, buf, len, WMI_PEER_ATF_EXT_REQUEST_CMDID); + return retval; } @@ -3336,16 +3342,18 @@ send_set_atf_grouping_cmd_non_tlv(wmi_unified_t wmi_handle, } cmd = (wmi_atf_ssid_grp_request *)wmi_buf_data(buf); - qdf_mem_copy((void *)&(cmd->num_groups), (void *)&(param->num_groups), + qdf_mem_copy(&(cmd->num_groups), &(param->num_groups), sizeof(uint32_t)); group_info = (struct wmi_atf_group_info *)&(cmd->group_info[0]); for (i = 0; i < param->num_groups; i++) { - qdf_mem_copy((void *)&(group_info[i]), - (void *)&(param->group_info[i]), - sizeof(struct wmi_atf_group_info)); + group_info[i].atf_group_units = + param->group_info[i].percentage_group; + group_info[i].atf_group_units_reserved = + param->group_info[i].atf_group_units_reserved; } retval = wmi_unified_cmd_send(wmi_handle, buf, len, WMI_ATF_SSID_GROUPING_REQUEST_CMDID); + return retval; } diff --git a/wmi_unified_tlv.c b/wmi_unified_tlv.c index 20602f7292..2a7cf29b51 100644 --- a/wmi_unified_tlv.c +++ b/wmi_unified_tlv.c @@ -10464,7 +10464,14 @@ send_set_atf_cmd_tlv(wmi_unified_t wmi_handle, WMITLV_TAG_STRUC_wmi_atf_peer_info, WMITLV_GET_STRUCT_TLVLEN( wmi_atf_peer_info)); + qdf_mem_copy(&(peer_info->peer_macaddr), + &(param->peer_info[i].peer_macaddr), + sizeof(wmi_mac_addr)); peer_info->atf_units = param->peer_info[i].percentage_peer; + peer_info->vdev_id = param->peer_info[i].vdev_id; + peer_info->pdev_id = + wmi_handle->ops->convert_pdev_id_host_to_target( + param->peer_info[i].pdev_id); /* * TLV definition for peer atf request fixed param combines * extension stats. Legacy FW for WIN (Non-TLV) has peer atf @@ -10987,6 +10994,11 @@ send_set_bwf_cmd_tlv(wmi_unified_t wmi_handle, qdf_mem_copy(&peer_info->peer_macaddr, ¶m->peer_info[i].peer_macaddr, sizeof(param->peer_info[i].peer_macaddr)); + peer_info->vdev_id = + param->peer_info[i].vdev_id; + peer_info->pdev_id = + wmi_handle->ops->convert_pdev_id_host_to_target( + param->peer_info[i].pdev_id); peer_info++; } @@ -11586,6 +11598,9 @@ void wmi_copy_resource_config(wmi_resource_config *resource_cfg, resource_cfg->bpf_instruction_size = tgt_res_cfg->bpf_instruction_size; resource_cfg->max_bssid_rx_filters = tgt_res_cfg->max_bssid_rx_filters; resource_cfg->use_pdev_id = tgt_res_cfg->use_pdev_id; + + WMI_RSRC_CFG_FLAG_ATF_CONFIG_ENABLE_SET(resource_cfg->flag1, + tgt_res_cfg->atf_config); } #ifdef CONFIG_MCL /** @@ -18272,7 +18287,7 @@ static void populate_tlv_service(uint32_t *wmi_service) WMI_SERVICE_UNAVAILABLE; wmi_service[wmi_service_enhanced_proxy_sta] = WMI_SERVICE_UNAVAILABLE; wmi_service[wmi_service_tt] = WMI_SERVICE_UNAVAILABLE; - wmi_service[wmi_service_atf] = WMI_SERVICE_UNAVAILABLE; + wmi_service[wmi_service_atf] = WMI_SERVICE_ATF; wmi_service[wmi_service_peer_caching] = WMI_SERVICE_UNAVAILABLE; wmi_service[wmi_service_coex_gpio] = WMI_SERVICE_UNAVAILABLE; wmi_service[wmi_service_aux_spectral_intf] = WMI_SERVICE_UNAVAILABLE; @@ -18494,8 +18509,10 @@ static void populate_pdev_param_tlv(uint32_t *pdev_param) pdev_param[wmi_pdev_param_noise_threshold] = WMI_UNAVAILABLE_PARAM; pdev_param[wmi_pdev_param_dpd_enable] = WMI_UNAVAILABLE_PARAM; pdev_param[wmi_pdev_param_set_mcast_bcast_echo] = WMI_UNAVAILABLE_PARAM; - pdev_param[wmi_pdev_param_atf_strict_sch] = WMI_UNAVAILABLE_PARAM; - pdev_param[wmi_pdev_param_atf_sched_duration] = WMI_UNAVAILABLE_PARAM; + pdev_param[wmi_pdev_param_atf_strict_sch] = + WMI_PDEV_PARAM_ATF_STRICT_SCH; + pdev_param[wmi_pdev_param_atf_sched_duration] = + WMI_PDEV_PARAM_ATF_SCHED_DURATION; pdev_param[wmi_pdev_param_ant_plzn] = WMI_UNAVAILABLE_PARAM; pdev_param[wmi_pdev_param_sensitivity_level] = WMI_UNAVAILABLE_PARAM; pdev_param[wmi_pdev_param_signed_txpower_2g] = WMI_UNAVAILABLE_PARAM; @@ -18512,11 +18529,13 @@ static void populate_pdev_param_tlv(uint32_t *pdev_param) pdev_param[wmi_pdev_param_txpower_decr_db] = WMI_UNAVAILABLE_PARAM; pdev_param[wmi_pdev_param_rx_batchmode] = WMI_UNAVAILABLE_PARAM; pdev_param[wmi_pdev_param_packet_aggr_delay] = WMI_UNAVAILABLE_PARAM; - pdev_param[wmi_pdev_param_atf_obss_noise_sch] = WMI_UNAVAILABLE_PARAM; + pdev_param[wmi_pdev_param_atf_obss_noise_sch] = + WMI_PDEV_PARAM_ATF_OBSS_NOISE_SCH; pdev_param[wmi_pdev_param_atf_obss_noise_scaling_factor] = - WMI_UNAVAILABLE_PARAM; + WMI_PDEV_PARAM_ATF_OBSS_NOISE_SCALING_FACTOR; pdev_param[wmi_pdev_param_cust_txpower_scale] = WMI_UNAVAILABLE_PARAM; - pdev_param[wmi_pdev_param_atf_dynamic_enable] = WMI_UNAVAILABLE_PARAM; + pdev_param[wmi_pdev_param_atf_dynamic_enable] = + WMI_PDEV_PARAM_ATF_DYNAMIC_ENABLE; pdev_param[wmi_pdev_param_atf_ssid_group_policy] = WMI_UNAVAILABLE_PARAM; pdev_param[wmi_pdev_param_igmpmld_override] = WMI_UNAVAILABLE_PARAM;