diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2014-06-01 01:05:52 -0400 |
---|---|---|
committer | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2014-06-24 14:55:27 -0400 |
commit | c2d202017da18ebd6567862bd9a50392970f048f (patch) | |
tree | 538cd364c5bf39d0a1b230dbbfdb935e2280f147 /drivers/net/wireless/iwlwifi/iwl-fw-error-dump.h | |
parent | 1fa1605648d15d42f350807279b6c6e8d33b6382 (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.h | 18 |
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 | */ |
80 | enum iwl_fw_error_dump_type { | 81 | enum 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 | */ | ||
157 | struct 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 |