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 136bd294466SSara Sharon /** 137bd294466SSara Sharon * struct iwl_fw_ini_region_cfg 138bd294466SSara Sharon * @region_id: ID of this dump configuration 139bd294466SSara Sharon * @region_type: &enum iwl_fw_ini_region_type 140bd294466SSara Sharon * @num_regions: amount of regions in the address array. 141bd294466SSara Sharon * @name_len: name length 142bd294466SSara Sharon * @name: file name to use for this region 143bb0306bdSShahar S Matityahu * @num_of_range: the amount of ranges in the region. 144bb0306bdSShahar S Matityahu * @allocation_id: For DRAM type field substitutes for allocation_id 145bb0306bdSShahar S Matityahu * @range_data_size: size of the data to read per range, in bytes. 146bb0306bdSShahar S Matityahu * @start_addr: array of addresses. for type IWL_FW_INI_REGION_DRAM_BUFFER, 147bb0306bdSShahar S Matityahu * 1 entry. For any other case, num_of_ranges entries. 148bd294466SSara Sharon */ 149bd294466SSara Sharon struct iwl_fw_ini_region_cfg { 150bd294466SSara Sharon __le32 region_id; 151bd294466SSara Sharon __le32 region_type; 152bd294466SSara Sharon __le32 name_len; 153bd294466SSara Sharon u8 name[IWL_FW_INI_MAX_NAME]; 154bd294466SSara Sharon union { 155bb0306bdSShahar S Matityahu __le32 num_of_ranges; 156bd294466SSara Sharon __le32 allocation_id; 157bd294466SSara Sharon }; 158bb0306bdSShahar S Matityahu __le32 range_data_size; 159bd294466SSara Sharon __le32 start_addr[]; 160a9f802b6SShahar S Matityahu } __packed; /* FW_DEBUG_TLV_REGION_CONFIG_S */ 161bd294466SSara Sharon 162bd294466SSara Sharon /** 163bd294466SSara Sharon * struct iwl_fw_ini_region_tlv - (IWL_FW_INI_TLV_TYPE_REGION_CFG) 164bd294466SSara Sharon * DUMP sections define IDs and triggers that use those IDs TLV 165bd294466SSara Sharon * @header: header 166bd294466SSara Sharon * @num_regions: how many different region section and IDs are coming next 167a9f802b6SShahar S Matityahu * @region_config: list of dump configurations 168bd294466SSara Sharon */ 169bd294466SSara Sharon struct iwl_fw_ini_region_tlv { 170bd294466SSara Sharon struct iwl_fw_ini_header header; 171bd294466SSara Sharon __le32 num_regions; 172bd294466SSara Sharon struct iwl_fw_ini_region_cfg region_config[]; 173a9f802b6SShahar S Matityahu } __packed; /* FW_DEBUG_TLV_REGIONS_S_VER_1 */ 174bd294466SSara Sharon 175bd294466SSara Sharon /** 176bd294466SSara Sharon * struct iwl_fw_ini_trigger - (IWL_FW_INI_TLV_TYPE_DUMP_CFG) 177bd294466SSara Sharon * Region sections define IDs and triggers that use those IDs TLV 178bd294466SSara Sharon * 179d7febc2eSShahar S Matityahu * @trigger_id: enum &iwl_fw_ini_trigger_id 180bd294466SSara Sharon * @ignore_default: override FW TLV with binary TLV 181bd294466SSara Sharon * @dump_delay: delay from trigger fire to dump, in usec 182bd294466SSara Sharon * @occurrences: max amount of times to be fired 183bd294466SSara Sharon * @ignore_consec: ignore consecutive triggers, in usec 184bd294466SSara Sharon * @force_restart: force FW restart 185a024016fSSara Sharon * @multi_dut: initiate debug dump data on several DUTs 186bd294466SSara Sharon * @trigger_data: generic data to be utilized per trigger 187bd294466SSara Sharon * @num_regions: number of dump regions defined for this trigger 188bd294466SSara Sharon * @data: region IDs 189bd294466SSara Sharon */ 190bd294466SSara Sharon struct iwl_fw_ini_trigger { 191bd294466SSara Sharon __le32 trigger_id; 192bd294466SSara Sharon __le32 ignore_default; 193bd294466SSara Sharon __le32 dump_delay; 194bd294466SSara Sharon __le32 occurrences; 195bd294466SSara Sharon __le32 ignore_consec; 196bd294466SSara Sharon __le32 force_restart; 197a024016fSSara Sharon __le32 multi_dut; 198bd294466SSara Sharon __le32 trigger_data; 199bd294466SSara Sharon __le32 num_regions; 200bd294466SSara Sharon __le32 data[]; 201a9f802b6SShahar S Matityahu } __packed; /* FW_TLV_DEBUG_TRIGGER_CONFIG_S */ 202bd294466SSara Sharon 203bd294466SSara Sharon /** 204bd294466SSara Sharon * struct iwl_fw_ini_trigger_tlv - (IWL_FW_INI_TLV_TYPE_TRIGGERS_CFG) 205bd294466SSara Sharon * DUMP sections define IDs and triggers that use those IDs TLV 206bd294466SSara Sharon * 207bd294466SSara Sharon * @header: header 208bd294466SSara Sharon * @num_triggers: how many different triggers section and IDs are coming next 209bd294466SSara Sharon * @trigger_config: list of trigger configurations 210bd294466SSara Sharon */ 211bd294466SSara Sharon struct iwl_fw_ini_trigger_tlv { 212bd294466SSara Sharon struct iwl_fw_ini_header header; 213bd294466SSara Sharon __le32 num_triggers; 214bd294466SSara Sharon struct iwl_fw_ini_trigger trigger_config[]; 215a9f802b6SShahar S Matityahu } __packed; /* FW_TLV_DEBUG_TRIGGERS_S_VER_1 */ 216bd294466SSara Sharon 217bd294466SSara Sharon /** 218bd294466SSara Sharon * enum iwl_fw_ini_trigger_id 219bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_FW_ASSERT: FW assert 220bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_FW_HW_ERROR: HW assert 221ffb677dcSShahar S Matityahu * @IWL_FW_TRIGGER_ID_FW_TFD_Q_HANG: TFD queue hang 222ffb677dcSShahar S Matityahu * @IWL_FW_TRIGGER_ID_FW_DEBUG_HOST_TRIGGER: FW debug notification 223ffb677dcSShahar S Matityahu * @IWL_FW_TRIGGER_ID_FW_GENERIC_NOTIFOCATION: FW generic notification 224bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_USER_TRIGGER: User trigger 225bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_PEER_CLIENT_INACTIVITY: peer inactivity 226bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_TX_LATENCY_THRESHOLD_CROSSED: TX latency 227bd294466SSara Sharon * threshold was crossed 228bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_TX_RESPONSE_STATUS_FAILED: TX failed 229bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_OS_REQ_DEAUTH_PEER: Deauth initiated by host 230bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_STOP_GO_REQUEST: stop GO request 231bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_START_GO_REQUEST: start GO request 232bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_JOIN_GROUP_REQUEST: join P2P group request 233bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_SCAN_START: scan started event 234bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_SCAN_SUBMITTED: undefined 235bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_SCAN_PARAMS: undefined 236bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_CHECK_FOR_HANG: undefined 237bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_BAR_RECEIVED: BAR frame was received 238bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_AGG_TX_RESPONSE_STATUS_FAILED: agg TX failed 239bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_EAPOL_TX_RESPONSE_FAILED: EAPOL TX failed 240bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_FAKE_TX_RESPONSE_SUSPECTED: suspicious TX response 241bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_AUTH_REQ_FROM_ASSOC_CLIENT: received suspicious auth 242bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_ROAM_COMPLETE: roaming was completed 243bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_AUTH_ASSOC_FAST_FAILED: fast assoc failed 244bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_D3_START: D3 start 245bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_D3_END: D3 end 246bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_BSS_MISSED_BEACONS: missed beacon events 247bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_P2P_CLIENT_MISSED_BEACONS: P2P missed beacon events 248bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_PEER_CLIENT_TX_FAILURES: undefined 249bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_TX_WFD_ACTION_FRAME_FAILED: undefined 250bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_AUTH_ASSOC_FAILED: authentication / association 251bd294466SSara Sharon * failed 252bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_SCAN_COMPLETE: scan complete event 253bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_SCAN_ABORT: scan abort complete 254bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_NIC_ALIVE: nic alive message was received 255bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_HOST_CHANNEL_SWITCH_COMPLETE: CSA was completed 256bd294466SSara Sharon * @IWL_FW_TRIGGER_ID_NUM: number of trigger IDs 257bd294466SSara Sharon */ 258bd294466SSara Sharon enum iwl_fw_ini_trigger_id { 259ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_INVALID = 0, 260ffb677dcSShahar S Matityahu 261bd294466SSara Sharon /* Errors triggers */ 262bd294466SSara Sharon IWL_FW_TRIGGER_ID_FW_ASSERT = 1, 263ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_FW_HW_ERROR = 2, 264ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_FW_TFD_Q_HANG = 3, 265ffb677dcSShahar S Matityahu 266ffb677dcSShahar S Matityahu /* FW triggers */ 267ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_FW_DEBUG_HOST_TRIGGER = 4, 268ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_FW_GENERIC_NOTIFOCATION = 5, 269ffb677dcSShahar S Matityahu 270ffb677dcSShahar S Matityahu /* User trigger */ 271ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_USER_TRIGGER = 6, 272ffb677dcSShahar S Matityahu 273bd294466SSara Sharon /* Host triggers */ 274ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_PEER_CLIENT_INACTIVITY = 7, 275ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_TX_LATENCY_THRESHOLD_CROSSED = 8, 276ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_TX_RESPONSE_STATUS_FAILED = 9, 277ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_OS_REQ_DEAUTH_PEER = 10, 278ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_STOP_GO_REQUEST = 11, 279ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_START_GO_REQUEST = 12, 280ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_JOIN_GROUP_REQUEST = 13, 281ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_SCAN_START = 14, 282ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_SCAN_SUBMITTED = 15, 283ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_SCAN_PARAMS = 16, 284ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_CHECK_FOR_HANG = 17, 285ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_BAR_RECEIVED = 18, 286ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_AGG_TX_RESPONSE_STATUS_FAILED = 19, 287ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_EAPOL_TX_RESPONSE_FAILED = 20, 288ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_FAKE_TX_RESPONSE_SUSPECTED = 21, 289ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_AUTH_REQ_FROM_ASSOC_CLIENT = 22, 290ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_ROAM_COMPLETE = 23, 291ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_AUTH_ASSOC_FAST_FAILED = 24, 292ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_D3_START = 25, 293ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_D3_END = 26, 294ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_BSS_MISSED_BEACONS = 27, 295ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_P2P_CLIENT_MISSED_BEACONS = 28, 296ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_PEER_CLIENT_TX_FAILURES = 29, 297ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_TX_WFD_ACTION_FRAME_FAILED = 30, 298ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_AUTH_ASSOC_FAILED = 31, 299ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_SCAN_COMPLETE = 32, 300ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_SCAN_ABORT = 33, 301ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_NIC_ALIVE = 34, 302ffb677dcSShahar S Matityahu IWL_FW_TRIGGER_ID_HOST_CHANNEL_SWITCH_COMPLETE = 35, 303ffb677dcSShahar S Matityahu 304bd294466SSara Sharon IWL_FW_TRIGGER_ID_NUM, 305ffb677dcSShahar S Matityahu }; /* FW_DEBUG_TLV_TRIGGER_ID_E_VER_1 */ 306bd294466SSara Sharon 307bd294466SSara Sharon /** 308bd294466SSara Sharon * enum iwl_fw_ini_apply_point 309bd294466SSara Sharon * @IWL_FW_INI_APPLY_INVALID: invalid 310bd294466SSara Sharon * @IWL_FW_INI_APPLY_EARLY: pre loading FW 311bd294466SSara Sharon * @IWL_FW_INI_APPLY_AFTER_ALIVE: first cmd from host after alive 312bd294466SSara Sharon * @IWL_FW_INI_APPLY_POST_INIT: last cmd in initialization sequence 313bd294466SSara Sharon * @IWL_FW_INI_APPLY_MISSED_BEACONS: missed beacons notification 314bd294466SSara Sharon * @IWL_FW_INI_APPLY_SCAN_COMPLETE: scan completed 315bd294466SSara Sharon * @IWL_FW_INI_APPLY_NUM: number of apply points 316bd294466SSara Sharon */ 317bd294466SSara Sharon enum iwl_fw_ini_apply_point { 318bd294466SSara Sharon IWL_FW_INI_APPLY_INVALID, 319bd294466SSara Sharon IWL_FW_INI_APPLY_EARLY, 320bd294466SSara Sharon IWL_FW_INI_APPLY_AFTER_ALIVE, 321bd294466SSara Sharon IWL_FW_INI_APPLY_POST_INIT, 322bd294466SSara Sharon IWL_FW_INI_APPLY_MISSED_BEACONS, 323bd294466SSara Sharon IWL_FW_INI_APPLY_SCAN_COMPLETE, 324bd294466SSara Sharon IWL_FW_INI_APPLY_NUM, 325d7febc2eSShahar S Matityahu }; /* FW_DEBUG_TLV_APPLY_POINT_E_VER_1 */ 326bd294466SSara Sharon 327bd294466SSara Sharon /** 328bd294466SSara Sharon * enum iwl_fw_ini_allocation_id 329bd294466SSara Sharon * @IWL_FW_INI_ALLOCATION_INVALID: invalid 330bd294466SSara Sharon * @IWL_FW_INI_ALLOCATION_ID_DBGC1: allocation meant for DBGC1 configuration 331bd294466SSara Sharon * @IWL_FW_INI_ALLOCATION_ID_DBGC2: allocation meant for DBGC2 configuration 332bd294466SSara Sharon * @IWL_FW_INI_ALLOCATION_ID_DBGC3: allocation meant for DBGC3 configuration 333bd294466SSara Sharon * @IWL_FW_INI_ALLOCATION_ID_SDFX: for SDFX module 334bd294466SSara Sharon * @IWL_FW_INI_ALLOCATION_ID_FW_DUMP: used for crash and runtime dumps 335bd294466SSara Sharon * @IWL_FW_INI_ALLOCATION_ID_USER_DEFINED: for future user scenarios 336bd294466SSara Sharon */ 337bd294466SSara Sharon enum iwl_fw_ini_allocation_id { 338bd294466SSara Sharon IWL_FW_INI_ALLOCATION_INVALID, 339bd294466SSara Sharon IWL_FW_INI_ALLOCATION_ID_DBGC1, 340bd294466SSara Sharon IWL_FW_INI_ALLOCATION_ID_DBGC2, 341bd294466SSara Sharon IWL_FW_INI_ALLOCATION_ID_DBGC3, 342bd294466SSara Sharon IWL_FW_INI_ALLOCATION_ID_SDFX, 343bd294466SSara Sharon IWL_FW_INI_ALLOCATION_ID_FW_DUMP, 344bd294466SSara Sharon IWL_FW_INI_ALLOCATION_ID_USER_DEFINED, 345d7febc2eSShahar S Matityahu }; /* FW_DEBUG_TLV_ALLOCATION_ID_E_VER_1 */ 346bd294466SSara Sharon 347bd294466SSara Sharon /** 348bd294466SSara Sharon * enum iwl_fw_ini_buffer_location 349bd294466SSara Sharon * @IWL_FW_INI_LOCATION_INVALID: invalid 350bd294466SSara Sharon * @IWL_FW_INI_LOCATION_SRAM_PATH: SRAM location 351bd294466SSara Sharon * @IWL_FW_INI_LOCATION_DRAM_PATH: DRAM location 352bd294466SSara Sharon */ 353bd294466SSara Sharon enum iwl_fw_ini_buffer_location { 35456ea8e3bSShahar S Matityahu IWL_FW_INI_LOCATION_INVALID, 355bd294466SSara Sharon IWL_FW_INI_LOCATION_SRAM_PATH, 356bd294466SSara Sharon IWL_FW_INI_LOCATION_DRAM_PATH, 357d7febc2eSShahar S Matityahu }; /* FW_DEBUG_TLV_BUFFER_LOCATION_E_VER_1 */ 358bd294466SSara Sharon 359bd294466SSara Sharon /** 360bd294466SSara Sharon * enum iwl_fw_ini_debug_flow 361bd294466SSara Sharon * @IWL_FW_INI_DEBUG_INVALID: invalid 362bd294466SSara Sharon * @IWL_FW_INI_DEBUG_DBTR_FLOW: undefined 363bd294466SSara Sharon * @IWL_FW_INI_DEBUG_TB2DTF_FLOW: undefined 364bd294466SSara Sharon */ 365bd294466SSara Sharon enum iwl_fw_ini_debug_flow { 366bd294466SSara Sharon IWL_FW_INI_DEBUG_INVALID, 367bd294466SSara Sharon IWL_FW_INI_DEBUG_DBTR_FLOW, 368bd294466SSara Sharon IWL_FW_INI_DEBUG_TB2DTF_FLOW, 369d7febc2eSShahar S Matityahu }; /* FW_DEBUG_TLV_FLOW_E_VER_1 */ 370bd294466SSara Sharon 371bd294466SSara Sharon /** 372bd294466SSara Sharon * enum iwl_fw_ini_region_type 373bd294466SSara Sharon * @IWL_FW_INI_REGION_INVALID: invalid 374bd294466SSara Sharon * @IWL_FW_INI_REGION_DEVICE_MEMORY: device internal memory 375bd294466SSara Sharon * @IWL_FW_INI_REGION_PERIPHERY_MAC: periphery registers of MAC 376bd294466SSara Sharon * @IWL_FW_INI_REGION_PERIPHERY_PHY: periphery registers of PHY 377bd294466SSara Sharon * @IWL_FW_INI_REGION_PERIPHERY_AUX: periphery registers of AUX 378bd294466SSara Sharon * @IWL_FW_INI_REGION_DRAM_BUFFER: DRAM buffer 379bd294466SSara Sharon * @IWL_FW_INI_REGION_DRAM_IMR: IMR memory 380bd294466SSara Sharon * @IWL_FW_INI_REGION_INTERNAL_BUFFER: undefined 381bd294466SSara Sharon * @IWL_FW_INI_REGION_TXF: TX fifos 382bd294466SSara Sharon * @IWL_FW_INI_REGION_RXF: RX fifo 383bd294466SSara Sharon * @IWL_FW_INI_REGION_PAGING: paging memory 384bd294466SSara Sharon * @IWL_FW_INI_REGION_CSR: CSR registers 385bd294466SSara Sharon * @IWL_FW_INI_REGION_NUM: number of region types 386bd294466SSara Sharon */ 387bd294466SSara Sharon enum iwl_fw_ini_region_type { 388bd294466SSara Sharon IWL_FW_INI_REGION_INVALID, 389bd294466SSara Sharon IWL_FW_INI_REGION_DEVICE_MEMORY, 390bd294466SSara Sharon IWL_FW_INI_REGION_PERIPHERY_MAC, 391bd294466SSara Sharon IWL_FW_INI_REGION_PERIPHERY_PHY, 392bd294466SSara Sharon IWL_FW_INI_REGION_PERIPHERY_AUX, 393bd294466SSara Sharon IWL_FW_INI_REGION_DRAM_BUFFER, 394bd294466SSara Sharon IWL_FW_INI_REGION_DRAM_IMR, 395bd294466SSara Sharon IWL_FW_INI_REGION_INTERNAL_BUFFER, 396bd294466SSara Sharon IWL_FW_INI_REGION_TXF, 397bd294466SSara Sharon IWL_FW_INI_REGION_RXF, 398bd294466SSara Sharon IWL_FW_INI_REGION_PAGING, 399bd294466SSara Sharon IWL_FW_INI_REGION_CSR, 400bd294466SSara Sharon IWL_FW_INI_REGION_NUM 401d7febc2eSShahar S Matityahu }; /* FW_DEBUG_TLV_REGION_TYPE_E_VER_1 */ 402bd294466SSara Sharon 403bd294466SSara Sharon #endif 404