qcacmn: Replace SKB CB vdev_ctx member with vdev_id

Removed submit_ts and replaced vdev_ctx with vdev_id
in qdf_nbuf_cb

Change-Id: Ib478aa69ee8069d1c5ff5de29ee0431c238f4b7d
CRs-Fixed: 2065367
diff --git a/qdf/inc/qdf_nbuf.h b/qdf/inc/qdf_nbuf.h
index 408a98e..3db5e72 100644
--- a/qdf/inc/qdf_nbuf.h
+++ b/qdf/inc/qdf_nbuf.h
@@ -557,9 +557,9 @@
 }
 
 static inline void
-qdf_nbuf_set_vdev_ctx(qdf_nbuf_t buf, void *vdev_ctx)
+qdf_nbuf_set_vdev_ctx(qdf_nbuf_t buf, uint8_t vdev_id)
 {
-	__qdf_nbuf_set_vdev_ctx(buf, vdev_ctx);
+	__qdf_nbuf_set_vdev_ctx(buf, vdev_id);
 }
 
 static inline void
@@ -569,12 +569,18 @@
 }
 
 static inline void
+qdf_nbuf_set_ext_cb(qdf_nbuf_t buf, void *ref)
+{
+	__qdf_nbuf_set_ext_cb(buf, ref);
+}
+
+static inline void
 qdf_nbuf_set_fctx_type(qdf_nbuf_t buf, void *ctx, uint8_t type)
 {
 	__qdf_nbuf_set_fctx_type(buf, ctx, type);
 }
 
-static inline void *
+static inline uint8_t
 qdf_nbuf_get_vdev_ctx(qdf_nbuf_t buf)
 {
 	return  __qdf_nbuf_get_vdev_ctx(buf);
@@ -590,6 +596,12 @@
 	return  __qdf_nbuf_get_ftype(buf);
 }
 
+static inline void *
+qdf_nbuf_get_ext_cb(qdf_nbuf_t buf)
+{
+	return  __qdf_nbuf_get_ext_cb(buf);
+}
+
 static inline qdf_dma_addr_t
 qdf_nbuf_mapped_paddr_get(qdf_nbuf_t buf)
 {
@@ -2349,4 +2361,42 @@
 	 __qdf_nbuf_reg_free_cb(cb_func_ptr);
 }
 
+/**
+ * qdf_nbuf_set_timestamp() - set the timestamp for frame
+ *
+ * @buf: sk buff
+ *
+ * Return: void
+ */
+static inline void
+qdf_nbuf_set_timestamp(struct sk_buff *skb)
+{
+	__qdf_nbuf_set_timestamp(skb);
+}
+
+/**
+ * qdf_nbuf_get_timedelta_ms() - get time difference in ms
+ *
+ * @buf: sk buff
+ *
+ * Return: time difference ms
+ */
+static inline uint64_t
+qdf_nbuf_get_timedelta_ms(struct sk_buff *skb)
+{
+	return __qdf_nbuf_get_timedelta_ms(skb);
+}
+
+/**
+ * qdf_nbuf_get_timedelta_us() - get time difference in micro seconds
+ *
+ * @buf: sk buff
+ *
+ * Return: time difference in micro seconds
+ */
+static inline uint64_t
+qdf_nbuf_get_timedelta_us(struct sk_buff *skb)
+{
+	return __qdf_nbuf_get_timedelta_us(skb);
+}
 #endif /* _QDF_NBUF_H */
diff --git a/qdf/linux/src/i_qdf_nbuf.h b/qdf/linux/src/i_qdf_nbuf.h
index 2bbd82d..8f8c9d7 100644
--- a/qdf/linux/src/i_qdf_nbuf.h
+++ b/qdf/linux/src/i_qdf_nbuf.h
@@ -178,26 +178,22 @@
 						uint8_t u8;
 					} flags;
 					uint8_t ftype;
-
-					union {
-						struct {
-							uint8_t packet_state:7,
-								is_packet_priv:1;
-							uint8_t packet_track:4,
-								proto_type:4;
-							uint8_t dp_trace:1,
-								is_bcast:1,
-								is_mcast:1,
-								packet_type:3,
-								/* used only for hl*/
-								htt2_frm:1,
-								print:1;
-							uint8_t vdev_id;
-						} trace;
-						uint32_t submit_ts;
-					} u;
+					uint8_t vdev_id;
+					struct {
+						uint8_t packet_state:7,
+						is_packet_priv:1;
+						uint8_t packet_track:4,
+							proto_type:4;
+						uint8_t dp_trace:1,
+							is_bcast:1,
+							is_mcast:1,
+							packet_type:3,
+						/* used only for hl*/
+							htt2_frm:1,
+							print:1;
+					} trace;
 					void *fctx;
-					void *vdev_ctx;
+					void *ext_cb_ptr;
 				} win;
 				struct {
 					uint16_t len;
@@ -360,8 +356,10 @@
 	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.fctx)
 
 #define QDF_NBUF_CB_TX_VDEV_CTX(skb) \
-		(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.vdev_ctx)
+		(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.vdev_id)
 
+#define QDF_NBUF_CB_TX_EXT_CB(skb) \
+	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.ext_cb_ptr)
 
 #ifndef CONFIG_WIN
 
