diff options
| author | Sandeep Puligilla <spuligil@codeaurora.org> | 2016-11-03 12:32:20 -0700 |
|---|---|---|
| committer | qcabuildsw <qcabuildsw@localhost> | 2016-11-04 15:05:40 -0700 |
| commit | 3b85343a723e1c2287c137138db5b27fbdc6bfa9 (patch) | |
| tree | 70f6faa4ce8fc7b5715321e025b47ca10cb7d91d | |
| parent | ce5787086fa55caff0fd84829e0759d7c1f519e8 (diff) | |
qcacld-3.0: CL 1685950 - update fw common interface files
WMI defs for DFS offload
Change-Id: Ief6ea8771ec130a94f19c7296930534364bdd2fb
CRs-Fixed: 865207
| -rw-r--r-- | target/inc/wmi_services.h | 1 | ||||
| -rw-r--r-- | target/inc/wmi_tlv_defs.h | 50 | ||||
| -rw-r--r-- | target/inc/wmi_unified.h | 89 | ||||
| -rw-r--r-- | target/inc/wmi_version.h | 2 |
4 files changed, 140 insertions, 2 deletions
diff --git a/target/inc/wmi_services.h b/target/inc/wmi_services.h index 949ea77018f0..64cda28e1ab5 100644 --- a/target/inc/wmi_services.h +++ b/target/inc/wmi_services.h @@ -270,6 +270,7 @@ typedef enum { * support bigger MSDU ID partition */ WMI_SERVICE_TX_MSDU_ID_NEW_PARTITION_SUPPORT = 112, + WMI_SERVICE_DFS_PHYERR_OFFLOAD = 113, /*** ADD NEW SERVICES HERE UNTIL ALL VALUES UP TO 128 ARE USED ***/ diff --git a/target/inc/wmi_tlv_defs.h b/target/inc/wmi_tlv_defs.h index 2f371041b971..563ccfadf3e7 100644 --- a/target/inc/wmi_tlv_defs.h +++ b/target/inc/wmi_tlv_defs.h @@ -757,6 +757,13 @@ typedef enum { WMITLV_TAG_STRUC_wmi_tbtt_offset_ext_event_fixed_param, WMITLV_TAG_STRUC_wmi_sar_limits_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_sar_limit_cmd_row, + WMITLV_TAG_STRUC_wmi_pdev_dfs_phyerr_offload_enable_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_pdev_dfs_phyerr_offload_disable_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_vdev_adfs_ch_cfg_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_vdev_adfs_ocac_abort_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_pdev_dfs_radar_detection_event_fixed_param, + WMITLV_TAG_STRUC_wmi_vdev_adfs_ocac_complete_event_fixed_param, + WMITLV_TAG_STRUC_wmi_vdev_dfs_cac_complete_event_fixed_param, } WMITLV_TAG_ID; @@ -1063,6 +1070,10 @@ typedef enum { OP(WMI_REQUEST_WLAN_STATS_CMDID) \ OP(WMI_VDEV_ENCRYPT_DECRYPT_DATA_REQ_CMDID) \ OP(WMI_SAR_LIMITS_CMDID) \ + OP(WMI_PDEV_DFS_PHYERR_OFFLOAD_ENABLE_CMDID) \ + OP(WMI_PDEV_DFS_PHYERR_OFFLOAD_DISABLE_CMDID) \ + OP(WMI_VDEV_ADFS_CH_CFG_CMDID) \ + OP(WMI_VDEV_ADFS_OCAC_ABORT_CMDID) \ /* add new CMD_LIST elements above this line */ /* @@ -1225,6 +1236,9 @@ typedef enum { OP(WMI_REPORT_RX_AGGR_FAILURE_EVENTID) \ OP(WMI_VDEV_ENCRYPT_DECRYPT_DATA_RESP_EVENTID) \ OP(WMI_TBTTOFFSET_EXT_UPDATE_EVENTID) \ + OP(WMI_PDEV_DFS_RADAR_DETECTION_EVENTID) \ + OP(WMI_VDEV_DFS_CAC_COMPLETE_EVENTID) \ + OP(WMI_VDEV_ADFS_OCAC_COMPLETE_EVENTID) \ /* add new EVT_LIST elements above this line */ /* TLV definitions of WMI commands */ @@ -2072,6 +2086,30 @@ WMITLV_CREATE_PARAM_STRUC(WMI_DFS_PHYERR_FILTER_ENA_CMDID); WMITLV_CREATE_PARAM_STRUC(WMI_DFS_PHYERR_FILTER_DIS_CMDID); +/* DFS phyerr processing offload enable cmd */ +#define WMITLV_TABLE_WMI_PDEV_DFS_PHYERR_OFFLOAD_ENABLE_CMDID(id, op, buf, len) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_dfs_phyerr_offload_enable_cmd_fixed_param, wmi_pdev_dfs_phyerr_offload_enable_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) + +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_DFS_PHYERR_OFFLOAD_ENABLE_CMDID); + +/* DFS phyerr processing offload disble cmd */ +#define WMITLV_TABLE_WMI_PDEV_DFS_PHYERR_OFFLOAD_DISABLE_CMDID(id, op, buf, len) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_dfs_phyerr_offload_disable_cmd_fixed_param, wmi_pdev_dfs_phyerr_offload_disable_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) + +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_DFS_PHYERR_OFFLOAD_DISABLE_CMDID); + +/* set ADFS channel config cmd */ +#define WMITLV_TABLE_WMI_VDEV_ADFS_CH_CFG_CMDID(id, op, buf, len) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_vdev_adfs_ch_cfg_cmd_fixed_param, wmi_vdev_adfs_ch_cfg_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) + +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_ADFS_CH_CFG_CMDID); + +/* DFS abort ADFS ocac currently in progress */ +#define WMITLV_TABLE_WMI_VDEV_ADFS_OCAC_ABORT_CMDID(id, op, buf, len) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_vdev_adfs_ocac_abort_cmd_fixed_param, wmi_vdev_adfs_ocac_abort_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) + +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_ADFS_OCAC_ABORT_CMDID); + /* WOW Add Wake Pattern Cmd */ #define WMITLV_TABLE_WMI_WOW_ADD_WAKE_PATTERN_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_WOW_ADD_PATTERN_CMD_fixed_param, WMI_WOW_ADD_PATTERN_CMD_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ @@ -3569,6 +3607,18 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_TX_FAIL_CNT_THR_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_dfs_radar_event_fixed_param, wmi_dfs_radar_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_DFS_RADAR_EVENTID); +#define WMITLV_TABLE_WMI_PDEV_DFS_RADAR_DETECTION_EVENTID(id, op, buf, len) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_dfs_radar_detection_event_fixed_param, wmi_pdev_dfs_radar_detection_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_DFS_RADAR_DETECTION_EVENTID); + +#define WMITLV_TABLE_WMI_VDEV_ADFS_OCAC_COMPLETE_EVENTID(id, op, buf, len) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_vdev_adfs_ocac_complete_event_fixed_param, wmi_vdev_adfs_ocac_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_ADFS_OCAC_COMPLETE_EVENTID); + +#define WMITLV_TABLE_WMI_VDEV_DFS_CAC_COMPLETE_EVENTID(id, op, buf, len) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_vdev_dfs_cac_complete_event_fixed_param, wmi_vdev_dfs_cac_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_DFS_CAC_COMPLETE_EVENTID); + /* Thermal Event */ #define WMITLV_TABLE_WMI_THERMAL_MGMT_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_thermal_mgmt_event_fixed_param, wmi_thermal_mgmt_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) diff --git a/target/inc/wmi_unified.h b/target/inc/wmi_unified.h index dd3c942c99b8..b99254c6a66e 100644 --- a/target/inc/wmi_unified.h +++ b/target/inc/wmi_unified.h @@ -525,6 +525,14 @@ typedef enum { WMI_DFS_PHYERR_FILTER_ENA_CMDID, /** enable DFS phyerr/parse filter offload */ WMI_DFS_PHYERR_FILTER_DIS_CMDID, + /** enable DFS phyerr processing offload */ + WMI_PDEV_DFS_PHYERR_OFFLOAD_ENABLE_CMDID, + /** disable DFS phyerr processing offload */ + WMI_PDEV_DFS_PHYERR_OFFLOAD_DISABLE_CMDID, + /** set ADFS channel config */ + WMI_VDEV_ADFS_CH_CFG_CMDID, + /** abort ADFS off-channel-availability-check currently in progress */ + WMI_VDEV_ADFS_OCAC_ABORT_CMDID, /* Roaming specific commands */ /** set roam scan mode */ @@ -1295,7 +1303,12 @@ typedef enum { /*chatter query reply event */ WMI_CHATTER_PC_QUERY_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_CHATTER), - + /** DFS related events */ + WMI_PDEV_DFS_RADAR_DETECTION_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_DFS), + /** Indicate channel-availability-check completion event to host */ + WMI_VDEV_DFS_CAC_COMPLETE_EVENTID, + /** Indicate off-channel-availability-check completion event to host */ + WMI_VDEV_ADFS_OCAC_COMPLETE_EVENTID, /** echo event in response to echo command */ WMI_ECHO_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_MISC), @@ -5976,6 +5989,8 @@ typedef struct { /** the DBS policy manager indicates the preferred number of receive streams. */ A_UINT32 preferred_rx_streams; A_UINT32 he_ops; /* refer to WMI_HEOPS_xxx macros */ + A_UINT32 cac_duration_ms; /* in milliseconds */ + A_UINT32 regdomain; /* The TLVs follows this structure: * wmi_channel chan; //WMI channel * wmi_p2p_noa_descriptor noa_descriptors[]; //actual p2p NOA descriptor from scan entry @@ -9383,6 +9398,10 @@ enum { * to request it. */ WMI_WOW_FLAG_SEND_PM_PME = 0x00000002, + /* Flag to indicate unit test */ + WMI_WOW_FLAG_UNIT_TEST_ENABLE = 0x00000004, + /* Force HTC wakeup */ + WMI_WOW_FLAG_DO_HTC_WAKEUP = 0x00000008, }; @@ -10963,6 +10982,74 @@ typedef struct { A_UINT32 pdev_id; } wmi_dfs_phyerr_filter_dis_cmd_fixed_param; +typedef struct { + A_UINT32 tlv_header; + A_UINT32 pdev_id; +} wmi_pdev_dfs_phyerr_offload_enable_cmd_fixed_param; + +typedef struct { + A_UINT32 tlv_header; + A_UINT32 pdev_id; +} wmi_pdev_dfs_phyerr_offload_disable_cmd_fixed_param; + +typedef enum { + QUICK_OCAC = 0, + EXTENSIVE_OCAC, +} WMI_ADFS_OCAC_MODE; + +typedef struct { + A_UINT32 tlv_header; + A_UINT32 vdev_id; + A_UINT32 ocac_mode; /* WMI_ADFS_OCAC_MODE */ + A_UINT32 min_duration_ms; /* in milliseconds */ + A_UINT32 max_duration_ms; /* in milliseconds */ + A_UINT32 chan_freq; /* in MHz */ + A_UINT32 chan_width; /* in MHz */ + A_UINT32 center_freq; /* in MHz */ +} wmi_vdev_adfs_ch_cfg_cmd_fixed_param; + +typedef struct { + A_UINT32 tlv_header; + A_UINT32 vdev_id; +} wmi_vdev_adfs_ocac_abort_cmd_fixed_param; + +typedef enum { + IN_SERVICE_MODE = 0, + OCAC_MODE, +} WMI_DFS_RADAR_DETECTION_MODE; + +typedef struct { + A_UINT32 tlv_header; + A_UINT32 pdev_id; + /* In-service mode or O-CAC mode */ + A_UINT32 detection_mode; /* WMI_DFS_RADAR_DETECTION_MODE */ + A_UINT32 chan_freq; /* in MHz */ + A_UINT32 chan_width; /* in MHz */ + A_UINT32 detector_id; + A_UINT32 segment_id; + A_UINT32 timestamp; + A_UINT32 is_chirp; +} wmi_pdev_dfs_radar_detection_event_fixed_param; + +typedef enum { + OCAC_COMPLETE = 0, + OCAC_ABORT, +} WMI_VDEV_OCAC_COMPLETE_STATUS; + +typedef struct { + A_UINT32 tlv_header; + A_UINT32 vdev_id; + A_UINT32 chan_freq; /* in MHz */ + A_UINT32 chan_width; /* in MHz */ + A_UINT32 center_freq; /* in MHz */ + A_UINT32 status; /* WMI_VDEV_OCAC_COMPLETE_STATUS */ +} wmi_vdev_adfs_ocac_complete_event_fixed_param; + +typedef struct { + A_UINT32 tlv_header; + A_UINT32 vdev_id; +} wmi_vdev_dfs_cac_complete_event_fixed_param; + /** TDLS COMMANDS */ /* WMI_TDLS_SET_STATE_CMDID */ diff --git a/target/inc/wmi_version.h b/target/inc/wmi_version.h index 4f386168bd56..0c57a03d9625 100644 --- a/target/inc/wmi_version.h +++ b/target/inc/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_ 306 +#define __WMI_REVISION_ 307 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work |
