1bd294466SSara Sharon /****************************************************************************** 2bd294466SSara Sharon * 3bd294466SSara Sharon * This file is provided under a dual BSD/GPLv2 license. When using or 4bd294466SSara Sharon * redistributing this file, you may do so under either license. 5bd294466SSara Sharon * 6bd294466SSara Sharon * GPL LICENSE SUMMARY 7bd294466SSara Sharon * 8bd294466SSara Sharon * Copyright (C) 2018 Intel Corporation 9bd294466SSara Sharon * 10bd294466SSara Sharon * This program is free software; you can redistribute it and/or modify 11bd294466SSara Sharon * it under the terms of version 2 of the GNU General Public License as 12bd294466SSara Sharon * published by the Free Software Foundation. 13bd294466SSara Sharon * 14bd294466SSara Sharon * This program is distributed in the hope that it will be useful, but 15bd294466SSara Sharon * WITHOUT ANY WARRANTY; without even the implied warranty of 16bd294466SSara Sharon * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17bd294466SSara Sharon * General Public License for more details. 18bd294466SSara Sharon * 19bd294466SSara Sharon * The full GNU General Public License is included in this distribution 20bd294466SSara Sharon * in the file called COPYING. 21bd294466SSara Sharon * 22bd294466SSara Sharon * Contact Information: 23bd294466SSara Sharon * Intel Linux Wireless <linuxwifi@intel.com> 24bd294466SSara Sharon * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 25bd294466SSara Sharon * 26bd294466SSara Sharon * BSD LICENSE 27bd294466SSara Sharon * 28bd294466SSara Sharon * Copyright (C) 2018 Intel Corporation 29bd294466SSara Sharon * All rights reserved. 30bd294466SSara Sharon * 31bd294466SSara Sharon * Redistribution and use in source and binary forms, with or without 32bd294466SSara Sharon * modification, are permitted provided that the following conditions 33bd294466SSara Sharon * are met: 34bd294466SSara Sharon * 35bd294466SSara Sharon * * Redistributions of source code must retain the above copyright 36bd294466SSara Sharon * notice, this list of conditions and the following disclaimer. 37bd294466SSara Sharon * * Redistributions in binary form must reproduce the above copyright 38bd294466SSara Sharon * notice, this list of conditions and the following disclaimer in 39bd294466SSara Sharon * the documentation and/or other materials provided with the 40bd294466SSara Sharon * distribution. 41bd294466SSara Sharon * * Neither the name Intel Corporation nor the names of its 42bd294466SSara Sharon * contributors may be used to endorse or promote products derived 43bd294466SSara Sharon * from this software without specific prior written permission. 44bd294466SSara Sharon * 45bd294466SSara Sharon * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 46bd294466SSara Sharon * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 47bd294466SSara Sharon * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 48bd294466SSara Sharon * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 49bd294466SSara Sharon * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 50bd294466SSara Sharon * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 51bd294466SSara Sharon * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 52bd294466SSara Sharon * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 53bd294466SSara Sharon * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 54bd294466SSara Sharon * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 55bd294466SSara Sharon * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 56bd294466SSara Sharon * 57bd294466SSara Sharon *****************************************************************************/ 58bd294466SSara Sharon #ifndef __iwl_fw_dbg_tlv_h__ 59bd294466SSara Sharon #define __iwl_fw_dbg_tlv_h__ 60bd294466SSara Sharon 61bd294466SSara Sharon #include <linux/bitops.h> 62bd294466SSara Sharon 63bd294466SSara Sharon /* 64bd294466SSara Sharon * struct iwl_fw_ini_header: Common Header for all debug group TLV's structures 65bd294466SSara Sharon * @tlv_version: version info 66bd294466SSara Sharon * @apply_point: &enum iwl_fw_ini_apply_point 67bd294466SSara Sharon * @data: TLV data followed 68bd294466SSara Sharon **/ 69bd294466SSara Sharon struct iwl_fw_ini_header { 70bd294466SSara Sharon __le32 tlv_version; 71bd294466SSara Sharon __le32 apply_point; 72bd294466SSara Sharon u8 data[]; 73d7febc2eSShahar S Matityahu } __packed; /* FW_DEBUG_TLV_HEADER_S */ 74bd294466SSara Sharon 75bd294466SSara Sharon /** 76bd294466SSara Sharon * struct iwl_fw_ini_allocation_tlv - (IWL_FW_INI_TLV_TYPE_BUFFER_ALLOCATION) 77bd294466SSara Sharon * buffer allocation TLV - for debug 78bd294466SSara Sharon * 79bd294466SSara Sharon * @iwl_fw_ini_header: header 80bd294466SSara Sharon * @allocation_id: &enum iwl_fw_ini_allocation_id - to bind allocation and hcmd 81bd294466SSara Sharon * if needed (DBGC1/DBGC2/SDFX/...) 82bd294466SSara Sharon * @buffer_location: type of iwl_fw_ini_buffer_location 83bd294466SSara Sharon * @size: size in bytes 84bd294466SSara Sharon * @max_fragments: the maximum allowed fragmentation in the desired memory 85bd294466SSara Sharon * allocation above 86bd294466SSara Sharon * @min_frag_size: the minimum allowed fragmentation size in bytes 87bd294466SSara Sharon */ 88bd294466SSara Sharon struct iwl_fw_ini_allocation_tlv { 89bd294466SSara Sharon struct iwl_fw_ini_header header; 90bd294466SSara Sharon __le32 allocation_id; 91bd294466SSara Sharon __le32 buffer_location; 92bd294466SSara Sharon __le32 size; 93bd294466SSara Sharon __le32 max_fragments; 94bd294466SSara Sharon __le32 min_frag_size; 95d7febc2eSShahar S Matityahu } __packed; /* FW_DEBUG_TLV_BUFFER_ALLOCATION_TLV_S_VER_1 */ 96bd294466SSara Sharon 97bd294466SSara Sharon /** 98bd294466SSara Sharon * struct iwl_fw_ini_hcmd (IWL_FW_INI_TLV_TYPE_HCMD) 99bd294466SSara Sharon * Generic Host command pass through TLV 100bd294466SSara Sharon * 101bd294466SSara Sharon * @id: the debug configuration command type for instance: 0xf6 / 0xf5 / DHC 102bd294466SSara Sharon * @group: the desired cmd group 103bd294466SSara Sharon * @padding: all zeros for dword alignment 104bd294466SSara Sharon * @data: all of the relevant command (0xf6/0xf5) to be sent 105bd294466SSara Sharon */ 106bd294466SSara Sharon struct iwl_fw_ini_hcmd { 107bd294466SSara Sharon u8 id; 108bd294466SSara Sharon u8 group; 109bd294466SSara Sharon __le16 padding; 110bd294466SSara Sharon u8 data[0]; 111d7febc2eSShahar S Matityahu } __packed; /* FW_DEBUG_TLV_HCMD_DATA_S */ 112bd294466SSara Sharon 113bd294466SSara Sharon /** 114bd294466SSara Sharon * struct iwl_fw_ini_hcmd_tlv 115bd294466SSara Sharon * @header: header 116bd294466SSara Sharon * @hcmd: a variable length host-command to be sent to apply the configuration. 117bd294466SSara Sharon */ 118bd294466SSara Sharon struct iwl_fw_ini_hcmd_tlv { 119bd294466SSara Sharon struct iwl_fw_ini_header header; 120bd294466SSara Sharon struct iwl_fw_ini_hcmd hcmd; 121d7febc2eSShahar S Matityahu } __packed; /* FW_DEBUG_TLV_HCMD_S_VER_1 */ 122bd294466SSara Sharon 123bd294466SSara Sharon /* 124bd294466SSara Sharon * struct iwl_fw_ini_debug_flow_tlv (IWL_FW_INI_TLV_TYPE_DEBUG_FLOW) 125bd294466SSara Sharon * 126bd294466SSara Sharon * @header: header 127bd294466SSara Sharon * @debug_flow_cfg: &enum iwl_fw_ini_debug_flow 128bd294466SSara Sharon */ 129bd294466SSara Sharon struct iwl_fw_ini_debug_flow_tlv { 130bd294466SSara Sharon struct iwl_fw_ini_header header; 131bd294466SSara Sharon __le32 debug_flow_cfg; 132d7febc2eSShahar S Matityahu } __packed; /* FW_DEBUG_TLV_FLOW_TLV_S_VER_1 */ 133bd294466SSara Sharon 1342d0c6608SShahar S Matityahu #define IWL_FW_INI_MAX_REGION_ID 64 135bd294466SSara Sharon #define IWL_FW_INI_MAX_NAME 32 1369deb52c6SShahar S Matityahu 1379deb52c6SShahar S Matityahu /** 1389deb52c6SShahar S Matityahu * struct iwl_fw_ini_region_cfg_internal - meta data of internal memory region 1399deb52c6SShahar S Matityahu * @num_of_range: the amount of ranges in the region 1409deb52c6SShahar S Matityahu * @range_data_size: size of the data to read per range, in bytes. 1419deb52c6SShahar S Matityahu */ 1429deb52c6SShahar S Matityahu struct iwl_fw_ini_region_cfg_internal { 1439deb52c6SShahar S Matityahu __le32 num_of_ranges; 1449deb52c6SShahar S Matityahu __le32 range_data_size; 1459deb52c6SShahar S Matityahu } __packed; /* FW_DEBUG_TLV_REGION_NIC_INTERNAL_RANGES_S */ 1469deb52c6SShahar S Matityahu 1479deb52c6SShahar S Matityahu /** 1489deb52c6SShahar S Matityahu * struct iwl_fw_ini_region_cfg_fifos - meta data of fifos region 1499deb52c6SShahar S Matityahu * @lmac1_id: bit map of lmac1 fifos to include in the region. 1509deb52c6SShahar S Matityahu * @lmac2_id: bit map of lmac2 fifos to include in the region. 1519deb52c6SShahar S Matityahu * @num_of_registers: number of prph registers in the region, each register is 1529deb52c6SShahar S Matityahu * 4 bytes size. 1539deb52c6SShahar S Matityahu * @header_only: none zero value indicates that this region does not include 1549deb52c6SShahar S Matityahu * fifo data and includes only the given registers. 1559deb52c6SShahar S Matityahu */ 1569deb52c6SShahar S Matityahu struct iwl_fw_ini_region_cfg_fifos { 1579deb52c6SShahar S Matityahu __le32 lmac1_id; 1589deb52c6SShahar S Matityahu __le32 lmac2_id; 1599deb52c6SShahar S Matityahu __le32 num_of_registers; 1609deb52c6SShahar S Matityahu __le32 header_only; 1619deb52c6SShahar S Matityahu } __packed; /* FW_DEBUG_TLV_REGION_FIFOS_S */ 1629deb52c6SShahar S Matityahu 163bd294466SSara Sharon /** 164bd294466SSara Sharon * struct iwl_fw_ini_region_cfg 165bd294466SSara Sharon * @region_id: ID of this dump configuration 166bd294466SSara Sharon * @region_type: &enum iwl_fw_ini_region_type 167bd294466SSara Sharon * @num_regions: amount of regions in the address array. 168bd294466SSara Sharon * @name_len: name length 169bd294466SSara Sharon * @name: file name to use for this region 1709deb52c6SShahar S Matityahu * @internal: used in case the region uses internal memory. 171bb0306bdSShahar S Matityahu * @allocation_id: For DRAM type field substitutes for allocation_id 1729deb52c6SShahar S Matityahu * @fifos: used in case of fifos region. 1739deb52c6SShahar S Matityahu * @offset: offset to use for each memory base address 1749deb52c6SShahar S Matityahu * @start_addr: array of addresses. 175bd294466SSara Sharon */ 176bd294466SSara Sharon struct iwl_fw_ini_region_cfg { 177bd294466SSara Sharon __le32 region_id; 178bd294466SSara Sharon __le32 region_type; 179bd294466SSara Sharon __le32 name_len; 180bd294466SSara Sharon u8 name[IWL_FW_INI_MAX_NAME]; 181bd294466SSara Sharon union { 1829deb52c6SShahar S Matityahu struct iwl_fw_ini_region_cfg_internal internal; 183bd294466SSara Sharon __le32 allocation_id; 1849deb52c6SShahar S Matityahu struct iwl_fw_ini_region_cfg_fifos fifos; 185bd294466SSara Sharon }; 1869deb52c6SShahar S Matityahu __le32 offset; 187bd294466SSara Sharon __le32 start_addr[]; 188a9f802b6SShahar S Matityahu } __packed; /* FW_DEBUG_TLV_REGION_CONFIG_S */ 189bd294466SSara Sharon 190bd294466SSara Sharon /** 191bd294466SSara Sharon * struct iwl_fw_ini_region_tlv - (IWL_FW_INI_TLV_TYPE_REGION_CFG) 192bd294466SSara Sharon * DUMP sections define IDs and triggers that use those IDs TLV 193bd294466SSara Sharon * @header: header 194bd294466SSara Sharon * @num_regions: how many different region section and IDs are coming next 195a9f802b6SShahar S Matityahu * @region_config: list of dump configurations 196bd294466SSara Sharon */ 197bd294466SSara Sharon struct iwl_fw_ini_region_tlv { 198bd294466SSara Sharon struct iwl_fw_ini_header header; 199bd294466SSara Sharon __le32 num_regions; 200bd294466SSara Sharon struct iwl_fw_ini_region_cfg region_config[]; 201a9f802b6SShahar S Matityahu } __packed; /* FW_DEBUG_TLV_REGIONS_S_VER_1 */ 202bd294466SSara Sharon 203bd294466SSara Sharon /** 204bd294466SSara Sharon * struct iwl_fw_ini_trigger - (IWL_FW_INI_TLV_TYPE_DUMP_CFG) 205bd294466SSara Sharon * Region sections define IDs and triggers that use those IDs TLV 206bd294466SSara Sharon * 207d7febc2eSShahar S Matityahu * @trigger_id: enum &iwl_fw_ini_trigger_id 208bd294466SSara Sharon * @ignore_default: override FW TLV with binary TLV 209bd294466SSara Sharon * @dump_delay: delay from trigger fire to dump, in usec 210bd294466SSara Sharon * @occurrences: max amount of times to be fired 211bd294466SSara Sharon * @ignore_consec: ignore consecutive triggers, in usec 212bd294466SSara Sharon * @force_restart: force FW restart 213a024016fSSara Sharon * @multi_dut: initiate debug dump data on several DUTs 214bd294466SSara Sharon * @trigger_data: generic data to be utilized per trigger 215bd294466SSara Sharon * @num_regions: number of dump regions defined for this trigger 216bd294466SSara Sharon * @data: region IDs 217bd294466SSara Sharon */ 218bd294466SSara Sharon struct iwl_fw_ini_trigger { 219bd294466SSara Sharon __le32 trigger_id; 220bd294466SSara Sharon __le32 ignore_default; 221bd294466SSara Sharon __le32 dump_delay; 222bd294466SSara Sharon __le32 occurrences; 223bd294466SSara Sharon __le32 ignore_consec; 224bd294466SSara Sharon __le32 force_restart; 225a024016fSSara Sharon __le32 multi_dut; 226bd294466SSara Sharon __le32 trigger_data; 227bd294466SSara Sharon __le32 num_regions; 228bd294466SSara Sharon __le32 data[]; 229a9f802b6SShahar S Matityahu } __packed; /* FW_TLV_DEBUG_TRIGGER_CONFIG_S */ 230bd294466SSara Sharon 231bd294466SSara Sharon /** 232bd294466SSara Sharon * struct iwl_fw_ini_trigger_tlv - (IWL_FW_INI_TLV_TYPE_TRIGGERS_CFG) 233bd294466SSara Sharon * DUMP sections define IDs and triggers that use those IDs TLV 234bd294466SSara Sharon * 235bd294466SSara Sharon * @header: header 236bd294466SSara Sharon * @num_triggers: how many different triggers section and IDs are coming next 237bd294466SSara Sharon * @trigger_config: list of trigger configurations 238bd294466SSara Sharon */ 239bd294466SSara Sharon struct iwl_fw_ini_trigger_tlv { 240bd294466SSara Sharon struct iwl_fw_ini_header header; 241bd294466SSara Sharon __le32 num_triggers; 242bd294466SSara Sharon struct iwl_fw_ini_trigger trigger_config[]; 243a9f802b6SShahar S Matityahu } __packed; /* FW_TLV_DEBUG_TRIGGERS_S_VER_1 */ 244bd294466SSara Sharon 245bd294466SSara Sharon /** 246bd294466SSara Sharon * enum iwl_fw_ini_trigger_id 247bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_FW_ASSERT: FW assert 248bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_FW_HW_ERROR: HW assert 249ffb677dcSShahar S Matityahu * @IWL_FW_TRIGGER_ID_FW_TFD_Q_HANG: TFD queue hang 250ffb677dcSShahar S Matityahu * @IWL_FW_TRIGGER_ID_FW_DEBUG_HOST_TRIGGER: FW debug notification 251ffb677dcSShahar S Matityahu * @IWL_FW_TRIGGER_ID_FW_GENERIC_NOTIFOCATION: FW generic notification 252bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_USER_TRIGGER: User trigger 253bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_PEER_CLIENT_INACTIVITY: peer inactivity 254bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_TX_LATENCY_THRESHOLD_CROSSED: TX latency 255bd294466SSara Sharon * threshold was crossed 256bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_TX_RESPONSE_STATUS_FAILED: TX failed 257bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_OS_REQ_DEAUTH_PEER: Deauth initiated by host 258bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_STOP_GO_REQUEST: stop GO request 259bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_START_GO_REQUEST: start GO request 260bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_JOIN_GROUP_REQUEST: join P2P group request 261bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_SCAN_START: scan started event 262bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_SCAN_SUBMITTED: undefined 263bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_SCAN_PARAMS: undefined 264bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_CHECK_FOR_HANG: undefined 265bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_BAR_RECEIVED: BAR frame was received 266bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_AGG_TX_RESPONSE_STATUS_FAILED: agg TX failed 267bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_EAPOL_TX_RESPONSE_FAILED: EAPOL TX failed 268bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_FAKE_TX_RESPONSE_SUSPECTED: suspicious TX response 269bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_AUTH_REQ_FROM_ASSOC_CLIENT: received suspicious auth 270bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_ROAM_COMPLETE: roaming was completed 271bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_AUTH_ASSOC_FAST_FAILED: fast assoc failed 272bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_D3_START: D3 start 273bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_D3_END: D3 end 274bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_BSS_MISSED_BEACONS: missed beacon events 275bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_P2P_CLIENT_MISSED_BEACONS: P2P missed beacon events 276bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_PEER_CLIENT_TX_FAILURES: undefined 277bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_TX_WFD_ACTION_FRAME_FAILED: undefined 278bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_AUTH_ASSOC_FAILED: authentication / association 279bd294466SSara Sharon * failed 280bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_SCAN_COMPLETE: scan complete event 281bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_SCAN_ABORT: scan abort complete 282bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_NIC_ALIVE: nic alive message was received 283bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_CHANNEL_SWITCH_COMPLETE: CSA was completed 284bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_NUM: number of trigger IDs 285bd294466SSara Sharon */ 286bd294466SSara Sharon enum iwl_fw_ini_trigger_id { 287ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_INVALID = 0, 288ffb677dcSShahar S Matityahu 289bd294466SSara Sharon /* Errors triggers */ 290bd294466SSara Sharon IWL_FW_TRIGGER_ID_FW_ASSERT = 1, 291ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_FW_HW_ERROR = 2, 292ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_FW_TFD_Q_HANG = 3, 293ffb677dcSShahar S Matityahu 294ffb677dcSShahar S Matityahu /* FW triggers */ 295ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_FW_DEBUG_HOST_TRIGGER = 4, 296ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_FW_GENERIC_NOTIFOCATION = 5, 297ffb677dcSShahar S Matityahu 298ffb677dcSShahar S Matityahu /* User trigger */ 299ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_USER_TRIGGER = 6, 300ffb677dcSShahar S Matityahu 301bd294466SSara Sharon /* Host triggers */ 302ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_PEER_CLIENT_INACTIVITY = 7, 303ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_TX_LATENCY_THRESHOLD_CROSSED = 8, 304ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_TX_RESPONSE_STATUS_FAILED = 9, 305ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_OS_REQ_DEAUTH_PEER = 10, 306ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_STOP_GO_REQUEST = 11, 307ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_START_GO_REQUEST = 12, 308ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_JOIN_GROUP_REQUEST = 13, 309ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_SCAN_START = 14, 310ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_SCAN_SUBMITTED = 15, 311ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_SCAN_PARAMS = 16, 312ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_CHECK_FOR_HANG = 17, 313ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_BAR_RECEIVED = 18, 314ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_AGG_TX_RESPONSE_STATUS_FAILED = 19, 315ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_EAPOL_TX_RESPONSE_FAILED = 20, 316ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_FAKE_TX_RESPONSE_SUSPECTED = 21, 317ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_AUTH_REQ_FROM_ASSOC_CLIENT = 22, 318ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_ROAM_COMPLETE = 23, 319ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_AUTH_ASSOC_FAST_FAILED = 24, 320ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_D3_START = 25, 321ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_D3_END = 26, 322ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_BSS_MISSED_BEACONS = 27, 323ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_P2P_CLIENT_MISSED_BEACONS = 28, 324ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_PEER_CLIENT_TX_FAILURES = 29, 325ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_TX_WFD_ACTION_FRAME_FAILED = 30, 326ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_AUTH_ASSOC_FAILED = 31, 327ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_SCAN_COMPLETE = 32, 328ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_SCAN_ABORT = 33, 329ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_NIC_ALIVE = 34, 330ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_CHANNEL_SWITCH_COMPLETE = 35, 331ffb677dcSShahar S Matityahu 332bd294466SSara Sharon IWL_FW_TRIGGER_ID_NUM, 333ffb677dcSShahar S Matityahu }; /* FW_DEBUG_TLV_TRIGGER_ID_E_VER_1 */ 334bd294466SSara Sharon 335bd294466SSara Sharon /** 336bd294466SSara Sharon * enum iwl_fw_ini_apply_point 337bd294466SSara Sharon * @IWL_FW_INI_APPLY_INVALID: invalid 338bd294466SSara Sharon * @IWL_FW_INI_APPLY_EARLY: pre loading FW 339bd294466SSara Sharon * @IWL_FW_INI_APPLY_AFTER_ALIVE: first cmd from host after alive 340bd294466SSara Sharon * @IWL_FW_INI_APPLY_POST_INIT: last cmd in initialization sequence 341bd294466SSara Sharon * @IWL_FW_INI_APPLY_MISSED_BEACONS: missed beacons notification 342bd294466SSara Sharon * @IWL_FW_INI_APPLY_SCAN_COMPLETE: scan completed 343bd294466SSara Sharon * @IWL_FW_INI_APPLY_NUM: number of apply points 344bd294466SSara Sharon */ 345bd294466SSara Sharon enum iwl_fw_ini_apply_point { 346bd294466SSara Sharon IWL_FW_INI_APPLY_INVALID, 347bd294466SSara Sharon IWL_FW_INI_APPLY_EARLY, 348bd294466SSara Sharon IWL_FW_INI_APPLY_AFTER_ALIVE, 349bd294466SSara Sharon IWL_FW_INI_APPLY_POST_INIT, 350bd294466SSara Sharon IWL_FW_INI_APPLY_MISSED_BEACONS, 351bd294466SSara Sharon IWL_FW_INI_APPLY_SCAN_COMPLETE, 352bd294466SSara Sharon IWL_FW_INI_APPLY_NUM, 353d7febc2eSShahar S Matityahu }; /* FW_DEBUG_TLV_APPLY_POINT_E_VER_1 */ 354bd294466SSara Sharon 355bd294466SSara Sharon /** 356bd294466SSara Sharon * enum iwl_fw_ini_allocation_id 357bd294466SSara Sharon * @IWL_FW_INI_ALLOCATION_INVALID: invalid 358bd294466SSara Sharon * @IWL_FW_INI_ALLOCATION_ID_DBGC1: allocation meant for DBGC1 configuration 359bd294466SSara Sharon * @IWL_FW_INI_ALLOCATION_ID_DBGC2: allocation meant for DBGC2 configuration 360bd294466SSara Sharon * @IWL_FW_INI_ALLOCATION_ID_DBGC3: allocation meant for DBGC3 configuration 361bd294466SSara Sharon * @IWL_FW_INI_ALLOCATION_ID_SDFX: for SDFX module 362bd294466SSara Sharon * @IWL_FW_INI_ALLOCATION_ID_FW_DUMP: used for crash and runtime dumps 363bd294466SSara Sharon * @IWL_FW_INI_ALLOCATION_ID_USER_DEFINED: for future user scenarios 364bd294466SSara Sharon */ 365bd294466SSara Sharon enum iwl_fw_ini_allocation_id { 366bd294466SSara Sharon IWL_FW_INI_ALLOCATION_INVALID, 367bd294466SSara Sharon IWL_FW_INI_ALLOCATION_ID_DBGC1, 368bd294466SSara Sharon IWL_FW_INI_ALLOCATION_ID_DBGC2, 369bd294466SSara Sharon IWL_FW_INI_ALLOCATION_ID_DBGC3, 370bd294466SSara Sharon IWL_FW_INI_ALLOCATION_ID_SDFX, 371bd294466SSara Sharon IWL_FW_INI_ALLOCATION_ID_FW_DUMP, 372bd294466SSara Sharon IWL_FW_INI_ALLOCATION_ID_USER_DEFINED, 373d7febc2eSShahar S Matityahu }; /* FW_DEBUG_TLV_ALLOCATION_ID_E_VER_1 */ 374bd294466SSara Sharon 375bd294466SSara Sharon /** 376bd294466SSara Sharon * enum iwl_fw_ini_buffer_location 377bd294466SSara Sharon * @IWL_FW_INI_LOCATION_INVALID: invalid 378bd294466SSara Sharon * @IWL_FW_INI_LOCATION_SRAM_PATH: SRAM location 379bd294466SSara Sharon * @IWL_FW_INI_LOCATION_DRAM_PATH: DRAM location 380bd294466SSara Sharon */ 381bd294466SSara Sharon enum iwl_fw_ini_buffer_location { 38256ea8e3bSShahar S Matityahu IWL_FW_INI_LOCATION_INVALID, 383bd294466SSara Sharon IWL_FW_INI_LOCATION_SRAM_PATH, 384bd294466SSara Sharon IWL_FW_INI_LOCATION_DRAM_PATH, 385d7febc2eSShahar S Matityahu }; /* FW_DEBUG_TLV_BUFFER_LOCATION_E_VER_1 */ 386bd294466SSara Sharon 387bd294466SSara Sharon /** 388bd294466SSara Sharon * enum iwl_fw_ini_debug_flow 389bd294466SSara Sharon * @IWL_FW_INI_DEBUG_INVALID: invalid 390bd294466SSara Sharon * @IWL_FW_INI_DEBUG_DBTR_FLOW: undefined 391bd294466SSara Sharon * @IWL_FW_INI_DEBUG_TB2DTF_FLOW: undefined 392bd294466SSara Sharon */ 393bd294466SSara Sharon enum iwl_fw_ini_debug_flow { 394bd294466SSara Sharon IWL_FW_INI_DEBUG_INVALID, 395bd294466SSara Sharon IWL_FW_INI_DEBUG_DBTR_FLOW, 396bd294466SSara Sharon IWL_FW_INI_DEBUG_TB2DTF_FLOW, 397d7febc2eSShahar S Matityahu }; /* FW_DEBUG_TLV_FLOW_E_VER_1 */ 398bd294466SSara Sharon 399bd294466SSara Sharon /** 400bd294466SSara Sharon * enum iwl_fw_ini_region_type 401bd294466SSara Sharon * @IWL_FW_INI_REGION_INVALID: invalid 402bd294466SSara Sharon * @IWL_FW_INI_REGION_DEVICE_MEMORY: device internal memory 403bd294466SSara Sharon * @IWL_FW_INI_REGION_PERIPHERY_MAC: periphery registers of MAC 404bd294466SSara Sharon * @IWL_FW_INI_REGION_PERIPHERY_PHY: periphery registers of PHY 405bd294466SSara Sharon * @IWL_FW_INI_REGION_PERIPHERY_AUX: periphery registers of AUX 406bd294466SSara Sharon * @IWL_FW_INI_REGION_DRAM_BUFFER: DRAM buffer 407bd294466SSara Sharon * @IWL_FW_INI_REGION_DRAM_IMR: IMR memory 408bd294466SSara Sharon * @IWL_FW_INI_REGION_INTERNAL_BUFFER: undefined 409bd294466SSara Sharon * @IWL_FW_INI_REGION_TXF: TX fifos 410bd294466SSara Sharon * @IWL_FW_INI_REGION_RXF: RX fifo 411bd294466SSara Sharon * @IWL_FW_INI_REGION_PAGING: paging memory 412bd294466SSara Sharon * @IWL_FW_INI_REGION_CSR: CSR registers 413bd294466SSara Sharon * @IWL_FW_INI_REGION_NUM: number of region types 414bd294466SSara Sharon */ 415bd294466SSara Sharon enum iwl_fw_ini_region_type { 416bd294466SSara Sharon IWL_FW_INI_REGION_INVALID, 417bd294466SSara Sharon IWL_FW_INI_REGION_DEVICE_MEMORY, 418bd294466SSara Sharon IWL_FW_INI_REGION_PERIPHERY_MAC, 419bd294466SSara Sharon IWL_FW_INI_REGION_PERIPHERY_PHY, 420bd294466SSara Sharon IWL_FW_INI_REGION_PERIPHERY_AUX, 421bd294466SSara Sharon IWL_FW_INI_REGION_DRAM_BUFFER, 422bd294466SSara Sharon IWL_FW_INI_REGION_DRAM_IMR, 423bd294466SSara Sharon IWL_FW_INI_REGION_INTERNAL_BUFFER, 424bd294466SSara Sharon IWL_FW_INI_REGION_TXF, 425bd294466SSara Sharon IWL_FW_INI_REGION_RXF, 426bd294466SSara Sharon IWL_FW_INI_REGION_PAGING, 427bd294466SSara Sharon IWL_FW_INI_REGION_CSR, 428bd294466SSara Sharon IWL_FW_INI_REGION_NUM 429d7febc2eSShahar S Matityahu }; /* FW_DEBUG_TLV_REGION_TYPE_E_VER_1 */ 430bd294466SSara Sharon 431bd294466SSara Sharon #endif 432