Lines Matching full:ab

27 static struct ath11k *ath11k_tm_get_ar(struct ath11k_base *ab)  in ath11k_tm_get_ar()  argument
33 for (i = 0; i < ab->num_radios; i++) { in ath11k_tm_get_ar()
34 pdev = &ab->pdevs[i]; in ath11k_tm_get_ar()
47 static void ath11k_tm_wmi_event_unsegmented(struct ath11k_base *ab, u32 cmd_id, in ath11k_tm_wmi_event_unsegmented() argument
53 ath11k_dbg(ab, ATH11K_DBG_TESTMODE, in ath11k_tm_wmi_event_unsegmented()
56 ath11k_dbg_dump(ab, ATH11K_DBG_TESTMODE, NULL, "", skb->data, skb->len); in ath11k_tm_wmi_event_unsegmented()
58 ar = ath11k_tm_get_ar(ab); in ath11k_tm_wmi_event_unsegmented()
60 ath11k_warn(ab, "testmode event not handled due to invalid pdev\n"); in ath11k_tm_wmi_event_unsegmented()
71 ath11k_warn(ab, in ath11k_tm_wmi_event_unsegmented()
79 ath11k_warn(ab, "failed to populate testmode unsegmented event\n"); in ath11k_tm_wmi_event_unsegmented()
90 ath11k_warn(ab, "Failed to send testmode event to higher layers\n"); in ath11k_tm_wmi_event_unsegmented()
96 static int ath11k_tm_process_event(struct ath11k_base *ab, u32 cmd_id, in ath11k_tm_process_event() argument
109 ath11k_dbg(ab, ATH11K_DBG_TESTMODE, in ath11k_tm_process_event()
112 ath11k_dbg_dump(ab, ATH11K_DBG_TESTMODE, NULL, "", ftm_msg, length); in ath11k_tm_process_event()
115 if (pdev_id >= ab->num_radios) { in ath11k_tm_process_event()
116 ath11k_warn(ab, "testmode event not handled due to invalid pdev id: %d\n", in ath11k_tm_process_event()
121 ar = ab->pdevs[pdev_id].ar; in ath11k_tm_process_event()
123 ath11k_warn(ab, "testmode event not handled due to absence of pdev\n"); in ath11k_tm_process_event()
137 ab->testmode.expected_seq = 0; in ath11k_tm_process_event()
138 ab->testmode.data_pos = 0; in ath11k_tm_process_event()
141 data_pos = ab->testmode.data_pos; in ath11k_tm_process_event()
144 ath11k_warn(ab, "Invalid ftm event length at %d: %d\n", in ath11k_tm_process_event()
150 memcpy(&ab->testmode.eventdata[data_pos], buf_pos, datalen); in ath11k_tm_process_event()
153 if (++ab->testmode.expected_seq != total_segments) { in ath11k_tm_process_event()
154 ab->testmode.data_pos = data_pos; in ath11k_tm_process_event()
155 ath11k_dbg(ab, ATH11K_DBG_TESTMODE, in ath11k_tm_process_event()
161 ath11k_dbg(ab, ATH11K_DBG_TESTMODE, in ath11k_tm_process_event()
169 ath11k_warn(ab, in ath11k_tm_process_event()
179 &ab->testmode.eventdata[0])) { in ath11k_tm_process_event()
180 ath11k_warn(ab, "failed to populate segmented testmode event"); in ath11k_tm_process_event()
193 static void ath11k_tm_wmi_event_segmented(struct ath11k_base *ab, u32 cmd_id, in ath11k_tm_wmi_event_segmented() argument
201 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_tm_wmi_event_segmented()
204 ath11k_warn(ab, "failed to parse ftm event tlv: %d\n", ret); in ath11k_tm_wmi_event_segmented()
210 ath11k_warn(ab, "failed to fetch ftm msg\n"); in ath11k_tm_wmi_event_segmented()
216 ret = ath11k_tm_process_event(ab, cmd_id, ev, length); in ath11k_tm_wmi_event_segmented()
218 ath11k_warn(ab, "Failed to process ftm event\n"); in ath11k_tm_wmi_event_segmented()
223 void ath11k_tm_wmi_event(struct ath11k_base *ab, u32 cmd_id, struct sk_buff *skb) in ath11k_tm_wmi_event() argument
225 if (test_bit(ATH11K_FLAG_FTM_SEGMENTED, &ab->dev_flags)) in ath11k_tm_wmi_event()
226 ath11k_tm_wmi_event_segmented(ab, cmd_id, skb); in ath11k_tm_wmi_event()
228 ath11k_tm_wmi_event_unsegmented(ab, cmd_id, skb); in ath11k_tm_wmi_event()
236 ath11k_dbg(ar->ab, ATH11K_DBG_TESTMODE, in ath11k_tm_cmd_get_version()
280 ar->ab->testmode.eventdata = kzalloc(ATH11K_FTM_EVENT_MAX_BUF_LENGTH, in ath11k_tm_cmd_testmode_start()
282 if (!ar->ab->testmode.eventdata) { in ath11k_tm_cmd_testmode_start()
292 ath11k_dbg(ar->ab, ATH11K_DBG_TESTMODE, "cmd start\n"); in ath11k_tm_cmd_testmode_start()
326 ath11k_warn(ar->ab, "No data present in testmode wmi command\n"); in ath11k_tm_cmd_wmi()
350 if (ar->ab->fw_mode != ATH11K_FIRMWARE_MODE_FTM && in ath11k_tm_cmd_wmi()
361 ath11k_dbg(ar->ab, ATH11K_DBG_TESTMODE, in ath11k_tm_cmd_wmi()
365 ath11k_dbg_dump(ar->ab, ATH11K_DBG_TESTMODE, NULL, "", buf, buf_len); in ath11k_tm_cmd_wmi()
378 ath11k_warn(ar->ab, "failed to transmit wmi command (testmode): %d\n", in ath11k_tm_cmd_wmi()
393 struct ath11k_base *ab = ar->ab; in ath11k_tm_cmd_wmi_ftm() local
403 set_bit(ATH11K_FLAG_FTM_SEGMENTED, &ab->dev_flags); in ath11k_tm_cmd_wmi_ftm()
421 ath11k_dbg(ar->ab, ATH11K_DBG_TESTMODE, in ath11k_tm_cmd_wmi_ftm()
424 ath11k_dbg_dump(ar->ab, ATH11K_DBG_TESTMODE, NULL, "", buf, buf_len); in ath11k_tm_cmd_wmi_ftm()
459 ath11k_warn(ar->ab, "failed to send wmi ftm command: %d\n", ret); in ath11k_tm_cmd_wmi_ftm()