Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 82c96478 authored by Will Huang's avatar Will Huang Committed by nshrivas
Browse files

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
parent 1adbe671
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -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) \