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 */