From: Roland Vossen Date: Tue, 13 Sep 2011 07:49:49 +0000 (+0200) Subject: staging: brcm80211: added clarification on softmac dma alignment X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=5b876618c0ce69151571f6f197e7c54fd5b80081;p=openwrt%2Fstaging%2Fblogic.git 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 --- 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)