From e662bfb38d7a1df303bc95971370c5513ae3ec77 Mon Sep 17 00:00:00 2001 From: Krishna Kumaar Natarajan Date: Fri, 2 Dec 2016 10:20:38 -0800 Subject: [PATCH] fw-api: update fw common interface files Update fw common interface files from the following CLs CL 1692916, CL 1699142, CL 1704659, CL 1705684, CL 1706778, CL 2679656. Bulk propagated from cld-3.0 project Change-Id: I4371127211ac4c08cbd8b1672cb3b7655afaf3a0 CRs-Fixed: 1093452 --- fw/wmi_tlv_defs.h | 19 +++++--- fw/wmi_unified.h | 119 ++++++++++++++++++++++++++++++++++++---------- fw/wmi_version.h | 2 +- 3 files changed, 109 insertions(+), 31 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 563ccfadf3e7..9bf7f871ed0f 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -764,6 +764,7 @@ typedef enum { 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_STRUC_wmi_vendor_oui, } WMITLV_TAG_ID; @@ -1425,7 +1426,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_PLMREQ_STOP_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, channel_list, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_ssid, ssid_list, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, bssid_list, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ie_data, WMITLV_SIZE_VAR) + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ie_data, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_vendor_oui, vendor_oui, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_START_SCAN_CMDID); @@ -1813,7 +1815,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_LINK_STATS_CMDID); WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, nlo_configured_parameters, nlo_list, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, channel_list, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, nlo_channel_prediction_cfg, channel_prediction_param, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_enlo_candidate_score_param, enlo_candidate_score_params, candidate_score_params, WMITLV_SIZE_FIX) + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_enlo_candidate_score_param, enlo_candidate_score_params, candidate_score_params, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_vendor_oui, vendor_oui, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_NETWORK_LIST_OFFLOAD_CONFIG_CMDID); @@ -2252,7 +2255,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_RESUME_CMDID); WMITLV_CREATE_PARAM_STRUC(WMI_SCAN_UPDATE_REQUEST_CMDID); #define WMITLV_TABLE_WMI_SCAN_PROB_REQ_OUI_CMDID(id,op,buf,len) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_scan_prob_req_oui_cmd_fixed_param, wmi_scan_prob_req_oui_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_scan_prob_req_oui_cmd_fixed_param, wmi_scan_prob_req_oui_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_vendor_oui, vendor_oui, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_SCAN_PROB_REQ_OUI_CMDID); @@ -2536,7 +2540,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_NDI_GET_CAP_REQ_CMDID); WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_ndp_initiator_req_fixed_param, wmi_ndp_initiator_req_fixed_param_PROTOTYPE, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_channel, wmi_channel, channel, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_cfg, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_app_info, WMITLV_SIZE_VAR) + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_app_info, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_pmk, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_NDP_INITIATOR_REQ_CMDID); /* @@ -2549,7 +2554,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_NDP_INITIATOR_REQ_CMDID); #define WMITLV_TABLE_WMI_NDP_RESPONDER_REQ_CMDID(id, op, buf, len) \ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_ndp_responder_rsp_event_fixed_param, wmi_ndp_responder_req_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_cfg, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_app_info, WMITLV_SIZE_VAR) + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_app_info, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_pmk, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_NDP_RESPONDER_REQ_CMDID); /* @@ -3695,7 +3701,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_NDP_END_RSP_EVENTID); #define WMITLV_TABLE_WMI_NDP_INDICATION_EVENTID(id, op, buf, len) \ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_ndp_indication_event_fixed_param, wmi_ndp_indication_event_fixed_param_PROTOTYPE, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_cfg, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_app_info, WMITLV_SIZE_VAR) + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_app_info, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_scid, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_NDP_INDICATION_EVENTID); /** diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index efe0c4fe5a09..e0e3b4cc536e 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -1734,27 +1734,30 @@ enum { * Note that in these macros, "ru" is one-based, not zero-based, while * nssm1 is zero-based. */ -#define WMI_SET_PPET16(ppet16_ppet8_ru3_ru0, ppet, ru, nssm1) \ +#define WMI_SET_PPET16(ppet16_ppet8_ru3_ru0, ru, nssm1, ppet) \ do { \ - ppet16_ppet8_ru3_ru0[nssm1] &= ~(7 << (((ru-1)%4)*6)); \ - ppet16_ppet8_ru3_ru0[nssm1] |= ((ppet&7) << (((ru-1)%4)*6)); \ + ppet16_ppet8_ru3_ru0[nssm1] &= ~(7 << (((ru-1)&3)*6)); \ + ppet16_ppet8_ru3_ru0[nssm1] |= ((ppet&7) << (((ru-1)&3)*6)); \ } while (0) #define WMI_GET_PPET16(ppet16_ppet8_ru3_ru0, ru, nssm1) \ - ((ppet16_ppet8_ru3_ru0[nssm1] >> (((ru-1)%4)*6))&7) + ((ppet16_ppet8_ru3_ru0[nssm1] >> (((ru-1)&3)*6))&7) -#define WMI_SET_PPET8(ppet16_ppet8_ru3_ru0, ppet, ru, nssm1) \ +#define WMI_SET_PPET8(ppet16_ppet8_ru3_ru0, ru, nssm1, ppet) \ do { \ - ppet16_ppet8_ru3_ru0[nssm1] &= ~(7 << (((ru-1)%4)*6+3)); \ - ppet16_ppet8_ru3_ru0[nssm1] |= ((ppet&7) << (((ru-1)%4)*6+3)); \ + ppet16_ppet8_ru3_ru0[nssm1] &= ~(7 << (((ru-1)&3)*6+3)); \ + ppet16_ppet8_ru3_ru0[nssm1] |= ((ppet&7) << (((ru-1)&3)*6+3)); \ } while (0) #define WMI_GET_PPET8(ppet16_ppet8_ru3_ru0, ru, nssm1) \ - ((ppet16_ppet8_ru3_ru0[nssm1] >> (((ru-1)%4)*6+3))&7) + ((ppet16_ppet8_ru3_ru0[nssm1] >> (((ru-1)&3)*6+3))&7) typedef struct _wmi_ppe_threshold { A_UINT32 numss_m1; /** NSS - 1*/ - A_UINT32 ru_count; /** Max RU count */ + union { + A_UINT32 ru_count; /** RU COUNT OBSOLETE to be removed after few versions */ + A_UINT32 ru_mask; /** RU index mask */ + }; /** ppet8 and ppet16 for max num ss */ A_UINT32 ppet16_ppet8_ru3_ru0[WMI_MAX_NUM_SS]; } wmi_ppe_threshold; @@ -2648,6 +2651,9 @@ typedef struct { #define WLAN_SCAN_PARAMS_MAX_BSSID 4 #define WLAN_SCAN_PARAMS_MAX_IE_LEN 512 +/* NOTE: This constant cannot be changed without breaking WMI compatibility */ +#define WMI_IE_BITMAP_SIZE 8 + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_start_scan_cmd_fixed_param */ /** Scan ID */ @@ -2702,6 +2708,14 @@ typedef struct { A_UINT32 ie_len; /** Max number of probes to be sent */ A_UINT32 n_probes; + /** MAC Address to use in Probe Req as SA **/ + wmi_mac_addr mac_addr; + /** Mask on which MAC has to be randomized **/ + wmi_mac_addr mac_mask; + /** ie bitmap to use in probe req **/ + A_UINT32 ie_bitmap[WMI_IE_BITMAP_SIZE]; + /** Number of vendor OUIs. In the TLV vendor_oui[] **/ + A_UINT32 num_vendor_oui; /** * TLV (tag length value ) parameters follow the scan_cmd @@ -2710,6 +2724,7 @@ typedef struct { * wmi_ssid ssid_list[]; * wmi_mac_addr bssid_list[]; * A_UINT8 ie_data[]; + * wmi_vendor_oui vendor_oui[]; */ } wmi_start_scan_cmd_fixed_param; @@ -2758,6 +2773,8 @@ typedef struct { #define WMI_SCAN_FLAG_HALF_RATE_SUPPORT 0x20000 /** set Quarter (5MHz) rate support */ #define WMI_SCAN_FLAG_QUARTER_RATE_SUPPORT 0x40000 +#define WMI_SCAN_RANDOM_SEQ_NO_IN_PROBE_REQ 0x80000 +#define WMI_SCAN_ENABLE_IE_WHTELIST_IN_PROBE_REQ 0x100000 /** for adaptive scan mode using 3 bits (21 - 23 bits) */ #define WMI_SCAN_DWELL_MODE_MASK 0x00E00000 @@ -2887,6 +2904,15 @@ typedef struct { A_UINT32 max_rest_time; } wmi_scan_update_request_cmd_fixed_param; +#define WMI_SCAN_PROBE_OUI_SPOOFED_MAC_IN_PROBE_REQ 0x1 +#define WMI_SCAN_PROBE_OUI_RANDOM_SEQ_NO_IN_PROBE_REQ 0x2 +#define WMI_SCAN_PROBE_OUI_ENABLE_IE_WHITELIST_IN_PROBE_REQ 0x4 + +typedef struct _wmi_vendor_oui { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vendor_oui */ + A_UINT32 oui_type_subtype; /** Vendor OUI type and subtype, lower 3 bytes is type and highest byte is subtype**/ +} wmi_vendor_oui; + typedef struct { A_UINT32 tlv_header; /** oui to be used in probe request frame when random mac addresss is @@ -2894,6 +2920,15 @@ typedef struct { * host initated scans. host can request for random mac address with * WMI_SCAN_ADD_SPOOFED_MAC_IN_PROBE_REQ flag. */ A_UINT32 prob_req_oui; + A_UINT32 vdev_id; + /** Control Flags **/ + A_UINT32 flags; + /** ie bitmap to use in probe req **/ + A_UINT32 ie_bitmap[WMI_IE_BITMAP_SIZE]; + /** Number of vendor OUIs. In the TLV vendor_oui[] **/ + A_UINT32 num_vendor_oui; + /* Following this tlv, there comes an array of structure of type wmi_vendor_ouiwmi_vendor_oui vendor_oui[];*/ + } wmi_scan_prob_req_oui_cmd_fixed_param; enum wmi_scan_event_type { @@ -3943,6 +3978,11 @@ typedef enum { WMI_PDEV_PARAM_RX_MPDU_AGGR_ARRAY_LEN, /** Set TX delay value in TX sch module, unit is microseconds */ WMI_PDEV_PARAM_TX_SCH_DELAY, + /** Set RTS enable for SIFS bursting */ + WMI_PDEV_PARAM_ENABLE_RTS_SIFS_BURSTING, + /** Set Maximum number of MPDUs in an AMPDU*/ + WMI_PDEV_PARAM_MAX_MPDUS_IN_AMPDU, + } WMI_PDEV_PARAM; typedef enum { @@ -5017,6 +5057,10 @@ typedef struct { * channel and after receiving an ACK for * a data frame with PM bit set) */ A_UINT32 rx_leak_window; + A_UINT32 tx_rts_succ_cnt; + A_UINT32 tx_rts_fail_cnt; + A_UINT32 tx_ppdu_succ_cnt; + A_UINT32 tx_ppdu_fail_cnt; } wmi_iface_link_stats; /** Interface statistics (once started) reset and start afresh after each connection */ @@ -5814,14 +5858,14 @@ typedef struct { #define WMI_HEOPS_TWT_GET(he_ops) WMI_GET_BITS(he_ops, 9, 1) #define WMI_HEOPS_TWT_SET(he_ops, value) WMI_SET_BITS(he_ops, 9, 1, value) -#define WMI_HEOPS_RTSTHLD_GET(he_ops) WMI_GET_BITS(he_ops, 10, 7) -#define WMI_HEOPS_RTSTHLD_SET(he_ops, value) WMI_SET_BITS(he_ops, 10, 7, value) +#define WMI_HEOPS_RTSTHLD_GET(he_ops) WMI_GET_BITS(he_ops, 10, 10) +#define WMI_HEOPS_RTSTHLD_SET(he_ops, value) WMI_SET_BITS(he_ops, 10, 10, value) -#define WMI_HEOPS_PDMIN_GET(he_ops) WMI_GET_BITS(he_ops, 17, 5) -#define WMI_HEOPS_PDMIN_SET(he_ops, value) WMI_SET_BITS(he_ops, 17, 5, value) +#define WMI_HEOPS_PDMIN_GET(he_ops) WMI_GET_BITS(he_ops, 20, 5) +#define WMI_HEOPS_PDMIN_SET(he_ops, value) WMI_SET_BITS(he_ops, 20, 5, value) -#define WMI_HEOPS_PDMAX_GET(he_ops) WMI_GET_BITS(he_ops, 22, 5) -#define WMI_HEOPS_PDMAX_SET(he_ops, value) WMI_SET_BITS(he_ops, 22, 5, value) +#define WMI_HEOPS_PDMAX_GET(he_ops) WMI_GET_BITS(he_ops, 25, 5) +#define WMI_HEOPS_PDMAX_SET(he_ops, value) WMI_SET_BITS(he_ops, 25, 5, value) #define WMI_MAX_HECAP_PHY_SIZE (3) #define WMI_HECAP_PHY_COD_GET(he_cap_phy) WMI_GET_BITS(he_cap_phy[0], 0, 1) @@ -10173,17 +10217,20 @@ typedef enum _WMI_NLO_SSID_BcastNwType { #define WMI_NLO_MAX_SSIDS 16 #define WMI_NLO_MAX_CHAN 48 -#define WMI_NLO_CONFIG_STOP (0x1 << 0) -#define WMI_NLO_CONFIG_START (0x1 << 1) -#define WMI_NLO_CONFIG_RESET (0x1 << 2) -#define WMI_NLO_CONFIG_SLOW_SCAN (0x1 << 4) -#define WMI_NLO_CONFIG_FAST_SCAN (0x1 << 5) -#define WMI_NLO_CONFIG_SSID_HIDE_EN (0x1 << 6) +#define WMI_NLO_CONFIG_STOP (0x1 << 0) +#define WMI_NLO_CONFIG_START (0x1 << 1) +#define WMI_NLO_CONFIG_RESET (0x1 << 2) +#define WMI_NLO_CONFIG_SLOW_SCAN (0x1 << 4) +#define WMI_NLO_CONFIG_FAST_SCAN (0x1 << 5) +#define WMI_NLO_CONFIG_SSID_HIDE_EN (0x1 << 6) /* This bit is used to indicate if EPNO or supplicant PNO is enabled. Only * one of them can be enabled at a given time */ -#define WMI_NLO_CONFIG_ENLO (0x1 << 7) -#define WMI_NLO_CONFIG_SCAN_PASSIVE (0x1 << 8) -#define WMI_NLO_CONFIG_ENLO_RESET (0x1 << 9) +#define WMI_NLO_CONFIG_ENLO (0x1 << 7) +#define WMI_NLO_CONFIG_SCAN_PASSIVE (0x1 << 8) +#define WMI_NLO_CONFIG_ENLO_RESET (0x1 << 9) +#define WMI_NLO_CONFIG_SPOOFED_MAC_IN_PROBE_REQ (0x1 << 10) +#define WMI_NLO_CONFIG_RANDOM_SEQ_NO_IN_PROBE_REQ (0x1 << 11) +#define WMI_NLO_CONFIG_ENABLE_IE_WHITELIST_IN_PROBE_REQ (0x1 << 12) /* Whether directed scan needs to be performed (for hidden SSIDs) */ #define WMI_ENLO_FLAG_DIRECTED_SCAN 1 @@ -10308,11 +10355,20 @@ typedef struct wmi_nlo_config { A_UINT32 no_of_ssids; A_UINT32 num_of_channels; A_UINT32 delay_start_time; /* NLO scan start delay time in milliseconds */ + /** MAC Address to use in Probe Req as SA **/ + wmi_mac_addr mac_addr; + /** Mask on which MAC has to be randomized **/ + wmi_mac_addr mac_mask; + /** IE bitmap to use in Probe Req **/ + A_UINT32 ie_bitmap[WMI_IE_BITMAP_SIZE]; + /** Number of vendor OUIs. In the TLV vendor_oui[] **/ + A_UINT32 num_vendor_oui; /* The TLVs will follow. * nlo_configured_parameters nlo_list[]; * A_UINT32 channel_list[]; * nlo_channel_prediction_cfg ch_prediction_cfg; * enlo_candidate_score_params candidate_score_params; + * wmi_vendor_oui vendor_oui[]; */ } wmi_nlo_config_cmd_fixed_param; @@ -12613,12 +12669,17 @@ typedef struct { A_UINT32 ndp_app_info_len; /** NDP channel configuration type defined in wmi_ndp_channel_cfg */ A_UINT32 ndp_channel_cfg; + /** NAN Cipher Suite Shared Key */ + A_UINT32 nan_csid; + /** Actual number of bytes in TLV nan_pmk */ + A_UINT32 nan_pmk_len; /** * TLV (tag length value ) parameters follow the ndp_initiator_req * structure. The TLV's are: * wmi_channel channel; * A_UINT8 ndp_cfg[]; * A_UINT8 ndp_app_info[]; + * A_UINT8 nan_pmk[]; */ } wmi_ndp_initiator_req_fixed_param_PROTOTYPE; @@ -12649,11 +12710,16 @@ typedef struct { A_UINT32 ndp_cfg_len; /** Number of bytes in TLV ndp_app_info */ A_UINT32 ndp_app_info_len; + /** NAN Cipher Suite Shared Key */ + A_UINT32 nan_csid; + /** Actual number of bytes in TLV nan_pmk */ + A_UINT32 nan_pmk_len; /** * TLV (tag length value ) parameters follow the ndp_responder_req * structure. The TLV's are: * A_UINT8 ndp_cfg[]; * A_UINT8 ndp_app_info[]; + * A_UINT8 nan_pmk[]; */ } wmi_ndp_responder_req_fixed_param_PROTOTYPE; @@ -12917,11 +12983,16 @@ typedef struct { A_UINT32 ndp_cfg_len; /** Number of bytes in TLV wmi_ndp_app_info */ A_UINT32 ndp_app_info_len; + /** Peer NAN Cipher Suite Shared Key */ + A_UINT32 nan_csid; + /** Actual number of bytes in TLV nan_scid */ + A_UINT32 nan_scid_len; /** * TLV (tag length value ) parameters follow the ndp_indication * structure. The TLV's are: * A_UINT8 ndp_cfg[]; * A_UINT8 ndp_app_info[]; + * A_UINT8 nan_scid[]; */ } wmi_ndp_indication_event_fixed_param_PROTOTYPE; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 9bfb9364e4c0..35bfe780ae42 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_ 309 +#define __WMI_REVISION_ 316 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work