ath10k: cleanup copy engine receive next completion
[cascardo/linux.git] / drivers / net / wireless / ath / ath10k / pci.c
index b3cff1d..290a61a 100644 (file)
@@ -870,10 +870,8 @@ static int ath10k_pci_diag_read_mem(struct ath10k *ar, u32 address, void *data,
 {
        struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
        int ret = 0;
-       u32 buf;
+       u32 *buf;
        unsigned int completed_nbytes, orig_nbytes, remaining_bytes;
-       unsigned int id;
-       unsigned int flags;
        struct ath10k_ce_pipe *ce_diag;
        /* Host buffer address in CE space */
        u32 ce_data;
@@ -909,7 +907,7 @@ static int ath10k_pci_diag_read_mem(struct ath10k *ar, u32 address, void *data,
                nbytes = min_t(unsigned int, remaining_bytes,
                               DIAG_TRANSFER_LIMIT);
 
-               ret = __ath10k_ce_rx_post_buf(ce_diag, NULL, ce_data);
+               ret = __ath10k_ce_rx_post_buf(ce_diag, &ce_data, ce_data);
                if (ret != 0)
                        goto done;
 
@@ -940,9 +938,10 @@ static int ath10k_pci_diag_read_mem(struct ath10k *ar, u32 address, void *data,
                }
 
                i = 0;
-               while (ath10k_ce_completed_recv_next_nolock(ce_diag, NULL, &buf,
-                                                           &completed_nbytes,
-                                                           &id, &flags) != 0) {
+               while (ath10k_ce_completed_recv_next_nolock(ce_diag,
+                                                           (void **)&buf,
+                                                           &completed_nbytes)
+                                                               != 0) {
                        mdelay(1);
 
                        if (i++ > DIAG_ACCESS_CE_TIMEOUT_MS) {
@@ -956,7 +955,7 @@ static int ath10k_pci_diag_read_mem(struct ath10k *ar, u32 address, void *data,
                        goto done;
                }
 
-               if (buf != ce_data) {
+               if (*buf != ce_data) {
                        ret = -EIO;
                        goto done;
                }
@@ -1026,10 +1025,8 @@ int ath10k_pci_diag_write_mem(struct ath10k *ar, u32 address,
 {
        struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
        int ret = 0;
-       u32 buf;
+       u32 *buf;
        unsigned int completed_nbytes, orig_nbytes, remaining_bytes;
-       unsigned int id;
-       unsigned int flags;
        struct ath10k_ce_pipe *ce_diag;
        void *data_buf = NULL;
        u32 ce_data;    /* Host buffer address in CE space */
@@ -1078,7 +1075,7 @@ int ath10k_pci_diag_write_mem(struct ath10k *ar, u32 address,
                nbytes = min_t(int, remaining_bytes, DIAG_TRANSFER_LIMIT);
 
                /* Set up to receive directly into Target(!) address */
-               ret = __ath10k_ce_rx_post_buf(ce_diag, NULL, address);
+               ret = __ath10k_ce_rx_post_buf(ce_diag, &address, address);
                if (ret != 0)
                        goto done;
 
@@ -1103,9 +1100,10 @@ int ath10k_pci_diag_write_mem(struct ath10k *ar, u32 address,
                }
 
                i = 0;
-               while (ath10k_ce_completed_recv_next_nolock(ce_diag, NULL, &buf,
-                                                           &completed_nbytes,
-                                                           &id, &flags) != 0) {
+               while (ath10k_ce_completed_recv_next_nolock(ce_diag,
+                                                           (void **)&buf,
+                                                           &completed_nbytes)
+                                                               != 0) {
                        mdelay(1);
 
                        if (i++ > DIAG_ACCESS_CE_TIMEOUT_MS) {
@@ -1119,7 +1117,7 @@ int ath10k_pci_diag_write_mem(struct ath10k *ar, u32 address,
                        goto done;
                }
 
-               if (buf != address) {
+               if (*buf != address) {
                        ret = -EIO;
                        goto done;
                }
@@ -1181,15 +1179,11 @@ static void ath10k_pci_process_rx_cb(struct ath10k_ce_pipe *ce_state,
        struct sk_buff *skb;
        struct sk_buff_head list;
        void *transfer_context;
-       u32 ce_data;
        unsigned int nbytes, max_nbytes;
-       unsigned int transfer_id;
-       unsigned int flags;
 
        __skb_queue_head_init(&list);
        while (ath10k_ce_completed_recv_next(ce_state, &transfer_context,
-                                            &ce_data, &nbytes, &transfer_id,
-                                            &flags) == 0) {
+                                            &nbytes) == 0) {
                skb = transfer_context;
                max_nbytes = skb->len + skb_tailroom(skb);
                dma_unmap_single(ar->dev, ATH10K_SKB_RXCB(skb)->paddr,
@@ -1835,13 +1829,10 @@ static void ath10k_pci_bmi_recv_data(struct ath10k_ce_pipe *ce_state)
 {
        struct ath10k *ar = ce_state->ar;
        struct bmi_xfer *xfer;
-       u32 ce_data;
        unsigned int nbytes;
-       unsigned int transfer_id;
-       unsigned int flags;
 
-       if (ath10k_ce_completed_recv_next(ce_state, (void **)&xfer, &ce_data,
-                                         &nbytes, &transfer_id, &flags))
+       if (ath10k_ce_completed_recv_next(ce_state, (void **)&xfer,
+                                         &nbytes))
                return;
 
        if (WARN_ON_ONCE(!xfer))