| .. | .. |
|---|
| 100 | 100 | TLC_MNG_CONFIG_CMD = 0xF, |
|---|
| 101 | 101 | |
|---|
| 102 | 102 | /** |
|---|
| 103 | + * @HE_AIR_SNIFFER_CONFIG_CMD: &struct iwl_he_monitor_cmd |
|---|
| 104 | + */ |
|---|
| 105 | + HE_AIR_SNIFFER_CONFIG_CMD = 0x13, |
|---|
| 106 | + |
|---|
| 107 | + /** |
|---|
| 108 | + * @CHEST_COLLECTOR_FILTER_CONFIG_CMD: Configure the CSI |
|---|
| 109 | + * matrix collection, uses &struct iwl_channel_estimation_cfg |
|---|
| 110 | + */ |
|---|
| 111 | + CHEST_COLLECTOR_FILTER_CONFIG_CMD = 0x14, |
|---|
| 112 | + |
|---|
| 113 | + /** |
|---|
| 114 | + * @RX_NO_DATA_NOTIF: &struct iwl_rx_no_data |
|---|
| 115 | + */ |
|---|
| 116 | + RX_NO_DATA_NOTIF = 0xF5, |
|---|
| 117 | + |
|---|
| 118 | + /** |
|---|
| 103 | 119 | * @TLC_MNG_UPDATE_NOTIF: &struct iwl_tlc_update_notif |
|---|
| 104 | 120 | */ |
|---|
| 105 | 121 | TLC_MNG_UPDATE_NOTIF = 0xF7, |
|---|
| .. | .. |
|---|
| 146 | 162 | __le32 user_position[4]; |
|---|
| 147 | 163 | } __packed; /* MU_GROUP_MNG_NTFY_API_S_VER_1 */ |
|---|
| 148 | 164 | |
|---|
| 165 | +enum iwl_channel_estimation_flags { |
|---|
| 166 | + IWL_CHANNEL_ESTIMATION_ENABLE = BIT(0), |
|---|
| 167 | + IWL_CHANNEL_ESTIMATION_TIMER = BIT(1), |
|---|
| 168 | + IWL_CHANNEL_ESTIMATION_COUNTER = BIT(2), |
|---|
| 169 | +}; |
|---|
| 170 | + |
|---|
| 171 | +/** |
|---|
| 172 | + * struct iwl_channel_estimation_cfg - channel estimation reporting config |
|---|
| 173 | + */ |
|---|
| 174 | +struct iwl_channel_estimation_cfg { |
|---|
| 175 | + /** |
|---|
| 176 | + * @flags: flags, see &enum iwl_channel_estimation_flags |
|---|
| 177 | + */ |
|---|
| 178 | + __le32 flags; |
|---|
| 179 | + /** |
|---|
| 180 | + * @timer: if enabled via flags, automatically disable after this many |
|---|
| 181 | + * microseconds |
|---|
| 182 | + */ |
|---|
| 183 | + __le32 timer; |
|---|
| 184 | + /** |
|---|
| 185 | + * @count: if enabled via flags, automatically disable after this many |
|---|
| 186 | + * frames with channel estimation matrix were captured |
|---|
| 187 | + */ |
|---|
| 188 | + __le32 count; |
|---|
| 189 | + /** |
|---|
| 190 | + * @rate_n_flags_mask: only try to record the channel estimation matrix |
|---|
| 191 | + * if the rate_n_flags value for the received frame (let's call |
|---|
| 192 | + * that rx_rnf) matches the mask/value given here like this: |
|---|
| 193 | + * (rx_rnf & rate_n_flags_mask) == rate_n_flags_val. |
|---|
| 194 | + */ |
|---|
| 195 | + __le32 rate_n_flags_mask; |
|---|
| 196 | + /** |
|---|
| 197 | + * @rate_n_flags_val: see @rate_n_flags_mask |
|---|
| 198 | + */ |
|---|
| 199 | + __le32 rate_n_flags_val; |
|---|
| 200 | + /** |
|---|
| 201 | + * @reserved: reserved (for alignment) |
|---|
| 202 | + */ |
|---|
| 203 | + __le32 reserved; |
|---|
| 204 | + /** |
|---|
| 205 | + * @frame_types: bitmap of frame types to capture, the received frame's |
|---|
| 206 | + * subtype|type takes 6 bits in the frame and the corresponding bit |
|---|
| 207 | + * in this field must be set to 1 to capture channel estimation for |
|---|
| 208 | + * that frame type. Set to all-ones to enable capturing for all |
|---|
| 209 | + * frame types. |
|---|
| 210 | + */ |
|---|
| 211 | + __le64 frame_types; |
|---|
| 212 | +} __packed; /* CHEST_COLLECTOR_FILTER_CMD_API_S_VER_1 */ |
|---|
| 213 | + |
|---|
| 149 | 214 | #endif /* __iwl_fw_api_datapath_h__ */ |
|---|