summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Huang <wilhuang@codeaurora.org>2018-10-19 13:49:56 +0800
committernshrivas <nshrivas@codeaurora.org>2018-10-26 04:27:55 -0700
commit82c96478daa3f3678d22ea59a8c36dd09dd4292d (patch)
treeb04e576d67c3686ca3ba11c777e724c1e2417ea5
parent1adbe671436e8d0bdc57b451e1f7511c17aecf8d (diff)
qcacmn: Add bi-direction dma map flag to qdf_nbuf_cb
In case of 11w PMF tx frame, some target would dma write to this tx buffer, it may cause smmu check fault. Add a bi-direction map flag to mcl skb.cb[] for this special case. Change-Id: I72a2c11abb9f3e7e8fb9c6f5290cd4f8d209b19a CRs-Fixed: 2337204
-rw-r--r--qdf/linux/src/i_qdf_nbuf.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/qdf/linux/src/i_qdf_nbuf.h b/qdf/linux/src/i_qdf_nbuf.h
index 4e797fe8629a..ab65c2655853 100644
--- a/qdf/linux/src/i_qdf_nbuf.h
+++ b/qdf/linux/src/i_qdf_nbuf.h
@@ -117,6 +117,8 @@ typedef union {
* @tx.trace.vdev_id : vdev (for protocol trace)
* @tx.ipa.owned : packet owned by IPA
* @tx.ipa.priv : private data, used by IPA
+ * @tx.dma_option.bi_map: flag to do special dma map with QDF_DMA_BIDIRECTIONAL
+ * @tx.dma_option.reserved: reserved bits for future use
* @tx.desc_id : tx desc id, used to sync between host and fw
*/
struct qdf_nbuf_cb {
@@ -192,8 +194,12 @@ struct qdf_nbuf_cb {
uint32_t owned:1,
priv:31;
} ipa; /* 4 */
+ struct {
+ uint8_t bi_map:1,
+ reserved:7;
+ } dma_option; /* 1 byte */
uint16_t desc_id; /* 2 bytes */
- } mcl;/* 14 bytes*/
+ } mcl;/* 15 bytes*/
} dev;
} tx; /* 40 bytes */
} u;
@@ -298,6 +304,8 @@ struct qdf_nbuf_cb {
(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.mcl.ipa.owned)
#define QDF_NBUF_CB_TX_IPA_PRIV(skb) \
(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.mcl.ipa.priv)
+#define QDF_NBUF_CB_TX_DMA_BI_MAP(skb) \
+ (((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.mcl.dma_option.bi_map)
#define QDF_NBUF_CB_TX_DESC_ID(skb) \
(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.mcl.desc_id)
#define QDF_NBUF_CB_TX_FTYPE(skb) \