]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC: r287768, r290566, r290946
authormarius <marius@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sun, 27 Dec 2015 17:34:18 +0000 (17:34 +0000)
committermarius <marius@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sun, 27 Dec 2015 17:34:18 +0000 (17:34 +0000)
commit9f6f2c8f7241d19bc5109899c9888c2389d07907
tree253a031663d92dc8870f92c3d4992939c25c7b2f
parentacdf703fc2131ce5d011e4fdfa1764e2db45cf5a
MFC: r287768, r290566, r290946

- Although it doesn't make a whole lot of sense to enable RX and TX
  before their initial configuration is done, it turns out that r281337
  (MFCed to stable/10 in r285177) has the inverse effect on some older
  chips. Moreover, as with newer chips before, two chips seemingly
  identical according to their MAC revisions may behave differently in
  this regard, with most working but a few not, making changes extremely
  hard to test.
  Closer inspection of the corresponding Linux code suggests that RX
  and TX should only be enabled after their initial configuration with
  RTL8168G and later chips, i. e. RTL8106E{,US}, RTL8107E, as well as
  RTL8168{EP,G,GU,H}, so limit the new code path to these. [1]
- Distinguish between RTL8168H and RTL8107E, with the latter being the
  10/100-Mbit/s-only variant of the former.
- For MAC variants that can only do Fast Ethernet at a maximum, ensure
  that we don't advertise Gigabit Ethernet speed.
- In re_stop(), do the inverse of re_init_locked() and enable RXDV gate
  on RTL8168G and later chips again, matching what Linux does.
- With the latter in place, it turns out that WOL previously only worked
  by accident with RTL8168G and later chips when the interface actually
  was brought up. This is due to the fact that with these MAC variants,
  RXDV gate needs be disabled for WOL to work. So in re_setwol() do just
  that when IFCAP_WOL is requested.
- Add preliminary support for RTL8168H and RTL8107E, with the latter
  being the 10/100-Mbit/s-only variant of the former.

git-svn-id: svn://svn.freebsd.org/base/stable/10@292783 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/re/if_re.c
sys/dev/rl/if_rlreg.h