| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
the same uar page, these writes could be combined, which would result in
a queue not being armed.
|
|
|
|
| |
sympathy from jmatthew@
|
|
|
|
|
|
| |
interrupts per second, or 90% of the cq size.
ok dlg@
|
|
|
|
|
|
| |
From Helen Koike
fbb7e114e6e690c46f170dedd6fd2fb22f241519 in linux 4.19.y/4.19.50
89a4aac0ab0e6f5eea10d7bf4869dd15c3de2cd4 in mainline linux
|
|
|
|
|
|
| |
From Jonathan Corbet
6600ec2600d63868efa8c6641375451677469b24 in linux 4.19.y/4.19.50
551bd3368a7b3cfef01edaade8970948d178d40a in mainline linux
|
|
|
|
|
|
| |
From Daniel Drake
360e00e290a355219425b5ea0ca62d9df3261fa1 in linux 4.19.y/4.19.50
396dd8143bdd94bd1c358a228a631c8c895a1126 in mainline linux
|
|
|
|
|
|
| |
From Aaron Liu
f3dcc88d531fd21af0c4261896eb23b455499366 in linux 4.19.y/4.19.50
bdb1ccb080dafc1b4224873a5b759ff85a7d1c10 in mainline linux
|
|
|
|
|
|
| |
From Christian Koenig
84c82ab8f133f1c1e27f6b1bafe3f7d8835acc4c in linux 4.19.y/4.19.50
2e26ccb119bde03584be53406bbd22e711b0d6e6 in mainline linux
|
|
|
|
|
|
| |
From Alex Deucher
748a97ec6c1588e3a49e09fe9ca56dcdb7f976b5 in linux 4.19.y/4.19.50
9d6fea5744d6798353f37ac42a8a653a2607ca69 in mainline linux
|
|
|
|
|
|
| |
From Ryan Pavlik
98a8cb0282ab22d0533de34412f2118bf21147e4 in linux 4.19.y/4.19.50
29054230f3e11ea818eccfa7bb4e4b3e89544164 in mainline linux
|
|
|
|
|
|
| |
From Andres Rodriguez
490290b0415f069eb156db50d165ca6a407d47bc in linux 4.19.y/4.19.50
30d62d4453e49f85dd17b2ba60bbb68b6593dba0 in mainline linux
|
|
|
|
| |
to avoid running out of kmem space. Suggested by and ok kettenis@
|
|
|
|
|
|
|
|
| |
passing a pointer to a pci_intr_handle_t doesnt work too well on
sparc64, where it faults in the guts of the scheduler. dunno why
amd64 is fine.
ok jmatthew@
|
|
|
|
| |
ok jmatthew@
|
| |
|
|
|
|
|
| |
jmatthew@ says we need to configure the hw to populate that, but i
can put this in now in preparation for it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the chip has a cycle counter or something, and the value of the
counter when the packet is sent to the host is stored in the
completion queue entry.
the driver periodically checks the cycle counter and records the
time at that point, so the rx path can do some maths to figure out
what the clock time is for the cycle counter. if the driver is
calibrated with the chips counter, the rx packets are timestamped.
this is based on the changes made to freebsd, but with some
simplifications.
|
|
|
|
|
|
| |
From Daniel Vetter
390a0fd31b02f2f7086af2f3bdb8ae576b9a4b84 in linux 4.19.y/4.19.49
204f640da6914844b3270b41b29c84f6e3b74083 in mainline linux
|
|
|
|
|
|
|
|
|
| |
64-bit DMA. Should reduce the pressure on DMA-reachable memory, which is
important since there are still cases where the pagedaemon ends up being
triggered continuously if we run out of DMA-reachable memory but have
plenty of memory left.
ok jsg@
|
|
|
|
|
|
| |
there's some more work to do in this space, but this helps us start.
ok kettenis@
|
|
|
|
|
|
| |
this puts the timestamp, rx drops, and hash fields in the right place.
ok jmatthew@
|
|
|
|
|
|
|
|
|
|
| |
this is instead of passing a pointer to the counter.
while here use byte swapping loads and stores, which is mostly a
nop cos i dont think we have an LE arch with swapping memory
operations.
ok jmatthew@
|
| |
|
|
|
|
|
|
| |
Apparently the boot rom on some cards leaves an interrupt vector set up,
which will be run on completion of the first command after we set up the
event queue, causing kernel crashes. chris@ reported this a while ago.
|
|
|
|
|
|
| |
delete those rather than blindly deleting everything, which also means we
don't need to check against a specific syndrome code to ignore errors we get
deleting entries that aren't there.
|
| |
|
|
|
|
| |
one function with a single address.
|
|
|
|
|
|
| |
this makes the generated code a lot shorter on sparc64, and has no
effect on little endian archs. this has been in my tree for well
over a year without issue.
|
|
|
|
| |
ok jmatthew@
|
|
|
|
|
|
|
|
|
|
| |
the requested type (or all available types, if none specified), then
re-enables it to start negotiation. While here, only set up the available
media types during attach, rather than on every mcx_media_status() call, as
they don't reflect the type of module or cable present so they won't change
over time.
ok dlg@
|
|
|
|
|
|
|
|
|
|
|
| |
one that will match any packet, used in promisc mode; one that matches on the
low bit of the first byte of the destination mac address, used to receive all
multicast packets; and one that matches on the whole destination mac address,
used to receive unicast, broadcast and specific multicast addresses. As we
add multicast addresses, we create flow entries to match them, but if we run
out, we create an all-multicast flow entry.
ok dlg@
|
|
|
|
|
|
|
|
| |
The PHY address is already checked within alc_miibus_readreg().
- Remove redundant call to alc_stop_queue().
First thing alc_stop_mac() does is call alc_stop_queue().
From Brad
|
|
|
|
|
|
| |
From Chris Wilson
00734a9e7329acc48e575f697ee4118998c1dac0 in linux 4.19.y/4.19.47
60b801999c48b6c1dd04e653a38e2e613664264e in mainline linux
|
|
|
|
|
|
| |
From Nicholas Kazlauskas
62e79f4c6bc05c32be43e2532fe12c082429af27 in linux 4.19.y/4.19.47
b9952f93cd2cf5fca82b06a8179c0f5f7b769e83 in mainline linux
|
|
|
|
|
|
| |
From Murton Liu
fc5293ab6c48710eed5df3b40e808e3a3c560e2d in linux 4.19.y/4.19.47
59979bf8be1784ebfc44215031c6c88ca22ae65d in mainline linux
|
|
|
|
|
|
| |
From Dmytro Laktyushkin
70611b1b81c4ec8ce99d3c00107e89697ec1f495 in linux 4.19.y/4.19.47
bc2193992b00488f5734613ac95b78ef2d2803ab in mainline linux
|
|
|
|
|
|
| |
From Christian Koenig
d8a36f8418034bacef0b5b73c0822f41646d77ba in linux 4.19.y/4.19.47
3d2aca8c8620346abdba96c6300d2c0b90a1d0cc in mainline linux
|
|
|
|
| |
a holdover from when the allocation wasn't done in ttm
|
|
|
|
|
|
| |
mask bit.
ok mlarkin@, jmatthew@
|
|
|
|
| |
interrupts are not supported, leaving us with just MSI-X for mcx(4).
|
| |
|
|
|
|
|
|
| |
and allocate dma maps and receive buffers to match.
ok dlg@
|
| |
|
|
|
|
| |
bus_space_read/write_8 do not exist there, use two 32bit operations.
|
|
|
|
|
| |
virtio 1.0 for virtio_mmio it not yet implemented, but 0.9 devices
continue to work.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a sc_driver_features field that is automatically used by
virtio_negotiate_features() and during reinit.
Make virtio_negotiate_features() return an error code. Virtio 1.0 has a
special status bit for feature negotiation that means that negotiation
can fail. Make virtio_negotiate_features() return an error code instead
of the features.
Make virtio_reinit_start() automatically call
virtio_negotiate_features().
Add a convenience function virtio_has_feature() to make checking bits
easier.
Add an error check in viomb for virtio_negotiate_features because it has
some feature bits that may cause negotiation to fail. More error
checking in the child drivers is still missing.
ok mlarkin@
|
|
|
|
| |
ok mlarkin@
|
|
|
|
|
|
| |
In virtio_pci 1.0, different parts of the register set may be located in
different BARs. Use subregions to make the access independent of the
virtio version.
|
|
|
|
|
| |
if "shutdown" is set and the mountroot hook has not run.
Otherwise unhibernate causes a uvm fault due to an uninitialised lock.
|
|
|
|
|
|
|
| |
i2c reads are implemented as a port register read that returns up to 32
bytes from a page.
ok dlg@
|