[rtems-libbsd commit] ffec: Avoid AXI bus issues due to a MAC reset

Sebastian Huber sebh at rtems.org
Wed Sep 27 09:12:46 UTC 2017


Module:    rtems-libbsd
Branch:    master
Commit:    e2e4bf4999648ed6c5e8c4ec59fbef0f0ca2a07d
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=e2e4bf4999648ed6c5e8c4ec59fbef0f0ca2a07d

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Wed Sep 27 09:42:10 2017 +0200

ffec: Avoid AXI bus issues due to a MAC reset

---

 freebsd/sys/dev/ffec/if_ffec.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/freebsd/sys/dev/ffec/if_ffec.c b/freebsd/sys/dev/ffec/if_ffec.c
index 85a720f..81440d5 100644
--- a/freebsd/sys/dev/ffec/if_ffec.c
+++ b/freebsd/sys/dev/ffec/if_ffec.c
@@ -1656,7 +1656,14 @@ ffec_attach(device_t dev)
 	ffec_get_hwaddr(sc, eaddr);
 
 	/* Reset the hardware.  Disables all interrupts. */
-	WR4(sc, FEC_ECR_REG, FEC_ECR_RESET);
+	if (sc->fectype & FECFLAG_AVB)
+		/*
+		 * Avoid AXI bus issues due to a MAC reset, see Linux for more
+		 * details.
+		 */
+		WR4(sc, FEC_ECR_REG, 0);
+	else
+		WR4(sc, FEC_ECR_REG, FEC_ECR_RESET);
 
 	/* Setup interrupt handler. */
 	error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET | INTR_MPSAFE,




More information about the vc mailing list