diff --git a/fw/dbglog_id.h b/fw/dbglog_id.h index d8b0d502dc87..50a4437d9e18 100755 --- a/fw/dbglog_id.h +++ b/fw/dbglog_id.h @@ -52,320 +52,320 @@ extern "C" { /* RESMGR messageIDs for ML logging */ typedef enum { - RESMGR_MSGID_DEFINITION_START = 0x0000, - RESMGR_CHMMGR_CHAINMASK_CHANGE_REQ_MSGID, - RESMGR_CHMMGR_PROCESS_CHM_CHANGE_REQ_MSGID, - RESMGR_CHMMGR_DB_UPDATE_MSGID, - RESMGR_CHMMGR_SEND_HW_MODE_PRE_NOTIF_MSGID, - RESMGR_OCM_SUSPEND_MSGID, - RESMGR_OCM_MIGRATE_MSGID, - RESGMR_OCM_RESUME_MSGID, - RESMGR_OCS_CHREQ_GRANT_MSGID, - RESMGR_OCS_CURR_CAT_WINDOW_MSGID, - RESMGR_OCS_CHREQ_RESTART_MSGID, - RESMGR_OCS_CHREQ_COMPLETE_MSGID, - RESMGR_OCS_WIN_CAT_DUR_MSGID, - RESMGR_OCS_PURGE_CHREQS_MSGID, - RESMGR_OCS_INVOKED_MSGID, - RESMGR_OCS_CHREQ_CREATE_MSGID, - RESMGR_OCS_CHREQ_DELETE_MSGID, - RESMGR_OCS_RECAL_QUOTAS_MSGID, - RESMGR_OCS_CHREQ_START_MSGID, - RESMGR_OCS_CHREQ_STOP_MSGID, - RESMGR_OCS_CHREQ_UPDATE_MSGID, - RESMGR_DBSMGR_SET_HW_MODE_MSGID, - RESMGR_DBSMGR_SET_CONNECTION_IN_PROGRESS_MSGID, - RESMGR_VCM_LINK_CREATE_MSGID, - RESMGR_VCM_LINK_DELETE_MSGID, - RESMGR_VC_INIT_VIR_CHAN_MSGID, - RESMGR_VC_ADD_LINK_MSGID, - RESMGR_VC_RMV_LINK_MSGID, - RESMGR_VC_REGISTER_LINK_MSGID, - RESMGR_VC_UNREGISTER_LINK_MSGID, - RESMGR_VC_ARBITRATE_ATTRIBUTES_MSGID, - RESMGR_DBSMGR_CHANGE_SCAN_STATE_MSGID, - RESMGR_DBSMGR_RECOMPUTE_SCAN_POLICY_MSGID, - RESMGR_DBSMGR_UPDATE_SCAN_POLICY_MSGID, - RESMGR_CHMMGR_INITIATE_VC_OPS_MSGID, - RESMGR_CHMMGR_INITIATE_WAL_OPS_MSGID, - RESMGR_EVENT_HANDLER_VDEV_MGR_MSGID, - RESMGR_EVENT_HANDLER_SCAN_POLICY_MSGID, - RESMGR_MSGID_DEFINITION_END = 0x7fff, + RESMGR_MSGID_DEFINITION_START = 0x0000, + RESMGR_CHMMGR_CHAINMASK_CHANGE_REQ_MSGID, + RESMGR_CHMMGR_PROCESS_CHM_CHANGE_REQ_MSGID, + RESMGR_CHMMGR_DB_UPDATE_MSGID, + RESMGR_CHMMGR_SEND_HW_MODE_PRE_NOTIF_MSGID, + RESMGR_OCM_SUSPEND_MSGID, + RESMGR_OCM_MIGRATE_MSGID, + RESGMR_OCM_RESUME_MSGID, + RESMGR_OCS_CHREQ_GRANT_MSGID, + RESMGR_OCS_CURR_CAT_WINDOW_MSGID, + RESMGR_OCS_CHREQ_RESTART_MSGID, + RESMGR_OCS_CHREQ_COMPLETE_MSGID, + RESMGR_OCS_WIN_CAT_DUR_MSGID, + RESMGR_OCS_PURGE_CHREQS_MSGID, + RESMGR_OCS_INVOKED_MSGID, + RESMGR_OCS_CHREQ_CREATE_MSGID, + RESMGR_OCS_CHREQ_DELETE_MSGID, + RESMGR_OCS_RECAL_QUOTAS_MSGID, + RESMGR_OCS_CHREQ_START_MSGID, + RESMGR_OCS_CHREQ_STOP_MSGID, + RESMGR_OCS_CHREQ_UPDATE_MSGID, + RESMGR_DBSMGR_SET_HW_MODE_MSGID, + RESMGR_DBSMGR_SET_CONNECTION_IN_PROGRESS_MSGID, + RESMGR_VCM_LINK_CREATE_MSGID, + RESMGR_VCM_LINK_DELETE_MSGID, + RESMGR_VC_INIT_VIR_CHAN_MSGID, + RESMGR_VC_ADD_LINK_MSGID, + RESMGR_VC_RMV_LINK_MSGID, + RESMGR_VC_REGISTER_LINK_MSGID, + RESMGR_VC_UNREGISTER_LINK_MSGID, + RESMGR_VC_ARBITRATE_ATTRIBUTES_MSGID, + RESMGR_DBSMGR_CHANGE_SCAN_STATE_MSGID, + RESMGR_DBSMGR_RECOMPUTE_SCAN_POLICY_MSGID, + RESMGR_DBSMGR_UPDATE_SCAN_POLICY_MSGID, + RESMGR_CHMMGR_INITIATE_VC_OPS_MSGID, + RESMGR_CHMMGR_INITIATE_WAL_OPS_MSGID, + RESMGR_EVENT_HANDLER_VDEV_MGR_MSGID, + RESMGR_EVENT_HANDLER_SCAN_POLICY_MSGID, + RESMGR_MSGID_DEFINITION_END = 0x7fff, } RESMGR_MSGID; /* VDEVMGR messageIDs for ML logging */ typedef enum { - VDEV_MGR_MSGID_DEFINITION_START = 0x0000, - VDEV_MGR_RESMGR_CHMMGR_NOTIF_VDEV_UP_MSGID, - VDEV_MGR_FIRST_BMISS_DETECTED_MSGID, - VDEV_MGR_FINAL_BMISS_DETECTED_MSGID, - VDEV_MGR_MY_BEACON_RECEIVED_MSGID, - VDEV_MGR_VDEV_PAUSE_MSGID, - VDEV_MGR_VDEV_UNPAUSE_MSGID, - VDEV_MGR_VDEV_MIGRATE_MSGID, - VDEV_MGR_REGISTER_RESMGR_EVENT_MSGID, - VDEV_MGR_EVENT_HANDLER_VDEV_MSGID, - VDEV_MGR_EVENT_HANDLER_BEACON_MSGID, - VDEV_MGR_EVENT_HANDLER_MGMT_TXRX, - VDEV_MGR_EVENT_HANDLER_11D_SCAN_OFFLOAD_MSG_ID, - VDEV_MGR_EVENT_HANDLER_WOW_KEEPALIVE_MSGID, - VDEV_MGR_EVENT_HANDLER_EXTSCAN_MSGID, - VDEV_MGR_EVENT_HANDLER_SWBMISS_MSGID, - VDEV_MGR_EVENT_HANDLER_BEACON_DTIMSYNC_MSGID, - VDEV_MGR_EVENT_HANDLER_BEACON_TSFOOR_MSGID, - VDEV_MGR_THREAD_COMM_BE_FLOW_CTRL_MSGID, - VDEV_MGR_THREAD_COMM_SYNC_RT_DATA_OFFLOAD_MSGID, - VDEV_MGR_THREAD_COMM_BE_VDEV_STATE_CHANGE_MSGID, - VDEV_MGR_THREAD_COMM_VDEV_STATE_CHANGE_CONF_MSGID, - VDEV_MGR_MSGID_DEFINITION_END = 0x7fff, + VDEV_MGR_MSGID_DEFINITION_START = 0x0000, + VDEV_MGR_RESMGR_CHMMGR_NOTIF_VDEV_UP_MSGID, + VDEV_MGR_FIRST_BMISS_DETECTED_MSGID, + VDEV_MGR_FINAL_BMISS_DETECTED_MSGID, + VDEV_MGR_MY_BEACON_RECEIVED_MSGID, + VDEV_MGR_VDEV_PAUSE_MSGID, + VDEV_MGR_VDEV_UNPAUSE_MSGID, + VDEV_MGR_VDEV_MIGRATE_MSGID, + VDEV_MGR_REGISTER_RESMGR_EVENT_MSGID, + VDEV_MGR_EVENT_HANDLER_VDEV_MSGID, + VDEV_MGR_EVENT_HANDLER_BEACON_MSGID, + VDEV_MGR_EVENT_HANDLER_MGMT_TXRX, + VDEV_MGR_EVENT_HANDLER_11D_SCAN_OFFLOAD_MSG_ID, + VDEV_MGR_EVENT_HANDLER_WOW_KEEPALIVE_MSGID, + VDEV_MGR_EVENT_HANDLER_EXTSCAN_MSGID, + VDEV_MGR_EVENT_HANDLER_SWBMISS_MSGID, + VDEV_MGR_EVENT_HANDLER_BEACON_DTIMSYNC_MSGID, + VDEV_MGR_EVENT_HANDLER_BEACON_TSFOOR_MSGID, + VDEV_MGR_THREAD_COMM_BE_FLOW_CTRL_MSGID, + VDEV_MGR_THREAD_COMM_SYNC_RT_DATA_OFFLOAD_MSGID, + VDEV_MGR_THREAD_COMM_BE_VDEV_STATE_CHANGE_MSGID, + VDEV_MGR_THREAD_COMM_VDEV_STATE_CHANGE_CONF_MSGID, + VDEV_MGR_MSGID_DEFINITION_END = 0x7fff, } VDEV_MGR_MSGID; /* SCAN messageIDs for ML logging */ typedef enum { - SCAN_MSGID_DEFINITION_START = 0x0000, - SCAN_SCH_START_MSGID, - SCAN_EVENT_STARTED_MSGID, - SCAN_EVENT_FOREIGN_CHANNEL_MSGID, - SCAN_EVENT_FOREIGN_CHANNEL_EXIT_MSGID, - SCAN_EVENT_BSS_CHANNEL_MSGID, - SCAN_EVENT_PREEMPTED_MSGID, - SCAN_EVENT_RESTARTED_MSGID, - SCAN_EVENT_COMPLETED_MSGID, - SCAN_EVENT_DEQUEUED_MSGID, - SCAN_EVENT_SUSPENDED_MSGID, - SCAN_SCH_CANCEL_MSGID, - SCAN_SCH_SUSPEND_MSGID, - SCAN_MGR_EVENT_ASYNC_COMPLETE_MSGID, - SCAN_MGR_EVENT_COMPLETED_MSGID, - SCAN_MGR_EVENT_PREEMPTED_MSGID, - SCAN_MGR_EVENT_SUSPENDED_MSGID, - SCAN_POLICY_EVENT_MSGID, - SCAN_MGR_RESUME_EVENT_MSGID, - SCAN_MGR_SCAN_START_MSGID, - SCAN_MGR_CANCEL_MSGID, - SCAN_MGR_BCN_RECV_MSGID, - SCAN_MGR_CHECK_BAND_CHANNELS_MSGID, - SCAN_MGR_SCAN_POLICY_RECOMPUTE_MSGID, - SCAN_MGR_CLIENT_SCAN_POLICY_MSGID, - SCAN_ENG_START_MSGID, - SCAN_ENG_CANCEL_MSGID, - SCAN_SET_CHAN_LIST_MSGID, - SCAN_SEND_PROBE_REQ_RET_VDEV_MSGID, - SCAN_SEND_PROBE_REQ_RET_PASSIVE_MSGID, - SCAN_SEND_PROBE_REQ_2G_RET_MSGID, - SCAN_SEND_PROBE_REQ_5G_RET_MSGID, - SCAN_ADPATIVE_DWELL_ENABLED_MSGID, - SCAN_ADAPTIVE_DWELL_CH_ACTIVITY_START_MSGID, - SCAN_ADAPTIVE_DWELL_CH_ACTIVITY_END_MSGID, - SCAN_ADAPTIVE_DWELL_CH_CONGESTION_CHECK_MSGID, - SCAN_ADAPTIVE_DWELL_ACTIVE_STARTED_MSGID, - SCAN_ADAPTIVE_DWELL_ALL_PROBE_SENT_MSGID, - SCAN_ADAPTIVE_DWELL_PASSIVE_STARTED_MSGID, - SCAN_ADAPTIVE_DWELL_SWITCH_ACTIVE_MSGID, - SCAN_REGISTER_OFFLDMGR_CH_PREDICTION_MSGID, - SCAN_DEREGISTER_OFFLDMGR_CH_PREDICTION_MSGID, - SCAN_REGISTER_OFFLDMGR_ADAPTIVE_BCNPRB_MSGID, - SCAN_DEREGISTER_OFFLDMGR_ADAPTIVE_BCNPRB_MSGID, - SCAN_EVENT_HANDLER_MGMT_TXRX_MSGID, - SCAN_EVENT_HANDLER_NLO_MSGID, - SCAN_EVENT_HANDLER_SCAN_AUTOCHAN_MSGID, - SCAN_EVENT_HANDLER_VDEVMGR_MSGID, - SCAN_EVENT_HANDLER_OFFLOAD_BEACON_MSGID, - SCAN_EVENT_HANDLER_STA_TWT_MSGID, - SCAN_EVENT_HANDLER_BATCH_SCAN_MSGID, - SCAN_MSGID_DEFINITION_END = 0x7fff, + SCAN_MSGID_DEFINITION_START = 0x0000, + SCAN_SCH_START_MSGID, + SCAN_EVENT_STARTED_MSGID, + SCAN_EVENT_FOREIGN_CHANNEL_MSGID, + SCAN_EVENT_FOREIGN_CHANNEL_EXIT_MSGID, + SCAN_EVENT_BSS_CHANNEL_MSGID, + SCAN_EVENT_PREEMPTED_MSGID, + SCAN_EVENT_RESTARTED_MSGID, + SCAN_EVENT_COMPLETED_MSGID, + SCAN_EVENT_DEQUEUED_MSGID, + SCAN_EVENT_SUSPENDED_MSGID, + SCAN_SCH_CANCEL_MSGID, + SCAN_SCH_SUSPEND_MSGID, + SCAN_MGR_EVENT_ASYNC_COMPLETE_MSGID, + SCAN_MGR_EVENT_COMPLETED_MSGID, + SCAN_MGR_EVENT_PREEMPTED_MSGID, + SCAN_MGR_EVENT_SUSPENDED_MSGID, + SCAN_POLICY_EVENT_MSGID, + SCAN_MGR_RESUME_EVENT_MSGID, + SCAN_MGR_SCAN_START_MSGID, + SCAN_MGR_CANCEL_MSGID, + SCAN_MGR_BCN_RECV_MSGID, + SCAN_MGR_CHECK_BAND_CHANNELS_MSGID, + SCAN_MGR_SCAN_POLICY_RECOMPUTE_MSGID, + SCAN_MGR_CLIENT_SCAN_POLICY_MSGID, + SCAN_ENG_START_MSGID, + SCAN_ENG_CANCEL_MSGID, + SCAN_SET_CHAN_LIST_MSGID, + SCAN_SEND_PROBE_REQ_RET_VDEV_MSGID, + SCAN_SEND_PROBE_REQ_RET_PASSIVE_MSGID, + SCAN_SEND_PROBE_REQ_2G_RET_MSGID, + SCAN_SEND_PROBE_REQ_5G_RET_MSGID, + SCAN_ADPATIVE_DWELL_ENABLED_MSGID, + SCAN_ADAPTIVE_DWELL_CH_ACTIVITY_START_MSGID, + SCAN_ADAPTIVE_DWELL_CH_ACTIVITY_END_MSGID, + SCAN_ADAPTIVE_DWELL_CH_CONGESTION_CHECK_MSGID, + SCAN_ADAPTIVE_DWELL_ACTIVE_STARTED_MSGID, + SCAN_ADAPTIVE_DWELL_ALL_PROBE_SENT_MSGID, + SCAN_ADAPTIVE_DWELL_PASSIVE_STARTED_MSGID, + SCAN_ADAPTIVE_DWELL_SWITCH_ACTIVE_MSGID, + SCAN_REGISTER_OFFLDMGR_CH_PREDICTION_MSGID, + SCAN_DEREGISTER_OFFLDMGR_CH_PREDICTION_MSGID, + SCAN_REGISTER_OFFLDMGR_ADAPTIVE_BCNPRB_MSGID, + SCAN_DEREGISTER_OFFLDMGR_ADAPTIVE_BCNPRB_MSGID, + SCAN_EVENT_HANDLER_MGMT_TXRX_MSGID, + SCAN_EVENT_HANDLER_NLO_MSGID, + SCAN_EVENT_HANDLER_SCAN_AUTOCHAN_MSGID, + SCAN_EVENT_HANDLER_VDEVMGR_MSGID, + SCAN_EVENT_HANDLER_OFFLOAD_BEACON_MSGID, + SCAN_EVENT_HANDLER_STA_TWT_MSGID, + SCAN_EVENT_HANDLER_BATCH_SCAN_MSGID, + SCAN_MSGID_DEFINITION_END = 0x7fff, } SCAN_MSGID; /* MGMT_TXRX messageIDs for ML logging */ typedef enum { - MGMT_TXRX_MSGID_DEFINITION_START = 0x0000, - MGMT_TXRX_WAL_LOCAL_FRAME_SEND_MSGID, - MGMT_TXRX_WAL_FRAME_SEND_MSGID, - MGMT_TXRX_FORWARD_TO_HOST_MSGID, - DATA_TXRX_WAL_LOCAL_FRAME_SEND_MSGID, - MGMT_TXRX_MSGID_DEFINITION_END = 0x7fff, + MGMT_TXRX_MSGID_DEFINITION_START = 0x0000, + MGMT_TXRX_WAL_LOCAL_FRAME_SEND_MSGID, + MGMT_TXRX_WAL_FRAME_SEND_MSGID, + MGMT_TXRX_FORWARD_TO_HOST_MSGID, + DATA_TXRX_WAL_LOCAL_FRAME_SEND_MSGID, + MGMT_TXRX_MSGID_DEFINITION_END = 0x7fff, } MGMT_TXRX_MSGID; /* OFFLOAD messageIDs for ML logging */ typedef enum { - OFFLOAD_MSGID_DEFINITION_START = 0x0000, - OFFLOAD_MGMT_RX_FRAME_ALLOW_MSGID, - OFFLOAD_MGMT_RX_FRAME_DROP_MSGID, - OFFLOAD_PROTO_DATA_RX_FRAME_STATUS_MSGID, - OFFLOAD_PROTO_DATA_RX_FRAME_TYPE_MSGID, - OFFLOAD_SCAN_CH_PREDICTION_MSGID, - OFFLOAD_SCAN_ADAPTIVE_BCNPRB_MSGID, - OFFLOAD_VDEV_OWN_BEACON_MSGID, - OFFLOAD_VDEV_BEACON_FILTER_MSGID, - OFFLOAD_VDEV_CONNECTING_MSGID, - OFFLOAD_11D_SCAN_MSGID, - OFFLOAD_BATCH_SCAN_MSGID, - OFFLOAD_OBSS_SCAN_MSGID, - OFFLOAD_ARP_RECV_MSGID, - OFFLOAD_ARP_DROP_MSGID, - OFFLOAD_ARP_REPLY_SUCCESS_MSGID, - OFFLOAD_ARP_REPLY_FAIL_MSGID, - OFFLOAD_NS_RECV_MSGID, - OFFLOAD_NS_DROP_MSGID, - OFFLOAD_NS_REPLY_SUCCESS_MSGID, - OFFLOAD_NS_REPLY_FAIL_MSGID, - OFFLOAD_GTK_PROESS_REKEY_MSGID, - OFFLOAD_GTK_REPLY_REKEY_MSGID, - OFFLOAD_GTK_PROESS_REKEY_FAIL_MSGID, - OFFLOAD_SUPPL_EAP_RECV_MSGID, - OFFLOAD_SUPPL_EAP_1X_MSGID, - OFFLOAD_MSGID_DEFINITION_END = 0x7fff, + OFFLOAD_MSGID_DEFINITION_START = 0x0000, + OFFLOAD_MGMT_RX_FRAME_ALLOW_MSGID, + OFFLOAD_MGMT_RX_FRAME_DROP_MSGID, + OFFLOAD_PROTO_DATA_RX_FRAME_STATUS_MSGID, + OFFLOAD_PROTO_DATA_RX_FRAME_TYPE_MSGID, + OFFLOAD_SCAN_CH_PREDICTION_MSGID, + OFFLOAD_SCAN_ADAPTIVE_BCNPRB_MSGID, + OFFLOAD_VDEV_OWN_BEACON_MSGID, + OFFLOAD_VDEV_BEACON_FILTER_MSGID, + OFFLOAD_VDEV_CONNECTING_MSGID, + OFFLOAD_11D_SCAN_MSGID, + OFFLOAD_BATCH_SCAN_MSGID, + OFFLOAD_OBSS_SCAN_MSGID, + OFFLOAD_ARP_RECV_MSGID, + OFFLOAD_ARP_DROP_MSGID, + OFFLOAD_ARP_REPLY_SUCCESS_MSGID, + OFFLOAD_ARP_REPLY_FAIL_MSGID, + OFFLOAD_NS_RECV_MSGID, + OFFLOAD_NS_DROP_MSGID, + OFFLOAD_NS_REPLY_SUCCESS_MSGID, + OFFLOAD_NS_REPLY_FAIL_MSGID, + OFFLOAD_GTK_PROESS_REKEY_MSGID, + OFFLOAD_GTK_REPLY_REKEY_MSGID, + OFFLOAD_GTK_PROESS_REKEY_FAIL_MSGID, + OFFLOAD_SUPPL_EAP_RECV_MSGID, + OFFLOAD_SUPPL_EAP_1X_MSGID, + OFFLOAD_MSGID_DEFINITION_END = 0x7fff, } OFFLOAD_MSGID; /* STA_PWRSAVE messageIDs for ML logging */ typedef enum { - STA_PWRSAVE_MSGID_DEFINITION_START = 0x0000, - STA_PWRSAVE_ARBITER_REQUEST_MSGID, - STA_PWRSAVE_MSGID_DEFINITION_END = 0x7fff, + STA_PWRSAVE_MSGID_DEFINITION_START = 0x0000, + STA_PWRSAVE_ARBITER_REQUEST_MSGID, + STA_PWRSAVE_MSGID_DEFINITION_END = 0x7fff, } STA_PWRSAVE_MSGID; /* COEX messageIDs for ML logging */ typedef enum { - COEX_MSGID_DEFINITION_START = 0x0000, - COEX_ASM_ANTENNA_REQUEST_MSGID, - COEX_ASM_ANTENNA_RELEASE_MSGID, - COEX_EVENT_HANDLER_RESMGR_MSGID, - COEX_EVENT_HANDLER_SCAN_ANT_MSGID, - COEX_EVENT_HANDLER_VDEV_ANT_OP_MSGID, - COEX_MSGID_DEFINITION_END = 0x7fff, + COEX_MSGID_DEFINITION_START = 0x0000, + COEX_ASM_ANTENNA_REQUEST_MSGID, + COEX_ASM_ANTENNA_RELEASE_MSGID, + COEX_EVENT_HANDLER_RESMGR_MSGID, + COEX_EVENT_HANDLER_SCAN_ANT_MSGID, + COEX_EVENT_HANDLER_VDEV_ANT_OP_MSGID, + COEX_MSGID_DEFINITION_END = 0x7fff, } COEX_MSGID; /* STA_SMPS messageIDs for ML logging */ typedef enum { - STA_SMPS_MSGID_DEFINITION_START = 0x0000, - STA_SMPS_VC_CFG_NOTIFY_MSGID, - STA_SMPS_MSGID_EDFINITION_END = 0x7fff, + STA_SMPS_MSGID_DEFINITION_START = 0x0000, + STA_SMPS_VC_CFG_NOTIFY_MSGID, + STA_SMPS_MSGID_EDFINITION_END = 0x7fff, } STA_SMPS_MSGID; /* WAL messageIDs for ML logging */ typedef enum { - WAL_MSGID_DEFINITION_START = 0x0000, - WAL_PDEV_CHANNEL_CHANGE_MSGID, - WAL_PDEV_HALPHY_RUN_DPD_CAL_MSGID, - WAL_TX_MGMT_COMP_MSGID, - WAL_TX_MGMT_ENQUEUE_MSGID, - WAL_RX_SUSPEND_START_MSGID, - WAL_RX_SUSPEND_SUCCESS_MSGID, - WAL_RX_RESUME_START_MSGID, - WAL_SOC_SWITCH_MODE_MSGID, - WAL_CONNECTION_PAUSE_BLOCK_ENABLE_MSGID, - WAL_CONNECTION_PAUSE_BLOCK_DISABLE_MSGID, - WAL_VDEV_PAUSE_ENABLE_MSGID, - WAL_VDEV_PAUSE_DISABLE_MSGID, - WAL_VDEV_PAUSE_RESET_MSGID, - WAL_PDEV_PAUSE_ENABLE_MSGID, - WAL_PDEV_PAUSE_DISABLE_MSGID, - WAL_PEER_SEND_N_REQ_MSGID, - WAL_PEER_PS_PRE_REQ_MSGID, - WAL_CONNECTION_PAUSE_ATTACH_TID_MSGID, - WAL_PDEV_PAUSE_NOTIFY_VDEV_CREATE_MSGID, - WAL_CONNECTION_PAUSE_PEER_CREATE_MSGID, - WAL_CONNECTION_PAUSE_TIDQ_HWQ_EMPTY_MSGID, - WAL_TX_SEND_ABORT_TX_MSGID, - WAL_TX_SEND_RESUME_TX_MSGID, - WAL_TX_FLUSH_TID_MSGID, - WAL_TX_FLUSH_PEER_MSGID, - WAL_TX_FLUSH_VDEV_MSGID, - WAL_VDEV_UP_MSGID, - WAL_VDEV_START_MSGID, - WAL_VDEV_DOWN_MSGID, - WAL_VDEV_STOP_MSGID, - WAL_VDEV_MIGRATE_MSGID, - WAL_PEER_CONSECUTIVE_FAILURE_MSGID, - WAL_PEER_CONSECUTIVE_FAILURE_RESET_MSGID, - WAL_PEER_STA_KICKOUT_MSGID, - SM_DISPATCH_EVENT_MSGID, - SM_STATE_TRANSITION_MSGID, - WAL_THREAD_COMM_TX_PAUSE_HWQ_EMPTY_MSGID, - WAL_THREAD_COMM_PEER_TX_PAUSE_REQ_MSGID, - WAL_THREAD_COMM_PEER_TX_UNPAUSE_REQ_MSGID, - WAL_THREAD_COMM_VDEV_TX_PAUSE_REQ_MSGID, - WAL_THREAD_COMM_PDEV_TX_PAUSE_REQ_MSGID, - WAL_THREAD_COMM_VDEV_TX_UNPAUSE_REQ_MSGID, - WAL_THREAD_COMM_PDEV_TX_UNPAUSE_REQ_MSGID, - WAL_THREAD_COMM_VDEV_TX_PAUSE_RESET_IND_MSGID, - WAL_THREAD_COMM_PEER_TX_BLOCK_REQ_MSGID, - WAL_THREAD_COMM_PEER_TX_UNBLOCK_REQ_MSGID, - WAL_THREAD_COMM_PEER_SEND_N_REQ_MSGID, - WAL_THREAD_COMM_PEER_PS_PRE_REQ_MSGID, - WAL_THREAD_COMM_TX_PAUSE_TID_CREATE_MSGID, - WAL_THREAD_COMM_TX_PAUSE_VDEV_CREATE_MSGID, - WAL_THREAD_COMM_TX_PAUSE_POST_RESPONSE_MSGID, - WAL_THREAD_COMM_PDEV_EVENT_HANDLER_MSGID, - WAL_THREAD_COMM_VDEV_EVENT_HANDLER_MSGID, - WAL_THREAD_COMM_PEER_EVENT_HANDLER_MSGID, - WAL_THREAD_COMM_POWER_MSGID, - WAL_THREAD_COMM_RT_POWER_BEACON_TIMEOUT_MSGID, - WAL_THREAD_COMM_RT_POWER_SUSPEND_FAIL_RESET_MSGID, - WAL_THREAD_COMM_RT_DATA_NULL_DEAUTH_MSGID, - WAL_THREAD_COMM_LOCAL_SEND_WITH_RATE_MSGID, - WAL_THREAD_COMM_LOCAL_SEND_COMPLETION_MSGID, - WAL_THREAD_COMM_TX_FLUSH_ENTITY_TID_MSGID, - WAL_THREAD_COMM_TX_FLUSH_ENTITY_PEER_MSGID, - WAL_THREAD_COMM_TX_FLUSH_ENTITY_VDEV_MSGID, - WAL_THREAD_COMM_TX_FLUSH_COMPLETE_MSGID, - WAL_THREAD_COMM_TAC_TID_LIST_OP_MSGID, - WAL_THREAD_COMM_TAC_TX_SCHED_MSGID, - WAL_THREAD_COMM_BE_RX_ATTACH_MSGID, - WAL_THREAD_COMM_TT_CONTROL_MSGID, - WAL_THREAD_COMM_RT_EXEC_DEV_RESET_MSGID, - WAL_THREAD_COMM_VDEV_MIGRATION_SYNC_MSGID, - WAL_THREAD_COMM_BE_SOC_SUSPEND_NOTIFY_MSGID, - WAL_THREAD_COMM_RT_SOC_SUSPEND_CONF_MSGID, - WAL_THREAD_COMM_TX_ABORT_MSGID, - WAL_THREAD_COMM_TX_RESUME_MSGID, - WAL_THREAD_COMM_RT_WPM_EXIT_HW_DTIM_AWAKE_MSGID, - WAL_THREAD_COMM_BE_RX_PROC_MSGID, - WAL_THREAD_COMM_BE_PEER_SET_PARAM_MSGID, - WAL_THREAD_COMM_PEER_SEND_MSG_MSGID, - WAL_THREAD_COMM_TID_DEL_MSGID, - WAL_TX_PAUSE_REQ_HANDLER_MSGID, - WAL_TX_PAUSE_RSP_HANDLER_MSGID, - WAL_SW_DTIM_POWER_MSG_HANDLER_MSGID, - WAL_PEER_KEY_SET_MSGID, - WAL_PEER_WAPI_EAPOL_TX_SEND_COMPLETE_MSGID, - WAL_PEER_PTK_M4_SENT_MSGID, - WAL_PEER_ALLOW_DATA_MSGID, - WAL_EVENT_HANDLER_VDEV_PAUSE_MSGID, - WAL_EVENT_HANDLER_STA_SWTIM_MSGID, - WAL_EVENT_HANDLER_VDEV_RECONFIG_MSGID, - WAL_MSGID_DEFINITION_END = 0x7fff, + WAL_MSGID_DEFINITION_START = 0x0000, + WAL_PDEV_CHANNEL_CHANGE_MSGID, + WAL_PDEV_HALPHY_RUN_DPD_CAL_MSGID, + WAL_TX_MGMT_COMP_MSGID, + WAL_TX_MGMT_ENQUEUE_MSGID, + WAL_RX_SUSPEND_START_MSGID, + WAL_RX_SUSPEND_SUCCESS_MSGID, + WAL_RX_RESUME_START_MSGID, + WAL_SOC_SWITCH_MODE_MSGID, + WAL_CONNECTION_PAUSE_BLOCK_ENABLE_MSGID, + WAL_CONNECTION_PAUSE_BLOCK_DISABLE_MSGID, + WAL_VDEV_PAUSE_ENABLE_MSGID, + WAL_VDEV_PAUSE_DISABLE_MSGID, + WAL_VDEV_PAUSE_RESET_MSGID, + WAL_PDEV_PAUSE_ENABLE_MSGID, + WAL_PDEV_PAUSE_DISABLE_MSGID, + WAL_PEER_SEND_N_REQ_MSGID, + WAL_PEER_PS_PRE_REQ_MSGID, + WAL_CONNECTION_PAUSE_ATTACH_TID_MSGID, + WAL_PDEV_PAUSE_NOTIFY_VDEV_CREATE_MSGID, + WAL_CONNECTION_PAUSE_PEER_CREATE_MSGID, + WAL_CONNECTION_PAUSE_TIDQ_HWQ_EMPTY_MSGID, + WAL_TX_SEND_ABORT_TX_MSGID, + WAL_TX_SEND_RESUME_TX_MSGID, + WAL_TX_FLUSH_TID_MSGID, + WAL_TX_FLUSH_PEER_MSGID, + WAL_TX_FLUSH_VDEV_MSGID, + WAL_VDEV_UP_MSGID, + WAL_VDEV_START_MSGID, + WAL_VDEV_DOWN_MSGID, + WAL_VDEV_STOP_MSGID, + WAL_VDEV_MIGRATE_MSGID, + WAL_PEER_CONSECUTIVE_FAILURE_MSGID, + WAL_PEER_CONSECUTIVE_FAILURE_RESET_MSGID, + WAL_PEER_STA_KICKOUT_MSGID, + SM_DISPATCH_EVENT_MSGID, + SM_STATE_TRANSITION_MSGID, + WAL_THREAD_COMM_TX_PAUSE_HWQ_EMPTY_MSGID, + WAL_THREAD_COMM_PEER_TX_PAUSE_REQ_MSGID, + WAL_THREAD_COMM_PEER_TX_UNPAUSE_REQ_MSGID, + WAL_THREAD_COMM_VDEV_TX_PAUSE_REQ_MSGID, + WAL_THREAD_COMM_PDEV_TX_PAUSE_REQ_MSGID, + WAL_THREAD_COMM_VDEV_TX_UNPAUSE_REQ_MSGID, + WAL_THREAD_COMM_PDEV_TX_UNPAUSE_REQ_MSGID, + WAL_THREAD_COMM_VDEV_TX_PAUSE_RESET_IND_MSGID, + WAL_THREAD_COMM_PEER_TX_BLOCK_REQ_MSGID, + WAL_THREAD_COMM_PEER_TX_UNBLOCK_REQ_MSGID, + WAL_THREAD_COMM_PEER_SEND_N_REQ_MSGID, + WAL_THREAD_COMM_PEER_PS_PRE_REQ_MSGID, + WAL_THREAD_COMM_TX_PAUSE_TID_CREATE_MSGID, + WAL_THREAD_COMM_TX_PAUSE_VDEV_CREATE_MSGID, + WAL_THREAD_COMM_TX_PAUSE_POST_RESPONSE_MSGID, + WAL_THREAD_COMM_PDEV_EVENT_HANDLER_MSGID, + WAL_THREAD_COMM_VDEV_EVENT_HANDLER_MSGID, + WAL_THREAD_COMM_PEER_EVENT_HANDLER_MSGID, + WAL_THREAD_COMM_POWER_MSGID, + WAL_THREAD_COMM_RT_POWER_BEACON_TIMEOUT_MSGID, + WAL_THREAD_COMM_RT_POWER_SUSPEND_FAIL_RESET_MSGID, + WAL_THREAD_COMM_RT_DATA_NULL_DEAUTH_MSGID, + WAL_THREAD_COMM_LOCAL_SEND_WITH_RATE_MSGID, + WAL_THREAD_COMM_LOCAL_SEND_COMPLETION_MSGID, + WAL_THREAD_COMM_TX_FLUSH_ENTITY_TID_MSGID, + WAL_THREAD_COMM_TX_FLUSH_ENTITY_PEER_MSGID, + WAL_THREAD_COMM_TX_FLUSH_ENTITY_VDEV_MSGID, + WAL_THREAD_COMM_TX_FLUSH_COMPLETE_MSGID, + WAL_THREAD_COMM_TAC_TID_LIST_OP_MSGID, + WAL_THREAD_COMM_TAC_TX_SCHED_MSGID, + WAL_THREAD_COMM_BE_RX_ATTACH_MSGID, + WAL_THREAD_COMM_TT_CONTROL_MSGID, + WAL_THREAD_COMM_RT_EXEC_DEV_RESET_MSGID, + WAL_THREAD_COMM_VDEV_MIGRATION_SYNC_MSGID, + WAL_THREAD_COMM_BE_SOC_SUSPEND_NOTIFY_MSGID, + WAL_THREAD_COMM_RT_SOC_SUSPEND_CONF_MSGID, + WAL_THREAD_COMM_TX_ABORT_MSGID, + WAL_THREAD_COMM_TX_RESUME_MSGID, + WAL_THREAD_COMM_RT_WPM_EXIT_HW_DTIM_AWAKE_MSGID, + WAL_THREAD_COMM_BE_RX_PROC_MSGID, + WAL_THREAD_COMM_BE_PEER_SET_PARAM_MSGID, + WAL_THREAD_COMM_PEER_SEND_MSG_MSGID, + WAL_THREAD_COMM_TID_DEL_MSGID, + WAL_TX_PAUSE_REQ_HANDLER_MSGID, + WAL_TX_PAUSE_RSP_HANDLER_MSGID, + WAL_SW_DTIM_POWER_MSG_HANDLER_MSGID, + WAL_PEER_KEY_SET_MSGID, + WAL_PEER_WAPI_EAPOL_TX_SEND_COMPLETE_MSGID, + WAL_PEER_PTK_M4_SENT_MSGID, + WAL_PEER_ALLOW_DATA_MSGID, + WAL_EVENT_HANDLER_VDEV_PAUSE_MSGID, + WAL_EVENT_HANDLER_STA_SWTIM_MSGID, + WAL_EVENT_HANDLER_VDEV_RECONFIG_MSGID, + WAL_MSGID_DEFINITION_END = 0x7fff, } WAL_MSGID; /* WPM messageIDs for ML logging */ typedef enum { - WPM_MSGID_DEFINITION_START = 0x0000, - WPM_ARBITER_REQUEST_MSGID, - WPM_MSGID_DEFINITION_END = 0x7fff, + WPM_MSGID_DEFINITION_START = 0x0000, + WPM_ARBITER_REQUEST_MSGID, + WPM_MSGID_DEFINITION_END = 0x7fff, } WPM_MSGID; /* MLME messageIDs for ML logging */ typedef enum { - MLME_MSGID_DEFINITION_START = 0x0000, - MLME_THREAD_COMM_BE_HTT_SVC_VDEV_CHANGE_MSGID, - MLME_THREAD_COMM_INSTALL_KEY_MSGID, - MLME_THREAD_COMM_STORE_KEY_MSGID, - MLME_THREAD_COMM_UPDATE_STATUS_MSGID, - MLME_THREAD_COMM_CMD_PROXY_MSGID, - MLME_MSGID_DEFINITION_END = 0x7fff, + MLME_MSGID_DEFINITION_START = 0x0000, + MLME_THREAD_COMM_BE_HTT_SVC_VDEV_CHANGE_MSGID, + MLME_THREAD_COMM_INSTALL_KEY_MSGID, + MLME_THREAD_COMM_STORE_KEY_MSGID, + MLME_THREAD_COMM_UPDATE_STATUS_MSGID, + MLME_THREAD_COMM_CMD_PROXY_MSGID, + MLME_MSGID_DEFINITION_END = 0x7fff, } MLME_MSGID; typedef enum { - SUPPL_MSGID_DEFINITION_START = 0x0000, - SUPPL_THREAD_COMM_INIT_AUTH_MSGID, - SUPPL_THREAD_COMM_STATUS_CHANGE_EVT_MSGID, - SUPPL_MSGID_DEFINITION_END = 0x7fff, + SUPPL_MSGID_DEFINITION_START = 0x0000, + SUPPL_THREAD_COMM_INIT_AUTH_MSGID, + SUPPL_THREAD_COMM_STATUS_CHANGE_EVT_MSGID, + SUPPL_MSGID_DEFINITION_END = 0x7fff, } SUPPL_MSGID; typedef enum { - AP_PWRSAVE_MSGID_DEFINITION_START = 0x0000, - AP_PWRSAVE_EVENT_HANDLER_SLEEP_STA_UPDATE_MSGID, - AP_PWRSAVE_MSGID_DEFINITION_END = 0x7fff, + AP_PWRSAVE_MSGID_DEFINITION_START = 0x0000, + AP_PWRSAVE_EVENT_HANDLER_SLEEP_STA_UPDATE_MSGID, + AP_PWRSAVE_MSGID_DEFINITION_END = 0x7fff, } AP_PWRSAVE_MSGID; @@ -2075,6 +2075,12 @@ typedef enum { #define WLAN_MODULE_QBOOST_DBGID_WLAN_PEER_NOT_FOUND 1 #define WLAN_MODULE_QBOOST_DEFINITION_END 2 +/* HPCS DBGID */ +#define HPCS_PULSE_START 0 +#define HPCS_PULSE_LF_TIMER 1 +#define HPCS_PULSE_HF_TIMER 2 +#define HPCS_PULSE_POWER_SAVE 3 + #ifdef __cplusplus } #endif diff --git a/fw/htt.h b/fw/htt.h index 64d1391aaed2..29cf7873d57b 100644 --- a/fw/htt.h +++ b/fw/htt.h @@ -173,9 +173,10 @@ * 3.56 Fix HTT_RX_RING_SELECTION_CFG_PKT_TYPE_ENABLE bit-mask defs * 3.57 Add support for in-band data within HTT_T2H_MSG_TYPE_CFR_DUMP_COMPL_IND * 3.58 Add optional MSDU ack RSSI array to end of HTT_T2H TX_COMPL_IND msg + * 3.59 Add HTT_RXDMA_HOST_BUF_RING2 def */ #define HTT_CURRENT_VERSION_MAJOR 3 -#define HTT_CURRENT_VERSION_MINOR 58 +#define HTT_CURRENT_VERSION_MINOR 59 #define HTT_NUM_TX_FRAG_DESC 1024 @@ -4389,6 +4390,7 @@ enum htt_srng_ring_id { HTT_HOST1_TO_FW_RXBUF_RING, /* (mobile only) used by host to provide remote RX buffers */ HTT_HOST2_TO_FW_RXBUF_RING, /* (mobile only) second ring used by host to provide remote RX buffers */ HTT_RXDMA_NON_MONITOR_DEST_RING, /* Per MDPU indication to host for non-monitor RxDMA traffic upload */ + HTT_RXDMA_HOST_BUF_RING2, /* Second ring used by FW to feed removed buffers and update removed packets */ /* Add Other SRING which can't be directly configured by host software above this line */ }; diff --git a/fw/htt_stats.h b/fw/htt_stats.h index 22ea845fb24d..47986513df79 100644 --- a/fw/htt_stats.h +++ b/fw/htt_stats.h @@ -249,16 +249,25 @@ enum htt_dbg_ext_stats_type { * PARAMS: * - config_param0: * [Bit0] vdev_id_set:1 - * set to 1 if vdev_id is set and vdev stats are requested + * set to 1 if vdev_id is set and vdev stats are requested * [Bit8 : Bit1] vdev_id:8 * note:0xFF to get all active vdevs based on pdev_mask. * [Bit31 : Bit9] rsvd:22 - + * * RESP MSG: * - htt_tx_sounding_stats_t */ HTT_DBG_EXT_STATS_TX_SOUNDING_INFO = 22, + /* HTT_DBG_EXT_STATS_PDEV_OBSS_PD_STATS + * PARAMS: + * - config_param0: + * No params + * RESP MSG: + * - htt_pdev_obss_pd_stats_t + */ + HTT_DBG_EXT_STATS_PDEV_OBSS_PD_STATS = 23, + /* keep this last */ HTT_DBG_NUM_EXT_STATS = 256, @@ -353,6 +362,7 @@ typedef enum { HTT_STATS_TX_DE_FW2WBM_RING_FULL_HIST_TAG = 85, /* htt_tx_de_fw2wbm_ring_full_hist_tlv */ HTT_STATS_SCHED_TXQ_SCHED_ORDER_SU_TAG = 86, /* htt_sched_txq_sched_order_su_tlv */ HTT_STATS_SCHED_TXQ_SCHED_INELIGIBILITY_TAG = 87, /* htt_sched_txq_sched_eligibility_tlv */ + HTT_STATS_PDEV_OBSS_PD_TAG = 88, /* htt_pdev_obss_pd_stats_tlv */ HTT_STATS_MAX_TAG, } htt_tlv_tag_t; @@ -1106,6 +1116,10 @@ typedef struct _htt_rx_peer_rate_stats_tlv { /* Counters to track number of rx packets in each GI in each mcs (0-11) */ A_UINT32 rx_gi[HTT_RX_PEER_STATS_NUM_GI_COUNTERS][HTT_RX_PEER_STATS_NUM_MCS_COUNTERS]; + A_UINT32 rx_ulofdma_non_data_ppdu; /* ppdu level */ + A_UINT32 rx_ulofdma_data_ppdu; /* ppdu level */ + A_UINT32 rx_ulofdma_mpdu_ok; /* mpdu level */ + A_UINT32 rx_ulofdma_mpdu_fail; /* mpdu level */ } htt_rx_peer_rate_stats_tlv; typedef enum { @@ -2851,6 +2865,8 @@ typedef struct { #define HTT_RX_PDEV_STATS_NUM_BW_COUNTERS 4 #define HTT_RX_PDEV_STATS_NUM_SPATIAL_STREAMS 8 #define HTT_RX_PDEV_STATS_NUM_PREAMBLE_TYPES HTT_STATS_PREAM_COUNT +#define HTT_RX_PDEV_MAX_OFDMA_NUM_USER 8 +#define HTT_RX_PDEV_STATS_RXEVM_MAX_PILOTS_PER_NSS 16 #define HTT_RX_PDEV_RATE_STATS_MAC_ID_M 0x000000ff #define HTT_RX_PDEV_RATE_STATS_MAC_ID_S 0 @@ -2903,6 +2919,31 @@ typedef struct { A_UINT32 rx_legacy_ofdm_rate[HTT_RX_PDEV_STATS_NUM_LEGACY_OFDM_STATS]; A_UINT32 rx_active_dur_us_low; A_UINT32 rx_active_dur_us_high; + + A_UINT32 rx_11ax_ul_ofdma; + + A_UINT32 ul_ofdma_rx_mcs[HTT_RX_PDEV_STATS_NUM_MCS_COUNTERS]; + A_UINT32 ul_ofdma_rx_gi[HTT_TX_PDEV_STATS_NUM_GI_COUNTERS][HTT_RX_PDEV_STATS_NUM_MCS_COUNTERS]; + A_UINT32 ul_ofdma_rx_nss[HTT_TX_PDEV_STATS_NUM_SPATIAL_STREAMS]; + A_UINT32 ul_ofdma_rx_bw[HTT_TX_PDEV_STATS_NUM_BW_COUNTERS]; + A_UINT32 ul_ofdma_rx_stbc; + A_UINT32 ul_ofdma_rx_ldpc; + + /* record the stats for each user index */ + A_UINT32 rx_ulofdma_non_data_ppdu[HTT_RX_PDEV_MAX_OFDMA_NUM_USER]; /* ppdu level */ + A_UINT32 rx_ulofdma_data_ppdu[HTT_RX_PDEV_MAX_OFDMA_NUM_USER]; /* ppdu level */ + A_UINT32 rx_ulofdma_mpdu_ok[HTT_RX_PDEV_MAX_OFDMA_NUM_USER]; /* mpdu level */ + A_UINT32 rx_ulofdma_mpdu_fail[HTT_RX_PDEV_MAX_OFDMA_NUM_USER]; /* mpdu level */ + + A_UINT32 nss_count; + A_UINT32 pilot_count; + /* RxEVM stats in dB */ + A_INT32 rx_pilot_evm_dB[HTT_RX_PDEV_STATS_NUM_SPATIAL_STREAMS][HTT_RX_PDEV_STATS_RXEVM_MAX_PILOTS_PER_NSS]; + /* rx_pilot_evm_dB_mean: + * EVM mean across pilots, computed as + * mean(10*log10(rx_pilot_evm_linear)) = mean(rx_pilot_evm_dB) + */ + A_INT32 rx_pilot_evm_dB_mean[HTT_RX_PDEV_STATS_NUM_SPATIAL_STREAMS]; } htt_rx_pdev_rate_stats_tlv; @@ -3600,5 +3641,19 @@ typedef struct { htt_tx_sounding_stats_tlv sounding_tlv; } htt_tx_sounding_stats_t; +typedef struct { + htt_tlv_hdr_t tlv_hdr; + + A_UINT32 num_obss_tx_ppdu_success; + A_UINT32 num_obss_tx_ppdu_failure; +} htt_pdev_obss_pd_stats_tlv; + +/* NOTE: + * This structure is for documentation, and cannot be safely used directly. + * Instead, use the constituent TLV structures to fill/parse. + */ +typedef struct { + htt_pdev_obss_pd_stats_tlv obss_pd_stat; +} htt_pdev_obss_pd_stats_t; #endif /* __HTT_STATS_H__ */ diff --git a/fw/targaddrs.h b/fw/targaddrs.h index 98d4b20ed02f..25b493685040 100755 --- a/fw/targaddrs.h +++ b/fw/targaddrs.h @@ -370,6 +370,14 @@ PREPACK64 struct host_interest_s { #define HI_OPTION_BE_LATENCY_OPTIMIZE 0x100 /* This bit is to enable BE low latency for some customers. The side effect is TCP DL will be 8Mbps decreased (673Mbps -> 665Mbps).*/ #define HT_OPTION_GPIO_WAKEUP_SUPPORT 0x200 /* GPIO wake up support */ +/* + * If both SDIO_CRASH_DUMP_ENHANCEMENT_HOST and SDIO_CRASH_DUMP_ENHANCEMENT_FW + * flags are set, then crashdump upload will be done using the BMI host/target + * communication channel. + */ +#define HI_OPTION_SDIO_CRASH_DUMP_ENHANCEMENT_HOST 0x400 /* HOST to support using BMI dump FW memory when hit assert */ +#define HI_OPTION_SDIO_CRASH_DUMP_ENHANCEMENT_FW 0x800 /* FW to support using BMI dump FW memory when hit assert */ + #define GPIO_WAKEUP_ENABLED() \ (HOST_INTEREST->hi_option_flag2 & HT_OPTION_GPIO_WAKEUP_SUPPORT) diff --git a/fw/wlan_defs.h b/fw/wlan_defs.h index f1841e6416f9..e0010c92f924 100755 --- a/fw/wlan_defs.h +++ b/fw/wlan_defs.h @@ -525,6 +525,13 @@ typedef struct { A_UINT32 ptr; /** size of the chunk */ A_UINT32 size; + /** ptr_high + * most significant bits of physical address of the memory chunk + * Only applicable for addressing more than 32 bit. + * This will only be non-zero if the target has set + * WMI_SERVICE_SUPPORT_EXTEND_ADDRESS flag. + */ + A_UINT32 ptr_high; } wlan_host_memory_chunk; #define NUM_UNITS_IS_NUM_VDEVS 0x1 diff --git a/fw/wmi_services.h b/fw/wmi_services.h index e8284d21a729..fce99b263c87 100755 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -271,6 +271,103 @@ typedef enum { WMI_SERVICE_NAN_DISABLE_SUPPORT=175, /* indicates firmware is dependent on host to disable NAN incase of concurrencies */ WMI_SERVICE_NAN_DISABLE_SUPPORT__prototype = WMI_SERVICE_NAN_DISABLE_SUPPORT, /* alias, to clarify that NAN_DISABLE_SUPPORT is for prototype testing purposes */ WMI_SERVICE_HTT_H2T_NO_HTC_HDR_LEN_IN_MSG_LEN=176, /* indicates FW supports uniformly excluding the HTC header length from the HTT H2T message length */ + WMI_SERVICE_COEX_SUPPORT_UNEQUAL_ISOLATION=177, /* indicates FW supports FDD coex with unequal isolation between BT and each of the WLAN chains */ + + /* WMI_SERVICE_HW_DB2DBM_CONVERSION_SUPPORT: + * Support HW+FW db2dbm conversion for RSSI fields in rx descriptors + * and host/target messages. + * If enabled, HW and FW will convert SNR to RSSI by adding noise floor + * and rssi_offset from BDF to RSSI values that formerly had units of + * dB w.r.t. noise floor to convert the units to dBm. + * MAC beacon RSSI average register return a signed value for RSSI, + * as well as hw descriptors. + *------------------------------------------------------------------------- + * The RSSI field of below WMI messages will be changed to dBm units: + * WMI_MGMT_RX_EVENTID: + * wmi_mgmt_rx_hdr.rssi_ctl; + * WMI_UPDATE_STATS_EVENTID: + * wmi_rssi_stats.rssi_avg_beacon; + * wmi_rssi_stats.rssi_avg_data; + * wmi_snr_info.bcn_snr; + * wmi_snr_info.dat_snr; + * wmi_vdev_stats.bcn_rssi_history; (NOT USED IN FW) + * wmi_peer_stats.peer_rssi; + * WMI_WOW_WAKEUP_HOST_EVENTID: + * wmi_rssi_breach_event_fixed_param.rssi; + * wmi_roam_event_fixed_param.rssi; + * WMI_PEER_STA_KICKOUT_EVENTID: + * wmi_peer_sta_kickout_event_fixed_param.rssi; + * WMI_PASSPOINT_MATCH_EVENTID: + * wmi_passpoint_event_hdr.rssi;(NOT USED IN FW) + * WMI_PEER_INFO_EVENTID: + * wmi_peer_info.rssi; + * WMI_ROAM_SYNCH_EVENTID: + * wmi_roam_synch_event_fixed_param.rssi; + * WMI_ROAM_SCAN_STATS_EVENTID: + * wmi_roam_scan_stats_event_fixed_param.rssi; + * wmi_pdev_div_rssi_antid_event_id: + * wmi_pdev_div_rssi_antid_event_fixed_param.chain_rssi; + * wmi_rssi_breach_event_id + * WMI_INST_RSSI_STATS_EVENTID: + * wmi_inst_rssi_stats_resp_fixed_param.iRSSI; + * RSSI thresholds configured by host + * WMI_ROAM_SCAN_RSSI_THRESHOLD + * roam_scan_rssi_thresh snr + * boost_threshold_5g snr + * penalty_threshold_5g snr + * good_rssi_threshold snr + * roam_bg_scan_bad_rssi_thresh snr + * roam_earlystop_thres_min snr + * roam_earlystop_thres_max snr + * WMI_ROAM_AP_PROFILE + * rssi_abs_thresh snr + * WMI_ROAM_CONFIGURE_MAWC_CMDID: + * best_ap_rssi_threshold Snr + * wmi_ap_profile.rssi_abs_thresh; + * WMI_ROAM_SCAN_RSSI_THRESHOLD: + * wmi_roam_scan_extended_threshold_param.boost_threshold_5g; + * wmi_roam_scan_extended_threshold_param.penalty_threshold_5g; + * wmi_roam_scan_extended_threshold_param.good_rssi_threshold; + * wmi_roam_scan_rssi_threshold_fixed_param.roam_scan_rssi_thresh; + * wmi_roam_bg_scan_roaming_param.roam_bg_scan_bad_rssi_thresh; + * WMI_VDEV_SPECTRAL_SCAN_CONFIGURE_CMDID: + * wmi_vdev_spectral_configure_cmd_fixed_param.spectral_scan_rssi_rpt_mode; + * wmi_vdev_spectral_configure_cmd_fixed_param.spectral_scan_rssi_thr; + * WMI_RSSI_BREACH_MONITOR_CONFIG_CMDID: + * wmi_rssi_breach_monitor_config_fixed_param.low_rssi_breach_threshold; + * wmi_rssi_breach_monitor_config_fixed_param.hi_rssi_breach_threshold; + * WMI_STA_SMPS_PARAM_CMDID: + * wmi_sta_smps_param.value of below cmd IDs: + * // RSSI threshold to enter Dynamic SMPS mode from inactive mode + * WMI_STA_SMPS_PARAM_UPPER_RSSI_THRESH = 0, + * // RSSI threshold to enter Stalled-D-SMPS mode from D-SMPS mode + * // or to enter D-SMPS mode from Stalled-D-SMPS mode + * WMI_STA_SMPS_PARAM_STALL_RSSI_THRESH = 1, + * // RSSI threshold to disable SMPS modes + * WMI_STA_SMPS_PARAM_LOWER_RSSI_THRESH = 2, + * // Upper threshold for beacon-RSSI. Used to reduce RX chainmask. + * WMI_STA_SMPS_PARAM_UPPER_BRSSI_THRESH = 3, + * // Lower threshold for beacon-RSSI. Used to increase RX chainmask + * WMI_STA_SMPS_PARAM_LOWER_BRSSI_THRESH = 4, + * // Enable/Disable DTIM 1chRx feature + * WMI_STA_SMPS_PARAM_DTIM_1CHRX_ENABLE = 5 + * WMI_TDLS_SET_STATE_CMDID: + * wmi_tdls_set_state_cmd_fixed_param.rssi_teardown_threshold; + * wmi_tdls_set_state_cmd_fixed_param.rssi_delta; + *------------------------------------------------------------------------- + * The RSSI fields of below HTT data type will change to dBm units: + * PREPACK struct htt_tx_wbm_completion.ack_frame_rssi; + * PREPACK struct htt_tx_wbm_transmit_status.ack_frame_rssi; + * htt_ppdu_stats_user_cmpltn_common_tlv.ack_rssi; + */ + WMI_SERVICE_HW_DB2DBM_CONVERSION_SUPPORT = 178, + WMI_SERVICE_SUPPORT_EXTEND_ADDRESS=179, /* indicates firmware supports host memory addresses larger than 32 bit */ + WMI_SERVICE_BEACON_RECEPTION_STATS=180, /* Support per vdev beacon stats info */ + WMI_SERVICE_FETCH_TX_PN=181, + WMI_SERVICE_PEER_UNMAP_RESPONSE_SUPPORT = 182, /* support peer ids unmap response from host */ + WMI_SERVICE_TX_PER_PEER_AMPDU_SIZE = 183, /* indicate FW support per peer TX AMPDU size */ + WMI_SERVICE_BSS_COLOR_SWITCH_COUNT = 184, /* Firmware supports bss-color switch count handling */ + /******* ADD NEW SERVICES HERE *******/ diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 7a8183175781..a20d0ceff631 100755 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -941,6 +941,16 @@ typedef enum { WMITLV_TAG_STRUC_wmi_ndp_channel_info, WMITLV_TAG_STRUC_wmi_ndp_cmd_param, WMITLV_TAG_STRUC_wmi_ndp_event_param, + WMITLV_TAG_STRUC_wmi_pdev_pktlog_filter_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_pdev_pktlog_filter_info, + WMITLV_TAG_STRUC_wmi_quiet_offload_info, + WMITLV_TAG_STRUC_wmi_get_bcn_recv_stats_fixed_param, + WMITLV_TAG_STRUC_wmi_vdev_bcn_recv_stats_event_fixed_param, + WMITLV_TAG_STRUC_wmi_peer_tx_pn_request_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_peer_tx_pn_response_event_fixed_param, + WMITLV_TAG_STRUC_wmi_tlv_arrays_len_param, + WMITLV_TAG_STRUC_wmi_peer_unmap_response_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_pdev_csc_switch_count_status_event_fixed_param, } WMITLV_TAG_ID; /* @@ -1327,6 +1337,10 @@ typedef enum { OP(WMI_VDEV_CHAINMASK_CONFIG_CMDID) \ OP(WMI_VDEV_BCN_OFFLOAD_QUIET_CONFIG_CMDID) \ OP(WMI_NDP_CMDID) \ + OP(WMI_PDEV_PKTLOG_FILTER_CMDID) \ + OP(WMI_VDEV_GET_BCN_RECEPTION_STATS_CMDID) \ + OP(WMI_PEER_TX_PN_REQUEST_CMDID) \ + OP(WMI_PEER_UNMAP_RESPONSE_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -1539,6 +1553,9 @@ typedef enum { OP(WMI_ESP_ESTIMATE_EVENTID) \ OP(WMI_PDEV_CTL_FAILSAFE_CHECK_EVENTID) \ OP(WMI_NDP_EVENTID) \ + OP(WMI_VDEV_BCN_RECEPTION_STATS_EVENTID) \ + OP(WMI_PEER_TX_PN_RESPONSE_EVENTID) \ + OP(WMI_PDEV_CSC_SWITCH_COUNT_STATUS_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -1566,7 +1583,14 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_CREATE_CMDID); WMITLV_CREATE_PARAM_STRUC(WMI_PEER_DELETE_CMDID); -/* Peer flush Cmd*/ +/* Peer unmap response Cmd */ +#define WMITLV_TABLE_WMI_PEER_UNMAP_RESPONSE_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_unmap_response_cmd_fixed_param, wmi_peer_unmap_response_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, peer_ids, WMITLV_SIZE_VAR) + +WMITLV_CREATE_PARAM_STRUC(WMI_PEER_UNMAP_RESPONSE_CMDID); + +/* Peer flush Cmd */ #define WMITLV_TABLE_WMI_PEER_FLUSH_TIDS_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_flush_tids_cmd_fixed_param, wmi_peer_flush_tids_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) @@ -2123,6 +2147,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SPECTRAL_SCAN_ENABLE_CMDID); WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_STATS_CMDID); +/* PN Request Cmd */ +#define WMITLV_TABLE_WMI_PEER_TX_PN_REQUEST_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_tx_pn_request_cmd_fixed_param, wmi_peer_tx_pn_request_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) + +WMITLV_CREATE_PARAM_STRUC(WMI_PEER_TX_PN_REQUEST_CMDID); + /* Request for memory dump stats Cmd */ #define WMITLV_TABLE_WMI_GET_FW_MEM_DUMP_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_get_fw_mem_dump_fixed_param, wmi_get_fw_mem_dump_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ @@ -3598,6 +3628,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MNT_FILTER_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_get_chip_power_stats_cmd_fixed_param, wmi_pdev_get_chip_power_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_CHIP_POWER_STATS_CMDID); +/* WLAN GET beacon reception Stats*/ +#define WMITLV_TABLE_WMI_VDEV_GET_BCN_RECEPTION_STATS_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_get_bcn_recv_stats_fixed_param, wmi_vdev_get_bcn_recv_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_GET_BCN_RECEPTION_STATS_CMDID); + /* pdev set stats threshold cmd*/ #define WMITLV_TABLE_WMI_PDEV_SET_STATS_THRESHOLD_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_set_stats_threshold_cmd_fixed_param, wmi_pdev_set_stats_threshold_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ @@ -3826,6 +3861,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_HE_TB_ACTION_FRM_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_hpcs_pulse_start_cmd_fixed_param, wmi_hpcs_pulse_start_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_HPCS_PULSE_START_CMDID); +/* PDev Packet Log filter Cmd */ +#define WMITLV_TABLE_WMI_PDEV_PKTLOG_FILTER_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_pktlog_filter_cmd_fixed_param, wmi_pdev_pktlog_filter_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_pktlog_filter_info, pdev_pktlog_filter_info, WMITLV_SIZE_VAR) + +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_PKTLOG_FILTER_CMDID); + /************************** TLV definitions of WMI events *******************************/ /* Service Ready event */ @@ -3930,14 +3972,16 @@ WMITLV_CREATE_PARAM_STRUC(WMI_EXTSCAN_CAPABILITIES_EVENTID); WMITLV_CREATE_PARAM_STRUC(WMI_EXTSCAN_HOTLIST_SSID_MATCH_EVENTID); /* Update_whal_mib_stats Event */ -#define WMITLV_TABLE_WMI_UPDATE_WHAL_MIB_STATS_EVENTID(id,op,buf,len) \ +#define WMITLV_TABLE_WMI_UPDATE_WHAL_MIB_STATS_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_update_whal_mib_stats_event_fixed_param, wmi_update_whal_mib_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_UPDATE_WHAL_MIB_STATS_EVENTID); /* PDEV TPC Config Event */ -#define WMITLV_TABLE_WMI_PDEV_TPC_CONFIG_EVENTID(id,op,buf,len) \ +#define WMITLV_TABLE_WMI_PDEV_TPC_CONFIG_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_tpc_config_event_fixed_param, wmi_pdev_tpc_config_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ratesArray, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ratesArray, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_tlv_arrays_len_param, ctlPwrTbl_param, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ctlPwrTbl_buf, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_TPC_CONFIG_EVENTID); /* PDEV DIV RSSI Antenna index Event */ @@ -4248,7 +4292,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_OEM_DMA_BUF_RELEASE_EVENTID); #define WMITLV_TABLE_WMI_HOST_SWBA_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_host_swba_event_fixed_param, wmi_host_swba_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_tim_info, tim_info, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_p2p_noa_info, p2p_noa_info, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_p2p_noa_info, p2p_noa_info, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_quiet_offload_info, quiet_offload_info, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_HOST_SWBA_EVENTID); @@ -4278,6 +4323,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_HOST_SWFDA_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_extd2_stats, peer_extd2_stats, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_UPDATE_STATS_EVENTID); +/* Update PN response Event */ +#define WMITLV_TABLE_WMI_PEER_TX_PN_RESPONSE_EVENTID(id,op,buf,len)\ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_tx_pn_response_event_fixed_param, wmi_peer_tx_pn_response_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_PEER_TX_PN_RESPONSE_EVENTID); + /* For vdev based ht/vht info upload*/ #define WMITLV_TABLE_WMI_UPDATE_VDEV_RATE_STATS_EVENTID(id,op,buf,len)\ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_rate_stats_event_fixed_param, wmi_vdev_rate_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ @@ -4833,6 +4883,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CHIP_POWER_SAVE_FAILURE_DETECTED_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, debug_registers, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CHIP_POWER_STATS_EVENTID); +#define WMITLV_TABLE_WMI_VDEV_BCN_RECEPTION_STATS_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_bcn_recv_stats_event_fixed_param, wmi_vdev_bcn_recv_stats_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_BCN_RECEPTION_STATS_EVENTID); + #define WMITLV_TABLE_WMI_PDEV_ANI_OFDM_LEVEL_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_ani_ofdm_event_fixed_param, wmi_ani_ofdm_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ANI_OFDM_LEVEL_EVENTID); @@ -5038,6 +5092,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_STATUS_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, vdev_ids, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CSA_SWITCH_COUNT_STATUS_EVENTID); +#define WMITLV_TABLE_WMI_PDEV_CSC_SWITCH_COUNT_STATUS_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_csc_switch_count_status_event_fixed_param, wmi_pdev_csc_switch_count_status_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, vdev_ids, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CSC_SWITCH_COUNT_STATUS_EVENTID); + /* cal version response event */ #define WMITLV_TABLE_WMI_PDEV_CHECK_CAL_VERSION_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_check_cal_version_event_fixed_param, wmi_pdev_check_cal_version_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index f91ca63aec68..baf91fb31d67 100755 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -403,6 +403,8 @@ typedef enum { WMI_PDEV_DMA_RING_CFG_REQ_CMDID, /* enable/disable Action frame response as HE TB PPDU */ WMI_PDEV_HE_TB_ACTION_FRM_CMDID, + /** filter packet log based on MAC address */ + WMI_PDEV_PKTLOG_FILTER_CMDID, /* VDEV (virtual device) specific commands */ /** vdev create */ @@ -471,6 +473,8 @@ typedef enum { /** To set chainmask configuration for vdev */ WMI_VDEV_CHAINMASK_CONFIG_CMDID, + WMI_VDEV_GET_BCN_RECEPTION_STATS_CMDID, + /* peer specific commands */ /** create a peer */ @@ -551,6 +555,13 @@ typedef enum { /** WMI command related to AP channel width switching */ WMI_PEER_CHAN_WIDTH_SWITCH_CMDID, + /** WMI command to fetch current tx PN for the peer */ + WMI_PEER_TX_PN_REQUEST_CMDID, + + /** unmap response with peer ids */ + WMI_PEER_UNMAP_RESPONSE_CMDID, + + /* beacon/management specific commands */ /** transmit beacon by reference . used for transmitting beacon on low latency interface like pcie */ @@ -1269,6 +1280,9 @@ typedef enum { /** WMI Event to deliver CTL Failsafe application */ WMI_PDEV_CTL_FAILSAFE_CHECK_EVENTID, + /* Event to report the switch count in BSS color of one or more VDEVs */ + WMI_PDEV_CSC_SWITCH_COUNT_STATUS_EVENTID, + /* VDEV specific events */ /** VDEV started event in response to VDEV_START request */ @@ -1303,6 +1317,8 @@ typedef enum { /** get tx power event in response to VDEV_GET_TX_POWER request */ WMI_VDEV_GET_TX_POWER_EVENTID, + WMI_VDEV_BCN_RECEPTION_STATS_EVENTID, + /* peer specific events */ /** FW reauet to kick out the station for reasons like inactivity,lack of response ..etc */ WMI_PEER_STA_KICKOUT_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_PEER), @@ -1363,6 +1379,8 @@ typedef enum { /** Peer operating mode change indication sent to host to update stats */ WMI_PEER_OPER_MODE_CHANGE_EVENTID, + /** report the current tx PN for the peer */ + WMI_PEER_TX_PN_RESPONSE_EVENTID, /* beacon/mgmt specific events */ /** RX management frame. the entire frame is carried along with the event. */ @@ -2870,6 +2888,9 @@ typedef struct { #define WMI_RSRC_CFG_FLAG_HTT_H2T_NO_HTC_HDR_LEN_IN_MSG_LEN_S 19 #define WMI_RSRC_CFG_FLAG_HTT_H2T_NO_HTC_HDR_LEN_IN_MSG_LEN_M 0x80000 + #define WMI_RSRC_CFG_FLAG_PEER_UNMAP_RESPONSE_SUPPORT_S 20 + #define WMI_RSRC_CFG_FLAG_PEER_UNMAP_RESPONSE_SUPPORT_M 0x100000 + A_UINT32 flag1; /** @brief smart_ant_cap - Smart Antenna capabilities information @@ -3108,6 +3129,12 @@ typedef struct { #define WMI_RSRC_CFG_FLAG_HTT_H2T_NO_HTC_HDR_LEN_IN_MSG_LEN_GET(word32) \ WMI_RSRC_CFG_FLAG_GET((word32), HTT_H2T_NO_HTC_HDR_LEN_IN_MSG_LEN) +#define WMI_RSRC_CFG_FLAG_PEER_UNMAP_RESPONSE_SUPPORT_SET(word32, value) \ + WMI_RSRC_CFG_FLAG_SET((word32), PEER_UNMAP_RESPONSE_SUPPORT, (value)) +#define WMI_RSRC_CFG_FLAG_PEER_UNMAP_RESPONSE_SUPPORT_GET(word32) \ + WMI_RSRC_CFG_FLAG_GET((word32), PEER_UNMAP_RESPONSE_SUPPORT) + + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_init_cmd_fixed_param */ @@ -3180,6 +3207,43 @@ typedef struct { */ } wmi_tlv_buf_len_param; +/** + * TLV used for specifying the demensions of a multi-dimensional array + * that has been stored in a flat buffer + */ +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_tlv_arrays_len_param */ + /** + * d1_len, d2_len, d3_len, and d4_len are the lengths of each dimension + * for a multi-dimensional array. + * If the length of outer dimension is not 1, the inner dimension + * shouldn't be 1. + * If the multi-dimensional array has less than 4 dimensions, the outer + * dimensions' lengths should be 1. For example, a buf[3][4] array + * would have d1_len = 4, d2_len = 3, d3_len = 1, d4_len = 1. + * The outermost dimension of the array can be inferred from the array + * length; thus, this struct supports up to 5-D arrays. For a 5-D array, + * the outermost (5th) dimension would be + * array length / (d1_len * d2_len * d3_len * d4_len) + * + * For security (to ensure no out-of-bounds memory access), + * the receiver shall validate that the product of all dimensions + * is equal to (or less than) the array length. + */ + A_UINT32 d1_len; /* the length of 1st (innermost) dimension array */ + A_UINT32 d2_len; /* the length of 2nd dimension array */ + A_UINT32 d3_len; /* the length of 3rd dimension array */ + A_UINT32 d4_len; /* the length of 4th dimension array */ + /** + * Following this structure is the TLV multi-dimension array buffer: + * buf[L1*L2*L3*L4]; + * where, L1, L2, L3, and L4 are the values of + * d1_len, d2_len, d3_len and d4_len. + * To access the 4-D element a[i][j][k][l], the buf[] array would be + * indexed as buf[i*L3*L2*L1 + j*L2*L1 + k*L1 + l]. + */ +} wmi_tlv_arrays_len_param; + typedef struct { /** Len of the SSID */ A_UINT32 ssid_len; @@ -4450,12 +4514,18 @@ typedef struct { /* * START_STOP flag value: 1 - Start, 0 - Stop */ -#define WMI_OFFLOAD_QUIET_FLAG_START_STOP 0x00000001 +#define WMI_OFFLOAD_QUIET_FLAG_START_STOP 0x00000001 /* * ONE_SHOT flag value: 1 - One shot, 0 - Repeat * This flag is only relevant if the START_STOP flag == 1 (start). */ -#define WMI_OFFLOAD_QUIET_FLAG_ONE_SHOT 0x00000002 +#define WMI_OFFLOAD_QUIET_FLAG_ONE_SHOT 0x00000002 +/* + * Enable/Disable sending Quiet IE info in SWBA event from the target + * 0 - Don't include Quiet IE in WMI SWBA Event + * 1 - Include Quiet IE in WMI SWBA Event + */ +#define WMI_OFFLOAD_QUIET_FLAG_INFO_IN_SWBA_START_STOP 0x00000004 typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_bcn_offload_quiet_config_cmd_fixed_param */ @@ -5367,6 +5437,21 @@ typedef enum { */ WMI_PDEV_PARAM_USE_NOL, + /* + * Allow / Not Allow RU26 in any user's RU allocation field in UL OFDMA + * trigger frames sent by AP + * 1 - Allow RU26 + * 0 - Do not allow RU26 + */ + WMI_PDEV_PARAM_UL_RU26_ALLOWED, + + /* + * Enable/Disable sub channel marking + * 1 - Enable sub channel marking + * 0 - Disable sub channel marking (default value) + */ + WMI_PDEV_PARAM_SUB_CHANNEL_MARKING, + } WMI_PDEV_PARAM; typedef struct { @@ -5658,8 +5743,21 @@ typedef struct { * See macros starting with WMI_PDEV_ID_ for values. */ A_UINT32 pdev_id; -/* This TLV is followed by a byte array: +/* This TLV is followed by further TLVs: + * 1. byte array: * A_UINT8 ratesArray[]; + * 2a. multi-dimensional array dimension spec: + * wmi_tlv_arrays_len_param ctlPwrTbl_param[0 or 1] + * + * 2b. ctl power table + * A_UINT8 ctlPwrTbl_buf[bf][modes][nss], i.e. + * A_UINT8 ctlPwrTbl_buf[d3_len * d2_len * d1_len] + * bf is [0 or 1] for [on or off]. + * For 2G, modes is [0, 1, 2, or 3] for + * [cck, legacy, (v)ht20, or (v)ht40] + * For 5G, modes is [0, 1, 2, or 3] for + * [legacy, (v)ht20, (v)ht40, or vht80] + * nss is [0, 1, 2, or 3] for the number of streams 1~4. */ } wmi_pdev_tpc_config_event_fixed_param; @@ -5782,6 +5880,11 @@ typedef enum { WMI_PKTLOG_ENABLE_FORCE = 1, /* pktlog unconditionally enabled */ } WMI_PKTLOG_ENABLE; +typedef enum { + WMI_PKTLOG_FILTER_IN = 0, /* capture only for the MAC addresses in pktlog_mac_addr_list*/ + WMI_PKTLOG_FILTER_OUT = 1, /* capture for all MAC addresses except those in pktlog_mac_addr_list */ +} WMI_PKTLOG_FILTER_TYPE; + typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_pktlog_enable_cmd_fixed_param */ /** pdev_id for identifying the MAC @@ -5800,6 +5903,32 @@ typedef struct { A_UINT32 pdev_id; } wmi_pdev_pktlog_disable_cmd_fixed_param; +typedef struct { + /** TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_pdev_pktlog_filter_info */ + A_UINT32 tlv_header; + /** mac addr of the peer to be filtered */ + wmi_mac_addr peer_mac_address; +} wmi_pdev_pktlog_filter_info; + +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_pktlog_filter_cmd_fixed_param */ + /** pdev_id for identifying the MAC + * See macros starting with WMI_PDEV_ID_ for values. + */ + A_UINT32 pdev_id; + /** 0 - disable filtering, 1 - enable filtering */ + A_UINT32 enable; + A_UINT32 filter_type; /* WMI_PKTLOG_FILTER_TYPE */ + A_UINT32 num_of_mac_addresses; + /* This TLV is followed by another TLV of array of structs + * wmi_pdev_pktlog_filter_info pdev_pktlog_filter_info[]; + */ +} wmi_pdev_pktlog_filter_cmd_fixed_param; + + + + typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mib_stats_enable_cmd_fixed_param */ /** pdev_id for identifying the MAC @@ -6586,6 +6715,31 @@ typedef struct { A_UINT32 end_seq; /* end sequence number of the hole */ } wmi_rx_aggr_failure_info; +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_tx_pn_request_cmd_fixed_param */ + /** unique id identifying the VDEV, generated by the caller */ + A_UINT32 vdev_id; + /** peer MAC address */ + wmi_mac_addr peer_macaddr; + A_UINT32 key_type; /* use standard cipher types - see WMI_CIPHER_ defs */ +} wmi_peer_tx_pn_request_cmd_fixed_param; + +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_tx_pn_response_event_fixed_param */ + /** unique id identifying the VDEV, generated by the caller */ + A_UINT32 vdev_id; + /** peer MAC address */ + wmi_mac_addr peer_macaddr; + A_UINT32 key_type; /* use standard cipher types - see WMI_CIPHER_ defs */ + /** Packet Number + * The PN is provided in little endian order, with bits 7:0 of the PN + * residing in pn[0]. + * The key_type indirectly specifies the packet number length, and thus + * how many bytes within pn[] are filled with valid data. + */ + A_UINT8 pn[16]; +} wmi_peer_tx_pn_response_event_fixed_param; + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_stats_event_fixed_param */ wmi_stats_id stats_id; @@ -9021,6 +9175,13 @@ typedef enum { /** Update dot11ObssNbruToleranceTime in fw. Param value: seconds */ WMI_VDEV_PARAM_UPDATE_OBSS_RU_TOLERANCE_TIME, /* 0x90 */ + /** Parameter used when MTU size is sent by the host + * In particular, this configuration message is used for cases where the + * encapsulation header results in a larger max frame size than the + * typical 802.3 + SNAP/LLC frame. + */ + WMI_VDEV_PARAM_MAX_MTU_SIZE, /* 0x91 */ + /*=== ADD NEW VDEV PARAM TYPES ABOVE THIS LINE === * The below vdev param types are used for prototyping, and are @@ -9394,6 +9555,16 @@ typedef struct { A_UINT32 mbssid_ie_offset; /** offset (in octets/bytes) of ESP IE in beacon frame */ A_UINT32 esp_ie_offset; + /** CSC IE color switch count offset from the beginning of data[] + * Value 0 indicates CSC IE is not present in beacon template. + */ + A_UINT32 csc_switch_count_offset; /* units = bytes */ + /** Specify when to send the CSC switch count status from FW to host. + * See WMI_CSC_EVENT_BMAP* below for more information. + * E.g. if CSA switch count event is needed to be sent when the switch count + * is 0, 1, 4 and 5, set the bitmap to (0X80000033) + */ + A_UINT32 csc_event_bitmap; /* * The TLVs follows: @@ -9407,6 +9578,11 @@ typedef struct { Same can also be achieved by setting bitmap to 0X80000001 */ #define WMI_CSA_EVENT_BMAP_ALL 0XFFFFFFFF /* Send CSA switch count event for every update to switch count */ +#define WMI_CSC_EVENT_BMAP_VALID_MASK 0X80000000 /* Follow bitmap for sending the CSC switch count event */ +#define WMI_CSC_EVENT_BMAP_SWITCH_COUNT_ZERO 0 /* Send only when the switch count becomes zero, added for backward compatibility + Same can also be achieved by setting bitmap to 0X80000001 */ +#define WMI_CSC_EVENT_BMAP_ALL 0XFFFFFFFF /* Send CSC switch count event for every update to switch count */ + typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_prb_tmpl_cmd_fixed_param */ /** unique id identifying the VDEV, generated by the caller */ @@ -9915,6 +10091,15 @@ typedef struct { A_UINT32 vdev_id; } wmi_p2p_noa_info; +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_quiet_offload_info */ + A_UINT32 vdev_id; /* unique id identifying the VDEV */ + A_UINT8 tbttcount; /* quiet start */ + A_UINT8 period; /* beacon intervals between quiets */ + A_UINT16 duration; /* TUs of each quiet */ + A_UINT16 offset; /* TUs of from TBTT of quiet start */ +} wmi_quiet_offload_info; + #define WMI_UNIFIED_NOA_ATTR_MODIFIED 0x1 #define WMI_UNIFIED_NOA_ATTR_MODIFIED_S 0 @@ -9985,6 +10170,7 @@ typedef struct { /* This TLV is followed by tim_info and p2p_noa_info for each vdev: * wmi_tim_info tim_info[]; * wmi_p2p_noa_info p2p_noa_info[]; + * wmi_quiet_offload_info quiet_offload_info[0/1]; * */ } wmi_host_swba_event_fixed_param; @@ -10103,6 +10289,16 @@ typedef struct { wmi_mac_addr peer_macaddr; } wmi_peer_delete_cmd_fixed_param; +typedef struct { + /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_unmap_response_cmd_fixed_param */ + A_UINT32 tlv_header; + /* + * Following this struct is the TLV: + * A_UINT32 peer_ids[]; <-- variable-length array of peer_ids + * that have been unmapped by the host + */ +} wmi_peer_unmap_response_cmd_fixed_param; + typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_set_rx_blocksize_cmd_fixed_param */ /** unique id identifying the VDEV, generated by the caller */ @@ -10367,6 +10563,25 @@ typedef struct { * (value 1 is enabled, value 0 is disabled) * bits 1:5 are for ring 32 (i.e. ring id value * selected from 0 to 31 values) + * bit 8 for peer based ring selection enabled or not + * (value 1 is enabled, value 0 is disabled + * bits 9-15 are valid when bit 8 is set to 1) + * bit 9 is for ring selection enabled for filter-pass + * unicast or not (value 1 is enabled, value 0 is disabled) + * bit 10 is for ring selection enabled for filter-pass + * mcast or not (value 1 is enabled, value 0 is disabled) + * bit 11 is for ring selection enabled for filter-pass + * BAR or not (value 1 is enabled, value 0 is disabled) + * bit 12-13 is for source ring selection value + * (value 0 for wbm2rxdma buf ring, + * value 1 for fw2rxdma buf ring, + * value 2 for sw2rxdma buf ring, + * value 3 for no buf ring) + * bit 14-15 is for destination ring selection value + * (value 0 for wbm release ring, + * value 1 for rxdma2fw ring, + * value 2 for rxdma2sw ring, + * value 3 for rxdma2reo ring) */ #define WMI_PEER_SET_DEFAULT_ROUTING 0x13 /* peer NSS for VHT160 - Extended NSS support */ @@ -10396,7 +10611,11 @@ typedef struct { * param_value = follow 11ax spec definition * bit0:VHT(1), bit1:HE(1), bit2-31:A-Control */ -#define WMI_PEER_RARAM_XMIT_OMI 0x1c +#define WMI_PEER_PARAM_XMIT_OMI 0x1c +#define WMI_PEER_RARAM_XMIT_OMI WMI_PEER_PARAM_XMIT_OMI /* alias due to prior typo */ + +/* Disable burst and assist */ +#define WMI_PEER_PARAM_DISABLE_AGGRESSIVE_TX 0x1d /** mimo ps values for the parameter WMI_PEER_MIMO_PS_STATE */ #define WMI_PEER_MIMO_PS_NONE 0x0 @@ -13812,6 +14031,9 @@ typedef enum */ WMI_VENDOR_OUI_ACTION_CONNECTION_1X1_NUM_TX_RX_CHAINS_1 = 5, + /* Disable burst and assist, and restrict A-MPDU size to 32 */ + WMI_VENDOR_OUI_ACTION_DISABLE_AGGRESSIVE_TX = 6, + /* Add any action before this line */ WMI_VENDOR_OUI_ACTION_MAX_ACTION_ID } wmi_vendor_oui_action_id; @@ -21027,6 +21249,12 @@ typedef struct { A_UINT32 pdev_id; } wmi_pdev_get_chip_power_stats_cmd_fixed_param; +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_get_bcn_recv_stats_cmd_fixed_param */ + /** VDEV identifier */ + A_UINT32 vdev_id; +} wmi_vdev_get_bcn_recv_stats_cmd_fixed_param; + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_tpc_event_fixed_param */ /** pdev_id for identifying the MAC @@ -21119,6 +21347,31 @@ typedef struct { */ } wmi_pdev_chip_power_stats_event_fixed_param; +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_get_bcn_recv_stats_fixed_param */ + A_UINT32 vdev_id; + /* total_bcn_cnt + * total beacon count (tbtt instances) + * After this value reaches 255 it saturates and stays at 255. + * This field is used to determine which of the 256 bits in the + * bmiss_bitmap field are valid. + */ + A_UINT32 total_bcn_cnt; + /* total_bmiss_cnt + * Total beacon miss count in last 255 beacons, max value is 255. + * This value is the number of bits set within bmiss_bitmap. + */ + A_UINT32 total_bmiss_cnt; + /* bmiss_bitmap + * This bitmap indicates the status of the last 255 beacons. + * If a bit is set, that means the corresponding beacon was missed. + * Bit 0 of bmiss_bitmap[0] represents the most recent beacon. + * The total_bcn_cnt field indicates how many bits within bmiss_bitmap + * are valid. + */ + A_UINT32 bmiss_bitmap[8]; +} wmi_vdev_bcn_recv_stats_fixed_param; + typedef enum wmi_chip_power_save_failure_reason_code_type { WMI_PROTOCOL_POWER_SAVE_FAILURE_REASON, WMI_HW_POWER_SAVE_FAILURE_REASON, @@ -21196,7 +21449,22 @@ typedef enum wmi_coex_config_type { WMI_COEX_CONFIG_COEX_ENABLE_MCC_TDM = 22, /* config disable/enable COEX TDM for MCC */ WMI_COEX_CONFIG_LOWRSSI_A2DPOPP_TDM = 23, /* config interval (ms units) (arg1 BT, arg2 WLAN) for STA + A2dp + OPP + LOWRSSI */ WMI_COEX_CONFIG_BTC_MODE = 24, /* config BTC mode, arg1 mode: 0 TDD/1 FDD/2 Hybrid*/ - WMI_COEX_CONFIG_ANTENNA_ISOLATION = 25, /* config isolation between BT and WLAN antenna, arg1 isolation in db*/ + WMI_COEX_CONFIG_ANTENNA_ISOLATION = 25, /* config isolation between BT and WLAN chains + * The arguments are interpreted differently + * depending on whether the target suppports + * WMI_SERVICE_COEX_SUPPORT_UNEQUAL_ISOLATION + * If (not COEX_SUPPORT_UNEQUAL_ISOLATION) or arg2 == 0: + * arg1 => isolation between BT and WLAN chains, + * dB units, + * same isolation for all chains + * Else: + * arg1 bits 7:0 - chain 0 isolation, in dB + * arg1 bits 15:8 - chain 1 isolation, in dB + * arg1 bits 23:16 - chain 2 isolation, in dB + * arg1 bits 31:24 - chain 3 isolation, in dB + * arg2 - 0 => Equal isolation b/w BT and each WLAN chain (default) + * 1 => Different isolation b/w BT and each WLAN chain + */ WMI_COEX_CONFIG_BT_LOW_RSSI_THRESHOLD = 26,/*config BT low rssi threshold (dbm units)*/ WMI_COEX_CONFIG_BT_INTERFERENCE_LEVEL = 27,/*config bt interference level (dbm units) arg1 low - lower limit @@ -22016,6 +22284,8 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_PEER_MCAST_GROUP_CMDID); /* request peer info from FW to get PEER_INFO_EVENTID */ WMI_RETURN_STRING(WMI_PEER_INFO_REQ_CMDID); + /* unmap response for a peer */ + WMI_RETURN_STRING(WMI_PEER_UNMAP_RESPONSE_CMDID); /* beacon/management specific commands */ @@ -22544,6 +22814,10 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_VDEV_CHAINMASK_CONFIG_CMDID); WMI_RETURN_STRING(WMI_VDEV_BCN_OFFLOAD_QUIET_CONFIG_CMDID); WMI_RETURN_STRING(WMI_NDP_CMDID); + WMI_RETURN_STRING(WMI_PDEV_PKTLOG_FILTER_CMDID); + WMI_RETURN_STRING(WMI_SET_CURRENT_COUNTRY_CMDID); + WMI_RETURN_STRING(WMI_VDEV_GET_BCN_RECEPTION_STATS_CMDID); + WMI_RETURN_STRING(WMI_PEER_TX_PN_REQUEST_CMDID); } return "Invalid WMI cmd"; @@ -22843,6 +23117,22 @@ typedef struct { */ } wmi_pdev_csa_switch_count_status_event_fixed_param; +typedef struct { + /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_csc_switch_count_status_event_fixed_param */ + A_UINT32 tlv_header; + /** pdev_id for identifying the MAC + * See macros starting with WMI_PDEV_ID_ for values. + * In non-DBDC case host should set it to 0 + */ + A_UINT32 pdev_id; + /** CSC switch count value in the last transmitted beacon */ + A_UINT32 current_switch_count; + + /* The TLVs follows this structure: + * A_UINT32 vdev_ids[]; // IDs of vdevs whose color-switch countdown expired + */ +} wmi_pdev_csc_switch_count_status_event_fixed_param; + /* Operation types for packet routing command */ typedef enum { WMI_PDEV_ADD_PKT_ROUTING, @@ -23027,7 +23317,7 @@ typedef enum { #define WLM_FLAGS_SCAN_SKIP_DFS 1 /* skip dfs channel operation */ /* bit 2-3: define policy of dwell time/duration of each foreign channel - (b2 b3) + (b3 b2) (0 0 ): Default dwell time (0 1 ): WLM_FLAGS_STICK_SCAN_DWELL_TIME : Stick to original active/passive dwell time, but split foreign channel dwell times into fitting into min (dl_latency, ul_latency). Note it can increase @@ -23045,7 +23335,7 @@ typedef enum { /* bit 6-7 of flags is used for roaming operation */ /* bit 6-7: define roaming policy: - (b6 b7) + (b7 b6) (0 0 ): WLM_FLAGS_ROAM_ALLOW: Default behavior, allow roaming in all scenarios (0 1 ): WLM_FLAGS_ROAM_SUPPRESS: Disallow all roaming (1 0 ): WLM_FLAGS_ALLOW_FINAL_BMISS_ROAM: Allow final bmiss roaming only @@ -23461,6 +23751,13 @@ typedef struct { * Hence sending the NF values in dBm units as meta data information. */ A_INT32 noise_floor[WMI_MAX_CHAINS]; + /** + * The time taken by target in micro seconds to complete the reset routine + * and re-initiate the spectral scan. + * If the delay is 0, the WAR to bookkeep the timestamp wont be exercised + * in HOST. + */ + A_UINT32 reset_delay; } wmi_dma_buf_release_spectral_meta_data; typedef enum { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index b250417efb71..e4970cde55d1 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_ 590 +#define __WMI_REVISION_ 607 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work