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

Commit 09f7b72f authored by spuligil's avatar spuligil
Browse files

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

Change-Id: Ie5acce062c30232e9e8dc55e046d19d6124e70d7
WMI: add pdev params to control rate limits, drop down, and probe intervals
CRs-Fixed: 2262693
parent c2118c86
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -566,6 +566,7 @@ typedef enum {
    WMI_SERVICE_RTT_11AZ_MAC_SEC_SUPPORT = 314, /* FW support for 11AZ secure FTM */
    WMI_SERVICE_RTT_11AZ_MAC_PHY_SEC_SUPPORT = 315, /* FW support for 11AZ secure LTF + FTM */
    WMI_SERVICE_SPECTRAL_SESSION_INFO_SUPPORT = 316, /* Information corresponding to each Spectral scan session will be sent by the FW before the reports corresponding to that session are sent */
    WMI_SERVICE_PDEV_RATE_CONFIG_SUPPORT = 317, /* Support rate configurations per PDEV */

    WMI_MAX_EXT2_SERVICE

+86 −0
Original line number Diff line number Diff line
@@ -7960,7 +7960,63 @@ typedef enum {
     */
    WMI_PDEV_PARAM_PDEV_STATS_TX_XRETRY_EXT,
    /*
     * Per PDEV level, set the highest rate cap allowed.
     * The accepted input values NSS are between 1-8, inclusive.
     * The accepted input values MCS are between 0-15, inclusive.
     * FW will use the input values as is.
     * The rate cap is specified in NSS, MCS format each 4bits.
     * i.e., NSS and MCS combined as shown below:
     * b'0-b'7  indicate the NSS (NSS value can be from 1-8)
     * b'8-b'15 indicate the MCS (MCS value can be from 0-15)
     * b'16 Enable or disable nss cap
     * b'17 Enable or disable mcs cap
     */
    WMI_PDEV_PARAM_RATE_UPPER_CAP,
    /*
     * Per PDEV level, set number of MCS to be dropped based
     * on configured retries.
     *  bit | config_mode
     *  -----------------
     *  0-7 | param value for number MCS to be dropped
     *  8-15| param value for excess retries
     *  16  | If set to 0, number of MCS to be dropped is disabled, i.e.
     *      | fall back to default mode.
     *      | The default value of MCS to be dropped is 1.
     *  17  | if set to 0, retries is disabled/use default retries.
     *      | The default value of retries is 3.
     */
    WMI_PDEV_PARAM_SET_RATE_DROP_DOWN_RETRY_THRESH,
    /*
     * Param value to configure min/max probe interval for MCS of current NSS.
     * If probe interval expired, ratectrl will probe for MCS of current NSS.
     * If probe was successful, rate control updates the probe time with a
     * min of probe interval.
     * If probe failed for MCS of current NSS, rate control updates the probe
     * time by multiplying the probe period with 2, which is not greater than
     * max probe interval.
     * units = milliseconds
     *  bits | config_mode
     *  0-15 | mimimum probe time for MCS
     *  16-31| maximum probe time for MCS
     */
    WMI_PDEV_PARAM_MIN_MAX_MCS_PROBE_INTERVAL,
    /* Param value to configure min/max probe interval for NSS.
     * Rate control will probe for alternate NSS if probe time is expired.
     * If probe for an alternate NSS was successful, rate control updates
     * the probe time with a min of probe interval.
     * If probe failed for alternate NSS, rate control updates the probe time
     * by multiplying the probe period with 2, which is not greater than
     * max probe interval.
     * units = milliseconds
     *  bits | config_mode
     *  0-15 | minimum probe time for alternate NSS
     *  16-32| maximum probe time for alternate NSS
     */
    WMI_PDEV_PARAM_MIN_MAX_NSS_PROBE_INTERVAL,
} WMI_PDEV_PARAM;
#define WMI_PDEV_ONLY_BSR_TRIG_IS_ENABLED(trig_type) WMI_GET_BITS(trig_type, 0, 1)
@@ -8032,6 +8088,36 @@ typedef enum {
#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)
#define WMI_PDEV_UPPER_CAP_NSS_GET(value) WMI_GET_BITS(value, 0, 8)
#define WMI_PDEV_UPPER_CAP_NSS_SET(_value, value) WMI_SET_BITS(_value, 0, 8, value)
#define WMI_PDEV_UPPER_CAP_MCS_GET(value) WMI_GET_BITS(value, 8, 8)
#define WMI_PDEV_UPPER_CAP_MCS_SET(_value, value) WMI_SET_BITS(_value, 8, 8, value)
#define WMI_PDEV_UPPER_CAP_NSS_VALID_GET(value) WMI_GET_BITS(value, 16, 1)
#define WMI_PDEV_UPPER_CAP_NSS_VALID_SET(_value, value) WMI_SET_BITS(_value, 16, 1, value)
#define WMI_PDEV_UPPER_CAP_MCS_VALID_GET(value) WMI_GET_BITS(value, 17, 1)
#define WMI_PDEV_UPPER_CAP_MCS_VALID_SET(_value, value) WMI_SET_BITS(_value, 17, 1, value)
#define WMI_PDEV_RATE_DROP_NUM_MCS_GET(value) WMI_GET_BITS(value, 0, 8)
#define WMI_PDEV_RATE_DROP_NUM_MCS_SET(_value, value) WMI_SET_BITS(_value, 0, 8, value)
#define WMI_PDEV_RATE_DROP_RETRY_THRSH_GET(value) WMI_GET_BITS(value, 8, 8)
#define WMI_PDEV_RATE_DROP_RETRY_THRSH_SET(_value, value) WMI_SET_BITS(_value, 8, 8, value)
#define WMI_PDEV_RATE_DROP_NUM_MCS_VALID_GET(value) WMI_GET_BITS(value, 16, 1)
#define WMI_PDEV_RATE_DROP_NUM_MCS_VALID_SET(_value, value) WMI_SET_BITS(_value, 16, 1, value)
#define WMI_PDEV_RATE_DROP_RETRY_THRSH_VALID_GET(value) WMI_GET_BITS(value, 17, 1)
#define WMI_PDEV_RATE_DROP_RETRY_THRSH_VALID_SET(_value, value) WMI_SET_BITS(_value, 17, 1, value)
#define WMI_PDEV_RATE_MIN_MCS_PROBE_INTERVAL_GET(value) WMI_GET_BITS(value, 0, 16)
#define WMI_PDEV_RATE_MIN_MCS_PROBE_INTERVAL_SET(_value, value) WMI_SET_BITS(_value, 0, 16, value)
#define WMI_PDEV_RATE_MAX_MCS_PROBE_INTERVAL_GET(value) WMI_GET_BITS(value, 16, 16)
#define WMI_PDEV_RATE_MAX_MCS_PROBE_INTERVAL_SET(_value, value) WMI_SET_BITS(_value, 16, 16, value)
#define WMI_PDEV_RATE_MIN_NSS_PROBE_INTERVAL_GET(value) WMI_GET_BITS(value, 0, 16)
#define WMI_PDEV_RATE_MIN_NSS_PROBE_INTERVAL_SET(_value, value) WMI_SET_BITS(_value, 0, 16, value)
#define WMI_PDEV_RATE_MAX_NSS_PROBE_INTERVAL_GET(value) WMI_GET_BITS(value, 16, 16)
#define WMI_PDEV_RATE_MAX_NSS_PROBE_INTERVAL_SET(_value, value) WMI_SET_BITS(_value, 16, 16, value)
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_ 1097
#define __WMI_REVISION_ 1098

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