summaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/308-ath10k-cleanup-copy-engine-send-completion.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/308-ath10k-cleanup-copy-engine-send-completion.patch')
-rw-r--r--package/kernel/mac80211/patches/308-ath10k-cleanup-copy-engine-send-completion.patch165
1 files changed, 0 insertions, 165 deletions
diff --git a/package/kernel/mac80211/patches/308-ath10k-cleanup-copy-engine-send-completion.patch b/package/kernel/mac80211/patches/308-ath10k-cleanup-copy-engine-send-completion.patch
deleted file mode 100644
index e758665118..0000000000
--- a/package/kernel/mac80211/patches/308-ath10k-cleanup-copy-engine-send-completion.patch
+++ /dev/null
@@ -1,165 +0,0 @@
-From: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
-Date: Fri, 23 Oct 2015 18:01:05 +0530
-Subject: [PATCH] ath10k: cleanup copy engine send completion
-
-The physical address necessary to unmap DMA ('bufferp') is stored
-in ath10k_skb_cb as 'paddr'. ath10k doesn't rely on the meta/transfer_id
-when handling send completion (htc ep id is stored in sk_buff control
-buffer). So the unused output arguments {bufferp, nbytesp and transfer_idp}
-are removed from CE send completion. This change is needed before removing
-the shadow copy of copy engine (CE) descriptors in follow up patch.
-
-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
-@@ -578,17 +578,13 @@ int ath10k_ce_revoke_recv_next(struct at
- * The caller takes responsibility for any necessary locking.
- */
- int ath10k_ce_completed_send_next_nolock(struct ath10k_ce_pipe *ce_state,
-- void **per_transfer_contextp,
-- u32 *bufferp,
-- unsigned int *nbytesp,
-- unsigned int *transfer_idp)
-+ void **per_transfer_contextp)
- {
- struct ath10k_ce_ring *src_ring = ce_state->src_ring;
- u32 ctrl_addr = ce_state->ctrl_addr;
- struct ath10k *ar = ce_state->ar;
- unsigned int nentries_mask = src_ring->nentries_mask;
- unsigned int sw_index = src_ring->sw_index;
-- struct ce_desc *sdesc, *sbase;
- unsigned int read_index;
-
- if (src_ring->hw_index == sw_index) {
-@@ -613,15 +609,6 @@ int ath10k_ce_completed_send_next_nolock
- if (read_index == sw_index)
- return -EIO;
-
-- sbase = src_ring->base_addr_owner_space;
-- sdesc = CE_SRC_RING_TO_DESC(sbase, sw_index);
--
-- /* Return data from completed source descriptor */
-- *bufferp = __le32_to_cpu(sdesc->addr);
-- *nbytesp = __le16_to_cpu(sdesc->nbytes);
-- *transfer_idp = MS(__le16_to_cpu(sdesc->flags),
-- CE_DESC_FLAGS_META_DATA);
--
- if (per_transfer_contextp)
- *per_transfer_contextp =
- src_ring->per_transfer_context[sw_index];
-@@ -696,10 +683,7 @@ int ath10k_ce_cancel_send_next(struct at
- }
-
- int ath10k_ce_completed_send_next(struct ath10k_ce_pipe *ce_state,
-- void **per_transfer_contextp,
-- u32 *bufferp,
-- unsigned int *nbytesp,
-- unsigned int *transfer_idp)
-+ void **per_transfer_contextp)
- {
- struct ath10k *ar = ce_state->ar;
- struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
-@@ -707,9 +691,7 @@ int ath10k_ce_completed_send_next(struct
-
- spin_lock_bh(&ar_pci->ce_lock);
- ret = ath10k_ce_completed_send_next_nolock(ce_state,
-- per_transfer_contextp,
-- bufferp, nbytesp,
-- transfer_idp);
-+ per_transfer_contextp);
- spin_unlock_bh(&ar_pci->ce_lock);
-
- return ret;
---- a/drivers/net/wireless/ath/ath10k/ce.h
-+++ b/drivers/net/wireless/ath/ath10k/ce.h
-@@ -192,16 +192,10 @@ int ath10k_ce_completed_recv_next(struct
- * Pops 1 completed send buffer from Source ring.
- */
- int ath10k_ce_completed_send_next(struct ath10k_ce_pipe *ce_state,
-- void **per_transfer_contextp,
-- u32 *bufferp,
-- unsigned int *nbytesp,
-- unsigned int *transfer_idp);
-+ void **per_transfer_contextp);
-
- int ath10k_ce_completed_send_next_nolock(struct ath10k_ce_pipe *ce_state,
-- void **per_transfer_contextp,
-- u32 *bufferp,
-- unsigned int *nbytesp,
-- unsigned int *transfer_idp);
-+ void **per_transfer_contextp);
-
- /*==================CE Engine Initialization=======================*/
-
---- a/drivers/net/wireless/ath/ath10k/pci.c
-+++ b/drivers/net/wireless/ath/ath10k/pci.c
-@@ -910,9 +910,8 @@ static int ath10k_pci_diag_read_mem(stru
- goto done;
-
- i = 0;
-- while (ath10k_ce_completed_send_next_nolock(ce_diag, NULL, &buf,
-- &completed_nbytes,
-- &id) != 0) {
-+ while (ath10k_ce_completed_send_next_nolock(ce_diag,
-+ NULL) != 0) {
- mdelay(1);
- if (i++ > DIAG_ACCESS_CE_TIMEOUT_MS) {
- ret = -EBUSY;
-@@ -1073,9 +1072,8 @@ static int ath10k_pci_diag_write_mem(str
- goto done;
-
- i = 0;
-- while (ath10k_ce_completed_send_next_nolock(ce_diag, NULL, &buf,
-- &completed_nbytes,
-- &id) != 0) {
-+ while (ath10k_ce_completed_send_next_nolock(ce_diag,
-+ NULL) != 0) {
- mdelay(1);
-
- if (i++ > DIAG_ACCESS_CE_TIMEOUT_MS) {
-@@ -1139,13 +1137,9 @@ static void ath10k_pci_htc_tx_cb(struct
- struct ath10k *ar = ce_state->ar;
- struct sk_buff_head list;
- struct sk_buff *skb;
-- u32 ce_data;
-- unsigned int nbytes;
-- unsigned int transfer_id;
-
- __skb_queue_head_init(&list);
-- while (ath10k_ce_completed_send_next(ce_state, (void **)&skb, &ce_data,
-- &nbytes, &transfer_id) == 0) {
-+ while (ath10k_ce_completed_send_next(ce_state, (void **)&skb) == 0) {
- /* no need to call tx completion for NULL pointers */
- if (skb == NULL)
- continue;
-@@ -1215,12 +1209,8 @@ static void ath10k_pci_htt_tx_cb(struct
- {
- struct ath10k *ar = ce_state->ar;
- struct sk_buff *skb;
-- u32 ce_data;
-- unsigned int nbytes;
-- unsigned int transfer_id;
-
-- while (ath10k_ce_completed_send_next(ce_state, (void **)&skb, &ce_data,
-- &nbytes, &transfer_id) == 0) {
-+ while (ath10k_ce_completed_send_next(ce_state, (void **)&skb) == 0) {
- /* no need to call tx completion for NULL pointers */
- if (!skb)
- continue;
-@@ -1796,12 +1786,8 @@ err_dma:
- static void ath10k_pci_bmi_send_done(struct ath10k_ce_pipe *ce_state)
- {
- struct bmi_xfer *xfer;
-- u32 ce_data;
-- unsigned int nbytes;
-- unsigned int transfer_id;
-
-- if (ath10k_ce_completed_send_next(ce_state, (void **)&xfer, &ce_data,
-- &nbytes, &transfer_id))
-+ if (ath10k_ce_completed_send_next(ce_state, (void **)&xfer))
- return;
-
- xfer->tx_done = true;