<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/dev/gem, branch release/8.1.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F8.1.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F8.1.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2010-03-15T19:13:36Z</updated>
<entry>
<title>MFC: r204222</title>
<updated>2010-03-15T19:13:36Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2010-03-15T19:13:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=8bf5ec104798ebef075021da4a85c65376fdf835'/>
<id>urn:sha1:8bf5ec104798ebef075021da4a85c65376fdf835</id>
<content type='text'>
According to the Linux sungem driver, in case of Apple (K2) GMACs
GEM_MIF_CONFIG_MDI0 cannot be trusted when the firmware has powered
down the chip so the internal transceiver has to be hardcoded. This
is also in line with the AppleGMACEthernet driver, which just doesn't
distinguish between internal/external transceiver and MDIO/MDI1
respectively in the first place. Tested by: Andreas Tobler
</content>
</entry>
<entry>
<title>Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/</title>
<updated>2009-06-26T11:45:06Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2009-06-26T11:45:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=eb956cd041f956275522092d6ba66671356ff84f'/>
<id>urn:sha1:eb956cd041f956275522092d6ba66671356ff84f</id>
<content type='text'>
IF_ADDR_UNLOCK() across network device drivers when accessing the
per-interface multicast address list, if_multiaddrs.  This will
allow us to change the locking strategy without affecting our driver
programming interface or binary interface.

For two wireless drivers, remove unnecessary locking, since they
don't actually access the multicast address list.

Approved by:	re (kib)
MFC after:	6 weeks
</content>
</entry>
<entry>
<title>Revert the part of r194763 which added a dying flag and instead</title>
<updated>2009-06-24T19:04:08Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2009-06-24T19:04:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=b3a1f860faa89227a5b333afbb92b354542d4fba'/>
<id>urn:sha1:b3a1f860faa89227a5b333afbb92b354542d4fba</id>
<content type='text'>
call ether_ifdetach(9) before stopping the controller and the
callouts. The consensus is that the latter is now safe to do and
should also solve the problem of active BPF listeners clearing
promiscuous mode can result in the tick callout being restarted
which in turn will trigger a panic once it's actually gone.
</content>
</entry>
<entry>
<title>- Initialize the ifnet structure, especially if_dname, before probing</title>
<updated>2009-06-23T20:36:59Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2009-06-23T20:36:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=9ba2b298dfda78b6669281507b314a4c441cd706'/>
<id>urn:sha1:9ba2b298dfda78b6669281507b314a4c441cd706</id>
<content type='text'>
  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
</content>
</entry>
<entry>
<title>- Restore the behavior of enabling the MII buffer for an internal</title>
<updated>2008-08-23T15:03:26Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2008-08-23T15:03:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=78d22f42a8cbf28d830117e7432990e1dc8a61e0'/>
<id>urn:sha1:78d22f42a8cbf28d830117e7432990e1dc8a61e0</id>
<content type='text'>
  PHY only and not also in the case of an external PHY currently
  doing full duplex, which accidentally got broken in r172334.
  It's still not clear to me why we need to enable the buffer for
  an internal PHY though.
- Count excess and late collisions as output errors. [1]
- Count receive errors as input errors. [1]

Obtained from:	NetBSD [1]
MFC after:	3 days
</content>
</entry>
<entry>
<title>o The FreeBSD bus_dmamap_sync(9) supports ored together flags for quite</title>
<updated>2008-06-22T13:54:51Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2008-06-22T13:54:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=ccb1212a56ab7d175e51a28a160a59579ad2ce31'/>
<id>urn:sha1:ccb1212a56ab7d175e51a28a160a59579ad2ce31</id>
<content type='text'>
  some time now so collapse calls accordingly.
o Given that gem_load_txmbuf() is allowed to fail resulting in a packet
  drop also for quite some time now implement the functionality of
  gem_txcksum() by means of m_pullup(9), which de-obfuscates the code
  and allows to always retrieve the correct length of the IP header.
o Add missing BUS_DMASYNC_PREREAD when syncing the control DMA maps in
  gem_rint() and gem_start_locked().
o Correct some bus_barrier(9) calls to do a read/write barrier as we
  do a read after a write. Add some missing ones in gem_mii_readreg()
  and gem_mii_writereg().
o According to the Apple GMAC driver, the GEM ASIC specification and
  the OpenSolaris eri(7D) the TX FIFO threshold has to be set to 0x4ff
  for the Gigabit variants and 0x100 for the ERI in order do avoid TX
  underruns.
o In gem_init_locked():
  - be conservative and enable the RX and TX MACs,
  - don't clear GEM_LINK otherwise we don't ever mark the link as up
    again if gem_init_locked() is called from gem_watchdog(),
  - remove superfluous setting of sc_ifflags.
o Don't bother to check whether the interface is running or whether its
  queue is empty before calling gem_start_locked() in gem_tint(), the
  former will check these anyway.
o Call gem_start_locked() in gem_watchdog() in order to try to get
  some more packets going.
o In gem_mii_writereg() after reseting the PCS restore its configuration.

GMAC testing:	grehan, marcel
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Split the registers into two halves in preparation for SBus support.</title>
<updated>2008-03-24T17:23:53Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2008-03-24T17:23:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=bd3d9826d73b780d349c53ee373060bc7b8d0581'/>
<id>urn:sha1:bd3d9826d73b780d349c53ee373060bc7b8d0581</id>
<content type='text'>
Obtained from:	NetBSD (loosely)
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>- Fix some style bugs and remove another banal comment missed in</title>
<updated>2008-03-09T17:55:19Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2008-03-09T17:55:19Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=801772ec32b9783a8f77e7dcadef88e27f917281'/>
<id>urn:sha1:801772ec32b9783a8f77e7dcadef88e27f917281</id>
<content type='text'>
  rev. 1.46.
- Move the KASSERT on gem_add_rxbuf() to the right spot and add an
  equivalent one to gem_disable_tx().
</content>
</entry>
<entry>
<title>- Retire npe_defrag(), gem_defrag(), msk_defrag(), nfe_defrag(), and</title>
<updated>2008-01-17T23:37:47Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2008-01-17T23:37:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=304a4c6fb1fe426d7189402f2b908687823a4295'/>
<id>urn:sha1:304a4c6fb1fe426d7189402f2b908687823a4295</id>
<content type='text'>
  re_defrag() and use m_collapse() instead.
- Replace a reference to ath_defrag() in a comment in if_wpi.c with
  m_collapse().
</content>
</entry>
<entry>
<title>o In preparation for basing a new driver on this one:</title>
<updated>2007-12-30T01:32:03Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2007-12-30T01:32:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=2a79fd39b4cf409d2c0bd7a449d7f3e91d7b9007'/>
<id>urn:sha1:2a79fd39b4cf409d2c0bd7a449d7f3e91d7b9007</id>
<content type='text'>
  - ANSIfy
  - try to bring closer to style(9)
  - remove banal comments.
o Add my copyright for having done lots of fixes and improvements.
</content>
</entry>
</feed>
