diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index dc248d93be..0316ca7564 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -970,6 +970,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_pdev_set_rap_config_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_set_rap_config_on_sta_ps_tlv_param, WMITLV_TAG_STRUC_wmi_pdev_rap_info_event_fixed_param, + WMITLV_TAG_STRUC_wmi_sta_tdcc_config_cmd_fixed_param, } WMITLV_TAG_ID; /* @@ -984,6 +985,7 @@ typedef enum { OP(WMI_PEER_SET_PARAM_CMDID) \ OP(WMI_STA_POWERSAVE_MODE_CMDID) \ OP(WMI_STA_POWERSAVE_PARAM_CMDID) \ + OP(WMI_STA_TDCC_CONFIG_CMDID) \ OP(WMI_STA_DTIM_PS_METHOD_CMDID) \ OP(WMI_PDEV_SET_REGDOMAIN_CMDID) \ OP(WMI_PEER_TID_ADDBA_CMDID) \ @@ -1647,6 +1649,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_STA_POWERSAVE_MODE_CMDID); WMITLV_CREATE_PARAM_STRUC(WMI_STA_POWERSAVE_PARAM_CMDID); +/* STA TDCC Param Config Cmd */ +#define WMITLV_TABLE_WMI_STA_TDCC_CONFIG_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_sta_tdcc_config_cmd_fixed_param, wmi_sta_tdcc_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) + +WMITLV_CREATE_PARAM_STRUC(WMI_STA_TDCC_CONFIG_CMDID); + /* STA DTIM PS METHOD Cmd */ #define WMITLV_TABLE_WMI_STA_DTIM_PS_METHOD_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_sta_dtim_ps_method_cmd_fixed_param, wmi_sta_dtim_ps_method_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index b752cdf8eb..6b32fd11ca 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -632,6 +632,8 @@ typedef enum { WMI_STA_POWERSAVE_PARAM_CMDID, /** set station mimo powersave mode */ WMI_STA_MIMO_PS_MODE_CMDID, + /** config station TX cycle percentage in a beacon interval */ + WMI_STA_TDCC_CONFIG_CMDID, /** DFS-specific commands */ @@ -9906,6 +9908,14 @@ typedef struct { A_UINT32 sta_ps_mode; } wmi_sta_powersave_mode_cmd_fixed_param; +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_sta_tdcc_config_cmd_fixed_param */ + /** Set a max tx period: percentage of one beacon interval. range: 0 - 100 */ + A_UINT32 tx_cycle_percentage; + /** Enable/disable TX Duty Cycle Control powersave */ + A_UINT32 enabled; +} wmi_sta_tdcc_config_cmd_fixed_param; + enum wmi_csa_offload_en { WMI_CSA_OFFLOAD_DISABLE = 0, WMI_CSA_OFFLOAD_ENABLE = 1, @@ -23593,6 +23603,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_VDEV_GET_MWS_COEX_INFO_CMDID); WMI_RETURN_STRING(WMI_REQUEST_WLM_STATS_CMDID); WMI_RETURN_STRING(WMI_PDEV_SET_RAP_CONFIG_CMDID); + WMI_RETURN_STRING(WMI_STA_TDCC_CONFIG_CMDID); } return "Invalid WMI cmd";