[PATCH 09/17] staging: brcm80211: added clarification on softmac dma alignment
Roland Vossen
rvossen at broadcom.com
Tue Sep 13 00:49:49 PDT 2011
Descriptor ring can only start at 8KB alignment, this requirement
is dictated by DMA hardware.
Reported-by: Johannes Berg <johannes at sipsolutions.net>
Signed-off-by: Roland Vossen <rvossen at broadcom.com>
---
drivers/staging/brcm80211/brcmsmac/dma.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/brcm80211/brcmsmac/dma.c b/drivers/staging/brcm80211/brcmsmac/dma.c
index 6c9b1fe..06990b3 100644
--- a/drivers/staging/brcm80211/brcmsmac/dma.c
+++ b/drivers/staging/brcm80211/brcmsmac/dma.c
@@ -24,8 +24,8 @@
#include "dma.h"
/*
- * Each descriptor ring must be 8kB aligned, and fit within a
- * contiguous 8kB physical address.
+ * DMA hardware requires each descriptor ring to be 8kB aligned, and fit within
+ * a contiguous 8kB physical address.
*/
#define D64RINGALIGN_BITS 13
#define D64MAXRINGSZ (1 << D64RINGALIGN_BITS)
@@ -440,6 +440,10 @@ static bool _dma_descriptor_align(struct dma_info *di)
return true;
}
+/*
+ * Descriptor table must start at the DMA hardware dictated alignment, so
+ * allocated memory must be large enough to support this requirement.
+ */
static void *dma_alloc_consistent(struct pci_dev *pdev, uint size,
u16 align_bits, uint *alloced,
dma_addr_t *pap)
--
1.7.4.1
More information about the devel
mailing list