From e44bca0f790e536aafaf81b7fa037bac5d2034e2 Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 14 Sep 2017 09:02:23 -0700 Subject: [PATCH] fw-api: CL 3473232 - update fw common interface files add WMI UPDATE_CTLTABLE message defs Change-Id: I32fc2ef635d7e2fd0f4b6e2045c13c9efdeef6e5 CRs-Fixed: 1107600 --- fw/wmi_services.h | 1 + fw/wmi_tlv_defs.h | 16 ++++++++++++++++ fw/wmi_unified.h | 31 ++++++++++++++++++++++++++++--- fw/wmi_version.h | 2 +- 4 files changed, 46 insertions(+), 4 deletions(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 429fb27e047e..c2359b47128e 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -215,6 +215,7 @@ typedef enum { WMI_SERVICE_WLAN_DHCP_RENEW=133, /* Support for wlan DHCP Renew service */ WMI_SERVICE_MAWC_SUPPORT = 134, /* Support for MAWC service */ WMI_SERVICE_VDEV_LATENCY_CONFIG=135, /* support for vdev latency config */ + WMI_SERVICE_PDEV_UPDATE_CTLTABLE_SUPPORT=136, /* support for pdev update ctl table */ /******* ADD NEW SERVICES HERE *******/ diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index baea0770b3cb..6135cc726431 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -855,6 +855,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_btm_config_fixed_param, WMITLV_TAG_STRUC_wmi_debug_mesg_fw_data_stall_param, WMITLV_TAG_STRUC_wmi_wlm_config_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_pdev_update_ctltable_request_fixed_param, + WMITLV_TAG_STRUC_wmi_pdev_update_ctltable_event_fixed_param, } WMITLV_TAG_ID; /* @@ -1198,6 +1200,7 @@ typedef enum { OP(WMI_HB_DHCP_LEASE_RENEW_OFFLOAD_CMDID) \ OP(WMI_ROAM_BTM_CONFIG_CMDID) \ OP(WMI_WLM_CONFIG_CMDID) \ + OP(WMI_PDEV_UPDATE_CTLTABLE_REQUEST_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -1386,6 +1389,7 @@ typedef enum { OP(WMI_OEM_DMA_BUF_RELEASE_EVENTID) \ OP(WMI_PDEV_BSS_CHAN_INFO_EVENTID) \ OP(WMI_UNIT_TEST_EVENTID) \ + OP(WMI_PDEV_UPDATE_CTLTABLE_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -2233,6 +2237,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_DIV_GET_RSSI_ANTID_CMDID); WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_BSS_CHAN_INFO_REQUEST_CMDID); +/* PDEV update ctl table Cmd */ +#define WMITLV_TABLE_WMI_PDEV_UPDATE_CTLTABLE_REQUEST_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_update_ctltable_request_fixed_param, wmi_pdev_update_ctltable_request_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ctltable_data, WMITLV_SIZE_VAR) + +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_UPDATE_CTLTABLE_REQUEST_CMDID); + /* VDEV Get Tx power Cmd */ #define WMITLV_TABLE_WMI_VDEV_GET_TX_POWER_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_get_tx_power_cmd_fixed_param, wmi_vdev_get_tx_power_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) @@ -3555,6 +3566,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_DIV_RSSI_ANTID_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_bss_chan_info_event_fixed_param, wmi_pdev_bss_chan_info_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_BSS_CHAN_INFO_EVENTID); +/* PDEV update ctl table Event */ +#define WMITLV_TABLE_WMI_PDEV_UPDATE_CTLTABLE_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_update_ctltable_event_fixed_param, wmi_pdev_update_ctltable_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_UPDATE_CTLTABLE_EVENTID); + /* VDEV Tx Power Event */ #define WMITLV_TABLE_WMI_VDEV_GET_TX_POWER_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_tx_power_event_fixed_param, wmi_vdev_get_tx_power_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 1534c450c29e..57c869984d48 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -369,12 +369,14 @@ typedef enum { WMI_PDEV_SET_DIVERSITY_GAIN_CMDID, /** Get chain RSSI and antena index command */ WMI_PDEV_DIV_GET_RSSI_ANTID_CMDID, - /* get bss chan info */ + /** get bss chan info */ WMI_PDEV_BSS_CHAN_INFO_REQUEST_CMDID, - /* update pmk cache info */ + /** update pmk cache info */ WMI_PDEV_UPDATE_PMK_CACHE_CMDID, - /* update fils HLP */ + /** update fils HLP */ WMI_PDEV_UPDATE_FILS_HLP_PKT_CMDID, + /** update ctltable request **/ + WMI_PDEV_UPDATE_CTLTABLE_REQUEST_CMDID, /* VDEV (virtual device) specific commands */ /** vdev create */ @@ -1153,6 +1155,9 @@ typedef enum { /** provide noise floor and cycle counts for a channel */ WMI_PDEV_BSS_CHAN_INFO_EVENTID, + /** Response received the ctl table to host */ + WMI_PDEV_UPDATE_CTLTABLE_EVENTID, + /* VDEV specific events */ /** VDEV started event in response to VDEV_START request */ WMI_VDEV_START_RESP_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_VDEV), @@ -4579,6 +4584,17 @@ typedef struct { A_UINT32 param; /* 1 = read only, 2= read and clear */ } wmi_pdev_bss_chan_info_request_fixed_param; +typedef struct { + A_UINT32 tlv_header; /* WMITLV_TAG_STRUC_wmi_pdev_update_ctltable_request_fixed_param */ + A_UINT32 total_len; /* the total number of ctl table bytes to be transferred */ + A_UINT32 len; /* the number of ctltable bytes in current payload */ + A_UINT32 seq; /* the number of current transfers */ +/* + * This TLV is followed by the following additional TLVs: + * ARRAY_BYTE TLV of ctltable_data + */ +} wmi_pdev_update_ctltable_request_fixed_param; + #define WMI_FAST_DIVERSITY_BIT_OFFSET 0 #define WMI_SLOW_DIVERSITY_BIT_OFFSET 1 @@ -4787,6 +4803,14 @@ typedef struct { A_UINT32 rx_bss_cycle_count_high; /* high 31 bits of rx_cycle cnt for my bss in 64bits format */ } wmi_pdev_bss_chan_info_event_fixed_param; +typedef struct { + /* WMI event response update ctltable request to host */ + A_UINT32 tlv_header; /* WMITLV_TAG_STRUC_wmi_pdev_update_ctltable_event_fixed_param */ + A_UINT32 total_len; /* the total number of bytes to be transferred */ + A_UINT32 len; /* the number of FW received bytes from host */ + A_UINT32 seq; /* the number of current transfers */ +} wmi_pdev_update_ctltable_event_fixed_param; + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_l1ss_track_event_fixed_param */ A_UINT32 periodCnt; @@ -19931,6 +19955,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_VDEV_LIMIT_OFFCHAN_CMDID); WMI_RETURN_STRING(WMI_ROAM_BTM_CONFIG_CMDID); WMI_RETURN_STRING(WMI_WLM_CONFIG_CMDID); + WMI_RETURN_STRING(WMI_PDEV_UPDATE_CTLTABLE_REQUEST_CMDID); } return "Invalid WMI cmd"; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index f4cc1ebafc36..db54a9c95844 100644 --- 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_ 435 +#define __WMI_REVISION_ 436 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work