<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/dev/fxp, branch stable/7</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=stable%2F7</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=stable%2F7'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2012-04-11T07:12:20Z</updated>
<entry>
<title>MFC r233585-233587:</title>
<updated>2012-04-11T07:12:20Z</updated>
<author>
<name>Pyun YongHyeon</name>
<email>yongari@FreeBSD.org</email>
</author>
<published>2012-04-11T07:12:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=89de0a1dd537b7c1dd0ba8c7830c386ed455de99'/>
<id>urn:sha1:89de0a1dd537b7c1dd0ba8c7830c386ed455de99</id>
<content type='text'>
r233585:
  Partially revert r223608 and selectively allow microcode loading
  for 82550C.  For 82550 controllers this change restores CPUSaver
  microcode loading.  Due to silicon bug on 82550 and 82550C with
  server extension, these controllers seem to require CPUSaver
  microcode to receive fragmented UDP datagrams.  However the
  microcode shouldn't be used on client featured 82550C as it locks
  up the controller.  In addition, client featured 82550C does not
  have the silicon bug.  Also clear temporary memory used for
  microcode loading since the same memory area is used for other
  commands.
  While I'm here use 82550C in probe message instead of generic
  82550.

  Reported by:	Andreas Longwitz &lt;longwitz &lt;&gt; incore de&gt;
  Tested by:	Andreas Longwitz &lt;longwitz &lt;&gt; incore de&gt;

r233586:
  Load entire EEPROM contents in device attach time and verify
  whether the checksum of EEPROM is valid or not.  Because driver
  heavily relies on EEPROM information when it selectively enables
  features/workarounds, it would be helpful to know whether driver
  sees valid EEPROM.
  While I'm here remove all other EEPROM accesses since the entire
  EEPROM is loaded at device attach time.

r233587:
  Remove unnecessary #if as the software workaround for PCI protocol
  violation should be activated unless the system is cold-booted
  after updating EEPROM.
  The PCI protocol violation happens only when established link is
  10Mbps so the workaround should be updated whenever link state
  change is detected.  Previously the workaround was activated only
  when user checks current media status with ifconfig(8).
</content>
</entry>
<entry>
<title>MFC r232951,232953,233158:</title>
<updated>2012-03-26T05:17:59Z</updated>
<author>
<name>Pyun YongHyeon</name>
<email>yongari@FreeBSD.org</email>
</author>
<published>2012-03-26T05:17:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=0b75b2e39e50aca803dec3c4bb47a1970f2b851a'/>
<id>urn:sha1:0b75b2e39e50aca803dec3c4bb47a1970f2b851a</id>
<content type='text'>
r232951:
  fxp(4) does not handle deferred dma map loading.  Tell
  bus_dmamap_load(9) that it should return immediately with error
  when there are insufficient mapping resources.

r232953:
  Fix white space nits.

r233158:
  Do not change current media when driver is already running.  If
  driver is running driver would have already completed flow control
  configuration.  This change removes unnecessary media changes in
  controller reconfiguration cases such that it does not trigger link
  reestablishment for configuration change requests like promiscuous
  mode change.

  Reported by:	Many
  Tested by:	Mike Tancsa &lt;mike &lt;&gt; sentex dot net&gt;
</content>
</entry>
<entry>
<title>MFC r228716:</title>
<updated>2012-01-09T19:31:35Z</updated>
<author>
<name>Pyun YongHyeon</name>
<email>yongari@FreeBSD.org</email>
</author>
<published>2012-01-09T19:31:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=378c7cfa76e64399cd510124a4db6f32d99aa3d6'/>
<id>urn:sha1:378c7cfa76e64399cd510124a4db6f32d99aa3d6</id>
<content type='text'>
  TCP header size is represented by number of 32bits words.
  Fix the TCP header size calculation such that makes TSO engine
  cache all header(ethernet/IP/TCP) bytes to its internal buffer.
  While here, remove extra pull up for TCP payload.  Unlike some
  em(4) controllers, fxp(4) does not require such work around for
  TSO.
  The two limitations are ethernet/IP/TCP header size should be less
  than or equal to the size of controller's internal buffer(80 bytes)
  and these header information should be found in the first fragment
  of a TSO frame.
</content>
</entry>
<entry>
<title>MFC: r221407 (partial)</title>
<updated>2011-09-11T20:25:57Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2011-09-11T20:25:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=99e4ce3e7b07bcdeca71fdffa04401cb54e795aa'/>
<id>urn:sha1:99e4ce3e7b07bcdeca71fdffa04401cb54e795aa</id>
<content type='text'>
- Let mii_phy_add_media() also announce the support of IFM_NONE.
- Add a PHY-specific reset routine is for lxtphy(4) which disables MII
  interrupts.
- Remove redundant checks in NIC drivers for mii-&gt;mii_instance not being
  zero before calling the reset routines because as soon as one PHY driver
  attaches mii-&gt;mii_instance is incremented and we hardly can end up in
  their media change callbacks etc if no PHY driver has attached as
  mii_attach() would have failed in that case and not attach a miibus(4)
  instance.
- Convert the mebers of the MII data structure to unsigned where
  appropriate. This is partly inspired by NetBSD/OpenBSD.
- Add MIIF_NOMANPAUSE and mii_phy_flowstatus() calls to drivers that
  weren't explicitly converted to support flow control before. It's
  unclear whether flow control actually works with these but typically
  it should and their net behavior should be more correct with these
  changes in place than without if the MAC driver sets MIIF_DOPAUSE.

