Skip to content

Commit

Permalink
staging: brcm80211: added clarification on softmac dma alignment
Browse files Browse the repository at this point in the history
Descriptor ring can only start at 8KB alignment, this requirement
is dictated by DMA hardware.

Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Roland Vossen <rvossen@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Roland Vossen authored and Greg Kroah-Hartman committed Sep 16, 2011
1 parent 7d9e0b9 commit 5b87661
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions drivers/staging/brcm80211/brcmsmac/dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit 5b87661

Please sign in to comment.