@@ -414,54 +412,51 @@
 
 #define QDF_NBUF_CB_TX_PACKET_STATE(skb)\
 	(((struct qdf_nbuf_cb *) \
-		((skb)->cb))->u.tx.dev.win.u.trace.packet_state)
+		((skb)->cb))->u.tx.dev.win.trace.packet_state)
 
 #define QDF_NBUF_CB_TX_IS_PACKET_PRIV(skb) \
 	(((struct qdf_nbuf_cb *) \
-		((skb)->cb))->u.tx.dev.win.u.trace.is_packet_priv)
+		((skb)->cb))->u.tx.dev.win.trace.is_packet_priv)
 
 #define QDF_NBUF_CB_TX_PACKET_TRACK(skb)\
 	(((struct qdf_nbuf_cb *) \
-		((skb)->cb))->u.tx.dev.win.u.trace.packet_track)
-
-#define QDF_NBUF_CB_TX_SUBMIT_TS(skb) \
-	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.u.submit_ts)
+		((skb)->cb))->u.tx.dev.win.trace.packet_track)
 
 #define QDF_NBUF_CB_TX_PROTO_TYPE(skb)\
 	(((struct qdf_nbuf_cb *) \
-		((skb)->cb))->u.tx.dev.win.u.trace.proto_type)
+		((skb)->cb))->u.tx.dev.win.trace.proto_type)
 
 #define QDF_NBUF_GET_PACKET_TRACK(skb)\
 	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.u.trace.packet_track)
 
 #define QDF_NBUF_CB_TX_DP_TRACE(skb)\
-	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.u.trace.dp_trace)
+	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.trace.dp_trace)
 
 #define QDF_NBUF_CB_DP_TRACE_PRINT(skb)	\
-	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.u.trace.print)
+	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.trace.print)
 
 #define QDF_NBUF_CB_TX_HL_HTT2_FRM(skb)	\
-	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.u.trace.htt2_frm)
+	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.trace.htt2_frm)
 
 #define QDF_NBUF_CB_TX_VDEV_ID(skb)\
-	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.u.trace.vdev_id)
+	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.trace.vdev_id)
 
 #define QDF_NBUF_CB_GET_IS_BCAST(skb)\
-	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.u.trace.is_bcast)
+	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.trace.is_bcast)
 
 #define QDF_NBUF_CB_GET_IS_MCAST(skb)\
-	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.u.trace.is_mcast)
+	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.trace.is_mcast)
 
 #define QDF_NBUF_CB_GET_PACKET_TYPE(skb)\
-	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.u.trace.packet_type)
+	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.trace.packet_type)
 
 #define QDF_NBUF_CB_SET_BCAST(skb) \
 	(((struct qdf_nbuf_cb *) \
-		((skb)->cb))->u.tx.dev.win.u.trace.is_bcast = true)
+		((skb)->cb))->u.tx.dev.win.trace.is_bcast = true)
 
 #define QDF_NBUF_CB_SET_MCAST(skb) \
 	(((struct qdf_nbuf_cb *) \
-		((skb)->cb))->u.tx.dev.win.u.trace.is_mcast = true)
+		((skb)->cb))->u.tx.dev.win.trace.is_mcast = true)
 
 #define QDF_NBUF_CB_TX_FTYPE(skb) \
 	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.ftype)
@@ -529,8 +524,10 @@
 							      is_wstrm; \
 	} while (0)
 
-#define __qdf_nbuf_set_vdev_ctx(skb, vdev_ctx) \
-	(QDF_NBUF_CB_TX_VDEV_CTX((skb)) = (vdev_ctx))
+#define __qdf_nbuf_set_vdev_ctx(skb, vdev_id) \
+	do { \
+		QDF_NBUF_CB_TX_VDEV_CTX((skb)) = (vdev_id); \
+	} while (0)
 
 #define __qdf_nbuf_get_vdev_ctx(skb) \
 	QDF_NBUF_CB_TX_VDEV_CTX((skb))
@@ -552,6 +549,14 @@
 #define __qdf_nbuf_get_ftype(skb) \
 		 QDF_NBUF_CB_TX_FTYPE((skb))
 
+#define __qdf_nbuf_set_ext_cb(skb, ref) \
+	do { \
+		QDF_NBUF_CB_TX_EXT_CB((skb)) = (ref); \
+	} while (0)
+
+#define __qdf_nbuf_get_ext_cb(skb) \
+	QDF_NBUF_CB_TX_EXT_CB((skb))
+
 #define __qdf_nbuf_set_chfrag_start(skb, val) \
 	((QDF_NBUF_CB_TX_EXTRA_FRAG_FLAGS_CHFRAG_START((skb))) = val)
 
@@ -1842,4 +1847,43 @@
 {
 	return skb->queue_mapping;
 }
+
+/**
+ * __qdf_nbuf_set_timestamp() - set the timestamp for frame
+ *
+ * @buf: sk buff
+ *
+ * Return: void
+ */
+static inline void
+__qdf_nbuf_set_timestamp(struct sk_buff *skb)
+{
+	__net_timestamp(skb);
+}
+
+/**
+ * __qdf_nbuf_get_timedelta_ms() - get time difference in ms
+ *
+ * @buf: sk buff
+ *
+ * Return: time difference in ms
+ */
+static inline uint64_t
+__qdf_nbuf_get_timedelta_ms(struct sk_buff *skb)
+{
+	return ktime_to_ms(net_timedelta(skb->tstamp));
+}
+
+/**
+ * __qdf_nbuf_get_timedelta_us() - get time difference in micro seconds
+ *
+ * @buf: sk buff
+ *
+ * Return: time difference in micro seconds
+ */
+static inline uint64_t
+__qdf_nbuf_get_timedelta_us(struct sk_buff *skb)
+{
+	return ktime_to_us(net_timedelta(skb->tstamp));
+}
 #endif /*_I_QDF_NET_BUF_H */