Netdev List
 help / color / mirror / Atom feed
* [PATCH] net: macb: Clean 64b dma addresses if they are not detected
@ 2018-09-19 16:08 Michal Simek
  2018-09-19 17:11 ` [U-Boot] " Joe Hershberger
  2018-09-19 18:08 ` Edgar E. Iglesias
  0 siblings, 2 replies; 6+ messages in thread
From: Michal Simek @ 2018-09-19 16:08 UTC (permalink / raw)
  To: linux-kernel, monstr, Edgar E. Iglesias
  Cc: David S. Miller, netdev, u-boot, Joe Hershberger, Nicolas Ferre

Clear ADDR64 dma bit in DMACFG register in case that HW_DMA_CAP_64B
is not detected on 64bit system.
The issue was observed when bootloader(u-boot) does not check macb
feature at DCFG6 register (DAW64_OFFSET) and enabling 64bit dma support
by default. Then macb driver is reading DMACFG register back and only
adding 64bit dma configuration but not cleaning it out.

This is also align with other features which are also cleared if they are not
present.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---

 drivers/net/ethernet/cadence/macb_main.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
index 16e4ef7d7185..79707dff3f13 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -2163,6 +2163,8 @@ static void macb_configure_dma(struct macb *bp)
 #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
 		if (bp->hw_dma_cap & HW_DMA_CAP_64B)
 			dmacfg |= GEM_BIT(ADDR64);
+		else
+			dmacfg &= ~GEM_BIT(ADDR64);
 #endif
 #ifdef CONFIG_MACB_USE_HWSTAMP
 		if (bp->hw_dma_cap & HW_DMA_CAP_PTP)
-- 
1.9.1

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

end of thread, other threads:[~2018-09-25  6:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-19 16:08 [PATCH] net: macb: Clean 64b dma addresses if they are not detected Michal Simek
2018-09-19 17:11 ` [U-Boot] " Joe Hershberger
2018-09-19 18:08 ` Edgar E. Iglesias
2018-09-20  6:23   ` Michal Simek
2018-09-21 12:38     ` Nicolas Ferre
2018-09-25  6:34       ` Michal Simek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox