<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/em, branch releng/6.1</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F6.1</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F6.1'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2006-03-18T21:48:08Z</updated>
<entry>
<title>MFC 1.111:</title>
<updated>2006-03-18T21:48:08Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2006-03-18T21:48:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=65e08a7ae6851d822b9fcdc801250d1052ee675c'/>
<id>urn:sha1:65e08a7ae6851d822b9fcdc801250d1052ee675c</id>
<content type='text'>
  Set ifp-&gt;if_baudrate according to current speed.

Approved by:	re (mux)
</content>
</entry>
<entry>
<title>MFC 1.107:</title>
<updated>2006-02-16T12:45:12Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2006-02-16T12:45:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d13670a041cc32f69810d0a384eeedd38c3a3dfc'/>
<id>urn:sha1:d13670a041cc32f69810d0a384eeedd38c3a3dfc</id>
<content type='text'>
  Fix two important typos in watchdog handling:
  - Restart watchdog if we *did* processed any descriptors. [1]
  - Log the watchdog event if the link is *up*. [2]

  PR:		kern/92948 [1]
  Submitted by:	Mihail Balikov &lt;mihail.balikov interbgc.com&gt; [1]
  PR:		kern/92895 [2]
  Submitted by:	Vladimir Ivanov &lt;wawa yandex-team.ru&gt; [2]

Approved by:	re (kensmith)
</content>
</entry>
<entry>
<title>MFC: PCIR_CARDBUSCIS -&gt; PCIR_CIS</title>
<updated>2006-01-29T21:14:28Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2006-01-29T21:14:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=33bf28a2a985cbb81238ae97e586a626e013031e'/>
<id>urn:sha1:33bf28a2a985cbb81238ae97e586a626e013031e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>- Restore VLAN_INPUT_TAG() macro to preserve API compatibility for</title>
<updated>2006-01-13T19:21:45Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2006-01-13T19:21:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4f29a1a7ad1b3dd7b37301006640bb0fa446971f'/>
<id>urn:sha1:4f29a1a7ad1b3dd7b37301006640bb0fa446971f</id>
<content type='text'>
  third party drivers.
- Fix bugs destribed in previous revision using macro with
  another name.
</content>
</entry>
<entry>
<title>MFC:</title>
<updated>2006-01-13T11:51:11Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2006-01-13T11:51:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=320551f33b90d7372e8b7c56739dc2cc0c466208'/>
<id>urn:sha1:320551f33b90d7372e8b7c56739dc2cc0c466208</id>
<content type='text'>
  - Use VLAN_TAG_VALUE() not only to read a dot1q tag
    value from an m_tag, but also to set it.  This reduces
    complex code duplication and improves its readability.
  - Fix VLAN_INPUT_TAG() macro, so that it doesn't touch mtag in
    case if memory allocation failed.
  - Remove fourth argument from VLAN_INPUT_TAG(), that was used
    incorrectly in almost all drivers. Indicate failure with
    mbuf value of NULL.
</content>
</entry>
<entry>
<title>MFC 1.93 - 1.97, fixing suspend/resume on some laptops.</title>
<updated>2006-01-10T10:09:03Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2006-01-10T10:09:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b2b90263e25321ad2b2374a2bfd82f900a156fff'/>
<id>urn:sha1:b2b90263e25321ad2b2374a2bfd82f900a156fff</id>
<content type='text'>
PR:		kern/89825
</content>
</entry>
<entry>
<title>MFC 1.91:</title>
<updated>2005-12-08T14:06:12Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2005-12-08T14:06:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6dcb2f92ab4a4e89ecdb03073418f721c3d02b84'/>
<id>urn:sha1:6dcb2f92ab4a4e89ecdb03073418f721c3d02b84</id>
<content type='text'>
  On the 82571 and newer chipset the ICR register is meaningful only
  if the E1000_ICR_INT_ASSERTED bit is set.

  Submitted by:   Jack Vogel
</content>
</entry>
<entry>
<title>Sync em(4) driver with HEAD, merging the following changes:</title>
<updated>2005-11-25T14:11:59Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2005-11-25T14:11:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=94a87297cf69c95aea3bf5c555d919cc95dbaffe'/>
<id>urn:sha1:94a87297cf69c95aea3bf5c555d919cc95dbaffe</id>
<content type='text'>
revision 1.83
date: 2005/11/09 08:43:18;  author: yongari;  state: Exp;  lines: +41 -38
Make em(4) work on big-endian architectures.
 - disable jumbo frame support on strict alignment architectures due
   to the limitation of hardware. The driver needs a fix-up code for
   RX side. The fix will show up in near future.
 - fix endian issue for 82544 on PCI-X bus. I couldn't test this as
   I don't have the NIC/hardware.
 - prefer PCIR_BAR to hardcoded EM_MMBA.
 - Properly checks for for 64bit BAR [1]
 - replace inl/outl with bus_space(9) [1]
 - fix endian issue on VLAN handling.
 - reorder header files and remove unnecessary one.

Reviewed by:		cognet
No response from:	pdeuskar, tackerman
Obtained from:		OpenBSD [1]

