Lines Matching full:ab
12 static int ath11k_fw_request_firmware_api_n(struct ath11k_base *ab, in ath11k_fw_request_firmware_api_n() argument
21 ab->fw.fw = ath11k_core_firmware_request(ab, name); in ath11k_fw_request_firmware_api_n()
22 if (IS_ERR(ab->fw.fw)) { in ath11k_fw_request_firmware_api_n()
23 ret = PTR_ERR(ab->fw.fw); in ath11k_fw_request_firmware_api_n()
24 ath11k_dbg(ab, ATH11K_DBG_BOOT, "failed to load %s: %d\n", name, ret); in ath11k_fw_request_firmware_api_n()
25 ab->fw.fw = NULL; in ath11k_fw_request_firmware_api_n()
29 data = ab->fw.fw->data; in ath11k_fw_request_firmware_api_n()
30 len = ab->fw.fw->size; in ath11k_fw_request_firmware_api_n()
36 ath11k_err(ab, "firmware image too small to contain magic: %zu\n", in ath11k_fw_request_firmware_api_n()
43 ath11k_err(ab, "Invalid firmware magic\n"); in ath11k_fw_request_firmware_api_n()
53 ath11k_err(ab, "No space for padding after magic\n"); in ath11k_fw_request_firmware_api_n()
72 ath11k_err(ab, "Invalid length for FW IE %d (%zu < %zu)\n", in ath11k_fw_request_firmware_api_n()
85 ath11k_dbg(ab, ATH11K_DBG_BOOT, "found fw timestamp %d\n", in ath11k_fw_request_firmware_api_n()
89 ath11k_dbg(ab, ATH11K_DBG_BOOT, in ath11k_fw_request_firmware_api_n()
101 __set_bit(i, ab->fw.fw_features); in ath11k_fw_request_firmware_api_n()
104 ath11k_dbg_dump(ab, ATH11K_DBG_BOOT, "features", "", in ath11k_fw_request_firmware_api_n()
105 ab->fw.fw_features, in ath11k_fw_request_firmware_api_n()
106 sizeof(ab->fw.fw_features)); in ath11k_fw_request_firmware_api_n()
109 ath11k_dbg(ab, ATH11K_DBG_BOOT, in ath11k_fw_request_firmware_api_n()
113 ab->fw.amss_data = data; in ath11k_fw_request_firmware_api_n()
114 ab->fw.amss_len = ie_len; in ath11k_fw_request_firmware_api_n()
117 ath11k_dbg(ab, ATH11K_DBG_BOOT, in ath11k_fw_request_firmware_api_n()
121 ab->fw.m3_data = data; in ath11k_fw_request_firmware_api_n()
122 ab->fw.m3_len = ie_len; in ath11k_fw_request_firmware_api_n()
125 ath11k_warn(ab, "Unknown FW IE: %u\n", ie_id); in ath11k_fw_request_firmware_api_n()
143 release_firmware(ab->fw.fw); in ath11k_fw_request_firmware_api_n()
144 ab->fw.fw = NULL; in ath11k_fw_request_firmware_api_n()
148 int ath11k_fw_pre_init(struct ath11k_base *ab) in ath11k_fw_pre_init() argument
152 ret = ath11k_fw_request_firmware_api_n(ab, ATH11K_FW_API2_FILE); in ath11k_fw_pre_init()
154 ab->fw.api_version = 2; in ath11k_fw_pre_init()
158 ab->fw.api_version = 1; in ath11k_fw_pre_init()
161 ath11k_dbg(ab, ATH11K_DBG_BOOT, "using fw api %d\n", in ath11k_fw_pre_init()
162 ab->fw.api_version); in ath11k_fw_pre_init()
167 void ath11k_fw_destroy(struct ath11k_base *ab) in ath11k_fw_destroy() argument
169 release_firmware(ab->fw.fw); in ath11k_fw_destroy()