diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 024814e85140..335352c4feb6 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1449,6 +1449,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_mlo_peer_tid_to_link_map_event_fixed_param, WMITLV_TAG_STRUC_wmi_usd_service_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_usd_service_event_fixed_param, + WMITLV_TAG_STRUC_wmi_vdev_create_wfdr2_mode_params, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -3557,7 +3558,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SET_CUSTOM_AGGR_SIZE_CMDID); #define WMITLV_TABLE_WMI_VDEV_CREATE_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_create_cmd_fixed_param, wmi_vdev_create_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_txrx_streams, cfg_txrx_streams, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_create_mlo_params, mlo_params, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_create_mlo_params, mlo_params, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_create_wfdr2_mode_params, wfdr2_mode, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_CREATE_CMDID); diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 1e31a66f1773..77adbbc82f67 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -16687,6 +16687,9 @@ typedef struct { * wmi_vdev_create_mlo_params mlo_params[0,1]; * optional TLV, only present for MLO vdev; * if the vdev is not MLO the array length should be 0. + * wmi_vdev_create_wfdr2_mode_params wfdr2_mode[0,1]; + * picked as per WMI_VDEV_CREATE_WFDR2_MODES + * to enable/disable NOA */ } wmi_vdev_create_cmd_fixed_param; @@ -16800,6 +16803,22 @@ typedef struct { wmi_mac_addr mld_macaddr; } wmi_vdev_create_mlo_params; +/* + * this TLV structure is used to pass WFD R2 parameters on vdev create + * to enable/disable NOA + */ +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; */ + A_UINT32 wfdr2_mode; /** WFD R2 modes as per WMI_VDEV_CREATE_WFDR2_MODES */ +} wmi_vdev_create_wfdr2_mode_params; + +/** VDEV create WFD R2 modes */ +typedef enum { + WMI_VDEV_CREATE_WFDR2_MODE = 0, + WMI_VDEV_CREATE_WFDR2_PCC_MODE = 1, +} WMI_VDEV_CREATE_WFDR2_MODES; + + /* this TLV structure used for pass mlo parameters on vdev start*/ typedef struct { A_UINT32 tlv_header; /** TLV tag and len; */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index f09f63716521..498e5032fb16 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -37,7 +37,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_ 1516 +#define __WMI_REVISION_ 1517 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work