summaryrefslogtreecommitdiff
path: root/sys/dev/gem
diff options
context:
space:
mode:
authorMarius Strobl <marius@FreeBSD.org>2010-03-15 19:13:36 +0000
committerMarius Strobl <marius@FreeBSD.org>2010-03-15 19:13:36 +0000
commit8bf5ec104798ebef075021da4a85c65376fdf835 (patch)
tree9c5fa6ba339ccc12c6e4b392f9370972857034b0 /sys/dev/gem
parenta130bd42f5780cfc77323f3a7563ca33863f62ce (diff)
Notes
Diffstat (limited to 'sys/dev/gem')
-rw-r--r--sys/dev/gem/if_gem.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/gem/if_gem.c b/sys/dev/gem/if_gem.c
index 945638395b2a..7cba6e7e133c 100644
--- a/sys/dev/gem/if_gem.c
+++ b/sys/dev/gem/if_gem.c
@@ -297,8 +297,11 @@ gem_attach(struct gem_softc *sc)
/*
* Fall back on an internal PHY if no external PHY was found.
+ * Note that with Apple (K2) GMACs GEM_MIF_CONFIG_MDI0 can't be
+ * trusted when the firmware has powered down the chip.
*/
- if (error != 0 && (v & GEM_MIF_CONFIG_MDI0) != 0) {
+ if (error != 0 &&
+ ((v & GEM_MIF_CONFIG_MDI0) != 0 || GEM_IS_APPLE(sc))) {
v &= ~GEM_MIF_CONFIG_PHY_SEL;
GEM_BANK1_WRITE_4(sc, GEM_MIF_CONFIG, v);
switch (sc->sc_variant) {