mac80211: backport today's brcmfmac changes
[15.05/openwrt.git] / package / kernel / mac80211 / patches / 371-brcmfmac-remove-dummy-cache-flush-invalidate-functio.patch
1 From: Franky Lin <frankyl@broadcom.com>
2 Date: Wed, 20 May 2015 14:09:50 +0200
3 Subject: [PATCH] brcmfmac: remove dummy cache flush/invalidate function
4
5 brcmf_dma_flush and brcmf_dma_invalidate_cache are not necessary and
6 have never been implemented.
7
8 Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
9 Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
10 Reviewed-by: Arend Van Spriel <arend@broadcom.com>
11 Signed-off-by: Franky Lin <frankyl@broadcom.com>
12 Signed-off-by: Arend van Spriel <arend@broadcom.com>
13 Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
14 ---
15
16 --- a/drivers/net/wireless/brcm80211/brcmfmac/commonring.c
17 +++ b/drivers/net/wireless/brcm80211/brcmfmac/commonring.c
18 @@ -22,17 +22,6 @@
19  #include "core.h"
20  #include "commonring.h"
21  
22 -
23 -/* dma flushing needs implementation for mips and arm platforms. Should
24 - * be put in util. Note, this is not real flushing. It is virtual non
25 - * cached memory. Only write buffers should have to be drained. Though
26 - * this may be different depending on platform......
27 - * SEE ALSO msgbuf.c
28 - */
29 -#define brcmf_dma_flush(addr, len)
30 -#define brcmf_dma_invalidate_cache(addr, len)
31 -
32 -
33  void brcmf_commonring_register_cb(struct brcmf_commonring *commonring,
34                                   int (*cr_ring_bell)(void *ctx),
35                                   int (*cr_update_rptr)(void *ctx),
36 @@ -206,14 +195,9 @@ int brcmf_commonring_write_complete(stru
37         address = commonring->buf_addr;
38         address += (commonring->f_ptr * commonring->item_len);
39         if (commonring->f_ptr > commonring->w_ptr) {
40 -               brcmf_dma_flush(address,
41 -                               (commonring->depth - commonring->f_ptr) *
42 -                               commonring->item_len);
43                 address = commonring->buf_addr;
44                 commonring->f_ptr = 0;
45         }
46 -       brcmf_dma_flush(address, (commonring->w_ptr - commonring->f_ptr) *
47 -                       commonring->item_len);
48  
49         commonring->f_ptr = commonring->w_ptr;
50  
51 @@ -258,8 +242,6 @@ void *brcmf_commonring_get_read_ptr(stru
52         if (commonring->r_ptr == commonring->depth)
53                 commonring->r_ptr = 0;
54  
55 -       brcmf_dma_invalidate_cache(ret_addr, *n_ items * commonring->item_len);
56 -
57         return ret_addr;
58  }
59  
60 --- a/drivers/net/wireless/brcm80211/brcmfmac/msgbuf.c
61 +++ b/drivers/net/wireless/brcm80211/brcmfmac/msgbuf.c
62 @@ -278,16 +278,6 @@ struct brcmf_msgbuf_pktids {
63         struct brcmf_msgbuf_pktid *array;
64  };
65  
66 -
67 -/* dma flushing needs implementation for mips and arm platforms. Should
68 - * be put in util. Note, this is not real flushing. It is virtual non
69 - * cached memory. Only write buffers should have to be drained. Though
70 - * this may be different depending on platform......
71 - */
72 -#define brcmf_dma_flush(addr, len)
73 -#define brcmf_dma_invalidate_cache(addr, len)
74 -
75 -
76  static void brcmf_msgbuf_rxbuf_ioctlresp_post(struct brcmf_msgbuf *msgbuf);
77  
78  
79 @@ -462,7 +452,6 @@ static int brcmf_msgbuf_tx_ioctl(struct
80                 memcpy(msgbuf->ioctbuf, buf, buf_len);
81         else
82                 memset(msgbuf->ioctbuf, 0, buf_len);
83 -       brcmf_dma_flush(ioctl_buf, buf_len);
84  
85         err = brcmf_commonring_write_complete(commonring);
86         brcmf_commonring_unlock(commonring);
87 --- a/drivers/net/wireless/brcm80211/brcmfmac/pcie.c
88 +++ b/drivers/net/wireless/brcm80211/brcmfmac/pcie.c
89 @@ -276,15 +276,6 @@ static const u32 brcmf_ring_itemsize[BRC
90  };
91  
92  
93 -/* dma flushing needs implementation for mips and arm platforms. Should
94 - * be put in util. Note, this is not real flushing. It is virtual non
95 - * cached memory. Only write buffers should have to be drained. Though
96 - * this may be different depending on platform......
97 - */
98 -#define brcmf_dma_flush(addr, len)
99 -#define brcmf_dma_invalidate_cache(addr, len)
100 -
101 -
102  static u32
103  brcmf_pcie_read_reg32(struct brcmf_pciedev_info *devinfo, u32 reg_offset)
104  {
105 @@ -1174,7 +1165,6 @@ static int brcmf_pcie_init_scratchbuffer
106                 goto fail;
107  
108         memset(devinfo->shared.scratch, 0, BRCMF_DMA_D2H_SCRATCH_BUF_LEN);
109 -       brcmf_dma_flush(devinfo->shared.scratch, BRCMF_DMA_D2H_SCRATCH_BUF_LEN);
110  
111         addr = devinfo->shared.tcm_base_address +
112                BRCMF_SHARED_DMA_SCRATCH_ADDR_OFFSET;
113 @@ -1192,7 +1182,6 @@ static int brcmf_pcie_init_scratchbuffer
114                 goto fail;
115  
116         memset(devinfo->shared.ringupd, 0, BRCMF_DMA_D2H_RINGUPD_BUF_LEN);
117 -       brcmf_dma_flush(devinfo->shared.ringupd, BRCMF_DMA_D2H_RINGUPD_BUF_LEN);
118  
119         addr = devinfo->shared.tcm_base_address +
120                BRCMF_SHARED_DMA_RINGUPD_ADDR_OFFSET;