From 416559764da4f54b62b1a7f0137cc30becd45b93 Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 4 Feb 2026 12:02:14 -0800 Subject: [PATCH 1/2] fw-api: CL 31562430 - update fw common interface files Change-Id: I59000166bb75ee84445e338d4a016c52955e3dde CRs-Fixed: 3830439 --- fw/htt.h | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/fw/htt.h b/fw/htt.h index eda0e62c2f35..021493e8078b 100644 --- a/fw/htt.h +++ b/fw/htt.h @@ -278,9 +278,10 @@ * 3.148 Add HTT_PEER_CFR_CAPTURE_BW_320MHZ def. * 3.149 Add SAM fields in MPDUQ_OR_MSDUQ_INFO. * 3.150 Add htt_reg_write_selection definitions. + * 3.151 Add HTT_H2T DAL_MODE_INFO def. */ #define HTT_CURRENT_VERSION_MAJOR 3 -#define HTT_CURRENT_VERSION_MINOR 150 +#define HTT_CURRENT_VERSION_MINOR 151 #define HTT_NUM_TX_FRAG_DESC 1024 @@ -994,6 +995,7 @@ enum htt_h2t_msg_type { HTT_H2T_MSG_TYPE_MPDUQ_AND_MSDUQ_INFO_HDR = 0x29, HTT_H2T_MSG_TYPE_MPDUQ_OR_MSDUQ_INFO = 0x2a, HTT_H2T_MSG_TYPE_AST_INFO = 0x2b, + HTT_H2T_MSG_TYPE_DAL_MODE_INFO = 0x2c, /* keep this last */ HTT_H2T_NUM_MSGS @@ -12424,6 +12426,76 @@ PREPACK struct htt_ast_info_t { } while (0) +/* + * @brief host -> target HTT_H2T_MSG_TYPE_DAL_MODE_INFO message + * + * MSG_TYPE => HTT_H2T_MSG_TYPE_DAL_MODE_INFO (0x2C) + * + * The message would appear as follows: + * |31 16|15 8|7 0| + * |--------------------+-----------------+-------------------| + * | mode | pdev_id | msg_type | + * |----------------------------------------------------------| + * | write_data_addr_lo | + * |----------------------------------------------------------| + * | write_data_addr_hi | + * |----------------------------------------------------------| + * | write_msi_addr_lo | + * |----------------------------------------------------------| + * | write_msi_addr_hi | + * |----------------------------------------------------------| + * | write_msi_data | + * |----------------------------------------------------------| + * + * The message is interpreted as follows: + * dword0 - b'7:0 - msg_type + * b'15:8 - pdev_id + * b'31:16 - mode + * dword1 - b'31:0 - write_data_addr_lo + * dword2 - b'31:0 - write_data_addr_hi + * dword3 - b'31:0 - write_msi_addr_lo + * dword4 - b'31:0 - write_msi_addr_hi + * dword5 - b'31:0 - write_msi_data + */ +PREPACK struct htt_h2t_msg_dal_mode_info { + A_UINT32 msg_type: 8, + pdev_id: 8, + mode: 16; + A_UINT32 write_data_addr_lo; + A_UINT32 write_data_addr_hi; + A_UINT32 write_msi_addr_lo; + A_UINT32 write_msi_addr_hi; + A_UINT32 write_msi_data; +} POSTPACK; + +#define HTT_H2T_MSG_DAL_MODE_INFO_SZ (sizeof(struct htt_h2t_msg_dal_mode_info)) + +/* DWORD0 */ +#define HTT_H2T_MSG_DAL_MODE_INFO_PDEV_ID_M 0x0000ff00 +#define HTT_H2T_MSG_DAL_MODE_INFO_PDEV_ID_S 8 + +#define HTT_H2T_MSG_DAL_MODE_INFO_PDEV_ID_GET(_var) \ + (((_var) & HTT_H2T_MSG_DAL_MODE_INFO_PDEV_ID_M) >> \ + HTT_H2T_MSG_DAL_MODE_INFO_PDEV_ID_S) +#define HTT_H2T_MSG_DAL_MODE_INFO_PDEV_ID_SET(_var, _val) \ + do { \ + HTT_CHECK_SET_VAL(HTT_H2T_MSG_DAL_MODE_INFO_PDEV_ID, _val); \ + ((_var) |= ((_val) << HTT_H2T_MSG_DAL_MODE_INFO_PDEV_ID_S)); \ + } while (0) + +#define HTT_H2T_MSG_DAL_MODE_INFO_MODE_M 0xffff0000 +#define HTT_H2T_MSG_DAL_MODE_INFO_MODE_S 16 + +#define HTT_H2T_MSG_DAL_MODE_INFO_MODE_GET(_var) \ + (((_var) & HTT_H2T_MSG_DAL_MODE_INFO_MODE_M) >> \ + HTT_H2T_MSG_DAL_MODE_INFO_MODE_S) +#define HTT_H2T_MSG_DAL_MODE_INFO_MODE_SET(_var, _val) \ + do { \ + HTT_CHECK_SET_VAL(HTT_H2T_MSG_DAL_MODE_INFO_MODE, _val); \ + ((_var) |= ((_val) << HTT_H2T_MSG_DAL_MODE_INFO_MODE_S)); \ + } while (0) + + /*=== target -> host messages ===============================================*/ From ada83e0f3ce2759766d3b323031ff7a72f82c88f Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 4 Feb 2026 12:04:12 -0800 Subject: [PATCH 2/2] fw-api: CL 31562446 - update fw common interface files Change-Id: Iecd52929276cf9376dc3b699a2f5e50f0e053fed CRs-Fixed: 3830439 --- fw/wmi_tlv_defs.h | 8 ++++---- fw/wmi_unified.h | 1 + fw/wmi_version.h | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index cb599d519855..f8e83b61f45f 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1573,7 +1573,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_smd_roam_peer_unified_setup_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_smd_roam_peer_unified_setup_complete_event_fixed_param, WMITLV_TAG_STRUC_wmi_smd_roam_peer_tid_info, - WMITLV_TAG_STRUC_wmi_uhr_ap_mode_tup_dis_param, + WMITLV_TAG_STRUC_wmi_uhr_ap_mode_tup_enable_disable_update_param, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -3099,7 +3099,7 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ASSOC_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_uhr_npca_cap_params, peer_npca_cap_params, WMITLV_SIZE_VAR)\ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_create_mlo_params, create_mlo_params, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_cfp_params, wmi_peer_assoc_cfp_params, cfp_params, WMITLV_SIZE_FIX) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_smd_params, wmi_peer_assoc_smd_params, smd_params, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_smd_params, wmi_peer_assoc_smd_params, smd_params, WMITLV_SIZE_FIX) /* NOTE: * To maintain compatibility, any new TLV added in WMI_PEER_ASSOC_V2_CMDID * needs to be also included as a TLV in WMI_VDEV_UNIFIED_CONNECT_CMDID and @@ -6195,9 +6195,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_WLAN_MODE_REQ_CMDID); \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_up_cmd_fixed_param, wmi_vdev_up_cmd_fixed_param, vdev_up_fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_co_located_chan_info, vdev_up_co_located_chan_info, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_smd_params, wmi_peer_assoc_smd_params, smd_params, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_smd_params, wmi_peer_assoc_smd_params, smd_params, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_start_smd_params, vdev_smd_params, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_smd_params, wmi_peer_assoc_smd_params, peer_assoc_v2_smd_params, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_smd_params, wmi_peer_assoc_smd_params, peer_assoc_v2_smd_params, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_UNIFIED_CONNECT_CMDID); /* WMI command for unified disconnect cmd */ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index e1fece5440b0..910980dc7706 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -25825,6 +25825,7 @@ typedef enum event_type_e { WOW_P2P_NOA_EVENT, /* 32 + 14 */ WOW_XGAP_EVENT, /* 32 + 15 */ WOW_PAGE_FAULT_EVENT, /* 32 + 16 */ + WOW_ACTION_FRAME_RECV_EVENT, /* 32 + 17 */ } WOW_WAKE_EVENT_TYPE; typedef enum wake_reason_e { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index aa12b911f0e3..657f8a7059c0 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -37,7 +37,7 @@ #define __WMI_VER_MINOR_ 0 /** WMI revision number has to be incremented when there is a * change that may or may not break compatibility. */ -#define __WMI_REVISION_ 1711 +#define __WMI_REVISION_ 1712 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work