qcacmn: Extract tid from REO descriptor and save to skb cb
earlier we were extracting the tid from the rx tlvs, this was in the last cache line of the 384 byte tlv. we are extracting various fields from REO descriptor, now we are also getting tid from the descriptor to avoid accessing the last cache line of rx TLV there by avoiding one cache miss per packet. Change-Id: I1f4f12dca402604692ea374599add6763d68ab01 CRs-fixed: 2449706
This commit is contained in:
@@ -151,6 +151,7 @@ typedef union {
|
||||
* @rx.ftype: mcast2ucast, TSO, SG, MESH
|
||||
* @rx.is_raw_frame: RAW frame
|
||||
* @rx.fcs_err: FCS error
|
||||
* @rx.tid_val: tid value
|
||||
* @rx.reserved: reserved
|
||||
*
|
||||
* @tx.dev.priv_cb_w.fctx: ctx to handle special pkts defined by ftype
|
||||
@@ -265,7 +266,8 @@ struct qdf_nbuf_cb {
|
||||
uint8_t ftype;
|
||||
uint8_t is_raw_frame:1,
|
||||
fcs_err:1,
|
||||
reserved:6;
|
||||
tid_val:4,
|
||||
reserved:2;
|
||||
} rx;
|
||||
|
||||
/* Note: MAX: 40 bytes */
|
||||
@@ -408,6 +410,10 @@ QDF_COMPILE_TIME_ASSERT(qdf_nbuf_cb_size,
|
||||
(((struct qdf_nbuf_cb *) \
|
||||
((skb)->cb))->u.rx.is_raw_frame)
|
||||
|
||||
#define QDF_NBUF_CB_RX_TID_VAL(skb) \
|
||||
(((struct qdf_nbuf_cb *) \
|
||||
((skb)->cb))->u.rx.tid_val)
|
||||
|
||||
#define QDF_NBUF_CB_RX_IS_FRAG(skb) \
|
||||
(((struct qdf_nbuf_cb *) \
|
||||
((skb)->cb))->u.rx.flag_is_frag)
|
||||
@@ -645,6 +651,12 @@ typedef void (*qdf_nbuf_free_t)(__qdf_nbuf_t);
|
||||
#define __qdf_nbuf_is_raw_frame(skb) \
|
||||
(QDF_NBUF_CB_RX_RAW_FRAME((skb)))
|
||||
|
||||
#define __qdf_nbuf_get_tid_val(skb) \
|
||||
(QDF_NBUF_CB_RX_TID_VAL((skb)))
|
||||
|
||||
#define __qdf_nbuf_set_tid_val(skb, val) \
|
||||
((QDF_NBUF_CB_RX_TID_VAL((skb))) = val)
|
||||
|
||||
#define __qdf_nbuf_set_is_frag(skb, val) \
|
||||
((QDF_NBUF_CB_RX_IS_FRAG((skb))) = val)
|
||||
|
||||
|
Reference in New Issue
Block a user