提交 6e84ab60 编写于 作者: H Heiner Kallweit 提交者: Kalle Valo

brcmfmac: properly align buffers on certain platforms with 64 bit DMA

Systems with 64 bit DMA at least partially require buffers to be used
for DMA to be 8-byte-aligned. One example is Amlogic Meson GX.
Switching the MMC/SDIO driver for this platform to SG DMA mode
resulted in problems due to unaligned buffers.

Fortunately the brcmfmac driver has a global define for the alignment.
Changing it to 8 fixed the issues with Meson GX.
Suggested-by: NHelmut Klein <hgkr.klein@gmail.com>
Tested-by: NHelmut Klein <hgkr.klein@gmail.com>
Signed-off-by: NHeiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
上级 ecd7eb7c
...@@ -540,7 +540,11 @@ static int qcount[NUMPRIO]; ...@@ -540,7 +540,11 @@ static int qcount[NUMPRIO];
/* Limit on rounding up frames */ /* Limit on rounding up frames */
static const uint max_roundup = 512; static const uint max_roundup = 512;
#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
#define ALIGNMENT 8
#else
#define ALIGNMENT 4 #define ALIGNMENT 4
#endif
enum brcmf_sdio_frmtype { enum brcmf_sdio_frmtype {
BRCMF_SDIO_FT_NORMAL, BRCMF_SDIO_FT_NORMAL,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册