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

Commit a8eeb5a4 authored by spuligil's avatar spuligil
Browse files

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

Change-Id: I3636d888d18ee390a172c55080fb3855aef9070c
WMI: add spatial reuse pdev param defs
CRs-Fixed: 2262693
parent a687c807
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -548,6 +548,14 @@ typedef enum {
    WMI_SERVICE_DYN_NSS_MASK_SUPPORT = 303, /* Indicates FW support for DYN NSS feature */
    WMI_SERVICE_HW_MODE_POLICY_OFFLOAD_SUPPORT = 304, /* FW supports HW mode selection offload */
    WMI_SERVICE_THERMAL_THROT_STATS_TEMP_RANGE_SUPPORT = 305, /* FW supports thermal throttling temperature range stats based on wmi_thermal_stats_action */
    /*
     * Indicates FW support for spatial reuse enhancements.
     * Below commands are added for the enhancements:
     *     WMI_PDEV_PARAM_OBSS_MIN_DURATION_CHECK_FOR_SR,
     *     WMI_PDEV_PARAM_TRUNCATE_SR,
     *     WMI_PDEV_PARAM_CTRL_FRAME_OBSS_PD_THRESHOLD
     */
    WMI_SERVICE_SPATIAL_REUSE_ENHANCEMENT_SUPPORT = 306,


    WMI_MAX_EXT2_SERVICE
+59 −0
Original line number Diff line number Diff line
@@ -7680,6 +7680,53 @@ typedef enum {
     */
    WMI_PDEV_PARAM_SCAN_RADIO_TX_ON_DFS,
    /*
     * Param to configure Minimum OBSS ppdu time below which
     * spatial reuse will not happen over the TXOP duration of the OBSS frame.
     * If the incoming OBSS frame ppdu duration is greater then the value
     * configured, then spatial reuse can happen over the OBSS PPDU.
     * The value is configured in microseconds.
     */
    WMI_PDEV_PARAM_OBSS_MIN_DURATION_CHECK_FOR_SR,
    /*
     * Param to Enable/Disable Truncate SR feature.
     * PPDUs transmitted using SR opportunity will be truncated at the end
     * of OBSS frame duration and will not extend beyond.
     */
    WMI_PDEV_PARAM_TRUNCATE_SR,
    /* Parameter used to configure separate NON_SRG/SRG OBSS PD threshold for
     * for Control Frame.
     * (SRG = Spatial Reuse Group)
     * The accepted values are in between 0x00 and 0xFF, inclusive.
     * The parameter value is checked against the RSSI of the OBSS Control
     * frame. If RSSI is below the parameter value, then the Control frame is
     * aborted and NAV is ignored. Separate OBSS PD threshold for Control frame
     * is added to account for the higher TX power used for such control frames
     * when compared with data frames.
     *
     * The input value will be interpreted as a signed value in dBm units.
     *
     * The values will be reflected in the registers only if
     * SRG / non-srg based spatial reuse is enabled via
     * WMI_PDEV_PARAM_SET_CMD_OBSS_PD_THRESHOLD cmd.
     * bit    | purpose
     * -----------------
     * 0  - 7 | Param Value for non-srg OBSS PD threshold for non-SRG
     *        | control frames
     * 8  - 15| Param Value for srg OBSS PD threshold for SRG control frames
     * 16 - 29| Reserved
     * 30     | Enable/Disable separate SRG based spatial reuse for OBSS
     *        | control frames.
     *        | If set to 0, ignore bits 8-15.
     * 31     | Enable/Disable separate non-SRG based spatial reuse for OBSS
     *        | control frames.
     *        | If set to 0, ignore bits 0-7.
     */
    WMI_PDEV_PARAM_CTRL_FRAME_OBSS_PD_THRESHOLD,
} WMI_PDEV_PARAM;
#define WMI_PDEV_ONLY_BSR_TRIG_IS_ENABLED(trig_type) WMI_GET_BITS(trig_type, 0, 1)
@@ -7739,6 +7786,18 @@ typedef enum {
#define WMI_PDEV_SRP_ENABLE_PER_AC_SET(per_ac_cfg, value) WMI_SET_BITS(per_ac_cfg, 16, 4, value)
    #define WMI_PDEV_SRP_ENABLE_PER_AC_GET(per_ac_cfg) WMI_GET_BITS(per_ac_cfg, 16, 4)
#define WMI_PDEV_IS_NON_SRG_SEP_PD_THRESH_CTRL_FRAME_ENABLED(pd_threshold_cfg) WMI_GET_BITS(pd_threshold_cfg, 31, 1)
#define WMI_PDEV_NON_SRG_SEP_PD_THRESH_CTRL_FRAME_ENABLE(pd_threshold_cfg) WMI_SET_BITS(pd_threshold_cfg, 31, 1, 1)
#define WMI_PDEV_NON_SRG_SEP_PD_THRESH_CTRL_FRAME_DISABLE(pd_threshold_cfg) WMI_SET_BITS(pd_threshold_cfg, 31, 1, 0)
#define WMI_PDEV_NON_SRG_SEP_PD_THRESH_CTRL_FRAME_SET(pd_threshold_cfg, value) WMI_SET_BITS(pd_threshold_cfg, 0, 8, value)
#define WMI_PDEV_NON_SRG_SEP_PD_THRESH_CTRL_FRAME_GET(pd_threshold_cfg) WMI_GET_BITS(pd_threshold_cfg, 0, 8)
#define WMI_PDEV_IS_SRG_SEP_PD_THRESH_CTRL_FRAME_ENABLED(pd_threshold_cfg) WMI_GET_BITS(pd_threshold_cfg, 30, 1)
#define WMI_PDEV_SRG_SEP_PD_THRESH_CTRL_FRAME_ENABLE(pd_threshold_cfg) WMI_SET_BITS(pd_threshold_cfg, 30, 1, 1)
#define WMI_PDEV_SRG_SEP_PD_THRESH_CTRL_FRAME_DISABLE(pd_threshold_cfg) WMI_SET_BITS(pd_threshold_cfg, 30, 1, 0)
#define WMI_PDEV_SRG_SEP_PD_THRESH_CTRL_FRAME_SET(pd_threshold_cfg, value) WMI_SET_BITS(pd_threshold_cfg, 8, 8, value)
#define WMI_PDEV_SRG_SEP_PD_THRESH_CTRL_FRAME_GET(pd_threshold_cfg) WMI_GET_BITS(pd_threshold_cfg, 8, 8)
typedef struct {
    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_set_param_cmd_fixed_param */
    /** pdev_id for identifying the MAC
+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_ 1053
#define __WMI_REVISION_ 1054

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