Lines Matching refs:msg_body
457 #define __INIT_HAL_MSG(msg_body, type, version) \ argument
459 memset(&msg_body, 0, sizeof(msg_body)); \
460 msg_body.header.msg_type = type; \
461 msg_body.header.msg_version = version; \
462 msg_body.header.len = sizeof(msg_body); \
465 #define INIT_HAL_MSG(msg_body, type) \ argument
466 __INIT_HAL_MSG(msg_body, type, WCN36XX_HAL_MSG_VERSION0)
468 #define INIT_HAL_MSG_V1(msg_body, type) \ argument
469 __INIT_HAL_MSG(msg_body, type, WCN36XX_HAL_MSG_VERSION1)
479 #define PREPARE_HAL_BUF(send_buf, msg_body) \ argument
481 memset(send_buf, 0, msg_body.header.len); \
482 memcpy(send_buf, &msg_body, sizeof(msg_body)); \
511 struct wcn36xx_hal_nv_img_download_req_msg msg_body; in wcn36xx_smd_load_nv() local
526 INIT_HAL_MSG(msg_body, WCN36XX_HAL_DOWNLOAD_NV_REQ); in wcn36xx_smd_load_nv()
528 msg_body.header.len += WCN36XX_NV_FRAGMENT_SIZE; in wcn36xx_smd_load_nv()
530 msg_body.frag_number = 0; in wcn36xx_smd_load_nv()
537 msg_body.last_fragment = 0; in wcn36xx_smd_load_nv()
538 msg_body.nv_img_buffer_size = WCN36XX_NV_FRAGMENT_SIZE; in wcn36xx_smd_load_nv()
540 msg_body.last_fragment = 1; in wcn36xx_smd_load_nv()
541 msg_body.nv_img_buffer_size = fw_bytes_left; in wcn36xx_smd_load_nv()
544 msg_body.header.len = sizeof(msg_body) + fw_bytes_left; in wcn36xx_smd_load_nv()
549 memcpy(wcn->hal_buf, &msg_body, sizeof(msg_body)); in wcn36xx_smd_load_nv()
552 memcpy(wcn->hal_buf + sizeof(msg_body), in wcn36xx_smd_load_nv()
554 msg_body.nv_img_buffer_size); in wcn36xx_smd_load_nv()
556 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_load_nv()
566 msg_body.frag_number++; in wcn36xx_smd_load_nv()
569 } while (msg_body.last_fragment != 1); in wcn36xx_smd_load_nv()
618 struct wcn36xx_hal_mac_start_req_msg msg_body, *body; in wcn36xx_smd_start() local
626 INIT_HAL_MSG(msg_body, WCN36XX_HAL_START_REQ); in wcn36xx_smd_start()
628 msg_body.params.type = DRIVER_TYPE_PRODUCTION; in wcn36xx_smd_start()
629 msg_body.params.len = 0; in wcn36xx_smd_start()
631 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_start()
654 msg_body.params.type); in wcn36xx_smd_start()
675 struct wcn36xx_hal_mac_stop_req_msg msg_body; in wcn36xx_smd_stop() local
679 INIT_HAL_MSG(msg_body, WCN36XX_HAL_STOP_REQ); in wcn36xx_smd_stop()
681 msg_body.stop_req_params.reason = HAL_STOP_TYPE_RF_KILL; in wcn36xx_smd_stop()
683 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_stop()
685 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_stop()
704 struct wcn36xx_hal_init_scan_req_msg msg_body; in wcn36xx_smd_init_scan() local
708 INIT_HAL_MSG(msg_body, WCN36XX_HAL_INIT_SCAN_REQ); in wcn36xx_smd_init_scan()
710 msg_body.mode = mode; in wcn36xx_smd_init_scan()
713 msg_body.frame_type = 2; in wcn36xx_smd_init_scan()
714 msg_body.notify = 1; in wcn36xx_smd_init_scan()
715 msg_body.scan_entry.bss_index[0] = vif_priv->bss_index; in wcn36xx_smd_init_scan()
716 msg_body.scan_entry.active_bss_count = 1; in wcn36xx_smd_init_scan()
719 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_init_scan()
721 wcn36xx_dbg(WCN36XX_DBG_HAL, "hal init scan mode %d\n", msg_body.mode); in wcn36xx_smd_init_scan()
723 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_init_scan()
740 struct wcn36xx_hal_start_scan_req_msg msg_body; in wcn36xx_smd_start_scan() local
744 INIT_HAL_MSG(msg_body, WCN36XX_HAL_START_SCAN_REQ); in wcn36xx_smd_start_scan()
746 msg_body.scan_channel = scan_channel; in wcn36xx_smd_start_scan()
748 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_start_scan()
751 msg_body.scan_channel); in wcn36xx_smd_start_scan()
753 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_start_scan()
770 struct wcn36xx_hal_end_scan_req_msg msg_body; in wcn36xx_smd_end_scan() local
774 INIT_HAL_MSG(msg_body, WCN36XX_HAL_END_SCAN_REQ); in wcn36xx_smd_end_scan()
776 msg_body.scan_channel = scan_channel; in wcn36xx_smd_end_scan()
778 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_end_scan()
781 msg_body.scan_channel); in wcn36xx_smd_end_scan()
783 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_end_scan()
803 struct wcn36xx_hal_finish_scan_req_msg msg_body; in wcn36xx_smd_finish_scan() local
807 INIT_HAL_MSG(msg_body, WCN36XX_HAL_FINISH_SCAN_REQ); in wcn36xx_smd_finish_scan()
809 msg_body.mode = mode; in wcn36xx_smd_finish_scan()
810 msg_body.oper_channel = WCN36XX_HW_CHANNEL(wcn); in wcn36xx_smd_finish_scan()
813 msg_body.notify = 1; in wcn36xx_smd_finish_scan()
814 msg_body.frame_type = 2; in wcn36xx_smd_finish_scan()
815 msg_body.scan_entry.bss_index[0] = vif_priv->bss_index; in wcn36xx_smd_finish_scan()
816 msg_body.scan_entry.active_bss_count = 1; in wcn36xx_smd_finish_scan()
819 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_finish_scan()
822 msg_body.mode); in wcn36xx_smd_finish_scan()
824 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_finish_scan()
843 struct wcn36xx_hal_start_scan_offload_req_msg *msg_body; in wcn36xx_smd_start_hw_scan() local
850 msg_body = kzalloc(sizeof(*msg_body), GFP_KERNEL); in wcn36xx_smd_start_hw_scan()
851 if (!msg_body) { in wcn36xx_smd_start_hw_scan()
856 INIT_HAL_MSG((*msg_body), WCN36XX_HAL_START_SCAN_OFFLOAD_REQ); in wcn36xx_smd_start_hw_scan()
858 msg_body->scan_type = WCN36XX_HAL_SCAN_TYPE_ACTIVE; in wcn36xx_smd_start_hw_scan()
859 msg_body->min_ch_time = 30; in wcn36xx_smd_start_hw_scan()
860 msg_body->max_ch_time = 100; in wcn36xx_smd_start_hw_scan()
861 msg_body->scan_hidden = 1; in wcn36xx_smd_start_hw_scan()
862 memcpy(msg_body->mac, vif->addr, ETH_ALEN); in wcn36xx_smd_start_hw_scan()
863 msg_body->bss_type = vif_priv->bss_type; in wcn36xx_smd_start_hw_scan()
864 msg_body->p2p_search = vif->p2p; in wcn36xx_smd_start_hw_scan()
866 msg_body->num_ssid = min_t(u8, req->n_ssids, ARRAY_SIZE(msg_body->ssids)); in wcn36xx_smd_start_hw_scan()
867 for (i = 0; i < msg_body->num_ssid; i++) { in wcn36xx_smd_start_hw_scan()
868 msg_body->ssids[i].length = min_t(u8, req->ssids[i].ssid_len, in wcn36xx_smd_start_hw_scan()
869 sizeof(msg_body->ssids[i].ssid)); in wcn36xx_smd_start_hw_scan()
870 memcpy(msg_body->ssids[i].ssid, req->ssids[i].ssid, in wcn36xx_smd_start_hw_scan()
871 msg_body->ssids[i].length); in wcn36xx_smd_start_hw_scan()
874 msg_body->num_channel = min_t(u8, req->n_channels, in wcn36xx_smd_start_hw_scan()
875 sizeof(msg_body->channels)); in wcn36xx_smd_start_hw_scan()
876 for (i = 0; i < msg_body->num_channel; i++) { in wcn36xx_smd_start_hw_scan()
877 msg_body->channels[i] = in wcn36xx_smd_start_hw_scan()
881 msg_body->header.len -= WCN36XX_MAX_SCAN_IE_LEN; in wcn36xx_smd_start_hw_scan()
884 msg_body->ie_len = req->ie_len; in wcn36xx_smd_start_hw_scan()
885 msg_body->header.len += req->ie_len; in wcn36xx_smd_start_hw_scan()
886 memcpy(msg_body->ie, req->ie, req->ie_len); in wcn36xx_smd_start_hw_scan()
889 PREPARE_HAL_BUF(wcn->hal_buf, (*msg_body)); in wcn36xx_smd_start_hw_scan()
893 msg_body->num_channel, msg_body->num_ssid, in wcn36xx_smd_start_hw_scan()
894 msg_body->p2p_search ? "yes" : "no"); in wcn36xx_smd_start_hw_scan()
896 ret = wcn36xx_smd_send_and_wait(wcn, msg_body->header.len); in wcn36xx_smd_start_hw_scan()
908 kfree(msg_body); in wcn36xx_smd_start_hw_scan()
915 struct wcn36xx_hal_stop_scan_offload_req_msg msg_body; in wcn36xx_smd_stop_hw_scan() local
919 INIT_HAL_MSG(msg_body, WCN36XX_HAL_STOP_SCAN_OFFLOAD_REQ); in wcn36xx_smd_stop_hw_scan()
920 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_stop_hw_scan()
924 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_stop_hw_scan()
957 struct wcn36xx_hal_switch_channel_req_msg msg_body; in wcn36xx_smd_switch_channel() local
961 INIT_HAL_MSG(msg_body, WCN36XX_HAL_CH_SWITCH_REQ); in wcn36xx_smd_switch_channel()
963 msg_body.channel_number = (u8)ch; in wcn36xx_smd_switch_channel()
964 msg_body.tx_mgmt_power = 0xbf; in wcn36xx_smd_switch_channel()
965 msg_body.max_tx_power = 0xbf; in wcn36xx_smd_switch_channel()
966 memcpy(msg_body.self_sta_mac_addr, vif->addr, ETH_ALEN); in wcn36xx_smd_switch_channel()
968 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_switch_channel()
970 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_switch_channel()
1070 struct wcn36xx_hal_update_scan_params_req_ex msg_body; in wcn36xx_smd_update_scan_params() local
1074 INIT_HAL_MSG(msg_body, WCN36XX_HAL_UPDATE_SCAN_PARAM_REQ); in wcn36xx_smd_update_scan_params()
1076 msg_body.dot11d_enabled = false; in wcn36xx_smd_update_scan_params()
1077 msg_body.dot11d_resolved = true; in wcn36xx_smd_update_scan_params()
1079 msg_body.channel_count = channel_count; in wcn36xx_smd_update_scan_params()
1080 memcpy(msg_body.channels, channels, channel_count); in wcn36xx_smd_update_scan_params()
1081 msg_body.active_min_ch_time = 60; in wcn36xx_smd_update_scan_params()
1082 msg_body.active_max_ch_time = 120; in wcn36xx_smd_update_scan_params()
1083 msg_body.passive_min_ch_time = 60; in wcn36xx_smd_update_scan_params()
1084 msg_body.passive_max_ch_time = 110; in wcn36xx_smd_update_scan_params()
1085 msg_body.state = PHY_SINGLE_CHANNEL_CENTERED; in wcn36xx_smd_update_scan_params()
1087 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_update_scan_params()
1091 msg_body.channel_count); in wcn36xx_smd_update_scan_params()
1093 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_update_scan_params()
1141 struct wcn36xx_hal_add_sta_self_req msg_body; in wcn36xx_smd_add_sta_self() local
1145 INIT_HAL_MSG(msg_body, WCN36XX_HAL_ADD_STA_SELF_REQ); in wcn36xx_smd_add_sta_self()
1147 memcpy(&msg_body.self_addr, vif->addr, ETH_ALEN); in wcn36xx_smd_add_sta_self()
1149 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_add_sta_self()
1153 msg_body.self_addr, msg_body.status); in wcn36xx_smd_add_sta_self()
1155 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_add_sta_self()
1175 struct wcn36xx_hal_del_sta_self_req_msg msg_body; in wcn36xx_smd_delete_sta_self() local
1179 INIT_HAL_MSG(msg_body, WCN36XX_HAL_DEL_STA_SELF_REQ); in wcn36xx_smd_delete_sta_self()
1181 memcpy(&msg_body.self_addr, addr, ETH_ALEN); in wcn36xx_smd_delete_sta_self()
1183 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_delete_sta_self()
1185 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_delete_sta_self()
1203 struct wcn36xx_hal_delete_sta_req_msg msg_body; in wcn36xx_smd_delete_sta() local
1207 INIT_HAL_MSG(msg_body, WCN36XX_HAL_DELETE_STA_REQ); in wcn36xx_smd_delete_sta()
1209 msg_body.sta_index = sta_index; in wcn36xx_smd_delete_sta()
1211 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_delete_sta()
1215 msg_body.sta_index); in wcn36xx_smd_delete_sta()
1217 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_delete_sta()
1250 struct wcn36xx_hal_join_req_msg msg_body; in wcn36xx_smd_join() local
1254 INIT_HAL_MSG(msg_body, WCN36XX_HAL_JOIN_REQ); in wcn36xx_smd_join()
1256 memcpy(&msg_body.bssid, bssid, ETH_ALEN); in wcn36xx_smd_join()
1257 memcpy(&msg_body.self_sta_mac_addr, vif, ETH_ALEN); in wcn36xx_smd_join()
1258 msg_body.channel = ch; in wcn36xx_smd_join()
1261 msg_body.secondary_channel_offset = in wcn36xx_smd_join()
1264 msg_body.secondary_channel_offset = in wcn36xx_smd_join()
1267 msg_body.secondary_channel_offset = in wcn36xx_smd_join()
1270 msg_body.link_state = WCN36XX_HAL_LINK_PREASSOC_STATE; in wcn36xx_smd_join()
1272 msg_body.max_tx_power = 0xbf; in wcn36xx_smd_join()
1273 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_join()
1277 msg_body.bssid, msg_body.self_sta_mac_addr, in wcn36xx_smd_join()
1278 msg_body.channel, msg_body.link_state); in wcn36xx_smd_join()
1280 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_join()
1299 struct wcn36xx_hal_set_link_state_req_msg msg_body; in wcn36xx_smd_set_link_st() local
1303 INIT_HAL_MSG(msg_body, WCN36XX_HAL_SET_LINK_ST_REQ); in wcn36xx_smd_set_link_st()
1305 memcpy(&msg_body.bssid, bssid, ETH_ALEN); in wcn36xx_smd_set_link_st()
1306 memcpy(&msg_body.self_mac_addr, sta_mac, ETH_ALEN); in wcn36xx_smd_set_link_st()
1307 msg_body.state = state; in wcn36xx_smd_set_link_st()
1309 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_set_link_st()
1313 msg_body.bssid, msg_body.self_mac_addr, msg_body.state); in wcn36xx_smd_set_link_st()
1315 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_set_link_st()
1429 struct wcn36xx_hal_config_sta_req_msg_v1 msg_body; in wcn36xx_smd_config_sta_v1() local
1433 INIT_HAL_MSG_V1(msg_body, WCN36XX_HAL_CONFIG_STA_REQ); in wcn36xx_smd_config_sta_v1()
1435 INIT_HAL_MSG(msg_body, WCN36XX_HAL_CONFIG_STA_REQ); in wcn36xx_smd_config_sta_v1()
1436 msg_body.header.len -= WCN36XX_DIFF_STA_PARAMS_V1_NOVHT; in wcn36xx_smd_config_sta_v1()
1439 sta_params = &msg_body.sta_params; in wcn36xx_smd_config_sta_v1()
1443 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_config_sta_v1()
1450 return wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_config_sta_v1()
1600 struct wcn36xx_hal_config_bss_req_msg_v1 *msg_body; in wcn36xx_smd_config_bss_v1() local
1607 msg_body = kzalloc(sizeof(*msg_body), GFP_KERNEL); in wcn36xx_smd_config_bss_v1()
1608 if (!msg_body) in wcn36xx_smd_config_bss_v1()
1612 INIT_HAL_MSG_V1((*msg_body), WCN36XX_HAL_CONFIG_BSS_REQ); in wcn36xx_smd_config_bss_v1()
1614 INIT_HAL_MSG((*msg_body), WCN36XX_HAL_CONFIG_BSS_REQ); in wcn36xx_smd_config_bss_v1()
1615 msg_body->header.len -= WCN36XX_DIFF_BSS_PARAMS_V1_NOVHT; in wcn36xx_smd_config_bss_v1()
1618 bss = &msg_body->bss_params; in wcn36xx_smd_config_bss_v1()
1698 PREPARE_HAL_BUF(wcn->hal_buf, (*msg_body)); in wcn36xx_smd_config_bss_v1()
1710 ret = wcn36xx_smd_send_and_wait(wcn, msg_body->header.len); in wcn36xx_smd_config_bss_v1()
1711 kfree(msg_body); in wcn36xx_smd_config_bss_v1()
1835 struct wcn36xx_hal_delete_bss_req_msg msg_body; in wcn36xx_smd_delete_bss() local
1844 INIT_HAL_MSG(msg_body, WCN36XX_HAL_DELETE_BSS_REQ); in wcn36xx_smd_delete_bss()
1846 msg_body.bss_index = vif_priv->bss_index; in wcn36xx_smd_delete_bss()
1848 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_delete_bss()
1850 wcn36xx_dbg(WCN36XX_DBG_HAL, "hal delete bss %d\n", msg_body.bss_index); in wcn36xx_smd_delete_bss()
1852 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_delete_bss()
1873 struct wcn36xx_hal_send_beacon_req_msg msg_body; in wcn36xx_smd_send_beacon() local
1877 INIT_HAL_MSG(msg_body, WCN36XX_HAL_SEND_BEACON_REQ); in wcn36xx_smd_send_beacon()
1886 msg_body.beacon_length = skb_beacon->len + pad; in wcn36xx_smd_send_beacon()
1888 msg_body.beacon_length6 = msg_body.beacon_length + 6; in wcn36xx_smd_send_beacon()
1890 if (msg_body.beacon_length > BEACON_TEMPLATE_SIZE) { in wcn36xx_smd_send_beacon()
1892 msg_body.beacon_length); in wcn36xx_smd_send_beacon()
1896 memcpy(msg_body.beacon, skb_beacon->data, skb_beacon->len); in wcn36xx_smd_send_beacon()
1897 memcpy(msg_body.bssid, vif->addr, ETH_ALEN); in wcn36xx_smd_send_beacon()
1908 memmove(&msg_body.beacon[tim_off + 5 + pvm_len + pad], in wcn36xx_smd_send_beacon()
1909 &msg_body.beacon[tim_off + 5 + pvm_len], in wcn36xx_smd_send_beacon()
1911 memset(&msg_body.beacon[tim_off + 5 + pvm_len], 0, pad); in wcn36xx_smd_send_beacon()
1912 msg_body.beacon[tim_off + 1] += pad; in wcn36xx_smd_send_beacon()
1918 msg_body.tim_ie_offset = 256; in wcn36xx_smd_send_beacon()
1920 msg_body.tim_ie_offset = tim_off+4; in wcn36xx_smd_send_beacon()
1921 msg_body.p2p_ie_offset = p2p_off; in wcn36xx_smd_send_beacon()
1922 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_send_beacon()
1926 msg_body.beacon_length); in wcn36xx_smd_send_beacon()
1928 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_send_beacon()
1994 struct wcn36xx_hal_set_sta_key_req_msg msg_body; in wcn36xx_smd_set_stakey() local
1998 INIT_HAL_MSG(msg_body, WCN36XX_HAL_SET_STAKEY_REQ); in wcn36xx_smd_set_stakey()
2000 msg_body.set_sta_key_params.sta_index = sta_index; in wcn36xx_smd_set_stakey()
2001 msg_body.set_sta_key_params.enc_type = enc_type; in wcn36xx_smd_set_stakey()
2006 msg_body.set_sta_key_params.def_wep_idx = keyidx; in wcn36xx_smd_set_stakey()
2007 msg_body.set_sta_key_params.wep_type = 0; in wcn36xx_smd_set_stakey()
2009 msg_body.set_sta_key_params.key[0].id = keyidx; in wcn36xx_smd_set_stakey()
2010 msg_body.set_sta_key_params.key[0].unicast = 1; in wcn36xx_smd_set_stakey()
2011 msg_body.set_sta_key_params.key[0].direction = WCN36XX_HAL_TX_RX; in wcn36xx_smd_set_stakey()
2012 msg_body.set_sta_key_params.key[0].pae_role = 0; in wcn36xx_smd_set_stakey()
2013 msg_body.set_sta_key_params.key[0].length = keylen; in wcn36xx_smd_set_stakey()
2014 memcpy(msg_body.set_sta_key_params.key[0].key, key, keylen); in wcn36xx_smd_set_stakey()
2017 msg_body.set_sta_key_params.single_tid_rc = 1; in wcn36xx_smd_set_stakey()
2019 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_set_stakey()
2021 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_set_stakey()
2043 struct wcn36xx_hal_set_bss_key_req_msg msg_body; in wcn36xx_smd_set_bsskey() local
2047 INIT_HAL_MSG(msg_body, WCN36XX_HAL_SET_BSSKEY_REQ); in wcn36xx_smd_set_bsskey()
2048 msg_body.bss_idx = bssidx; in wcn36xx_smd_set_bsskey()
2049 msg_body.enc_type = enc_type; in wcn36xx_smd_set_bsskey()
2050 msg_body.num_keys = 1; in wcn36xx_smd_set_bsskey()
2051 msg_body.keys[0].id = keyidx; in wcn36xx_smd_set_bsskey()
2052 msg_body.keys[0].unicast = 0; in wcn36xx_smd_set_bsskey()
2053 msg_body.keys[0].direction = WCN36XX_HAL_RX_ONLY; in wcn36xx_smd_set_bsskey()
2054 msg_body.keys[0].pae_role = 0; in wcn36xx_smd_set_bsskey()
2055 msg_body.keys[0].length = keylen; in wcn36xx_smd_set_bsskey()
2056 memcpy(msg_body.keys[0].key, key, keylen); in wcn36xx_smd_set_bsskey()
2058 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_set_bsskey()
2060 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_set_bsskey()
2080 struct wcn36xx_hal_remove_sta_key_req_msg msg_body; in wcn36xx_smd_remove_stakey() local
2084 INIT_HAL_MSG(msg_body, WCN36XX_HAL_RMV_STAKEY_REQ); in wcn36xx_smd_remove_stakey()
2086 msg_body.sta_idx = sta_index; in wcn36xx_smd_remove_stakey()
2087 msg_body.enc_type = enc_type; in wcn36xx_smd_remove_stakey()
2088 msg_body.key_id = keyidx; in wcn36xx_smd_remove_stakey()
2090 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_remove_stakey()
2092 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_remove_stakey()
2112 struct wcn36xx_hal_remove_bss_key_req_msg msg_body; in wcn36xx_smd_remove_bsskey() local
2116 INIT_HAL_MSG(msg_body, WCN36XX_HAL_RMV_BSSKEY_REQ); in wcn36xx_smd_remove_bsskey()
2117 msg_body.bss_idx = bssidx; in wcn36xx_smd_remove_bsskey()
2118 msg_body.enc_type = enc_type; in wcn36xx_smd_remove_bsskey()
2119 msg_body.key_id = keyidx; in wcn36xx_smd_remove_bsskey()
2121 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_remove_bsskey()
2123 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_remove_bsskey()
2140 struct wcn36xx_hal_enter_bmps_req_msg msg_body; in wcn36xx_smd_enter_bmps() local
2145 INIT_HAL_MSG(msg_body, WCN36XX_HAL_ENTER_BMPS_REQ); in wcn36xx_smd_enter_bmps()
2147 msg_body.bss_index = vif_priv->bss_index; in wcn36xx_smd_enter_bmps()
2148 msg_body.tbtt = vif->bss_conf.sync_tsf; in wcn36xx_smd_enter_bmps()
2149 msg_body.dtim_period = vif_priv->dtim_period; in wcn36xx_smd_enter_bmps()
2151 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_enter_bmps()
2153 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_enter_bmps()
2170 struct wcn36xx_hal_exit_bmps_req_msg msg_body; in wcn36xx_smd_exit_bmps() local
2175 INIT_HAL_MSG(msg_body, WCN36XX_HAL_EXIT_BMPS_REQ); in wcn36xx_smd_exit_bmps()
2177 msg_body.bss_index = vif_priv->bss_index; in wcn36xx_smd_exit_bmps()
2179 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_exit_bmps()
2181 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_exit_bmps()
2198 struct wcn36xx_hal_set_power_params_req_msg msg_body; in wcn36xx_smd_set_power_params() local
2202 INIT_HAL_MSG(msg_body, WCN36XX_HAL_SET_POWER_PARAMS_REQ); in wcn36xx_smd_set_power_params()
2208 msg_body.ignore_dtim = 1; in wcn36xx_smd_set_power_params()
2209 msg_body.dtim_period = 2; in wcn36xx_smd_set_power_params()
2211 msg_body.listen_interval = WCN36XX_LISTEN_INTERVAL(wcn); in wcn36xx_smd_set_power_params()
2213 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_set_power_params()
2215 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_set_power_params()
2233 struct wcn36xx_hal_keep_alive_req_msg msg_body; in wcn36xx_smd_keep_alive_req() local
2238 INIT_HAL_MSG(msg_body, WCN36XX_HAL_KEEP_ALIVE_REQ); in wcn36xx_smd_keep_alive_req()
2241 msg_body.bss_index = vif_priv->bss_index; in wcn36xx_smd_keep_alive_req()
2242 msg_body.packet_type = WCN36XX_HAL_KEEP_ALIVE_NULL_PKT; in wcn36xx_smd_keep_alive_req()
2243 msg_body.time_period = WCN36XX_KEEP_ALIVE_TIME_PERIOD; in wcn36xx_smd_keep_alive_req()
2252 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_keep_alive_req()
2254 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_keep_alive_req()
2272 struct wcn36xx_hal_dump_cmd_req_msg msg_body; in wcn36xx_smd_dump_cmd_req() local
2276 INIT_HAL_MSG(msg_body, WCN36XX_HAL_DUMP_COMMAND_REQ); in wcn36xx_smd_dump_cmd_req()
2278 msg_body.arg1 = arg1; in wcn36xx_smd_dump_cmd_req()
2279 msg_body.arg2 = arg2; in wcn36xx_smd_dump_cmd_req()
2280 msg_body.arg3 = arg3; in wcn36xx_smd_dump_cmd_req()
2281 msg_body.arg4 = arg4; in wcn36xx_smd_dump_cmd_req()
2282 msg_body.arg5 = arg5; in wcn36xx_smd_dump_cmd_req()
2284 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_dump_cmd_req()
2286 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_dump_cmd_req()
2346 struct wcn36xx_hal_feat_caps_msg msg_body, *rsp; in wcn36xx_smd_feature_caps_exchange() local
2350 INIT_HAL_MSG(msg_body, WCN36XX_HAL_FEATURE_CAPS_EXCHANGE_REQ); in wcn36xx_smd_feature_caps_exchange()
2352 set_feat_caps(msg_body.feat_caps, STA_POWERSAVE); in wcn36xx_smd_feature_caps_exchange()
2354 set_feat_caps(msg_body.feat_caps, DOT11AC); in wcn36xx_smd_feature_caps_exchange()
2356 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_feature_caps_exchange()
2358 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_feature_caps_exchange()
2400 struct wcn36xx_hal_add_ba_session_req_msg msg_body; in wcn36xx_smd_add_ba_session() local
2405 INIT_HAL_MSG(msg_body, WCN36XX_HAL_ADD_BA_SESSION_REQ); in wcn36xx_smd_add_ba_session()
2407 msg_body.sta_index = sta_index; in wcn36xx_smd_add_ba_session()
2408 memcpy(&msg_body.mac_addr, sta->addr, ETH_ALEN); in wcn36xx_smd_add_ba_session()
2409 msg_body.dialog_token = 0x10; in wcn36xx_smd_add_ba_session()
2410 msg_body.tid = tid; in wcn36xx_smd_add_ba_session()
2413 msg_body.policy = 1; in wcn36xx_smd_add_ba_session()
2414 msg_body.buffer_size = WCN36XX_AGGR_BUFFER_SIZE; in wcn36xx_smd_add_ba_session()
2415 msg_body.timeout = 0; in wcn36xx_smd_add_ba_session()
2417 msg_body.ssn = *ssn; in wcn36xx_smd_add_ba_session()
2418 msg_body.direction = direction; in wcn36xx_smd_add_ba_session()
2420 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_add_ba_session()
2422 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_add_ba_session()
2442 struct wcn36xx_hal_add_ba_req_msg msg_body; in wcn36xx_smd_add_ba() local
2446 INIT_HAL_MSG(msg_body, WCN36XX_HAL_ADD_BA_REQ); in wcn36xx_smd_add_ba()
2448 msg_body.session_id = session_id; in wcn36xx_smd_add_ba()
2449 msg_body.win_size = WCN36XX_AGGR_BUFFER_SIZE; in wcn36xx_smd_add_ba()
2451 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_add_ba()
2453 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_add_ba()
2470 struct wcn36xx_hal_del_ba_req_msg msg_body; in wcn36xx_smd_del_ba() local
2474 INIT_HAL_MSG(msg_body, WCN36XX_HAL_DEL_BA_REQ); in wcn36xx_smd_del_ba()
2476 msg_body.sta_index = sta_index; in wcn36xx_smd_del_ba()
2477 msg_body.tid = tid; in wcn36xx_smd_del_ba()
2478 msg_body.direction = 0; in wcn36xx_smd_del_ba()
2479 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_del_ba()
2481 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_del_ba()
2509 struct wcn36xx_hal_trigger_ba_req_msg msg_body; in wcn36xx_smd_trigger_ba() local
2514 INIT_HAL_MSG(msg_body, WCN36XX_HAL_TRIGGER_BA_REQ); in wcn36xx_smd_trigger_ba()
2516 msg_body.session_id = session_id; in wcn36xx_smd_trigger_ba()
2517 msg_body.candidate_cnt = 1; in wcn36xx_smd_trigger_ba()
2518 msg_body.header.len += sizeof(*candidate); in wcn36xx_smd_trigger_ba()
2519 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_trigger_ba()
2522 (wcn->hal_buf + sizeof(msg_body)); in wcn36xx_smd_trigger_ba()
2526 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len); in wcn36xx_smd_trigger_ba()
2688 struct wcn36xx_hal_update_cfg_req_msg msg_body, *body; in wcn36xx_smd_update_cfg() local
2693 INIT_HAL_MSG(msg_body, WCN36XX_HAL_UPDATE_CFG_REQ); in wcn36xx_smd_update_cfg()
2695 PREPARE_HAL_BUF(wcn->hal_buf, msg_body); in wcn36xx_smd_update_cfg()
2698 len = msg_body.header.len; in wcn36xx_smd_update_cfg()
2724 struct wcn36xx_hal_rcv_flt_pkt_set_mc_list_req_msg *msg_body = NULL; in wcn36xx_smd_set_mc_list() local
2729 msg_body = (struct wcn36xx_hal_rcv_flt_pkt_set_mc_list_req_msg *) in wcn36xx_smd_set_mc_list()
2731 init_hal_msg(&msg_body->header, WCN36XX_HAL_8023_MULTICAST_LIST_REQ, in wcn36xx_smd_set_mc_list()
2732 sizeof(msg_body->mc_addr_list)); in wcn36xx_smd_set_mc_list()
2736 memcpy(&msg_body->mc_addr_list, fp, in wcn36xx_smd_set_mc_list()
2737 sizeof(msg_body->mc_addr_list)); in wcn36xx_smd_set_mc_list()
2739 msg_body->mc_addr_list.mc_addr_count = 0; in wcn36xx_smd_set_mc_list()
2741 msg_body->mc_addr_list.bss_index = vif_priv->bss_index; in wcn36xx_smd_set_mc_list()
2743 ret = wcn36xx_smd_send_and_wait(wcn, msg_body->header.len); in wcn36xx_smd_set_mc_list()