Message ID | 7120e0d6-8687-2622-7432-cb78dae3e122@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 6e84ab604bdedaa16239bd1c6e5fcb5660309f02 |
Delegated to: | Kalle Valo |
Headers | show |
Heiner Kallweit <hkallweit1@gmail.com> wrote: > 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: Helmut Klein <hgkr.klein@gmail.com> > Tested-by: Helmut Klein <hgkr.klein@gmail.com> > Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Patch applied to wireless-drivers-next.git, thanks. 6e84ab604bde brcmfmac: properly align buffers on certain platforms with 64 bit DMA
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c index a999f950..fc64b891 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -540,7 +540,11 @@ static int qcount[NUMPRIO]; /* Limit on rounding up frames */ static const uint max_roundup = 512; +#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT +#define ALIGNMENT 8 +#else #define ALIGNMENT 4 +#endif enum brcmf_sdio_frmtype { BRCMF_SDIO_FT_NORMAL,