From 5b876618c0ce69151571f6f197e7c54fd5b80081 Mon Sep 17 00:00:00 2001 From: Roland Vossen Date: Tue, 13 Sep 2011 09:49:49 +0200 Subject: [PATCH] staging: brcm80211: added clarification on softmac dma alignment Descriptor ring can only start at 8KB alignment, this requirement is dictated by DMA hardware. Reported-by: Johannes Berg Signed-off-by: Roland Vossen Signed-off-by: Greg Kroah-Hartman --- drivers/staging/brcm80211/brcmsmac/dma.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/staging/brcm80211/brcmsmac/dma.c b/drivers/staging/brcm80211/brcmsmac/dma.c index 6c9b1fe29e9b..06990b3d6cde 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) -- 2.34.1