revision 1.84
date: 2005/11/09 15:23:54;  author: glebius;  state: Exp;  lines: +7 -3
- Introduce two more stat counters, counting number of RX
  overruns and number of watchdog timeouts.
- Do not log(9) RX overrun events, since this pessimizes
  things under load [1].
- Do not increase if-&gt;if_oerrors in em_watchdog(), since
  this leads to counter slipping back, when if-&gt;if_oerrors
  is recalculated in em_update_stats_counters(). Instead
  increase watchdog counter in em_watchdog() and take it
  into account in em_update_stats_counters().

revision 1.86
date: 2005/11/11 16:04:51;  author: ru;  state: Exp;  lines: +1 -1
- Store pointer to the link-level address right in "struct ifnet"
  rather than in ifindex_table[]; all (except one) accesses are
  through ifp anyway.  IF_LLADDR() works faster, and all (except
  one) ifaddr_byindex() users were converted to use ifp-&gt;if_addr.

- Stop storing a (pointer to) Ethernet address in "struct arpcom",
  and drop the IFP2ENADDR() macro; all users have been converted
  to use IF_LLADDR() instead.

revisions 1.85, 1.87
- Introduce tunables em.hw.txd and em.hw.rxd, which allow administrator
  to configure number of transmit and receive descriptors.
- Check em.hw.txd and em.hw.rxd against hardware limits [*] and require
  them to be multiple of 128.

revision 1.88
date: 2005/11/21 04:17:43;  author: yongari;  state: Exp;  lines: +121 -83
busdma cleanup for em(4).
 - don't force busdma to pre-allocate bounce pages for parent tag.
 - use system supplied roundup2 macro instead of rolling its own version.
 - TX/RX decriptor length should be multiple of 128. There is no
   no need to expand the size with the multiple of 4096.
 - don't create/destroy DMA maps in TX/RX handlers. Use pre-allocated
   DMA maps. Since creating DMA maps on sparc64 is time consuming
   operations(resource mananger overhead), this change should boost
   performance on sparc64. I could get &gt; 2x speedup on Ultra60.
 - TX/RX descriptors could be aligned on 128 boundary. Aligning them
   on PAGE_SIZE is waste of resource.
 - don't blindly create TX DMA tag with size of MCLBYTES * 8. The size
   is only valid under jumbo frame environments. Instead of using the
   hardcoded value, re-compute necessary size on the fly.
 - RX side bus_dmamap_load_mbuf_sg(9) support.
 - remove unused macro EM_ROUNDUP and constant EM_MMBA.

Reviewed by:	scottl
Tested by:	glebius

revision 1.89
date: 2005/11/24 01:44:48;  author: glebius;  state: Exp;  lines: +131 -77
Merge in new driver version from Intel - 3.2.18.

The most important change is support for adapters based on
82571 and 82572 chips.

Tested on:	82547EI on i386
Tested on:	82540EM on sparc64

revision 1.90
date: 2005/11/24 15:13:47;  author: cognet;  state: Exp;  lines: +3 -1
Remember the bus_dmamap_t where we loaded the mbuf, and sync this map instead
of tx_buffer-&gt;map, or we could end up syncing the wrong map.
</content>
</entry>
<entry>
<title>Merge if_em.c:1.82 from HEAD to RELENG_6:</title>
<updated>2005-11-14T10:40:10Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2005-11-14T10:40:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1e83d7f6f558fd0b63ce3c6afce691987e2af1b7'/>
<id>urn:sha1:1e83d7f6f558fd0b63ce3c6afce691987e2af1b7</id>
<content type='text'>
  Put probe-time printf of adapter speed and duplex behind bootverbose:
  since the link takes a bit to negotiate, the information is pretty
  much never available during the probe.  As such, the boot output
  pretty much always prints N/A for speed and duplex.  Since we print
  out the output of ifconfig during the user space boot, this early
  boot information is also generally redundant, and added to the noise.
</content>
</entry>
<entry>
<title>Sync with HEAD. Revisions merged:</title>
<updated>2005-10-22T21:20:17Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2005-10-22T21:20:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6c5dc6e026f12f6c22c142bd8ed25d5e9297657e'/>
<id>urn:sha1:6c5dc6e026f12f6c22c142bd8ed25d5e9297657e</id>
<content type='text'>
  - rev. 1.76. Removed FreeBSD 4.x code.
  - rev. 1.77, 1.79. Together with rev. 1.71 (already merged) this
    fixes problems when some code is executed in driver when
    em_process_receive_interrupts() drops lock. This can occur
    at runtime, when polling(4) mode is changed to interrupt driver
    or vise versa, but more likely this can happen when administrator
    issues some ifconfig commands.
  - rev. 1.78. In em_process_receive_interrupts(), call bus_dmamap_sync()
    for the descriptors set each time we modify one descriptor, instead
    of doing it only at the function exit.
  - rev. 1.80. Loop in em_intr() until interrupt cause register is clear,
    don't mask overrun interrupt.
  - rev. 1.81. Several locking and other fixes.

See particular revision logs for more detailed information.

Approved by:	re
</content>
</entry>
</feed>
