linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] brcmfmac: properly align buffers on certain platforms with 64 bit DMA
@ 2017-04-05 18:33 Heiner Kallweit
  2017-04-13 14:06 ` Kalle Valo
  0 siblings, 1 reply; 2+ messages in thread
From: Heiner Kallweit @ 2017-04-05 18:33 UTC (permalink / raw)
  To: Arend van Spriel, Franky Lin, Hante Meuleman
  Cc: linux-wireless, brcm80211-dev-list.pdl, Helmut Klein

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>
---
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 ++++
 1 file changed, 4 insertions(+)

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,
-- 
2.12.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: brcmfmac: properly align buffers on certain platforms with 64 bit DMA
  2017-04-05 18:33 [PATCH] brcmfmac: properly align buffers on certain platforms with 64 bit DMA Heiner Kallweit
@ 2017-04-13 14:06 ` Kalle Valo
  0 siblings, 0 replies; 2+ messages in thread
From: Kalle Valo @ 2017-04-13 14:06 UTC (permalink / raw)
  To: Heiner Kallweit
  Cc: Arend van Spriel, Franky Lin, Hante Meuleman, linux-wireless,
	brcm80211-dev-list.pdl, Helmut Klein

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

-- 
https://patchwork.kernel.org/patch/9665425/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-04-13 14:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-05 18:33 [PATCH] brcmfmac: properly align buffers on certain platforms with 64 bit DMA Heiner Kallweit
2017-04-13 14:06 ` Kalle Valo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).