| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
flowing again even if the send queue is currently full. Restores the fix
made by makeb@ in rev 1.263 which was lost in making the tx completion path
mpsafe.
ok mikeb@
|
|
|
|
|
|
|
|
|
| |
of available descriptors, such that the interrupt handler doesn't attempt
to complete partially initialized descriptors. Seems to fix the watchdog
timeouts reported by various people.
Tested by Mattieu Baptiste and Gregor Best.
ok mikeb@
|
|
|
|
|
|
|
|
|
|
|
| |
"fast path" through the interrupt handler not grab the kernel lock anymore.
This removes the code that attempts to reclaim tx descriptors from em_start().
Keeping that code would have complicated the locking. The need to reclaim
tx descriptors that way should have largely disappeared now that the interrupt
handler doesn't have to wait on the kernel lock.
ok mpi@
tested by many
|
|
|
|
|
|
|
|
| |
intr_barrier(9) to avoid having the interrupt handler touch the rx data
structures while we're brining down the interface. This actually reverts
many of the changes in rev. 1.300.
ok mikeb@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes numbers of the SIOCSIFMEDIA and SIOCGIFMEDIA ioctls and
grows struct ifmediareq.
Old ifconfig and dhclient binaries can still assign addresses, however
the 'media' subcommand stops working. Recompiling ifconfig and dhclient
with new headers before a reboot should not be necessary unless in very
special circumstances where non-default media settings must be used to
get link and console access is not available.
There may be some MD fallout but that will be cleared up later.
ok deraadt miod
with help and suggestions from several sharks attending l2k15
|
|
|
|
| |
ok dlg@, phessler@
|
|
|
|
| |
ok dlg
|
|
|
|
|
|
|
|
|
|
|
| |
hardware rx mtu always gets set to the maximum supported value we will hit
it for every received packet. Instead, use a larger mbuf cluster size on
strict alignment architectures such that we can always m_adj to make sure the
packets are properly aligned. This wastes some memory but simplifies things
considerably. Hopefully we can reduce the spillage in the near future by
taking advantage of recent improvements in the pool code.
ok mpi@, mikeb@, dlg@
|
|
|
|
|
|
| |
the kernel lock.
ok mpi@, dlg@
|
|
|
|
|
|
|
| |
Note that pseudo-drivers not using if_input() are not affected by this
conversion.
ok mikeb@, kettenis@, claudio@, dlg@
|
|
|
|
|
|
|
| |
based devices. This introduces Realtek PHY into em driver
code and is only a temporary solution to the problem.
OK deraadt@
|
|
|
|
|
|
|
|
| |
hardware variants need at least 4 descriptors on the rx ring to be able to
receive packets. Should fix the issue reported by Christian Schulte on
bugs@.
ok mikeb@, sthen@
|
|
|
|
|
|
|
| |
Internal Non-Volatile Memory (iNVM). Add support for reading
words out of it instead of an EEPROM.
From Patrick Wildt with some more offsets added.
|
|
|
|
|
|
|
|
| |
82571 / 82572 controllers.
As noticed in the Linux driver and there is related errata for that too.
ok jsg@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
82573 / 82574 controllers.
82573..
8 82573 Disappears in PCI Configuration Space When L0s and L1 PCIe Link
States Are Enabled
41 Delay of Received Ethernet Packet During ASPM L1
82574..
24. PCIe: Common Mode Voltage Shift During L1 Exit
25. Dropped Rx Packets
From FreeBSD
ok jsg@
|
|
|
|
|
|
|
|
|
| |
of a single mbuf. this forces us to batch work between the hardware
rx handlers and the stack.
this includes a converstion of bge from ether_input to if_input.
ok claudio@ pelikan@ mpi@
|
|
|
|
| |
ok pelikan@, reyk@, blambert@, henning@
|
|
|
|
|
|
|
|
|
| |
- Updated PBA values for the 82574 controller (20KB) and ICH9/10 with
jumbos (14KB).
Tested by a few on 82574, ICH9 and PCH LPT
From FreeBSD
|
| |
|
|
|
|
|
|
|
|
| |
- remove pointless timeout_del/add dance in the interrupt handler
- don't try to update the link status every second
- Gather full statistics only when EM_DEBUG is defined
ok mikeb@
|
|
|
|
|
| |
index update code from the buf_get success path to the do it all
the time code path. Tested by millert; ok dlg, deraadt
|
|
|
|
| |
ok tedu
|
|
|
|
| |
after discussions with beck deraadt kettenis.
|
|
|
|
|
|
|
|
|
|
| |
to using if_rxr.
cut the reporting systat did over to the rxr ioctl.
tested as much as i can on alpha, amd64, and sparc64.
mpi@ has run it on macppc.
ok mpi@
|
|
|
|
|
|
|
| |
rx descriptor.
slightly tweak by matthew
tested on alpha and amd64
|
|
|
|
|
|
|
| |
right value out of the softc. then its assigned the same value again
after the rest of the var decls.
well, it used to be. not after this commit.
|
|
|
|
| |
set. em_rxeof doesnt have to check that flag again.
|
|
|
|
|
|
|
| |
entire tx path. if we try to bus_dmamap_load a very fragmented packet
m_defrag it and try again.
this is just like if_bge.c r1.355.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
together, so to receive a full 9000 byte frame, it needs 5 descriptors.
its current mclgeti low watermark is 4.
it appears that the chip will block if it has rxed a packet into
its internal buffers waiting for descriptors. if you're at the lwm,
that means you're DoSed.
this raises the lwm so we can get at least two jumbos, ie, 10
descriptors.
ok deraadt@
|
|
|
|
|
| |
DH89XX/Cave Creek PCH which seem to function like a 82580 with some
external Marvell PHYs.
|
| |
|
|
|
|
|
|
| |
tested on Supermicro X10SLL
ok jsg@
|
|
|
|
|
|
|
| |
Currently treated the same as i350, i354 specific EEE settings
and 2.5Gb backplane connections not properly handled yet.
Tested by Andrew Lester on a Supermicro A1SRi-2758F.
|
|
|
|
|
| |
drivers) activate functions at DVACT_RESUME time do not need to do
so, since their PHYs are repaired by IFF_UP.
|
|
|
|
|
|
|
|
| |
kernel resumes normal (non-cold, able to run processes, etc) operation.
Previously we were relying on specific DVACT_RESUME op's in drivers
creating callback/threads themselves, but that has become too common,
indicating the need for a built-in mechanism.
ok dlg kettenis, tested by a sufficient amount of people
|
|
|
|
| |
no binary change
|
|
|
|
|
|
| |
with external i217 and i218 PHYs.
Requires a changed way of detecting the eeprom flash bank from FreeBSD
as suggested by Masanobu SAITOH. Thanks to everyone who tested.
|
|
|
|
|
| |
MAC address, continue on, because if_etherattach contains logic for this.
ok mikeb
|
|
|
|
| |
Tested extensively by henning@ and myself.
|
|
|
|
|
|
| |
From FreeBSD
ok jsg@
|
|
|
|
|
|
|
|
|
| |
- Use IF_Mbps() instead of multiplying the link speed by a bare value
- Remove a useless comment as baudrate is already handled properly
- Remove some commented out bits of code
- Use IF_Mbps() instead of the bare value
ok sthen@
|
|
|
|
| |
from brad, ok jsg
|
| |
|
|
|
|
| |
from brad, ok jsg
|
|
|
|
|
|
|
|
|
|
| |
in FreeBSD. Workaround the apparently undocumented errata where the
CRC is always stripped whether asked to or not, and take the FreeBSD
workaround for a known errata when clearing the vlan filter.
Thanks to Jens A. Griepentrog for donating a card.
ok dlg@ mikeb@
|
|
|
|
|
| |
situation when send queue is full and no rx interrupt happen.
initial diff and tests by erik lax, <erik at halon.se>, ok jsg
|
|
|
|
|
|
|
|
|
|
|
| |
writes. Some (but not all) chipsets will fail to generate
interrupts in this case, so do not attempt to enable MSI
on 82571/82572.
Problem reported by David Imhoff with interrupts working on PE1950
but not working on a R610.
ok kettenis@ claudio@ deraadt@
|
|
|
|
|
|
|
|
|
| |
the Intel I340-T4 and HP NC365T and simplify some of the multi port
handling while here.
Thanks to fredrik danerklint for donating a card, Linden Varley
for setting up a test system and everyone who made sure this
didn't break their existing em setups.
|
|
|
|
|
| |
available to our network stack.
ok mcbride naddy henning
|
|
|
|
|
|
|
|
| |
the MSI enabled flag there such that the driver actually pays attention to it.
Found out the hard way by Chris Smith on an 82540EM, which defenitely does
not like MSI.
ok deraadt@
|