.. | .. |
---|
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__ */ |
---|