diff options
| -rwxr-xr-x | fw/wmi_services.h | 1 | ||||
| -rwxr-xr-x | fw/wmi_tlv_defs.h | 27 | ||||
| -rwxr-xr-x | fw/wmi_unified.h | 42 | ||||
| -rwxr-xr-x | fw/wmi_version.h | 2 |
4 files changed, 66 insertions, 6 deletions
diff --git a/fw/wmi_services.h b/fw/wmi_services.h index cf6b14d27544..e5c87849c608 100755 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -268,6 +268,7 @@ typedef enum { WMI_SERVICE_WLAN_HPCS_PULSE=172, /* Support for High Precision Clock Synchronization feature */ WMI_SERVICE_PER_VDEV_CHAINMASK_CONFIG_SUPPORT=173, /* Support for configuring chainmask per VDEV */ WMI_SERVICE_TX_DATA_MGMT_ACK_RSSI=174, /* ACK RSSI indication to host for host TX data and mgmt frame */ + WMI_SERVICE_NAN_DISABLE_SUPPORT=175, /* indicates firmware is dependent on host to disable NAN incase of concurrencies */ /******* ADD NEW SERVICES HERE *******/ diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index d2236b8d0d17..7a8183175781 100755 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -937,6 +937,10 @@ typedef enum { WMITLV_TAG_STRUC_wmi_pdev_ctl_failsafe_check_fixed_param, WMITLV_TAG_STRUC_wmi_vdev_chainmask_config_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_vdev_bcn_offload_quiet_config_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_nan_event_info, + WMITLV_TAG_STRUC_wmi_ndp_channel_info, + WMITLV_TAG_STRUC_wmi_ndp_cmd_param, + WMITLV_TAG_STRUC_wmi_ndp_event_param, } WMITLV_TAG_ID; /* @@ -1322,6 +1326,7 @@ typedef enum { OP(WMI_HPCS_PULSE_START_CMDID) \ OP(WMI_VDEV_CHAINMASK_CONFIG_CMDID) \ OP(WMI_VDEV_BCN_OFFLOAD_QUIET_CONFIG_CMDID) \ + OP(WMI_NDP_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -1533,6 +1538,7 @@ typedef enum { OP(WMI_MOTION_DET_BASE_LINE_HOST_EVENTID) \ OP(WMI_ESP_ESTIMATE_EVENTID) \ OP(WMI_PDEV_CTL_FAILSAFE_CHECK_EVENTID) \ + OP(WMI_NDP_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -3028,6 +3034,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_NDP_RESPONDER_REQ_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ndp_end_req_PROTOTYPE, ndp_end_req_list, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_NDP_END_REQ_CMDID); +/* NDP Request */ +#define WMITLV_TABLE_WMI_NDP_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_ndp_cmd_param, wmi_ndp_cmd_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_NDP_CMDID); + /* RCPI Info Request Cmd */ #define WMITLV_TABLE_WMI_REQUEST_RCPI_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_request_rcpi_cmd_fixed_param, wmi_request_rcpi_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) @@ -4458,9 +4469,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_THERMAL_MGMT_EVENTID); WMITLV_CREATE_PARAM_STRUC(WMI_OEM_DMA_RING_CFG_RSP_EVENTID) /* NAN Response/Indication Event */ -#define WMITLV_TABLE_WMI_NAN_EVENTID(id,op,buf,len) \ +#define WMITLV_TABLE_WMI_NAN_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_nan_event_hdr, wmi_nan_event_hdr, fixed_param, WMITLV_SIZE_FIX) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_nan_event_info, event_info, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_NAN_EVENTID); /* NAN discovery interface created event */ @@ -4546,7 +4558,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_NDP_INDICATION_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_app_info, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_channel, ndp_channel_list, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, nss_list, WMITLV_SIZE_VAR) \ -WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_ndp_transport_ip_param, wmi_ndp_transport_ip_param, ndp_transport_ip_param, WMITLV_SIZE_FIX) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_ndp_transport_ip_param, wmi_ndp_transport_ip_param, ndp_transport_ip_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ndp_channel_info, ndp_channel_info, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_NDP_CONFIRM_EVENTID); /** NDP end indication event @@ -4569,9 +4582,15 @@ WMITLV_CREATE_PARAM_STRUC(WMI_NDP_END_INDICATION_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_ndl_schedule_update_fixed_param, wmi_ndl_schedule_update_fixed_param_PROTOTYPE, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, ndp_instance_list, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_channel, ndl_channel_list, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, nss_list, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, nss_list, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ndp_channel_info, ndp_channel_info, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_NDL_SCHEDULE_UPDATE_EVENTID); +/* NDP Event */ +#define WMITLV_TABLE_WMI_NDP_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_ndp_event_param, wmi_ndp_event_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_NDP_EVENTID); + /* Update RCPI Info Event */ #define WMITLV_TABLE_WMI_UPDATE_RCPI_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_update_rcpi_event_fixed_param, wmi_update_rcpi_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 0a5e6d445fd9..20ac077af76d 100755 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -1147,6 +1147,7 @@ typedef enum { WMI_NDP_INITIATOR_REQ_CMDID, WMI_NDP_RESPONDER_REQ_CMDID, WMI_NDP_END_REQ_CMDID, + WMI_NDP_CMDID, /** WMI commands related to HW data filtering **/ WMI_HW_DATA_FILTER_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_HW_DATA_FILTER), @@ -1734,6 +1735,7 @@ typedef enum { WMI_NDP_END_INDICATION_EVENTID, WMI_WLAN_COEX_BT_ACTIVITY_EVENTID, WMI_NDL_SCHEDULE_UPDATE_EVENTID, + WMI_NDP_EVENTID, /** WMI events related to motion detection */ WMI_MOTION_DET_HOST_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_MOTION_DET), @@ -16284,7 +16286,9 @@ typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_nan_host_config_param */ A_UINT32 nan_2g_disc_disable:1; /** This bit when set to 1 indicate NAN 2G discovery should be disabled */ A_UINT32 nan_5g_disc_disable:1; /** This bit when set to 1 indicate NAN 5G discovery should be disabled */ -} wmi_nan_host_config_param; + A_UINT32 reserved:30; +} wmi_nan_host_config_param_PROTOTYPE; +#define wmi_nan_host_config_param wmi_nan_host_config_param_PROTOTYPE typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_nan_event_hdr */ @@ -16296,6 +16300,15 @@ typedef struct { */ } wmi_nan_event_hdr; +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_nan_event_info */ + A_UINT32 mac_id; /* MAC ID associated with NAN primary discovery channel; Valid only for NAN enable resp message identified by NAN_MSG_ID_ENABLE_RSP */ + A_UINT32 status:1; /** This bit when set to 0 indicates status is successful; Valid only for NAN enable resp message identified by NAN_MSG_ID_ENABLE_RSP */ + A_UINT32 reserved:31; +} wmi_nan_event_info_PROTOTYPE; + +#define wmi_nan_event_info wmi_nan_event_info_PROTOTYPE + /** * Event to indicate NAN discovery interface created */ @@ -16408,6 +16421,22 @@ typedef struct { #define wmi_ndp_channel_cfg wmi_ndp_channel_cfg_PROTOTYPE +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_ndp_channel_info */ + A_UINT32 mac_id; /* mac_id associated with ndp channel at same index */ +} wmi_ndp_channel_info_PROTOTYPE; + +#define wmi_ndp_channel_info wmi_ndp_channel_info_PROTOTYPE + +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_ndp_event_param */ + A_UINT32 vdev_id; /* NDI VDEV ID */ + A_UINT32 ndp_termination_in_progress:1; /** This bit when set to 1 indicates to termination of all NDPs associated with NDI vdev ID is started */ + A_UINT32 reserved:31; +} wmi_ndp_event_param_PROTOTYPE; + +#define wmi_ndp_event_param wmi_ndp_event_param_PROTOTYPE + /** * NDP Initiator requesting a data session */ @@ -16529,6 +16558,15 @@ typedef struct { #define wmi_ndp_end_req wmi_ndp_end_req_PROTOTYPE +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_ndp_cmd_param */ + A_UINT32 vdev_id; /* NDI VDEV ID */ + A_UINT32 ndp_disable:1; /** This bit when set to 1 indicates to terminate all NDPs associated with NDI vdev ID */ + A_UINT32 reserved:31; +} wmi_ndp_cmd_param_PROTOTYPE; + +#define wmi_ndp_cmd_param wmi_ndp_cmd_param_PROTOTYPE + /** * NDP End request */ @@ -16625,6 +16663,7 @@ typedef struct { } wmi_ndp_responder_rsp_event_fixed_param_PROTOTYPE; #define wmi_ndp_responder_rsp_event_fixed_param wmi_ndp_responder_rsp_event_fixed_param_PROTOTYPE + /** * Active ndp instance id */ @@ -22472,6 +22511,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_HPCS_PULSE_START_CMDID); WMI_RETURN_STRING(WMI_VDEV_CHAINMASK_CONFIG_CMDID); WMI_RETURN_STRING(WMI_VDEV_BCN_OFFLOAD_QUIET_CONFIG_CMDID); + WMI_RETURN_STRING(WMI_NDP_CMDID); } return "Invalid WMI cmd"; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index f39b6b8a29eb..19d9f9611857 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_ 586 +#define __WMI_REVISION_ 587 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work |
