diff options
author | Brett Rudley <brudley@broadcom.com> | 2011-02-25 10:39:09 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-02-28 21:13:36 -0500 |
commit | 9010c46c3722d37befaf3d6e0d5024293efa3074 (patch) | |
tree | c44a3aaeb955042b00068bda3ed27de6b199388a | |
parent | 2d586ea6de0ffe3e119ed0f1d4cb0adeb6874cbc (diff) |
staging: brcm80211: Remove abstractions for pci_(un)map_single
The driver had abstracted DMA mapping functions. As abstraction
is not required for the linux driver, these have been removed
and replaced by native linux functions.
Reviewed-by: Roland Vossen <rvossen@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/staging/brcm80211/include/osl.h | 10 | ||||
-rw-r--r-- | drivers/staging/brcm80211/util/hnddma.c | 15 | ||||
-rw-r--r-- | drivers/staging/brcm80211/util/linux_osl.c | 20 |
3 files changed, 7 insertions, 38 deletions
diff --git a/drivers/staging/brcm80211/include/osl.h b/drivers/staging/brcm80211/include/osl.h index 17fc274ef24..49015bdc653 100644 --- a/drivers/staging/brcm80211/include/osl.h +++ b/drivers/staging/brcm80211/include/osl.h | |||
@@ -70,16 +70,6 @@ extern void osl_dma_free_consistent(struct osl_info *osh, void *va, | |||
70 | #define DMA_TX 1 /* TX direction for DMA */ | 70 | #define DMA_TX 1 /* TX direction for DMA */ |
71 | #define DMA_RX 2 /* RX direction for DMA */ | 71 | #define DMA_RX 2 /* RX direction for DMA */ |
72 | 72 | ||
73 | /* map/unmap shared (dma-able) memory */ | ||
74 | #define DMA_MAP(osh, va, size, direction, p, dmah) \ | ||
75 | osl_dma_map((osh), (va), (size), (direction)) | ||
76 | #define DMA_UNMAP(osh, pa, size, direction, p, dmah) \ | ||
77 | osl_dma_unmap((osh), (pa), (size), (direction)) | ||
78 | extern uint osl_dma_map(struct osl_info *osh, void *va, uint size, | ||
79 | int direction); | ||
80 | extern void osl_dma_unmap(struct osl_info *osh, uint pa, uint size, | ||
81 | int direction); | ||
82 | |||
83 | /* register access macros */ | 73 | /* register access macros */ |
84 | #if defined(BCMSDIO) | 74 | #if defined(BCMSDIO) |
85 | #ifdef BRCM_FULLMAC | 75 | #ifdef BRCM_FULLMAC |
diff --git a/drivers/staging/brcm80211/util/hnddma.c b/drivers/staging/brcm80211/util/hnddma.c index 66ebdfdf6cd..bd701fc6459 100644 --- a/drivers/staging/brcm80211/util/hnddma.c +++ b/drivers/staging/brcm80211/util/hnddma.c | |||
@@ -76,7 +76,7 @@ typedef struct dma_info { | |||
76 | uint *msg_level; /* message level pointer */ | 76 | uint *msg_level; /* message level pointer */ |
77 | char name[MAXNAMEL]; /* callers name for diag msgs */ | 77 | char name[MAXNAMEL]; /* callers name for diag msgs */ |
78 | 78 | ||
79 | void *osh; /* os handle */ | 79 | struct osl_info *osh; /* os handle */ |
80 | si_t *sih; /* sb handle */ | 80 | si_t *sih; /* sb handle */ |
81 | 81 | ||
82 | bool dma64; /* this dma engine is operating in 64-bit mode */ | 82 | bool dma64; /* this dma engine is operating in 64-bit mode */ |
@@ -866,8 +866,8 @@ static bool BCMFASTPATH _dma_rxfill(dma_info_t *di) | |||
866 | memset(&di->rxp_dmah[rxout], 0, | 866 | memset(&di->rxp_dmah[rxout], 0, |
867 | sizeof(hnddma_seg_map_t)); | 867 | sizeof(hnddma_seg_map_t)); |
868 | 868 | ||
869 | pa = DMA_MAP(di->osh, p->data, | 869 | pa = pci_map_single(di->osh->pdev, p->data, |
870 | di->rxbufsize, DMA_RX, p, &di->rxp_dmah[rxout]); | 870 | di->rxbufsize, PCI_DMA_FROMDEVICE); |
871 | 871 | ||
872 | ASSERT(IS_ALIGNED(PHYSADDRLO(pa), 4)); | 872 | ASSERT(IS_ALIGNED(PHYSADDRLO(pa), 4)); |
873 | 873 | ||
@@ -1383,7 +1383,7 @@ static int dma64_txunframed(dma_info_t *di, void *buf, uint len, bool commit) | |||
1383 | if (len == 0) | 1383 | if (len == 0) |
1384 | return 0; | 1384 | return 0; |
1385 | 1385 | ||
1386 | pa = DMA_MAP(di->osh, buf, len, DMA_TX, NULL, &di->txp_dmah[txout]); | 1386 | pa = pci_map_single(di->osh->pdev, buf, len, PCI_DMA_TODEVICE); |
1387 | 1387 | ||
1388 | flags = (D64_CTRL1_SOF | D64_CTRL1_IOC | D64_CTRL1_EOF); | 1388 | flags = (D64_CTRL1_SOF | D64_CTRL1_IOC | D64_CTRL1_EOF); |
1389 | 1389 | ||
@@ -1463,8 +1463,7 @@ static int BCMFASTPATH dma64_txfast(dma_info_t *di, struct sk_buff *p0, | |||
1463 | memset(&di->txp_dmah[txout], 0, | 1463 | memset(&di->txp_dmah[txout], 0, |
1464 | sizeof(hnddma_seg_map_t)); | 1464 | sizeof(hnddma_seg_map_t)); |
1465 | 1465 | ||
1466 | pa = DMA_MAP(di->osh, data, len, DMA_TX, p, | 1466 | pa = pci_map_single(di->osh->pdev, data, len, PCI_DMA_TODEVICE); |
1467 | &di->txp_dmah[txout]); | ||
1468 | 1467 | ||
1469 | if (DMASGLIST_ENAB) { | 1468 | if (DMASGLIST_ENAB) { |
1470 | map = &di->txp_dmah[txout]; | 1469 | map = &di->txp_dmah[txout]; |
@@ -1626,7 +1625,7 @@ static void *BCMFASTPATH dma64_getnexttxp(dma_info_t *di, txd_range_t range) | |||
1626 | i = NEXTTXD(i); | 1625 | i = NEXTTXD(i); |
1627 | } | 1626 | } |
1628 | 1627 | ||
1629 | DMA_UNMAP(di->osh, pa, size, DMA_TX, txp, map); | 1628 | pci_unmap_single(di->osh->pdev, pa, size, PCI_DMA_TODEVICE); |
1630 | } | 1629 | } |
1631 | 1630 | ||
1632 | di->txin = i; | 1631 | di->txin = i; |
@@ -1677,7 +1676,7 @@ static void *BCMFASTPATH dma64_getnextrxp(dma_info_t *di, bool forceall) | |||
1677 | di->dataoffsethigh)); | 1676 | di->dataoffsethigh)); |
1678 | 1677 | ||
1679 | /* clear this packet from the descriptor ring */ | 1678 | /* clear this packet from the descriptor ring */ |
1680 | DMA_UNMAP(di->osh, pa, di->rxbufsize, DMA_RX, rxp, &di->rxp_dmah[i]); | 1679 | pci_unmap_single(di->osh->pdev, pa, di->rxbufsize, PCI_DMA_FROMDEVICE); |
1681 | 1680 | ||
1682 | W_SM(&di->rxd64[i].addrlow, 0xdeadbeef); | 1681 | W_SM(&di->rxd64[i].addrlow, 0xdeadbeef); |
1683 | W_SM(&di->rxd64[i].addrhigh, 0xdeadbeef); | 1682 | W_SM(&di->rxd64[i].addrhigh, 0xdeadbeef); |
diff --git a/drivers/staging/brcm80211/util/linux_osl.c b/drivers/staging/brcm80211/util/linux_osl.c index d7c3c3f9dd8..c0b06f95b48 100644 --- a/drivers/staging/brcm80211/util/linux_osl.c +++ b/drivers/staging/brcm80211/util/linux_osl.c | |||
@@ -161,26 +161,6 @@ void osl_dma_free_consistent(struct osl_info *osh, void *va, uint size, | |||
161 | pci_free_consistent(osh->pdev, size, va, (dma_addr_t) pa); | 161 | pci_free_consistent(osh->pdev, size, va, (dma_addr_t) pa); |
162 | } | 162 | } |
163 | 163 | ||
164 | uint BCMFASTPATH osl_dma_map(struct osl_info *osh, void *va, uint size, | ||
165 | int direction) | ||
166 | { | ||
167 | int dir; | ||
168 | |||
169 | ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); | ||
170 | dir = (direction == DMA_TX) ? PCI_DMA_TODEVICE : PCI_DMA_FROMDEVICE; | ||
171 | return pci_map_single(osh->pdev, va, size, dir); | ||
172 | } | ||
173 | |||
174 | void BCMFASTPATH osl_dma_unmap(struct osl_info *osh, uint pa, uint size, | ||
175 | int direction) | ||
176 | { | ||
177 | int dir; | ||
178 | |||
179 | ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); | ||
180 | dir = (direction == DMA_TX) ? PCI_DMA_TODEVICE : PCI_DMA_FROMDEVICE; | ||
181 | pci_unmap_single(osh->pdev, (u32) pa, size, dir); | ||
182 | } | ||
183 | |||
184 | #if defined(BCMDBG_ASSERT) | 164 | #if defined(BCMDBG_ASSERT) |
185 | void osl_assert(char *exp, char *file, int line) | 165 | void osl_assert(char *exp, char *file, int line) |
186 | { | 166 | { |