aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-fw-error-dump.h
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2014-06-01 01:05:52 -0400
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2014-06-24 14:55:27 -0400
commitc2d202017da18ebd6567862bd9a50392970f048f (patch)
tree538cd364c5bf39d0a1b230dbbfdb935e2280f147 /drivers/net/wireless/iwlwifi/iwl-fw-error-dump.h
parent1fa1605648d15d42f350807279b6c6e8d33b6382 (diff)
iwlwifi: pcie: add firmware monitor capabilities
This allows to use the firmware monitor. This capability uses a lot of contiguous memory (up to 64MB), so make its usage module parameter dependent. The driver will try to allocate as much contiguous memory as possible downgrading its requirements until the allocation succeeds. Dump this data into the fw-error dump file when an error happens. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-fw-error-dump.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-fw-error-dump.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-fw-error-dump.h b/drivers/net/wireless/iwlwifi/iwl-fw-error-dump.h
index 3584a75833fe..ced5ba95c23d 100644
--- a/drivers/net/wireless/iwlwifi/iwl-fw-error-dump.h
+++ b/drivers/net/wireless/iwlwifi/iwl-fw-error-dump.h
@@ -76,6 +76,7 @@
76 * &struct iwl_fw_error_dump_txcmd packets 76 * &struct iwl_fw_error_dump_txcmd packets
77 * @IWL_FW_ERROR_DUMP_DEV_FW_INFO: struct %iwl_fw_error_dump_info 77 * @IWL_FW_ERROR_DUMP_DEV_FW_INFO: struct %iwl_fw_error_dump_info
78 * info on the device / firmware. 78 * info on the device / firmware.
79 * @IWL_FW_ERROR_DUMP_FW_MONITOR: firmware monitor
79 */ 80 */
80enum iwl_fw_error_dump_type { 81enum iwl_fw_error_dump_type {
81 IWL_FW_ERROR_DUMP_SRAM = 0, 82 IWL_FW_ERROR_DUMP_SRAM = 0,
@@ -83,6 +84,7 @@ enum iwl_fw_error_dump_type {
83 IWL_FW_ERROR_DUMP_RXF = 2, 84 IWL_FW_ERROR_DUMP_RXF = 2,
84 IWL_FW_ERROR_DUMP_TXCMD = 3, 85 IWL_FW_ERROR_DUMP_TXCMD = 3,
85 IWL_FW_ERROR_DUMP_DEV_FW_INFO = 4, 86 IWL_FW_ERROR_DUMP_DEV_FW_INFO = 4,
87 IWL_FW_ERROR_DUMP_FW_MONITOR = 5,
86 88
87 IWL_FW_ERROR_DUMP_MAX, 89 IWL_FW_ERROR_DUMP_MAX,
88}; 90};
@@ -145,6 +147,22 @@ struct iwl_fw_error_dump_info {
145} __packed; 147} __packed;
146 148
147/** 149/**
150 * struct iwl_fw_error_fw_mon - FW monitor data
151 * @fw_mon_wr_ptr: the position of the write pointer in the cyclic buffer
152 * @fw_mon_base_ptr: base pointer of the data
153 * @fw_mon_cycle_cnt: number of wrap arounds
154 * @reserved: for future use
155 * @data: captured data
156 */
157struct iwl_fw_error_fw_mon {
158 __le32 fw_mon_wr_ptr;
159 __le32 fw_mon_base_ptr;
160 __le32 fw_mon_cycle_cnt;
161 __le32 reserved[3];
162 u8 data[];
163} __packed;
164
165/**
148 * iwl_fw_error_next_data - advance fw error dump data pointer 166 * iwl_fw_error_next_data - advance fw error dump data pointer
149 * @data: previous data block 167 * @data: previous data block
150 * Returns: next data block 168 * Returns: next data block