Forráskód Böngészése

qcacmn: Add support for xmit type flag on skb->cb

Add support for xmit type flag on skb->cb for tx packets. The field will
be used to update ingress stats to the respective indices

Change-Id: Ifad61a97b3424df90a2fe722f1c264678a67e949
CRs-Fixed: 3562152
Aman Mehta 1 éve
szülő
commit
cfefc49a09
3 módosított fájl, 35 hozzáadás és 1 törlés
  1. 19 0
      qdf/inc/qdf_nbuf.h
  2. 8 0
      qdf/linux/src/i_qdf_nbuf.h
  3. 8 1
      qdf/linux/src/i_qdf_nbuf_w.h

+ 19 - 0
qdf/inc/qdf_nbuf.h

@@ -1651,7 +1651,26 @@ qdf_nbuf_set_rx_ftype(qdf_nbuf_t buf, enum cb_ftype type)
 	__qdf_nbuf_set_rx_ftype(buf, type);
 }
 
+#if defined(CONFIG_NBUF_AP_PLATFORM)
+static inline void qdf_nbuf_set_vdev_xmit_type(qdf_nbuf_t buf, uint8_t type)
+{
+	__qdf_nbuf_set_vdev_xmit_type(buf, type);
+}
 
+static inline uint8_t qdf_nbuf_get_vdev_xmit_type(qdf_nbuf_t buf)
+{
+	return __qdf_nbuf_get_vdev_xmit_type(buf);
+}
+#else
+static inline void qdf_nbuf_set_vdev_xmit_type(qdf_nbuf_t buf, uint8_t type)
+{
+}
+
+static inline uint8_t qdf_nbuf_get_vdev_xmit_type(qdf_nbuf_t buf)
+{
+	return 0;
+}
+#endif
 
 static inline uint8_t
 qdf_nbuf_get_vdev_ctx(qdf_nbuf_t buf)

+ 8 - 0
qdf/linux/src/i_qdf_nbuf.h

@@ -187,9 +187,17 @@ typedef void (*qdf_nbuf_free_t)(__qdf_nbuf_t);
 		QDF_NBUF_CB_TX_FTYPE((skb)) = (type); \
 	} while (0)
 
+#define __qdf_nbuf_set_vdev_xmit_type(skb, type) \
+	do { \
+		QDF_NBUF_CB_PKT_XMIT_TYPE((skb)) = (type); \
+	} while (0)
+
 #define __qdf_nbuf_get_tx_ftype(skb) \
 		 QDF_NBUF_CB_TX_FTYPE((skb))
 
+#define __qdf_nbuf_get_vdev_xmit_type(skb) \
+		 QDF_NBUF_CB_PKT_XMIT_TYPE((skb))
+
 
 #define __qdf_nbuf_set_rx_ftype(skb, type) \
 	do { \

+ 8 - 1
qdf/linux/src/i_qdf_nbuf_w.h

@@ -123,6 +123,8 @@
  * @u.tx.ext_cb_ptr: extended cb pointer
  * @u.tx.fctx: ctx to handle special pkts defined by ftype
  * @u.tx.ftype: ftype
+ * @u.tx.xmit_type: xmit type of packet (MLD/Legacy)
+ * @u.tx.reserved: unused
  * @u.tx.vdev_id: vdev_id
  * @u.tx.len: len
  * @u.tx.flags:
@@ -287,7 +289,9 @@ struct qdf_nbuf_cb {
 		struct {
 			void *ext_cb_ptr;
 			void *fctx;
-			uint8_t ftype;
+			uint8_t ftype:4,
+				xmit_type:1,
+				reserved:3;
 			uint8_t vdev_id;
 			uint16_t len;
 			union {
@@ -356,6 +360,9 @@ QDF_COMPILE_TIME_ASSERT(qdf_nbuf_cb_size,
 #define QDF_NBUF_CB_RX_FTYPE(skb) \
 	(((struct qdf_nbuf_cb *)((skb)->cb))->u.rx.ftype)
 
+#define QDF_NBUF_CB_PKT_XMIT_TYPE(skb) \
+	(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.xmit_type)
+
 #define QDF_NBUF_CB_RX_CHFRAG_START(skb) \
 	(((struct qdf_nbuf_cb *) \
 	((skb)->cb))->u.rx.hw_info.desc_tlv_members.flag_chfrag_start)