summaryrefslogtreecommitdiff
path: root/package/kernel/mac80211/patches/306-ath10k-use-local-memory-instead-of-shadow-descriptor.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/306-ath10k-use-local-memory-instead-of-shadow-descriptor.patch')
-rw-r--r--package/kernel/mac80211/patches/306-ath10k-use-local-memory-instead-of-shadow-descriptor.patch60
1 files changed, 0 insertions, 60 deletions
diff --git a/package/kernel/mac80211/patches/306-ath10k-use-local-memory-instead-of-shadow-descriptor.patch b/package/kernel/mac80211/patches/306-ath10k-use-local-memory-instead-of-shadow-descriptor.patch
deleted file mode 100644
index 58db2b2..0000000
--- a/package/kernel/mac80211/patches/306-ath10k-use-local-memory-instead-of-shadow-descriptor.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
-Date: Fri, 23 Oct 2015 18:01:03 +0530
-Subject: [PATCH] ath10k: use local memory instead of shadow descriptor
- in ce_send
-
-Currently to avoid uncached memory access while filling up copy engine
-descriptors, shadow descriptors are used. This can be optimized further
-by removing shadow descriptors. To achieve that first shadow ring
-dependency in ce_send is removed by creating local copy of the
-descriptor on stack and make a one-shot copy into the "uncached"
-descriptor.
-
-Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
-Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
----
-
---- a/drivers/net/wireless/ath/ath10k/ce.c
-+++ b/drivers/net/wireless/ath/ath10k/ce.c
-@@ -274,7 +274,7 @@ int ath10k_ce_send_nolock(struct ath10k_
- {
- struct ath10k *ar = ce_state->ar;
- struct ath10k_ce_ring *src_ring = ce_state->src_ring;
-- struct ce_desc *desc, *sdesc;
-+ struct ce_desc *desc, sdesc;
- unsigned int nentries_mask = src_ring->nentries_mask;
- unsigned int sw_index = src_ring->sw_index;
- unsigned int write_index = src_ring->write_index;
-@@ -294,7 +294,6 @@ int ath10k_ce_send_nolock(struct ath10k_
-
- desc = CE_SRC_RING_TO_DESC(src_ring->base_addr_owner_space,
- write_index);
-- sdesc = CE_SRC_RING_TO_DESC(src_ring->shadow_base, write_index);
-
- desc_flags |= SM(transfer_id, CE_DESC_FLAGS_META_DATA);
-
-@@ -303,11 +302,11 @@ int ath10k_ce_send_nolock(struct ath10k_
- if (flags & CE_SEND_FLAG_BYTE_SWAP)
- desc_flags |= CE_DESC_FLAGS_BYTE_SWAP;
-
-- sdesc->addr = __cpu_to_le32(buffer);
-- sdesc->nbytes = __cpu_to_le16(nbytes);
-- sdesc->flags = __cpu_to_le16(desc_flags);
-+ sdesc.addr = __cpu_to_le32(buffer);
-+ sdesc.nbytes = __cpu_to_le16(nbytes);
-+ sdesc.flags = __cpu_to_le16(desc_flags);
-
-- *desc = *sdesc;
-+ *desc = sdesc;
-
- src_ring->per_transfer_context[write_index] = per_transfer_context;
-
-@@ -614,7 +613,7 @@ int ath10k_ce_completed_send_next_nolock
- if (read_index == sw_index)
- return -EIO;
-
-- sbase = src_ring->shadow_base;
-+ sbase = src_ring->base_addr_owner_space;
- sdesc = CE_SRC_RING_TO_DESC(sbase, sw_index);
-
- /* Return data from completed source descriptor */