Obtained from:	NetBSD (partially)
</content>
</entry>
<entry>
<title>MFC r223610:</title>
<updated>2011-07-05T23:31:40Z</updated>
<author>
<name>Pyun YongHyeon</name>
<email>yongari@FreeBSD.org</email>
</author>
<published>2011-07-05T23:31:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=3a41f614b8f6d82b58615aeab972503fe2bfcecb'/>
<id>urn:sha1:3a41f614b8f6d82b58615aeab972503fe2bfcecb</id>
<content type='text'>
  Enable CPUSaver D102 E-step microcode loading for 82551 revision
  0x10.
</content>
</entry>
<entry>
<title>MFC r223608:</title>
<updated>2011-07-05T23:18:28Z</updated>
<author>
<name>Pyun YongHyeon</name>
<email>yongari@FreeBSD.org</email>
</author>
<published>2011-07-05T23:18:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=6a34cf919c1cbc1ce391638f090b16523e037959'/>
<id>urn:sha1:6a34cf919c1cbc1ce391638f090b16523e037959</id>
<content type='text'>
  Disable microcode loading for 82550 and 82550C controllers. Loading
  the microcode caused SCB timeouts. Linux driver does not allow
  microcode loading for these controllers and jfv also confirmed that
  there is no need to do and it shouldn't.

  PR:				kern/103332
  Additional confirmation from:	jfv
</content>
</entry>
<entry>
<title>MFC r220103:</title>
<updated>2011-04-04T20:41:35Z</updated>
<author>
<name>Pyun YongHyeon</name>
<email>yongari@FreeBSD.org</email>
</author>
<published>2011-04-04T20:41:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=d2892646b32e0eef65b0dae1f8f0643354f5bbbb'/>
<id>urn:sha1:d2892646b32e0eef65b0dae1f8f0643354f5bbbb</id>
<content type='text'>
  Normally fxp(4) does not receive bad frames but promiscuous mode
  makes controller to receive bad frames and i82557 will also receive
  bad frames since fxp(4) have to receive VLAN oversized frames. If
  fxp(4) encounter DMA overrun error, the received frame size would
  be 0 so the actual frame size after checksum field extraction the
  length would be negative(-2). Due to signed/unsigned comparison
  used in driver, frame length check did not work for DMA overrun
  frames. Correct this by casting it to int.
  While I'm here explicitly check DMA overrun error and discard the
  frame regardless of result of received frame length check.

  Reported by:	n_hibma
  Tested by:	n_hibma
</content>
</entry>
<entry>
<title>MFC r218710:</title>
<updated>2011-02-22T21:27:46Z</updated>
<author>
<name>Pyun YongHyeon</name>
<email>yongari@FreeBSD.org</email>
</author>
<published>2011-02-22T21:27:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=f6ae224355f09d76b3c53e39a98be193347bc828'/>
<id>urn:sha1:f6ae224355f09d76b3c53e39a98be193347bc828</id>
<content type='text'>
  Fix a regression introduced in r215906. The change made in r215906
  caused link re-negotiation whenever application joins or leaves a
  multicast group.  If driver is running, it would have established a
  link so there is no need to start re-negotiation. The re-negotiation
  broke established link which in turn stopped multicast application
  working while re-negotiation is in progress.

  PR:	kern/154667
</content>
</entry>
<entry>
<title>MFC r216111:</title>
<updated>2010-12-07T19:15:33Z</updated>
<author>
<name>Pyun YongHyeon</name>
<email>yongari@FreeBSD.org</email>
</author>
<published>2010-12-07T19:15:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=ff4b8b226f43c15653018690446844d6e8e047a4'/>
<id>urn:sha1:ff4b8b226f43c15653018690446844d6e8e047a4</id>
<content type='text'>
  If RX lockup workaround is enabled, fxp(4) will periodically reset
  the controller to workaround silicon bug of i82557. Each reset will
  re-establish link which in turn triggers MII status change
  callback. The callback will try to reconfigure controller if the
  controller is not i82557 to enable flow-control. This caused
  endless link UP/DOWN when the workaround was enabled on non-i82557
  controller.

  To fix the issue, apply RX lockup workaround only for i82557.
  Previously it blindly checked undocumented EEPROM location such
  that it sometimes enabled the workaround for other controllers. At
  this time, only i82557 is known to have the silicon bug.
  This fixes a regression introduced in r215906 which enabled flow
  control support for all controllers except i82557.

  Reported by:	Karl Denninger (karl &lt;&gt; denninger dot net)
  Tested by:	Karl Denninger (karl &lt;&gt; denninger dot net)
  Approved by:	re (kensmith)
</content>
</entry>
<entry>
<title>MFC: r215906</title>
<updated>2010-11-28T15:59:45Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2010-11-28T15:59:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=1ab442be78a441c418f21bbceaba4de249ad5972'/>
<id>urn:sha1:1ab442be78a441c418f21bbceaba4de249ad5972</id>
<content type='text'>
Fix and implement missing parts of flow control support. This also removes
the dev.fxp.%d.noflow tunable as the same effect can now be achieved with
ifconfig(8) by setting the flowcontrol media option as desired (besides
the tunable never having a chance to actually enable flow control support
so far).
In joint forces with:	yongari
</content>
</entry>
</feed>
