Explorar o código

qcacld-3.0: CL 1490576 - update fw common interface files

qcacld-2.0 to qcacld-3.0 propagation.

Add new TLV tx_time_per_tpc_extended which is array of A_UINT32
to support tpc_levels more than MAX_TPC_LEVELS in
wmi_radio_link_stats_event_fixed_param Migrating Timekeeper debug
log identifiers into the NaN module.

This change set also includes dbglog id change from CL 1440161.

Change-Id: I127bb10c989c0d7ee8a0f9cc9c57e2c824017165
CRs-Fixed: 865207
Anurag Chouhan %!s(int64=9) %!d(string=hai) anos
pai
achega
0e13ab0b1f
Modificáronse 4 ficheiros con 91 adicións e 5 borrados
  1. 53 2
      target/inc/dbglog_id.h
  2. 2 1
      target/inc/wmi_tlv_defs.h
  3. 35 1
      target/inc/wmi_unified.h
  4. 1 1
      target/inc/wmi_version.h

+ 53 - 2
target/inc/dbglog_id.h

@@ -1487,8 +1487,59 @@ extern "C" {
 #define NAN_DBGID_NAN_NOT_ALLOWED               (NAN_DBGID_OTA_PKT_LAST + 14)
 #define NAN_DBGID_NAN_TX_FOLLOWUP_REQ_TR_ID     (NAN_DBGID_OTA_PKT_LAST + 15)
 #define NAN_DBGID_NAN_TX_FOLLOWUP_RESP_TR_ID    (NAN_DBGID_OTA_PKT_LAST + 16)
-
-#define NAN_DBGID_END                           (NAN_DBGID_NAN_TX_FOLLOWUP_RESP_TR_ID + 1)
+#define NAN_DBGID_PUBSUB_TERM_IND_DISABLE_FLAG  (NAN_DBGID_OTA_PKT_LAST + 17)
+#define NAN_DBGID_UNMATCH_IND_DISABLE_FLAG      (NAN_DBGID_OTA_PKT_LAST + 18)
+#define NAN_DBGID_FOLLOWUP_RX_IND_DISABLE_FLAG  (NAN_DBGID_OTA_PKT_LAST + 19)
+#define NAN_DBGID_BEACON_RX_LAST                (NAN_DBGID_OTA_PKT_LAST + 20)
+
+/* NaN Datapath Timekeeper debug IDs */
+/* 116 + 20 = 136 */
+#define NAN_DBGID_TMKR_BASE                        NAN_DBGID_BEACON_RX_LAST
+/* 136 */
+#define NAN_DBGID_TMKR_INIT                        (NAN_DBGID_TMKR_BASE + 0)
+#define NAN_DBGID_TMKR_OPEN                        (NAN_DBGID_TMKR_BASE + 1)
+#define NAN_DBGID_TMKR_CLOSE                       (NAN_DBGID_TMKR_BASE + 2)
+#define NAN_DBGID_TMKR_NEGOTIATE                   (NAN_DBGID_TMKR_BASE + 3)
+#define NAN_DBGID_TMKR_TMR_HNDLR                   (NAN_DBGID_TMKR_BASE + 4)
+#define NAN_DBGID_TMKR_UNITTEST                    (NAN_DBGID_TMKR_BASE + 5)
+#define NAN_DBGID_TMKR_LF_TMR_HNDLR                (NAN_DBGID_TMKR_BASE + 6)
+#define NAN_DBGID_TMKR_DEINIT                      (NAN_DBGID_TMKR_BASE + 7)
+#define NAN_DBGID_TMKR_SLOTBITMAP                  (NAN_DBGID_TMKR_BASE + 8)
+#define NAN_DBGID_TMKR_CANCEL_SLOTBITMAP           (NAN_DBGID_TMKR_BASE + 9)
+#define NAN_DBGID_TMKR_CONFIRM_SLOTBITMAP          (NAN_DBGID_TMKR_BASE + 10)
+#define NAN_DBGID_TMKR_RESOLVE_SLOTBITMAP          (NAN_DBGID_TMKR_BASE + 11)
+#define NAN_DBGID_TMKR_ADD_CHAN_ELEMENT            (NAN_DBGID_TMKR_BASE + 12)
+#define NAN_DBGID_TMKR_REMOVE_CHAN_ELEMENT         (NAN_DBGID_TMKR_BASE + 13)
+/* 150 */
+#define NAN_DBGID_TMKR_FIND_CHAN_ELEMENT           (NAN_DBGID_TMKR_BASE + 14)
+#define NAN_DBGID_TMKR_QUERY_COMMITTED_SLOTBITMAP  (NAN_DBGID_TMKR_BASE + 15)
+#define NAN_DBGID_TMKR_ENCODE_SLOTBITMAP           (NAN_DBGID_TMKR_BASE + 16)
+#define NAN_DBGID_TMKR_SLOT_ARRAY_DBG              (NAN_DBGID_TMKR_BASE + 17)
+#define NAN_DBGID_TMKR_POPULATE_MASTER             (NAN_DBGID_TMKR_BASE + 18)
+#define NAN_DBGID_TMKR_ALLOCATE_SLOTS              (NAN_DBGID_TMKR_BASE + 19)
+#define NAN_DBGID_TMKR_RELEASE_SLOTS               (NAN_DBGID_TMKR_BASE + 20)
+#define NAN_DBGID_TMKR_ENABLE                      (NAN_DBGID_TMKR_BASE + 21)
+#define NAN_DBGID_TMKR_DISABLE                     (NAN_DBGID_TMKR_BASE + 22)
+#define NAN_DBGID_TMKR_GET_NEXT_SLOTWINDOW         (NAN_DBGID_TMKR_BASE + 23)
+#define NAN_DBGID_TMKR_RESUME_TIMEKEEPING          (NAN_DBGID_TMKR_BASE + 24)
+#define NAN_DBGID_TMKR_RESYNC_TO_DISCOVERY_WINDOW  (NAN_DBGID_TMKR_BASE + 25)
+/* 162 */
+#define NAN_DBGID_TMKR_SUSPEND_TIMEKEEPING         (NAN_DBGID_TMKR_BASE + 26)
+#define NAN_DBGID_TMKR_SYNC_TO_DISCOVERY_WINDOW    (NAN_DBGID_TMKR_BASE + 27)
+#define NAN_DBGID_TMKR_GET_NEXT_TSFTIME            (NAN_DBGID_TMKR_BASE + 28)
+#define NAN_DBGID_TMKR_SETUP_NEXT_INTERVAL         (NAN_DBGID_TMKR_BASE + 29)
+#define NAN_DBGID_TMKR_SCHEDULE_EVENT              (NAN_DBGID_TMKR_BASE + 30)
+#define NAN_DBGID_TMKR_ENABLE_TIMEKEEPING_EVENT    (NAN_DBGID_TMKR_BASE + 31)
+#define NAN_DBGID_TMKR_DISABLE_TIMEKEEPING_EVENT   (NAN_DBGID_TMKR_BASE + 32)
+#define NAN_DBGID_TMKR_SYNC_WITH_DW_EVENT          (NAN_DBGID_TMKR_BASE + 33)
+#define NAN_DBGID_TMKR_INTERVAL_EXPIRED_EVENT      (NAN_DBGID_TMKR_BASE + 34)
+#define NAN_DBGID_TMKR_PAUSE_TIMEKEEPING_EVENT     (NAN_DBGID_TMKR_BASE + 35)
+/* 172 */
+#define NAN_DBGID_TMKR_RESUME_TIMEKEEPING_EVENT    (NAN_DBGID_TMKR_BASE + 36)
+#define NAN_DBGID_TMKR_RESYNC_TO_DW_EVENT          (NAN_DBGID_TMKR_BASE + 37)
+#define NAN_DBGID_TMKR_LAST                        (NAN_DBGID_TMKR_BASE + 38)
+
+#define NAN_DBGID_END                              (NAN_DBGID_TMKR_LAST)
 
 /* IBSS PS module DBGIDs*/
 #define IBSS_PS_DBGID_DEFINITION_START           0

+ 2 - 1
target/inc/wmi_tlv_defs.h

@@ -3198,7 +3198,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_LINK_STATS_EVENTID);
 #define WMITLV_TABLE_WMI_RADIO_LINK_STATS_EVENTID(id,op,buf,len) \
 	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_radio_link_stats_event_fixed_param, wmi_radio_link_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
 	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_radio_link_stats, radio_stats, WMITLV_SIZE_VAR) \
