Lines Matching defs:dump

17  * struct iwl_fw_dump_ptrs - set of pointers needed for the fw-error-dump
37 IWL_DEBUG_INFO(fwrt, "WRT radio registers dump\n");
178 IWL_DEBUG_INFO(fwrt, "WRT RX FIFO dump\n");
210 IWL_DEBUG_INFO(fwrt, "WRT TX FIFO dump\n");
532 IWL_DEBUG_INFO(trans, "WRT PRPH dump\n");
666 IWL_DEBUG_INFO(fwrt, "WRT memory dump. Type=%u\n", dump_mem->type);
738 IWL_DEBUG_INFO(fwrt, "WRT paging dump\n");
847 if (iwl_fw_dbg_is_d3_debug_enabled(fwrt) && fwrt->dump.d3_debug_data) {
852 /* If we only want a monitor dump, reset the file length */
888 cpu_to_le32(fwrt->dump.lmac_err_id[0]);
891 cpu_to_le32(fwrt->dump.lmac_err_id[1]);
892 dump_info->umac_err_id = cpu_to_le32(fwrt->dump.umac_err_id);
927 /* We only dump the FIFOs if the FW is in error state */
948 /* In case we only want monitor dump, skip to dump trasport data */
977 if (iwl_fw_dbg_is_d3_debug_enabled(fwrt) && fwrt->dump.d3_debug_data) {
984 memcpy(dump_data->data, fwrt->dump.d3_debug_data, data_size);
986 kfree(fwrt->dump.d3_debug_data);
987 fwrt->dump.d3_debug_data = NULL;
1016 * @dump_data: dump data
1297 struct iwl_txf_iter_data *iter = &fwrt->dump.txf_iter_data;
1351 struct iwl_txf_iter_data *iter = &fwrt->dump.txf_iter_data;
1372 * read txf registers. for each register, write to the dump the
1508 * parsing the dump
1553 * read rxf registers. for each register, write to the dump the
1715 struct iwl_fw_ini_error_dump *dump = data;
1717 dump->header.version = cpu_to_le32(IWL_INI_DUMP_VER);
1719 return dump->data;
1830 struct iwl_fw_ini_err_table_dump *dump = data;
1832 dump->header.version = cpu_to_le32(IWL_INI_DUMP_VER);
1833 dump->version = reg->err_table.version;
1835 return dump->data;
1844 struct iwl_fw_ini_special_device_memory *dump = data;
1846 dump->header.version = cpu_to_le32(IWL_INI_DUMP_VER);
1847 dump->type = reg->special_mem.type;
1848 dump->version = reg->special_mem.version;
1850 return dump->data;
1858 struct iwl_fw_ini_error_dump *dump = data;
1860 dump->header.version = cpu_to_le32(IWL_INI_DUMP_VER);
1862 return dump->data;
2068 struct iwl_txf_iter_data *iter = &fwrt->dump.txf_iter_data;
2177 * struct iwl_dump_ini_mem_ops - ini memory dump operations
2182 * @fill_range: copies a given memory range into the dump.
2199 * iwl_dump_ini_mem - dump memory region
2202 * @list: list to add the dump tlv to
2204 * @ops: memory dump operations
2206 * Creates a dump tlv and copy a memory region into it.
2208 * Returns: the size of the current dump tlv or 0 if failed
2226 IWL_DEBUG_FW(fwrt, "WRT: Collecting region: dump type=%d, id=%d, type=%d\n",
2236 "WRT: no dump - type %d and policy mismatch=%d\n",
2242 "WRT: no dump - type %d and policy mismatch=%d\n",
2248 "WRT: no dump - type %d and policy mismatch=%d\n",
2315 "WRT: Failed to dump region: id=%d, type=%d\n",
2347 struct iwl_fw_ini_dump_info *dump;
2350 u32 size = sizeof(*tlv) + sizeof(*dump);
2369 dump = (void *)tlv->data;
2371 dump->version = cpu_to_le32(IWL_INI_DUMP_VER);
2372 dump->time_point = trigger->time_point;
2373 dump->trigger_reason = trigger->trigger_reason;
2374 dump->external_cfg_state =
2377 dump->ver_type = cpu_to_le32(fwrt->dump.fw_ver.type);
2378 dump->ver_subtype = cpu_to_le32(fwrt->dump.fw_ver.subtype);
2380 dump->hw_step = cpu_to_le32(fwrt->trans->hw_rev_step);
2400 dump->hw_type = cpu_to_le32(hw_type);
2402 dump->rf_id_flavor =
2404 dump->rf_id_dash = cpu_to_le32(CSR_HW_RFID_DASH(fwrt->trans->hw_rf_id));
2405 dump->rf_id_step = cpu_to_le32(CSR_HW_RFID_STEP(fwrt->trans->hw_rf_id));
2406 dump->rf_id_type = cpu_to_le32(CSR_HW_RFID_TYPE(fwrt->trans->hw_rf_id));
2408 dump->lmac_major = cpu_to_le32(fwrt->dump.fw_ver.lmac_major);
2409 dump->lmac_minor = cpu_to_le32(fwrt->dump.fw_ver.lmac_minor);
2410 dump->umac_major = cpu_to_le32(fwrt->dump.fw_ver.umac_major);
2411 dump->umac_minor = cpu_to_le32(fwrt->dump.fw_ver.umac_minor);
2413 dump->fw_mon_mode = cpu_to_le32(fwrt->trans->dbg.ini_dest);
2414 dump->regions_mask = trigger->regions_mask &
2417 dump->build_tag_len = cpu_to_le32(sizeof(dump->build_tag));
2418 memcpy(dump->build_tag, fwrt->fw->human_readable,
2419 sizeof(dump->build_tag));
2421 cfg_name = dump->cfg_names;
2422 dump->num_of_cfg_names = cpu_to_le32(num_of_cfg_names);
2438 /* add dump info TLV to the beginning of the list since it needs to be
2439 * the first TLV in the dump
2468 /* add the dump file name extension tlv to the list */
2734 fwrt->dump.lmac_err_id[0] = 0;
2736 fwrt->dump.lmac_err_id[1] = 0;
2737 fwrt->dump.umac_err_id = 0;
2856 if (fwrt->dump.active_wks == ~0UL)
2859 idx = ffz(fwrt->dump.active_wks);
2862 test_and_set_bit(fwrt->dump.wks[idx].idx, &fwrt->dump.active_wks))
2865 wk_data = &fwrt->dump.wks[idx];
3021 if (fwrt->dump.conf != FW_DBG_INVALID)
3023 fwrt->dump.conf);
3043 fwrt->dump.conf = conf_id;
3078 &fwrt->dump.wks[wk_idx].dump_data;
3079 if (!test_bit(wk_idx, &fwrt->dump.active_wks))
3084 IWL_ERR(fwrt, "dump trigger data is not set\n");
3089 IWL_ERR(fwrt, "Device is not enabled - cannot dump error\n");
3093 /* there's no point in fw dump if the bus is dead */
3095 IWL_ERR(fwrt, "Skip fw error dump since bus is dead\n");
3103 iwl_fw_error_ini_dump(fwrt, &fwrt->dump.wks[wk_idx].dump_data);
3105 iwl_fw_error_dump(fwrt, &fwrt->dump.wks[wk_idx].dump_data);
3115 IWL_DEBUG_FW_INFO(fwrt, "WRT: sending dump complete\n");
3131 clear_bit(wk_idx, &fwrt->dump.active_wks);
3144 IWL_WARN(fwrt, "WRT: Trigger %d is not active, aborting dump\n",
3160 if (fwrt->dump.active_wks == ~0UL)
3163 idx = ffz(fwrt->dump.active_wks);
3166 test_and_set_bit(fwrt->dump.wks[idx].idx, &fwrt->dump.active_wks))
3169 fwrt->dump.wks[idx].dump_data = *dump_data;
3182 &fwrt->dump.wks[idx].wk,
3193 container_of(wks, typeof(*fwrt), dump.wks[wks->idx]);
3214 if (!fwrt->dump.d3_debug_data) {
3215 fwrt->dump.d3_debug_data = kmalloc(cfg->d3_debug_data_length,
3217 if (!fwrt->dump.d3_debug_data) {
3226 fwrt->dump.d3_debug_data,
3232 fwrt->dump.d3_debug_data,