|
@@ -117,6 +117,18 @@ extern "C" {
|
|
|
(_var) |= (((_val) & ((1 << (_num_bits)) - 1)) << (_index)); \
|
|
|
} while (0)
|
|
|
|
|
|
+#define WMI_APPEND_TWO_SET_BITS(var, lsb_index, lsb_num_bits, msb_index, msb_num_bits, val) \
|
|
|
+ do { \
|
|
|
+ WMI_SET_BITS(var, lsb_index, lsb_num_bits, val); \
|
|
|
+ WMI_SET_BITS(var, msb_index, msb_num_bits, (val >> lsb_num_bits)); \
|
|
|
+ } while(0)
|
|
|
+
|
|
|
+#define WMI_APPEND_TWO_GET_BITS(var, lsb_index, lsb_num_bits, msb_index, msb_num_bits, val) \
|
|
|
+ do { \
|
|
|
+ (var) = WMI_GET_BITS(val, lsb_index, lsb_num_bits); \
|
|
|
+ (var) |= (WMI_GET_BITS(val, msb_index, msb_num_bits) << lsb_num_bits); \
|
|
|
+ } while(0)
|
|
|
+
|
|
|
/**
|
|
|
* A packed array is an array where each entry in the array is less than
|
|
|
* or equal to 16 bits, and the entries are stuffed into an A_UINT32 array.
|
|
@@ -2883,8 +2895,9 @@ typedef struct {
|
|
|
/*
|
|
|
* Extended FW build version information:
|
|
|
* bits 9:0 -> HDL version info
|
|
|
- * bits 27:10 -> reserved
|
|
|
- * bits 31:28 -> CRM sub ID
|
|
|
+ * bits 12:10 -> CRM sub ID MSbs (refer to WMI_SVC_RDY_CRM_SUB_ID_GET/SET)
|
|
|
+ * bits 27:13 -> reserved
|
|
|
+ * bits 31:28 -> CRM sub ID LSbs (refer to WMI_SVC_RDY_CRM_SUB_ID_GET/SET)
|
|
|
*/
|
|
|
A_UINT32 fw_build_vers_ext;
|
|
|
/* max_nlo_ssids - dynamically negotiated maximum number of SSIDS for NLO
|
|
@@ -2919,6 +2932,27 @@ typedef struct {
|
|
|
*/
|
|
|
} wmi_service_ready_ext_event_fixed_param;
|
|
|
|
|
|
+#define WMI_SVC_RDY_CRM_SUB_ID_LSBS_INDEX 28
|
|
|
+#define WMI_SVC_RDY_CRM_SUB_ID_LSBS_NUM_BITS 4
|
|
|
+#define WMI_SVC_RDY_CRM_SUB_ID_MSBS_INDEX 10
|
|
|
+#define WMI_SVC_RDY_CRM_SUB_ID_MSBS_NUM_BITS 3
|
|
|
+#define WMI_SVC_RDY_CRM_SUB_ID_GET(var, val) \
|
|
|
+ WMI_APPEND_TWO_GET_BITS( \
|
|
|
+ var, \
|
|
|
+ WMI_SVC_RDY_CRM_SUB_ID_LSBS_INDEX, \
|
|
|
+ WMI_SVC_RDY_CRM_SUB_ID_LSBS_NUM_BITS, \
|
|
|
+ WMI_SVC_RDY_CRM_SUB_ID_MSBS_INDEX, \
|
|
|
+ WMI_SVC_RDY_CRM_SUB_ID_MSBS_NUM_BITS, \
|
|
|
+ val)
|
|
|
+#define WMI_SVC_RDY_CRM_SUB_ID_SET(var, val) \
|
|
|
+ WMI_APPEND_TWO_SET_BITS( \
|
|
|
+ var, \
|
|
|
+ WMI_SVC_RDY_CRM_SUB_ID_LSBS_INDEX, \
|
|
|
+ WMI_SVC_RDY_CRM_SUB_ID_LSBS_NUM_BITS, \
|
|
|
+ WMI_SVC_RDY_CRM_SUB_ID_MSBS_INDEX, \
|
|
|
+ WMI_SVC_RDY_CRM_SUB_ID_MSBS_NUM_BITS, \
|
|
|
+ val)
|
|
|
+
|
|
|
/*
|
|
|
* regdb version GET/SET APIs
|
|
|
*/
|