-	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_channel_stats, channel_stats, WMITLV_SIZE_VAR)
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_channel_stats, channel_stats, WMITLV_SIZE_VAR) \
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, ext_tx_time_per_power_level, WMITLV_SIZE_VAR)
 
 WMITLV_CREATE_PARAM_STRUC(WMI_RADIO_LINK_STATS_EVENTID);
 

+ 35 - 1
target/inc/wmi_unified.h

@@ -4424,8 +4424,42 @@ typedef struct {
 	A_UINT32 on_time_hs20;
 	/** number of channels */
 	A_UINT32 num_channels;
-	/** tx time (in milliseconds) per TPC level (0.5 dBm) */
+	/*
+	 * tx time (in milliseconds) per TPC level
+	 * TPC levels require a board-specific translation to determine what
+	 * actual power corresponds to each power level.
+	 * Just as the host has a BDF file available, the host should also have
+	 * a data file available that provides the
+	 *     power level --> power
+	 * translations.
+	 */
 	A_UINT32 tx_time_per_tpc[MAX_TPC_LEVELS];
+	/*
+	 * number of tx power levels, including both tx_time_per_tpc and
+	 * ext_tx_time_per_power_level
+	 * Each power level consumes one A_UINT32.
+	 * If num_tx_power_levels <= MAX_TPC_LEVELs, only tx_time_per_tpc is
+	 * used.
+	 * If num_tx_power_levels > MAX_TPC_LEVELS, the first MAX_TPC_LEVELS
+	 * values
+	 * are stored in tx_time_per_tpc, and the remaining
+	 * (num_tx_power_levels - MAX_TPC_LEVELS) values are stored in
+	 * ext_tx_time_per_power_level.
+	 */
+	A_UINT32 num_tx_power_levels;
+	/*
+	 * This TLV will be followed by a TLV containing a variable-length
+	 * array of A_UINT32 with any additional tx time per power level data,
+	 * if there are more than MAX_TPC_LEVELS elements of tx time per TPC to
+	 * report. Note that at most one wmi_radio_link_stats object will be
+	 * present in the WMI_RADIO_LINK_STATS message. Thus, even though there
+	 * is only one ext_tx_time_per_power_level array in the
+	 * WMI_RADIO_LINK_STATS message, it only holds the extra data for a
+	 * single wmi_radio_link_stats object.
+	 *
+	 * A_UINT32
+	 * ext_tx_time_per_power_level[num_tx_power_levels - MAX_TPC_LEVELS]
+	 */
 } wmi_radio_link_stats;
 
 /** Radio statistics (once started) do not stop or get reset unless wifi_clear_link_stats is invoked */

+ 1 - 1
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_ 234
+#define __WMI_REVISION_ 235
 
 /** The Version Namespace should not be normally changed. Only
  *  host and firmware of the same WMI namespace will work