From 0036eb2df9209840424d8a91c72d5c902c437613 Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 3 Mar 2022 06:00:57 -0800 Subject: [PATCH] fw-api: CL 17390237 - update fw common interface files Change-Id: I1c5cde053129ee93510686169ba2e0896b3f8339 WMI: add SET_MULTIPLE_PDEV_VDEV_PARAM CMD msg def CRs-Fixed: 2262693 --- fw/wmi_services.h | 1 + fw/wmi_tlv_defs.h | 15 ++++++++++++++- fw/wmi_unified.h | 27 ++++++++++++++++++++++++++- fw/wmi_version.h | 2 +- 4 files changed, 42 insertions(+), 3 deletions(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index ae3c778488cf..56afaa5d8e3b 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -580,6 +580,7 @@ typedef enum { WMI_SERVICE_REO_QREF_SUPPORT = 327, /* FW supports REO QREF */ WMI_SERVICE_DELETE_ALL_PEER_BITMAP_SUPPORT = 328, /* target supports cmd to delete all specific peer type within a vdev */ WMI_SERVICE_PN_REPLAY_CHECK_SUPPORT = 329, /* FW support to check RX mgmt frames has invalid PN in packets */ + WMI_SERVICE_COMBINED_SET_PARAM_SUPPORT = 330, /* FW Supporting set param cmd combined for multiple params */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index f66ec00cf7c5..2417a02a341e 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1252,6 +1252,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_peer_rx_pn_request_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_peer_rx_pn_response_event_fixed_param, WMITLV_TAG_STRUC_wmi_vdev_pn_mgmt_rx_filter_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_set_multiple_pdev_vdev_param_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_set_param_info, } WMITLV_TAG_ID; /* @@ -1742,6 +1744,7 @@ typedef enum { OP(WMI_RTT_PASN_DEAUTH_CMD) \ OP(WMI_PEER_RX_PN_REQUEST_CMDID) \ OP(WMI_VDEV_PN_MGMT_RX_FILTER_CMDID) \ + OP(WMI_SET_MULTIPLE_PDEV_VDEV_PARAM_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -4890,12 +4893,22 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_IGMP_OFFLOAD_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mgmt_rx_reo_filter_configuration_cmd_fixed_param, wmi_mgmt_rx_reo_filter_configuration_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_RX_REO_FILTER_CONFIGURATION_CMDID); -/* Multiple vdev set param cmd */ +/* Multiple vdev set param cmd: + * Set one parameter for multiple vdevs at once. + */ #define WMITLV_TABLE_WMI_PDEV_MULTIPLE_VDEV_SET_PARAM_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_multiple_vdev_set_param_cmd_fixed_param, wmi_pdev_multiple_vdev_set_param_cmd_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_MULTIPLE_VDEV_SET_PARAM_CMDID); +/* Vdev/Pdev set Param: + * Set multiple parameters at once for one pdev or vdev. + */ +#define WMITLV_TABLE_WMI_SET_MULTIPLE_PDEV_VDEV_PARAM_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_set_multiple_pdev_vdev_param_cmd_fixed_param, wmi_set_multiple_pdev_vdev_param_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_set_param_info, param_info, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_SET_MULTIPLE_PDEV_VDEV_PARAM_CMDID); + /* Configure MEC AGING TIMER */ #define WMITLV_TABLE_WMI_PDEV_MEC_AGING_TIMER_CONFIG_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_mec_aging_timer_config_cmd_fixed_param, wmi_pdev_mec_aging_timer_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index f8460973f477..5b01ed232f69 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -479,7 +479,7 @@ typedef enum { WMI_PDEV_GET_HALPHY_CAL_STATUS_CMDID, /* Set HALPHY CAL bitmap */ WMI_PDEV_SET_HALPHY_CAL_BMAP_CMDID, - /* WMI cmd to send vdev param for multiple vdev */ + /* WMI cmd to set a single vdev param for multiple vdevs */ WMI_PDEV_MULTIPLE_VDEV_SET_PARAM_CMDID, /* Configure MEC AGING TIMER */ WMI_PDEV_MEC_AGING_TIMER_CONFIG_CMDID, @@ -1141,6 +1141,10 @@ typedef enum { WMI_GET_CHANNEL_ANI_CMDID, /** set OCL (One Chain Listen) mode */ WMI_SET_OCL_CMDID, + /** Consolidated params for pdev/vdev: + * Set multiple parameters at once for one pdev or vdev. + */ + WMI_SET_MULTIPLE_PDEV_VDEV_PARAM_CMDID, /* Offload 11k related requests */ WMI_11K_OFFLOAD_REPORT_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_11K_OFFLOAD), @@ -30995,6 +30999,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_RTT_PASN_DEAUTH_CMD); WMI_RETURN_STRING(WMI_VDEV_PN_MGMT_RX_FILTER_CMDID); WMI_RETURN_STRING(WMI_PEER_RX_PN_REQUEST_CMDID); + WMI_RETURN_STRING(WMI_SET_MULTIPLE_PDEV_VDEV_PARAM_CMDID); } return (A_UINT8 *) "Invalid WMI cmd"; @@ -37644,6 +37649,26 @@ typedef struct { */ } wmi_pdev_multiple_vdev_set_param_cmd_fixed_param; +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_set_param_info */ + /** ID of the parameter being set */ + A_UINT32 param_id; + /** value of the parameter being set */ + A_UINT32 param_value; +} wmi_set_param_info; + +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_set_multiple_pdev_vdev_param_cmd_fixed_param */ + /** Command is for vdev or pdev: 0 = pdev, 1 = vdev */ + A_UINT32 is_vdev; + /** unique dev_id identifying the VDEV/PDEV */ + A_UINT32 dev_id; + /* + * Following this structure is the TLV: + * wmi_set_param_info param_info[]; + */ +} wmi_set_multiple_pdev_vdev_param_cmd_fixed_param; + typedef enum { WMI_MU_SNIF_DISABLE, WMI_MU_SNIF_USER_INPUT, diff --git a/fw/wmi_version.h b/fw/wmi_version.h index be06c3f8411f..356e6ed3cd09 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_ 1125 +#define __WMI_REVISION_ 1126 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work