diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 1186b59fd5a4..3de300a5b903 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -2564,8 +2564,56 @@ typedef struct { */ } wmi_service_ready_ext_event_fixed_param; +/* + * regdb version GET/SET APIs + */ +#define WMI_REG_DB_VERSION_MAJOR_BITPOS 0 +#define WMI_REG_DB_VERSION_MINOR_BITPOS 8 +#define WMI_BDF_REG_DB_VERSION_MAJOR_BITPOS 16 +#define WMI_BDF_REG_DB_VERSION_MINOR_BITPOS 24 +#define WMI_REG_DB_VERSION_NUM_BITS 8 + +#define WMI_REG_DB_VERSION_MAJOR_GET(dword) \ + WMI_GET_BITS(dword, WMI_REG_DB_VERSION_MAJOR_BITPOS, WMI_REG_DB_VERSION_NUM_BITS) +#define WMI_REG_DB_VERSION_MAJOR_SET(dword, value) \ + WMI_SET_BITS(dword, WMI_REG_DB_VERSION_MAJOR_BITPOS, WMI_REG_DB_VERSION_NUM_BITS, value) + +#define WMI_REG_DB_VERSION_MINOR_GET(dword) \ + WMI_GET_BITS(dword, WMI_REG_DB_VERSION_MINOR_BITPOS, WMI_REG_DB_VERSION_NUM_BITS) +#define WMI_REG_DB_VERSION_MINOR_SET(dword, value) \ + WMI_SET_BITS(dword, WMI_REG_DB_VERSION_MINOR_BITPOS, WMI_REG_DB_VERSION_NUM_BITS, value) + +#define WMI_BDF_REG_DB_VERSION_MAJOR_GET(dword) \ + WMI_GET_BITS(dword, WMI_BDF_REG_DB_VERSION_MAJOR_BITPOS, WMI_REG_DB_VERSION_NUM_BITS) +#define WMI_BDF_REG_DB_VERSION_MAJOR_SET(dword, value) \ + WMI_SET_BITS(dword, WMI_BDF_REG_DB_VERSION_MAJOR_BITPOS, WMI_REG_DB_VERSION_NUM_BITS, value) + +#define WMI_BDF_REG_DB_VERSION_MINOR_GET(dword) \ + WMI_GET_BITS(dword, WMI_BDF_REG_DB_VERSION_MINOR_BITPOS, WMI_REG_DB_VERSION_NUM_BITS) +#define WMI_BDF_REG_DB_VERSION_MINOR_SET(dword, value) \ + WMI_SET_BITS(dword, WMI_BDF_REG_DB_VERSION_MINOR_BITPOS, WMI_REG_DB_VERSION_NUM_BITS, value) + +#define WMI_REG_DB_VERSION_SET(dword, reg_db_ver_major, reg_db_ver_minor, bdf_reg_db_ver_major, bdf_reg_db_ver_minor) \ + do { \ + WMI_REG_DB_VERSION_MAJOR_SET(dword, reg_db_ver_major); \ + WMI_REG_DB_VERSION_MINOR_SET(dword, reg_db_ver_minor); \ + WMI_BDF_REG_DB_VERSION_MAJOR_SET(dword, bdf_reg_db_ver_major); \ + WMI_BDF_REG_DB_VERSION_MINOR_SET(dword, bdf_reg_db_ver_minor); \ + } while (0) + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_service_ready_ext2_event_fixed_param.*/ + + /* + * regDB Version to be sent to Host on WMI service ready ext2 event. + * [7:0] - regDbVersionMajor + * [15:8] - regDbVersionMinor + * [23:16] - bdfRegDbVersionMajor + * [31:24] - bdfRegDbVersionMinor + * The WMI_*REG_DB_VERSION_[MAJOR,MINOR]_[SET,GET] macros are used to + * access these bitfields. + */ + A_UINT32 reg_db_version; } wmi_service_ready_ext2_event_fixed_param; typedef struct { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index f17c1a03d430..bbbe1d5dfedc 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_ 702 +#define __WMI_REVISION_ 703 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work