Marius Strobl 9ba2b298df - Initialize the ifnet structure, especially if_dname, before probing
the PHYs as some PHY drivers use it (but probably shouldn't). How
  gem(4) has worked with brgphy(4) on powerpc without this so far is
  unclear to me.
- Introduce a dying flag which is set during detach and checked in
  gem_ioctl() in order to prevent active BPF listeners to clear
  promiscuous mode which may lead to the tick callout being restarted
  which will trigger a panic once it's actually gone.
- In gem_stop() reset rather than just disable the transmitter and
  receiver in order to ensure we're not unloading DMA maps still in
  use by the hardware. [1]
- The blanking time is specified in PCI clocks so we should use twice
  the value when operating at 66MHz.
- Spell some 2 as ETHER_ALIGN and a 19 as GEM_STATUS_TX_COMPLETION_SHFT
  to make the actual intentions clear.
- As we don't unload the peak attempts counter ignore its overflow
  interrupts.
- Remove a stale setting of a variable to GEM_TD_INTERRUPT_ME which
  isn't used afterwards.
- For optimum performance increment the TX kick register in multiples
  of 4 if possible as suggested by the documentation.
- Partially revert r164931; drivers should only clear the watchdog
  timer if all outstanding TX descriptors are done.
- Fix some debugging strings.
- Add a missing BUS_DMASYNC_POSTWRITE in gem_rint().
- As the error paths in the interrupt handler are generally unlikely
  predict them as false.
- Add support for the SBus version of the GEM controller. [2]
- Add some lock assertions.
- Improve some comments.
- Fix some more or less cosmetic issues in the code of the PCI front-end.
- Change some softc members to be unsigned where more appropriate and
  remove unused ones.

Approved by:	re (kib)
Obtained from:	NetBSD (partially) [2], OpenBSD [1]
MFC after:	2 weeks
2009-06-23 20:36:59 +00:00
..
2008-05-19 01:53:47 +00:00
2008-04-07 11:26:13 +00:00
2006-07-27 19:12:49 +00:00
2009-06-05 18:44:36 +00:00
2005-10-18 06:11:08 +00:00
2006-02-26 17:51:22 +00:00
2005-10-05 05:26:03 +00:00
2009-06-05 18:44:36 +00:00
2009-05-30 22:04:18 +00:00
2009-03-26 19:15:31 +00:00
2006-03-12 19:06:06 +00:00
2008-05-22 21:53:15 +00:00
2008-05-27 01:54:45 +00:00
2008-11-06 10:53:35 +00:00
2009-02-07 18:49:42 +00:00
2006-12-13 02:37:48 +00:00
2007-03-11 15:20:04 +00:00
2005-09-20 06:48:55 +00:00
2005-05-10 12:02:18 +00:00
2006-06-18 05:04:42 +00:00
2008-05-05 20:19:33 +00:00
2008-08-07 20:51:51 +00:00
2008-11-05 15:04:03 +00:00
2006-07-25 00:45:55 +00:00
2007-06-29 05:23:15 +00:00
2005-08-10 04:01:21 +00:00