Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8e63f355 authored by spuligil's avatar spuligil
Browse files

fw-api: CL 12586165 - update fw common interface files

Change-Id: I5bb7c0cebc164bb9824849196bd3866e57e2581b
WMI: add MLO capabilities specs and SUPPORT_11BE flag
CRs-Fixed: 2262693
parent 1eb17dff
Loading
Loading
Loading
Loading
+48 −2
Original line number Diff line number Diff line
@@ -26648,6 +26648,36 @@ typedef enum wmi_hw_mode_config_type {
    WMI_HW_MODE_2G_PHYB     = 7, /* Ony PhyB 2G active */
} WMI_HW_MODE_CONFIG_TYPE;
/*
 * Per HW mode MLO capability flags
 * use bits 31:28 of A_UINT32 hw_mode_config_type for Per HW mode MLO
 * capability flags...
 * WMI_MLO_CAP_FLAG_NONE:           Do not support MLO for the specific HW mode
 * WMI_MLO_CAP_FLAG_NON_STR_IN_DBS: Support STR MLO when DBS for the specific
 *                                  HW mode
 * WMI_MLO_CAP_FLAG_STR_IN_DBS:     Support Non-STR MLO when DBS for the
 *                                  specific HW mode
 * WMI_MLO_CAP_FLAG_NON_STR_IN_SBS: Support STR MLO when SBS for the specific
 *                                  HW mode
 * WMI_MLO_CAP_FLAG_STR_IN_SBS:     Support Non-STR MLO when SBS for the
 *                                  specific HW mode
 */
#define WMI_MLO_CAP_FLAG_NONE           0x0
#define WMI_MLO_CAP_FLAG_NON_STR_IN_DBS 0x1
#define WMI_MLO_CAP_FLAG_STR_IN_DBS     0x2
#define WMI_MLO_CAP_FLAG_NON_STR_IN_SBS 0x4
#define WMI_MLO_CAP_FLAG_STR_IN_SBS     0x8
/*
 * hw_mode_config_type sub-fields for chips that support 802.11BE/MLO:
 * bits 28:0  - hw_mode_config
 * bits 31:28 - per HW mode MLO capability flags
 */
#define WMI_BECAP_PHY_GET_HW_MODE_CFG(hw_mode_config_type) WMI_GET_BITS(hw_mode_config_type, 0, 28)
#define WMI_BECAP_PHY_SET_HW_MODE_CFG(hw_mode_config_type, value) WMI_SET_BITS(hw_mode_config_type, 0, 28, value)
#define WMI_BECAP_PHY_GET_MLO_CAP(hw_mode_config_type) WMI_GET_BITS(hw_mode_config_type, 28, 4)
#define WMI_BECAP_PHY_SET_MLO_CAP(hw_mode_config_type, value) WMI_SET_BITS(hw_mode_config_type, 28, 4, value)
#define WMI_SUPPORT_11B_GET(flags) WMI_GET_BITS(flags, 0, 1)
#define WMI_SUPPORT_11B_SET(flags, value) WMI_SET_BITS(flags, 0, 1, value)
@@ -26666,6 +26696,9 @@ typedef enum wmi_hw_mode_config_type {
#define WMI_SUPPORT_11AX_GET(flags) WMI_GET_BITS(flags, 5, 1)
#define WMI_SUPPORT_11AX_SET(flags, value) WMI_SET_BITS(flags, 5, 1, value)
#define WMI_SUPPORT_11BE_GET(flags) WMI_GET_BITS(flags, 6, 1)
#define WMI_SUPPORT_11BE_SET(flags, value) WMI_SET_BITS(flags, 6, 1, value)
#define WMI_MAX_MUBFEE_GET(flags) WMI_GET_BITS(flags, 28, 4)
#define WMI_MAX_MUBFEE_SET(flags, value) WMI_SET_BITS(flags, 28, 4, value)
@@ -26758,8 +26791,9 @@ typedef struct {
                     supports_11n:1,
                     supports_11ac:1,
                     supports_11ax:1,
                     supports_11be:1,
                     unused: 22,
                     unused: 21,
                     max_mubfee: 4; /* max MU beamformees supported per MAC */
        };
@@ -26941,8 +26975,20 @@ typedef struct {
    /* hw_mode_config_type
     * Identify a particular type of HW mode such as SBS, DBS etc.
     * Refer to WMI_HW_MODE_CONFIG_TYPE values.
     *
     * Use bits 31:28 of hw_mode_config_type for Per HW mode MLO capability
     * flags.
     * Refer to WMI_MLO_CAP_FLAG_XXX. For legacy chips which do not support
     * MLO, these top bits will always be set to 0, so it won't impact the
     * legacy chips which treat hw_mode_config_type as 32 bits.
     */
    union {
        struct {
            A_UINT32 hw_mode_config   :28,
                     mlo_cap_flag     :4; /* see WMI_MLO_CAP_FLAG_ defs */
        };
        A_UINT32 hw_mode_config_type;
    };
    /**************************************************************************
     * DON'T ADD ANY FURTHER FIELDS HERE -
+1 −1
Original line number Diff line number Diff line
@@ -36,7 +36,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_ 951
#define __WMI_REVISION_ 952

/** The Version Namespace should not be normally changed. Only
 *  host and firmware of the same WMI namespace will work