Loading fw/wmi_tlv_defs.h +3 −1 Original line number Diff line number Diff line Loading @@ -5789,7 +5789,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_enhanced_aoa_per_band_caps_param, aoa_per_band_caps_param, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_sar_flag_tlv_param, sar_flags, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_POWER_BOOST_CAPABILITIES, power_boost_capabilities, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_RSSI_ACCURACY_IMPROVEMENT_CAPABILITIES, rssi_accuracy_improvement_capabilities, WMITLV_SIZE_VAR) WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_RSSI_ACCURACY_IMPROVEMENT_CAPABILITIES, rssi_accuracy_improvement_capabilities, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wifi_radar_ltf_length_capabilities, wr_ltf_caps, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wifi_radar_chain_capabilities, wr_chain_caps, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT2_EVENTID); #define WMITLV_TABLE_WMI_SPECTRAL_CAPABILITIES_EVENTID(id,op,buf,len) \ Loading fw/wmi_unified.h +82 −17 Original line number Diff line number Diff line Loading @@ -3861,6 +3861,10 @@ typedef struct { * WMI_POWER_BOOST_CAPABILITIES power_boost_capabilities[]; * WMI_RSSI_ACCURACY_IMPROVEMENT_CAPABILITIES * rssi_accuracy_improvement_capabilities[]; * wmi_wifi_radar_ltf_length_capabilities * wifi_radar_ltf_length_capabilities[]; * wmi_wifi_radar_chain_capabilities * wifi_radar_chain_capabilities[]; */ } wmi_service_ready_ext2_event_fixed_param; Loading Loading @@ -40822,36 +40826,97 @@ typedef struct { A_UINT32 pdev_id; } wmi_pdev_wifi_radar_cap_evt_fixed_param; typedef struct { /** TLV tag and len; tag equals * WMITLV_TAG_STRUC_wmi_wifi_radar_ltf_length_capabilities */ A_UINT32 tlv_header; #define WMI_WIFI_RADAR_LTF_LENGTH_CAPABILITIES_PDEV_ID_GET(word32) \ WMI_GET_BITS(word32, 0, 4) #define WMI_WIFI_RADAR_LTF_LENGTH_CAPABILITIES_PDEV_ID_SET(word32, value) \ WMI_SET_BITS(word32, 0, 4, value) /* LTF at Tx configuration */ A_UINT32 ltf_max_num_tx; #define WMI_WIFI_RADAR_LTF_LENGTH_CAPABILITIES_LTF_MAX_NUM_TX_GET(word32) \ WMI_GET_BITS(word32, 4, 28) #define WMI_WIFI_RADAR_LTF_LENGTH_CAPABILITIES_LTF_MAX_NUM_TX_SET(word32, value) \ WMI_SET_BITS(word32, 4, 28, value) /* LTF at Rx configuration in 2 power exponent number */ A_UINT32 ltf_max_expo_num_rx; #define WMI_WIFI_RADAR_LTF_LENGTH_CAPABILITIES_LTF_MAX_EXPO_NUM_RX_GET(word32) \ WMI_GET_BITS(word32, 0, 16) #define WMI_WIFI_RADAR_LTF_LENGTH_CAPABILITIES_LTF_MAX_EXPO_NUM_RX_SET(word32, value) \ WMI_SET_BITS(word32, 0, 16, value) /* LTF to initially skip */ A_UINT32 ltf_max_num_initial_skip_rx; #define WMI_WIFI_RADAR_LTF_LENGTH_CAPABILITIES_LTF_MAX_NUM_INITIAL_SKIP_RX_GET(word32) \ WMI_GET_BITS(word32, 16, 16) #define WMI_WIFI_RADAR_LTF_LENGTH_CAPABILITIES_LTF_MAX_NUM_INITIAL_SKIP_RX_SET(word32, value) \ WMI_SET_BITS(word32, 16, 16, value) typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_wifi_radar_ltf_length_capabilities */ union { A_UINT32 ltf_cap1_word32; struct { /* * bits 3:0 -> PDEV ID * bits 31:4 -> LTF at Tx configuration */ A_UINT32 pdev_id: 4, /* Max number of LTF at Tx configuration */ ltf_max_num_tx: 28; }; }; union { A_UINT32 ltf_cap2_word32; struct { /* * bits 15:0 -> LTF at Rx configuration in exponential term * bits 31:16 -> LTF to skip intially at Rx configuration */ A_UINT32 ltf_max_expo_num_rx: 16, /* Max number of LTF at Rx configuration */ ltf_max_num_initial_skip_rx: 16; /* Max number of LTF to skip initially at Rx configuration */ }; }; /** * This TLV contains target LTF capability for Wi-Fi Radar sensing feature. */ } wmi_wifi_radar_ltf_length_capabilities; #define WMI_WIFI_RADAR_CHAIN_CAPABILITIES_PDEV_ID_GET(word32) \ WMI_GET_BITS(word32, 0, 4) #define WMI_WIFI_RADAR_CHAIN_CAPABILITIES_PDEV_ID_SET(word32, value) \ WMI_SET_BITS(word32, 0, 4, value) #define WMI_WIFI_RADAR_CHAIN_CAPABILITIES_MAX_NUM_RX_CHAIN_GET(word32) \ WMI_GET_BITS(word32, 4, 7) #define WMI_WIFI_RADAR_CHAIN_CAPABILITIES_MAX_NUM_RX_CHAIN_SET(word32, value) \ WMI_SET_BITS(word32, 4, 7, value) #define WMI_WIFI_RADAR_CHAIN_CAPABILITIES_BEST_ISOLATED_CHAIN_PAIR_SEL_GET(word32) \ WMI_GET_BITS(word32, 11, 1) #define WMI_WIFI_RADAR_CHAIN_CAPABILITIES_BEST_ISOLATED_CHAIN_PAIR_SEL_SET(word32, value) \ WMI_SET_BITS(word32, 11, 1, value) typedef struct { /** TLV tag and len; tag equals * WMITLV_TAG_STRUC_wmi_wifi_radar_chain_capabilities */ A_UINT32 tlv_header; union { A_UINT32 chain_cap1_word32; struct { /* * bits 3:0 -> PDEV ID * bits 10:4 -> Max number of Rx chain capture in one shot * bit 11 -> Best Isolated Chain pair selection enabled or not * bits 31:12 -> reserved */ A_UINT32 pdev_id: 4, /* Max num of Rx chain can be used to capture at a time */ A_UINT32 max_num_rx_chain; max_num_rx_chain: 7, /* Chain-to-Chain Isolation based chain pair support */ A_UINT32 best_isolated_chain_pair_sel; best_isolated_chain_pair_sel: 1, reserved:20; }; }; /** * This TLV contains target chain capability for Wi-Fi Radar sensing feature. */ fw/wmi_version.h +1 −1 Original line number Diff line number Diff line Loading @@ -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_ 1554 #define __WMI_REVISION_ 1555 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work Loading Loading
fw/wmi_tlv_defs.h +3 −1 Original line number Diff line number Diff line Loading @@ -5789,7 +5789,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_enhanced_aoa_per_band_caps_param, aoa_per_band_caps_param, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_sar_flag_tlv_param, sar_flags, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_POWER_BOOST_CAPABILITIES, power_boost_capabilities, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_RSSI_ACCURACY_IMPROVEMENT_CAPABILITIES, rssi_accuracy_improvement_capabilities, WMITLV_SIZE_VAR) WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_RSSI_ACCURACY_IMPROVEMENT_CAPABILITIES, rssi_accuracy_improvement_capabilities, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wifi_radar_ltf_length_capabilities, wr_ltf_caps, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wifi_radar_chain_capabilities, wr_chain_caps, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT2_EVENTID); #define WMITLV_TABLE_WMI_SPECTRAL_CAPABILITIES_EVENTID(id,op,buf,len) \ Loading
fw/wmi_unified.h +82 −17 Original line number Diff line number Diff line Loading @@ -3861,6 +3861,10 @@ typedef struct { * WMI_POWER_BOOST_CAPABILITIES power_boost_capabilities[]; * WMI_RSSI_ACCURACY_IMPROVEMENT_CAPABILITIES * rssi_accuracy_improvement_capabilities[]; * wmi_wifi_radar_ltf_length_capabilities * wifi_radar_ltf_length_capabilities[]; * wmi_wifi_radar_chain_capabilities * wifi_radar_chain_capabilities[]; */ } wmi_service_ready_ext2_event_fixed_param; Loading Loading @@ -40822,36 +40826,97 @@ typedef struct { A_UINT32 pdev_id; } wmi_pdev_wifi_radar_cap_evt_fixed_param; typedef struct { /** TLV tag and len; tag equals * WMITLV_TAG_STRUC_wmi_wifi_radar_ltf_length_capabilities */ A_UINT32 tlv_header; #define WMI_WIFI_RADAR_LTF_LENGTH_CAPABILITIES_PDEV_ID_GET(word32) \ WMI_GET_BITS(word32, 0, 4) #define WMI_WIFI_RADAR_LTF_LENGTH_CAPABILITIES_PDEV_ID_SET(word32, value) \ WMI_SET_BITS(word32, 0, 4, value) /* LTF at Tx configuration */ A_UINT32 ltf_max_num_tx; #define WMI_WIFI_RADAR_LTF_LENGTH_CAPABILITIES_LTF_MAX_NUM_TX_GET(word32) \ WMI_GET_BITS(word32, 4, 28) #define WMI_WIFI_RADAR_LTF_LENGTH_CAPABILITIES_LTF_MAX_NUM_TX_SET(word32, value) \ WMI_SET_BITS(word32, 4, 28, value) /* LTF at Rx configuration in 2 power exponent number */ A_UINT32 ltf_max_expo_num_rx; #define WMI_WIFI_RADAR_LTF_LENGTH_CAPABILITIES_LTF_MAX_EXPO_NUM_RX_GET(word32) \ WMI_GET_BITS(word32, 0, 16) #define WMI_WIFI_RADAR_LTF_LENGTH_CAPABILITIES_LTF_MAX_EXPO_NUM_RX_SET(word32, value) \ WMI_SET_BITS(word32, 0, 16, value) /* LTF to initially skip */ A_UINT32 ltf_max_num_initial_skip_rx; #define WMI_WIFI_RADAR_LTF_LENGTH_CAPABILITIES_LTF_MAX_NUM_INITIAL_SKIP_RX_GET(word32) \ WMI_GET_BITS(word32, 16, 16) #define WMI_WIFI_RADAR_LTF_LENGTH_CAPABILITIES_LTF_MAX_NUM_INITIAL_SKIP_RX_SET(word32, value) \ WMI_SET_BITS(word32, 16, 16, value) typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_wifi_radar_ltf_length_capabilities */ union { A_UINT32 ltf_cap1_word32; struct { /* * bits 3:0 -> PDEV ID * bits 31:4 -> LTF at Tx configuration */ A_UINT32 pdev_id: 4, /* Max number of LTF at Tx configuration */ ltf_max_num_tx: 28; }; }; union { A_UINT32 ltf_cap2_word32; struct { /* * bits 15:0 -> LTF at Rx configuration in exponential term * bits 31:16 -> LTF to skip intially at Rx configuration */ A_UINT32 ltf_max_expo_num_rx: 16, /* Max number of LTF at Rx configuration */ ltf_max_num_initial_skip_rx: 16; /* Max number of LTF to skip initially at Rx configuration */ }; }; /** * This TLV contains target LTF capability for Wi-Fi Radar sensing feature. */ } wmi_wifi_radar_ltf_length_capabilities; #define WMI_WIFI_RADAR_CHAIN_CAPABILITIES_PDEV_ID_GET(word32) \ WMI_GET_BITS(word32, 0, 4) #define WMI_WIFI_RADAR_CHAIN_CAPABILITIES_PDEV_ID_SET(word32, value) \ WMI_SET_BITS(word32, 0, 4, value) #define WMI_WIFI_RADAR_CHAIN_CAPABILITIES_MAX_NUM_RX_CHAIN_GET(word32) \ WMI_GET_BITS(word32, 4, 7) #define WMI_WIFI_RADAR_CHAIN_CAPABILITIES_MAX_NUM_RX_CHAIN_SET(word32, value) \ WMI_SET_BITS(word32, 4, 7, value) #define WMI_WIFI_RADAR_CHAIN_CAPABILITIES_BEST_ISOLATED_CHAIN_PAIR_SEL_GET(word32) \ WMI_GET_BITS(word32, 11, 1) #define WMI_WIFI_RADAR_CHAIN_CAPABILITIES_BEST_ISOLATED_CHAIN_PAIR_SEL_SET(word32, value) \ WMI_SET_BITS(word32, 11, 1, value) typedef struct { /** TLV tag and len; tag equals * WMITLV_TAG_STRUC_wmi_wifi_radar_chain_capabilities */ A_UINT32 tlv_header; union { A_UINT32 chain_cap1_word32; struct { /* * bits 3:0 -> PDEV ID * bits 10:4 -> Max number of Rx chain capture in one shot * bit 11 -> Best Isolated Chain pair selection enabled or not * bits 31:12 -> reserved */ A_UINT32 pdev_id: 4, /* Max num of Rx chain can be used to capture at a time */ A_UINT32 max_num_rx_chain; max_num_rx_chain: 7, /* Chain-to-Chain Isolation based chain pair support */ A_UINT32 best_isolated_chain_pair_sel; best_isolated_chain_pair_sel: 1, reserved:20; }; }; /** * This TLV contains target chain capability for Wi-Fi Radar sensing feature. */
fw/wmi_version.h +1 −1 Original line number Diff line number Diff line Loading @@ -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_ 1554 #define __WMI_REVISION_ 1555 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work Loading