diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 833d859d12a9..26d7bb3a044d 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -12591,8 +12591,20 @@ typedef struct { * * b'31-b'29 unused / reserved * b'28 indicate the version of rate-code (1 = RATECODE_V1) - * b'27-b'11 unused / reserved - * b'10-b'8 indicate the preamble (0 OFDM, 1 CCK, 2 HT, 3 VHT) + * b'27 unused / reserved + * b'26-b'19 indicate TX power (int8), with 0.25 dBm units + * b'15-b'14 indicate punctured mode as follows: + * 0: NO_PUNCTURE + * 1: PUNCTURED_20MHZ + * 2: PUNCTURED_40MHZ + * 3: PUNCTURED_80MHZ + * 4: PUNCTURED_120MHZ + * b'15-b'14 indicate the guard interval: + * 0: 800us, 1: 400us, 2: 1600us, 3: 3200us + * b'13-b'11 indicate the bandwidth: + * 0: 20MHz, 1: 40MHz, 2: 80MHz, 3: 160MHz, 4: 320MHz + * b'10-b'8 indicate the preamble: + * 0: OFDM, 1: CCK, 2: HT, 3: VHT, 4: HE, 5: EHT * b'7-b'5 indicate the NSS (0 - 1x1, 1 - 2x2, 2 - 3x3, 3 - 4x4) * b'4-b'0 indicate the rate, which is indicated as follows: * OFDM : 0: OFDM 48 Mbps @@ -12615,6 +12627,9 @@ typedef struct { * 0..7: MCS0..MCS7 (HT) * 0..9: MCS0..MCS9 (11AC VHT) * 0..11: MCS0..MCS11 (11AX VHT) + * HE/EHT (pream == 4/5) + * 0..13: MCS0..MCS13 (11AX EHT) + * 14..15: MCS14..MCS15 (EHT) */ /** rate-code of the last transmission */ A_UINT32 last_tx_rate_code; @@ -17962,6 +17977,10 @@ typedef enum { #define WMI_HECAP_MAC_HTVHTTRIGRX_GET_D2(he_cap2) (0) #define WMI_HECAP_MAC_HTVHTTRIGRX_SET_D2(he_cap2, value) {;} +#define WMI_GET_HW_RATECODE_VERSION(_rcode) (((_rcode) >> 28) & 0x1) +#define WMI_SET_HW_RATECODE_VERSION_V1(_rcode) (((1) << 28) | (_rcode)) +#define WMI_GET_HW_RATECODE_GI_V1(_rcode) (((_rcode) >> 14) & 0x3) +#define WMI_GET_HW_RATECODE_BW_V1(_rcode) (((_rcode) >> 11) & 0x7) #define WMI_GET_HW_RATECODE_PREAM_V1(_rcode) (((_rcode) >> 8) & 0x7) #define WMI_GET_HW_RATECODE_NSS_V1(_rcode) (((_rcode) >> 5) & 0x7) #define WMI_GET_HW_RATECODE_RATE_V1(_rcode) (((_rcode) >> 0) & 0x1F) diff --git a/fw/wmi_version.h b/fw/wmi_version.h index bdc0aaca1fd1..7357c932a42d 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -37,7 +37,7 @@ #define __WMI_VER_MINOR_ 0 /** WMI revision number has to be incremented when there is a * change that may or may not break compatibility. */ -#define __WMI_REVISION_ 1589 +#define __WMI_REVISION_ 1590 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work