wifi: iwlwifi: fw: api: add UHR data definitions

Add the necessary data definitions for the sniffer-related fields
reported for the various UHR frame formats by the firmware/hardware
to be able to later add the necessary sniffer code.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20251110150012.358b51dd8cb2.I16178416dd7019cb88a45e55f81eb28510982028@changeid
This commit is contained in:
Johannes Berg 2025-11-10 15:02:23 +02:00 committed by Miri Korenblit
parent ac47aa8bc9
commit 3b6e7afaf7

View File

@ -1269,19 +1269,82 @@ struct iwl_eht_tb_sigs {
};
struct iwl_uhr_sigs {
__le32 usig_a1, usig_a1_uhr, usig_a2_uhr, b1, b2;
/* same as EHT above */
__le32 usig_a1;
#define OFDM_RX_FRAME_UHR_BSS_COLOR2 0x0000003f
__le32 usig_a1_uhr;
#define OFDM_RX_FRAME_UHR_PPDU_TYPE 0x00000003
#define OFDM_RX_FRAME_UHR_COBF_CSR_DISABLE 0x00000004
#define OFDM_RX_FRAME_UHR_PUNC_CHANNEL 0x000000f8
#define OFDM_RX_FRAME_UHR_USIG2_VALIDATE_B8 0x00000100
#define OFDM_RX_FRAME_UHR_SIG_MCS 0x00000600
#define OFDM_RX_FRAME_UHR_SIG_SYM_NUM 0x0000f800
#define OFDM_RX_FRAME_UHR_TRIG_SPATIAL_REUSE_1 0x000f0000
#define OFDM_RX_FRAME_UHR_TRIG_SPATIAL_REUSE_2 0x00f00000
#define OFDM_RX_FRAME_UHR_TRIG_USIG2_DISREGARD 0x1f000000
__le32 usig_a2_uhr;
#define OFDM_RX_FRAME_UHR_SPATIAL_REUSE 0x0000000f
#define OFDM_RX_FRAME_UHR_GI_LTF_TYPE 0x00000030
#define OFDM_RX_FRAME_UHR_NUM_OF_LTF_SYM 0x000001c0
#define OFDM_RX_FRAME_UHR_CODING_EXTRA_SYM 0x00000200
#define OFDM_RX_FRAME_UHR_PE_A_FACTOR 0x00000c00
#define OFDM_RX_FRAME_UHR_PE_DISAMBIGUITY 0x00001000
#define OFDM_RX_FRAME_UHR_IM_DISABLE 0x00002000
#define OFDM_RX_FRAME_UHR_USIG_OVF_DISREGARD 0x0000c000
#define OFDM_RX_FRAME_UHR_NUM_OF_USERS 0x00070000
#define OFDM_RX_FRAME_UHR_NSTS 0x00f00000
#define OFDM_RX_FRAME_UHR_BF 0x01000000
#define OFDM_RX_FRAME_UHR_USIG_OVF_NDP_DISREGARD 0x06000000
#define OFDM_RX_FRAME_UHR_COMM_CC1_CRC_OK 0x08000000
#define OFDM_RX_FRAME_UHR_COMM_CC2_CRC_OK 0x10000000
#define OFDM_RX_FRAME_UHR_NON_VALID_RU_ALLOC 0x20000000
__le32 b1;
#define OFDM_RX_FRAME_UHR_MCS 0x000001f0
#define OFDM_RX_FRAME_UHR_CODING 0x00000200
#define OFDM_RX_FRAME_UHR_SPATIAL_CONFIG 0x00003c00
#define OFDM_RX_FRAME_UHR_STA_RU 0x003fc000
#define OFDM_RX_FRAME_UHR_STA_RU_PS160 0x00400000
#define OFDM_RX_FRAME_UHR_UEQM 0x00800000
#define OFDM_RX_FRAME_UHR_2XLDPC 0x01000000
#define OFDM_RX_FRAME_UHR_UEQM_PATTERN 0x06000000
#define OFDM_RX_FRAME_UHR_IS_MU_MIMO_USER_FIELD 0x08000000
#define OFDM_RX_FRAME_UHR_USER_FIELD_CRC_OK 0x40000000
__le32 b2;
#define OFDM_RX_UHR_NUM_OF_DATA_SYM 0x000007ff
#define OFDM_RX_UHR_PE_DURATION 0x00003800
__le32 sig2;
/* same as EHT above: OFDM_RX_FRAME_EHT_RU_ALLOC_* */
__le32 cmn[6];
#define OFDM_RX_FRAME_UHR_USER_FIELD_ID 0x000007ff
__le32 user_id;
};
struct iwl_uhr_tb_sigs {
__le32 usig_a1, usig_a2_uhr, tb_rx0, tb_rx1;
/* same as UHR above */
__le32 usig_a1, usig_a2_uhr;
/* same as HE above */
__le32 tb_rx0, tb_rx1;
};
struct iwl_uhr_elr_sigs {
/* same as UHR above */
__le32 usig_a1, usig_a2_uhr;
__le32 uhr_sig_elr1, uhr_sig_elr2;
#define OFDM_RX_VECTOR_UHR_ELR_VER_ID 0x00000007
#define OFDM_RX_VECTOR_UHR_ELR_UPLINK_FLAG 0x00000008
#define OFDM_RX_VECTOR_UHR_ELR_MCS 0x00000010
#define OFDM_RX_VECTOR_UHR_ELR_CODING 0x00000020
#define OFDM_RX_VECTOR_UHR_ELR_LENGTH_IN_SYM 0x00007fc0
#define OFDM_RX_VECTOR_UHR_ELR_CODING_EXTRA_SYM 0x00008000
#define OFDM_RX_VECTOR_UHR_ELR_SIG1_CRC_OK 0x00010000
#define OFDM_RX_VECTOR_UHR_ELR_STA_ID 0x0ffe0000
#define OFDM_RX_VECTOR_UHR_ELR_DISREGARD 0x70000000
__le32 uhr_sig_elr1;
#define OFDM_RX_VECTOR_UHR_ELR_MARK_BSS_COLOR 0x0000003f
#define OFDM_RX_VECTOR_UHR_ELR_SIG_ID_INDX 0x00000e00
#define OFDM_RX_VECTOR_UHR_ELR_STA_RU 0x000ff000
#define OFDM_RX_VECTOR_UHR_ELR_STA_RU_PS160 0x00100000
#define OFDM_RX_VECTOR_UHR_ELR_SIG2_CRC_OK 0x00200000
__le32 uhr_sig_elr2;
};
union iwl_sigs {