freebsd-dev/sys/dev/dc
Pyun YongHyeon d314ebf548 Apply special PHY initialization code for 21143 controllers before
any other media configuration. Otherwise some 21143 controller
cannot establish a link. While I'm here remove the PHY
initialization code in dc_setcfg(). Since dc_setcfg() is called
whenever link state is changed, having the PHY initialization code
in dc_setcfg() resulted in continuous link flips.
After driver resets SIA, use default SIA transmit/receive
configuration instead of disabling autosense/autonegotiation.
Otherwise, controller fails to establish a link as well as losing
auto-negotiation capability. For manual media configuration, always
configure 21143 controller with specified media to ensure media
change. This change makes ANA-6922 establish link with/without
auto-negotiation.

While I'm here be more strict on link UP/DOWN detection logic.

Many thanks to marius who fixed several bugs in initial patch and
even tested the patch on a couple of dc(4) controllers.

PR:		kern/79262
Reviewed by:	marius
Tested by:	marius
2011-02-18 02:58:09 +00:00
..
dcphy.c - Even after masking the media with IFM_GMASK the result may have bits 2011-01-14 20:26:59 +00:00
if_dc.c Apply special PHY initialization code for 21143 controllers before 2011-02-18 02:58:09 +00:00
if_dcreg.h Always check memory allocation failure. If driver encounter memory 2011-02-18 01:56:25 +00:00
pnphy.c - Even after masking the media with IFM_GMASK the result may have bits 2011-01-14 20:26:59 +00:00