Loading fw/wmi_services.h +1 −0 Original line number Diff line number Diff line Loading @@ -393,6 +393,7 @@ typedef enum { WMI_SERVICE_CHAN_RF_CHARACTERIZATION_INFO = 208, /* FW provides RF scores for chans in the service ready extension msg */ WMI_SERVICE_FW_IFACE_COMBINATION_SUPPORT = 209, /* FW sends WMI_IFACE_COMBINATION_IND_EVENT msg immediately after WMI_SERVICE_READY_EXT_EVENT msg */ WMI_SERVICE_TX_COMPL_TSF64 = 210, /* FW supports 64-bit tx TSF in HTT_T2H TX_COMPL_IND msg */ WMI_SERVICE_DSM_ROAM_FILTER = 211, /* FW supports data stall AP mitigation while roaming */ /******* ADD NEW SERVICES HERE *******/ Loading fw/wmi_tlv_defs.h +9 −0 Original line number Diff line number Diff line Loading @@ -981,6 +981,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_wlanfw_iface_cmb_ind_event_fixed_param, WMITLV_TAG_STRUC_wmi_wlanfw_iface_combination_param, WMITLV_TAG_STRUC_wmi_wlanfw_iface_limit_param, WMITLV_TAG_STRUC_wmi_roam_dsm_filter_fixed_param, WMITLV_TAG_STRUC_wmi_roam_bssid_disallow_list_config_param, } WMITLV_TAG_ID; /* Loading Loading @@ -1379,6 +1381,7 @@ typedef enum { OP(WMI_ROAM_DEAUTH_CONFIG_CMDID) \ OP(WMI_ROAM_IDLE_CONFIG_CMDID) \ OP(WMI_IDLE_TRIGGER_MONITOR_CMDID) \ OP(WMI_ROAM_DSM_FILTER_CMDID) \ /* add new CMD_LIST elements above this line */ Loading Loading @@ -3050,6 +3053,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_IDLE_CONFIG_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_idle_trigger_monitor_cmd_fixed_param, wmi_idle_trigger_monitor_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_IDLE_TRIGGER_MONITOR_CMDID); /* DSM roam filter parameters */ #define WMITLV_TABLE_WMI_ROAM_DSM_FILTER_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_dsm_filter_fixed_param, wmi_roam_dsm_filter_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_bssid_disallow_list_config_param, bssid_disallow_list, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_DSM_FILTER_CMDID); #define WMITLV_TABLE_WMI_ROAM_BLACKLIST_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_blacklist_event_fixed_param, wmi_roam_blacklist_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_blacklist_with_timeout_tlv_param, blacklist_with_timeout, WMITLV_SIZE_VAR) Loading fw/wmi_unified.h +59 −1 Original line number Diff line number Diff line Loading @@ -697,6 +697,8 @@ typedef enum { WMI_ROAM_DEAUTH_CONFIG_CMDID, /** Configure idle roam trigger parameters */ WMI_ROAM_IDLE_CONFIG_CMDID, /** roaming filter cmd with DSM filters along with existing roam filters */ WMI_ROAM_DSM_FILTER_CMDID, /** offload scan specific commands */ /** set offload scan AP profile */ Loading Loading @@ -23889,6 +23891,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_ROAM_DEAUTH_CONFIG_CMDID); WMI_RETURN_STRING(WMI_ROAM_IDLE_CONFIG_CMDID); WMI_RETURN_STRING(WMI_IDLE_TRIGGER_MONITOR_CMDID); WMI_RETURN_STRING(WMI_ROAM_DSM_FILTER_CMDID); } return "Invalid WMI cmd"; Loading Loading @@ -24786,7 +24789,8 @@ typedef struct { * 12 = 10MHz * (13-15 unused) * [15:8 ]: Reserved * [31:16]: Frequency - channel frequency of RF characteristic info (MHz) * [31:16]: Frequency - Center frequency of the channel for which * the RF characterisation info applies (MHz) */ A_UINT32 freq_info; } WMI_CHAN_RF_CHARACTERIZATION_INFO; Loading Loading @@ -25120,6 +25124,60 @@ typedef enum { WMI_IDLE_TRIGGER_MONITOR_OFF, } WMI_SCREEN_STATUS_NOTIFY_ID; typedef struct { /** TLV tag and len; tag equals wmi_roam_dsm_filter_fixed_param */ A_UINT32 tlv_header; /** Unique id identifying the VDEV on which new roaming filter(data stall AP mitigation) is adopted */ A_UINT32 vdev_id; /** * TLV (tag length value) parameter's following roam_dsm_filter_cmd are, * * wmi_roam_bssid_disallow_list_config_param bssid_disallow_list[]; i.e array containing * all roam filter lists including the new DSM lists(avoidlist/driver_blacklist) and * existing roam lists(supplicant_blacklist/rssi_rejectlist etc.) */ } wmi_roam_dsm_filter_fixed_param; typedef struct { /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_bssid_disallow_list_config_param */ A_UINT32 tlv_header; /** bssid type i.e whether bssid falls in avoid list or driver_blacklist etc. see WMI_BSSID_DISALLOW_LIST_TYPE **/ A_UINT32 bssid_type; /** mac address of disallow BSSID */ wmi_mac_addr bssid; /** Disallow AP for certain duration, in units of milliseconds */ A_UINT32 remaining_disallow_duration; /** AP will be allowed for candidate, when AP RSSI better than expected RSSI units in dBm */ A_INT32 expected_rssi; } wmi_roam_bssid_disallow_list_config_param; typedef enum { /* USER_SPACE_BLACK_LIST * Black Listed AP's by host's user space */ WMI_BSSID_DISALLOW_USER_SPACE_BLACK_LIST = 0, /* DRIVER_BLACK_LIST * Black Listed AP's by host driver * used for data stall migitation */ WMI_BSSID_DISALLOW_DRIVER_BLACK_LIST, /* USER_SPACE_AVOID_LIST * Avoid List AP's by host's user space * used for data stall migitation */ WMI_BSSID_DISALLOW_USER_SPACE_AVOID_LIST, /* DRIVER_AVOID_LIST * Avoid List AP's by host driver * used for data stall migitation */ WMI_BSSID_DISALLOW_DRIVER_AVOID_LIST, /* RSSI_REJECT_LIST * OCE AP's */ WMI_BSSID_DISALLOW_RSSI_REJECT_LIST, } WMI_BSSID_DISALLOW_LIST_TYPE; typedef struct { /* * The timestamp is in units of ticks of a 19.2MHz clock. fw/wmi_version.h +1 −1 Original line number Diff line number Diff line Loading @@ -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_ 660 #define __WMI_REVISION_ 661 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work Loading Loading
fw/wmi_services.h +1 −0 Original line number Diff line number Diff line Loading @@ -393,6 +393,7 @@ typedef enum { WMI_SERVICE_CHAN_RF_CHARACTERIZATION_INFO = 208, /* FW provides RF scores for chans in the service ready extension msg */ WMI_SERVICE_FW_IFACE_COMBINATION_SUPPORT = 209, /* FW sends WMI_IFACE_COMBINATION_IND_EVENT msg immediately after WMI_SERVICE_READY_EXT_EVENT msg */ WMI_SERVICE_TX_COMPL_TSF64 = 210, /* FW supports 64-bit tx TSF in HTT_T2H TX_COMPL_IND msg */ WMI_SERVICE_DSM_ROAM_FILTER = 211, /* FW supports data stall AP mitigation while roaming */ /******* ADD NEW SERVICES HERE *******/ Loading
fw/wmi_tlv_defs.h +9 −0 Original line number Diff line number Diff line Loading @@ -981,6 +981,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_wlanfw_iface_cmb_ind_event_fixed_param, WMITLV_TAG_STRUC_wmi_wlanfw_iface_combination_param, WMITLV_TAG_STRUC_wmi_wlanfw_iface_limit_param, WMITLV_TAG_STRUC_wmi_roam_dsm_filter_fixed_param, WMITLV_TAG_STRUC_wmi_roam_bssid_disallow_list_config_param, } WMITLV_TAG_ID; /* Loading Loading @@ -1379,6 +1381,7 @@ typedef enum { OP(WMI_ROAM_DEAUTH_CONFIG_CMDID) \ OP(WMI_ROAM_IDLE_CONFIG_CMDID) \ OP(WMI_IDLE_TRIGGER_MONITOR_CMDID) \ OP(WMI_ROAM_DSM_FILTER_CMDID) \ /* add new CMD_LIST elements above this line */ Loading Loading @@ -3050,6 +3053,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_IDLE_CONFIG_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_idle_trigger_monitor_cmd_fixed_param, wmi_idle_trigger_monitor_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_IDLE_TRIGGER_MONITOR_CMDID); /* DSM roam filter parameters */ #define WMITLV_TABLE_WMI_ROAM_DSM_FILTER_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_dsm_filter_fixed_param, wmi_roam_dsm_filter_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_bssid_disallow_list_config_param, bssid_disallow_list, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_DSM_FILTER_CMDID); #define WMITLV_TABLE_WMI_ROAM_BLACKLIST_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_blacklist_event_fixed_param, wmi_roam_blacklist_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_blacklist_with_timeout_tlv_param, blacklist_with_timeout, WMITLV_SIZE_VAR) Loading
fw/wmi_unified.h +59 −1 Original line number Diff line number Diff line Loading @@ -697,6 +697,8 @@ typedef enum { WMI_ROAM_DEAUTH_CONFIG_CMDID, /** Configure idle roam trigger parameters */ WMI_ROAM_IDLE_CONFIG_CMDID, /** roaming filter cmd with DSM filters along with existing roam filters */ WMI_ROAM_DSM_FILTER_CMDID, /** offload scan specific commands */ /** set offload scan AP profile */ Loading Loading @@ -23889,6 +23891,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_ROAM_DEAUTH_CONFIG_CMDID); WMI_RETURN_STRING(WMI_ROAM_IDLE_CONFIG_CMDID); WMI_RETURN_STRING(WMI_IDLE_TRIGGER_MONITOR_CMDID); WMI_RETURN_STRING(WMI_ROAM_DSM_FILTER_CMDID); } return "Invalid WMI cmd"; Loading Loading @@ -24786,7 +24789,8 @@ typedef struct { * 12 = 10MHz * (13-15 unused) * [15:8 ]: Reserved * [31:16]: Frequency - channel frequency of RF characteristic info (MHz) * [31:16]: Frequency - Center frequency of the channel for which * the RF characterisation info applies (MHz) */ A_UINT32 freq_info; } WMI_CHAN_RF_CHARACTERIZATION_INFO; Loading Loading @@ -25120,6 +25124,60 @@ typedef enum { WMI_IDLE_TRIGGER_MONITOR_OFF, } WMI_SCREEN_STATUS_NOTIFY_ID; typedef struct { /** TLV tag and len; tag equals wmi_roam_dsm_filter_fixed_param */ A_UINT32 tlv_header; /** Unique id identifying the VDEV on which new roaming filter(data stall AP mitigation) is adopted */ A_UINT32 vdev_id; /** * TLV (tag length value) parameter's following roam_dsm_filter_cmd are, * * wmi_roam_bssid_disallow_list_config_param bssid_disallow_list[]; i.e array containing * all roam filter lists including the new DSM lists(avoidlist/driver_blacklist) and * existing roam lists(supplicant_blacklist/rssi_rejectlist etc.) */ } wmi_roam_dsm_filter_fixed_param; typedef struct { /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_bssid_disallow_list_config_param */ A_UINT32 tlv_header; /** bssid type i.e whether bssid falls in avoid list or driver_blacklist etc. see WMI_BSSID_DISALLOW_LIST_TYPE **/ A_UINT32 bssid_type; /** mac address of disallow BSSID */ wmi_mac_addr bssid; /** Disallow AP for certain duration, in units of milliseconds */ A_UINT32 remaining_disallow_duration; /** AP will be allowed for candidate, when AP RSSI better than expected RSSI units in dBm */ A_INT32 expected_rssi; } wmi_roam_bssid_disallow_list_config_param; typedef enum { /* USER_SPACE_BLACK_LIST * Black Listed AP's by host's user space */ WMI_BSSID_DISALLOW_USER_SPACE_BLACK_LIST = 0, /* DRIVER_BLACK_LIST * Black Listed AP's by host driver * used for data stall migitation */ WMI_BSSID_DISALLOW_DRIVER_BLACK_LIST, /* USER_SPACE_AVOID_LIST * Avoid List AP's by host's user space * used for data stall migitation */ WMI_BSSID_DISALLOW_USER_SPACE_AVOID_LIST, /* DRIVER_AVOID_LIST * Avoid List AP's by host driver * used for data stall migitation */ WMI_BSSID_DISALLOW_DRIVER_AVOID_LIST, /* RSSI_REJECT_LIST * OCE AP's */ WMI_BSSID_DISALLOW_RSSI_REJECT_LIST, } WMI_BSSID_DISALLOW_LIST_TYPE; typedef struct { /* * The timestamp is in units of ticks of a 19.2MHz clock.
fw/wmi_version.h +1 −1 Original line number Diff line number Diff line Loading @@ -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_ 660 #define __WMI_REVISION_ 661 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work Loading