Lines Matching defs:ab
10 static int ath11k_fw_request_firmware_api_n(struct ath11k_base *ab,
19 ab->fw.fw = ath11k_core_firmware_request(ab, name);
20 if (IS_ERR(ab->fw.fw)) {
21 ret = PTR_ERR(ab->fw.fw);
22 ath11k_dbg(ab, ATH11K_DBG_BOOT, "failed to load %s: %d\n", name, ret);
23 ab->fw.fw = NULL;
27 data = ab->fw.fw->data;
28 len = ab->fw.fw->size;
34 ath11k_err(ab, "firmware image too small to contain magic: %zu\n",
41 ath11k_err(ab, "Invalid firmware magic\n");
51 ath11k_err(ab, "No space for padding after magic\n");
70 ath11k_err(ab, "Invalid length for FW IE %d (%zu < %zu)\n",
83 ath11k_dbg(ab, ATH11K_DBG_BOOT, "found fw timestamp %d\n",
87 ath11k_dbg(ab, ATH11K_DBG_BOOT,
99 __set_bit(i, ab->fw.fw_features);
102 ath11k_dbg_dump(ab, ATH11K_DBG_BOOT, "features", "",
103 ab->fw.fw_features,
104 sizeof(ab->fw.fw_features));
107 ath11k_dbg(ab, ATH11K_DBG_BOOT,
111 ab->fw.amss_data = data;
112 ab->fw.amss_len = ie_len;
115 ath11k_dbg(ab, ATH11K_DBG_BOOT,
119 ab->fw.m3_data = data;
120 ab->fw.m3_len = ie_len;
123 ath11k_warn(ab, "Unknown FW IE: %u\n", ie_id);
141 release_firmware(ab->fw.fw);
142 ab->fw.fw = NULL;
146 int ath11k_fw_pre_init(struct ath11k_base *ab)
150 ret = ath11k_fw_request_firmware_api_n(ab, ATH11K_FW_API2_FILE);
152 ab->fw.api_version = 2;
156 ab->fw.api_version = 1;
159 ath11k_dbg(ab, ATH11K_DBG_BOOT, "using fw api %d\n",
160 ab->fw.api_version);
165 void ath11k_fw_destroy(struct ath11k_base *ab)
167 release_firmware(ab->fw.fw);