diff options
| author | spuligil <spuligil@codeaurora.org> | 2019-03-26 06:00:51 -0700 |
|---|---|---|
| committer | spuligil <spuligil@codeaurora.org> | 2019-03-26 06:00:51 -0700 |
| commit | f0766c9fa939b2d970f50cad285f2d1d11083f60 (patch) | |
| tree | 753ab8aac1ae914d9fa2a3dba812d0c85dafa3b9 | |
| parent | 538f384dae0079bf8a9b585f79dfd4db2b395ef9 (diff) | |
fw-api: CL 6793737 - update fw common interface files
Change-Id: I85cb335ff1d4e6774c9eaa670fc8e790a2876526
WMI: add PDEV_PARAM_SET options to configure sched_algo FW
CRs-Fixed: 2262693
| -rwxr-xr-x | fw/wmi_unified.h | 114 | ||||
| -rwxr-xr-x | fw/wmi_version.h | 2 |
2 files changed, 114 insertions, 2 deletions
diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 8dce15a53fba..e063ba0bd328 100755 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -5639,9 +5639,121 @@ typedef enum { WMI_PDEV_PARAM_NAV_OVERRIDE_CONFIG, /* Set global MU PPDU duration for DL (usec units) */ - WMI_PDEV_PARAM_SET_MU_PPDU_DURATION, /* 0xB5 */ + WMI_PDEV_PARAM_SET_MU_PPDU_DURATION, + + /* + * Enable / disable test mode configuration. + * By default FW will always send triggers dynamically (mix of BSR/Basic). + * The below testmode are only used for certain tests. + * A value of 1 in a given bit enables corresponding test mode. + * bit | test mode + * --------------- + * 0 | FW only sends BSR triggers. + * 1 | FW only sends Basic triggers. + * 2 | If set, FW enables MU-RTS trigger. + * | If cleared, FW uses implementation-specific internal default setting. + * 3 | FW enables unicast embedded trigger in HE MU PPDU. + * 4-31| reserved. + */ + WMI_PDEV_PARAM_SET_TEST_CMD_UL_TRIGGER_TYPE_ENABLE, + + /* + * Configure test command to set LSIG len. + * Value 0: Dynamic LSIG based on STA's qdepth. + * Non zero Value: LSIG length to be configured + * as part of trigger frame. + * bit | + * --------------- + * 0 - 30 | Bits storing the host supplied <value>. + * 31 | If set: The legitimate value closest to the value specified in + * | in bits 30:0 is directly set in UL len in trigger frame. + * | The FW performs calculations to determine which legitimate + * | value is closest to the specified value, if the specified + * | value is not already legitimate. + * | If not set: The value in lower bits is the duration (in ms), + * | from which the UL len is derived. + * | Example: if host sets 2000 (2ms), then UL Len in trigger + * | will be derived to accomodate the given duration. + */ + WMI_PDEV_PARAM_SET_TEST_CMD_UL_TRIGGER_LSIG_LEN, + + /* + * Configure test cmd for fixed rate setting used for UL Trigger + * (only Basic/BSR triggers). + * The top nibble is used to select which format to use for encoding + * the rate specification: 0xVXXXXXXX, V must be 1 for the UL + * format. + * If V == 0b0001: format is: 0x1000RRRR. + * This will be output of WMI_ASSEMBLE_RATECODE_V1 + * + */ + WMI_PDEV_PARAM_SET_TEST_CMD_UL_TRIGGER_FIXED_RATE, + + /* + * Configure test command to set the mac padding duration. + * 0 - FW set Mac Padding to 0us + * 1 - FW set Mac Padding to 8us + * 2 - FW set Mac Padding to 16us + */ + WMI_PDEV_PARAM_SET_TEST_CMD_UL_MAC_PADDING, + + /* + * Configure test command to set the fc duration in BSR trigger frame. + * value 0 - FW calulates the duration(default). + * Non zero Value: Duration to be configured. + */ + WMI_PDEV_PARAM_SET_TEST_CMD_UL_BSR_FC_DURATION, + + /* Parameter used for configuring TWT scheduling properties + * bit | config_mode + * ----------------- + * 0 | Disables DL MU for TWT peers within TWT SP + * 1 | Disables UL MU for TWT peers within TWT SP + * 2 | Disables scheduling from WMM sched context for TWT peers + * 3 | If set, FW only sends Basic triggers in TWT SP. + * 4-31| reserved. + */ + WMI_PDEV_PARAM_SET_TEST_CMD_TWT_SCHED_CONFIG, + } WMI_PDEV_PARAM; +#define WMI_PDEV_ONLY_BSR_TRIG_IS_ENABLED(trig_type) WMI_GET_BITS(trig_type, 0, 1) +#define WMI_PDEV_ONLY_BSR_TRIG_ENABLE(trig_type) WMI_SET_BITS(trig_type, 0, 1, 1) +#define WMI_PDEV_ONLY_BSR_TRIG_DISABLE(trig_type) WMI_SET_BITS(trig_type, 0, 1, 0) + +#define WMI_PDEV_ONLY_BASIC_TRIG_IS_ENABLED(trig_type) WMI_GET_BITS(trig_type, 1, 1) +#define WMI_PDEV_ONLY_BASIC_TRIG_ENABLE(trig_type) WMI_SET_BITS(trig_type, 1, 1, 1) +#define WMI_PDEV_ONLY_BASIC_TRIG_DISABLE(trig_type) WMI_SET_BITS(trig_type, 1, 1, 0) + +#define WMI_PDEV_MU_RTS_IS_ENABLED(trig_type) WMI_GET_BITS(trig_type, 2, 1) +#define WMI_PDEV_MU_RTS_ENABLE(trig_type) WMI_SET_BITS(trig_type, 2, 1, 1) +#define WMI_PDEV_MU_RTS_DISABLE(trig_type) WMI_SET_BITS(trig_type, 2, 1, 0) + +#define WMI_PDEV_EMBEDDED_TRIGGER_IS_ENABLED(trig_type) WMI_GET_BITS(trig_type, 3, 1) +#define WMI_PDEV_EMBEDDED_TRIGGER_ENABLE(trig_type) WMI_SET_BITS(trig_type, 3, 1, 1) +#define WMI_PDEV_EMBEDDED_TRIGGER_DISABLE(trig_type) WMI_SET_BITS(trig_type, 3, 1, 0) + +#define WMI_PDEV_TWT_SCHED_CFG_IS_DL_MU_IS_ENABLED(twt_sched_cfg) WMI_GET_BITS(twt_sched_cfg, 0, 1) +#define WMI_PDEV_TWT_SCHED_CFG_DL_MU_ENABLE(twt_sched_cfg) WMI_SET_BITS(twt_sched_cfg, 0, 1, 1) +#define WMI_PDEV_TWT_SCHED_CFG_DL_MU_DISABLE(twt_sched_cfg) WMI_SET_BITS(twt_sched_cfg, 0, 1, 0) + +#define WMI_PDEV_TWT_SCHED_CFG_IS_UL_MU_IS_ENABLED(twt_sched_cfg) WMI_GET_BITS(twt_sched_cfg, 1, 1) +#define WMI_PDEV_TWT_SCHED_CFG_UL_MU_ENABLE(twt_sched_cfg) WMI_SET_BITS(twt_sched_cfg, 1, 1, 1) +#define WMI_PDEV_TWT_SCHED_CFG_UL_MU_DISABLE(twt_sched_cfg) WMI_SET_BITS(twt_sched_cfg, 1, 1, 0) + +#define WMI_PDEV_TWT_SCHED_CFG_IS_WMM_IS_ENABLED(twt_sched_cfg) WMI_GET_BITS(twt_sched_cfg, 2, 1) +#define WMI_PDEV_TWT_SCHED_CFG_WMM_ENABLE(twt_sched_cfg) WMI_SET_BITS(twt_sched_cfg, 2, 1, 1) +#define WMI_PDEV_TWT_SCHED_CFG_WMM_DISABLE(twt_sched_cfg) WMI_SET_BITS(twt_sched_cfg, 2, 1, 0) + +#define WMI_PDEV_TWT_SCHED_CFG_IS_USE_ONLY_BASIC_TRIGGER_IS_ENABLED(twt_sched_cfg) WMI_GET_BITS(twt_sched_cfg, 3, 1) +#define WMI_PDEV_TWT_SCHED_CFG_USE_ONLY_BASIC_TRIGGER_ENABLE(twt_sched_cfg) WMI_SET_BITS(twt_sched_cfg, 3, 1, 1) +#define WMI_PDEV_TWT_SCHED_CFG_USE_ONLY_BASIC_TRIGGER_DISABLE(twt_sched_cfg) WMI_SET_BITS(twt_sched_cfg, 3, 1, 0) + +#define WMI_PDEV_LSIG_LEN_DURATION_ENABLE(lsig_len) WMI_SET_BITS(lsig_len, 0, 31, 1) +#define WMI_PDEV_LSIG_LEN_DURATION_DISABLE(lsig_len) WMI_SET_BITS(lsig_len, 0, 31, 0) +#define WMI_PDEV_LSIG_LEN_DURATION_GET(lsig_len) WMI_GET_BITS(lsig_len, 0, 30) +#define WMI_PDEV_LSIG_LEN_DURATION_SET(lsig_len, value) WMI_SET_BITS(lsig_len, 0, 30, 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 diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 3f6d4a05cc3b..a5ab1ec7542b 100755 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -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_ 643 +#define __WMI_REVISION_ 644 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work |
