| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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 Brad
|
| |
|
|
|
|
| |
From Brad
|
|
|
|
|
|
|
| |
original code
- Remove unusedd function decarations
From Brad
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
same as the original code
- Merge FreeBSD's r304574
Correct DMA channel number selection on AR816x family of
controllers. For Gigabit Ethernet version of AR816x, AR813x/AR815x
except L1D controller, use vendor recommended ASPM parameters.
While here, increase alc_dma_burst array size. Broken H/W can
return bogus value in theory
From Brad.
|
|
|
|
|
|
|
| |
Some of the flag and oactive handling bits and alc_stop_queue() were
mismerged.
Pointed out by Brad, thanks!
|
|
|
|
|
|
| |
Based on FreeBSD via Genadijus Paleckis on tech@, some modifications by me.
Tested with Atheros Killer E2200.
|
| |
|
|
|
|
|
|
|
| |
this means packets are consistently counted in one place, unlike the
many and various ways that drivers thought they should do it.
ok mpi@ deraadt@
|
|
|
|
|
|
| |
NULL tests.
ok mpi@
|
| |
|
|
|
|
| |
definitions; ok mpi@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
there are two things shared between the network stack and drivers
in the send path: the send queue and the IFF_OACTIVE flag. the send
queue is now protected by a mutex. this diff makes the oactive
functionality mpsafe too.
IFF_OACTIVE is part of if_flags. there are two problems with that.
firstly, if_flags is a short and we dont have any MI atomic operations
to manipulate a short. secondly, while we could make the IFF_OACTIVE
operates mpsafe, all changes to other flags would have to be made
safe at the same time, otherwise a read-modify-write cycle on their
updates could clobber the oactive change.
instead, this moves the oactive mark into struct ifqueue and provides
an API for changing it. there's ifq_set_oactive, ifq_clr_oactive,
and ifq_is_oactive. these are modelled on ifsq_set_oactive,
ifsq_clr_oactive, and ifsq_is_oactive in dragonflybsd.
this diff includes changes to all the drivers manipulating IFF_OACTIVE
to now use the ifsq_{set,clr_is}_oactive API too.
ok kettenis@ mpi@ jmatthew@ deraadt@
|
|
|
|
|
|
|
|
|
|
|
|
| |
IF_PREPEND assumes the underlying send queue is priq, while hfsc may be
enabled on it.
the previous code pattern to DEQUEUE, try and encap the mbuf on the
ring, and if that failed cos there was no space it would PREPEND
it.
now it checks for space on the ring before it attempts to DEQUEUE.
failure to encap means the mbuf is now unconditionally dropped.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Note that pseudo-drivers not using if_input() are not affected by this
conversion.
ok mikeb@, kettenis@, claudio@, dlg@
|
| |
|
|
|
|
|
|
|
| |
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.
ok tedu@ deraadt@
|
| |
|
|
|
|
|
|
|
|
|
| |
additional register was erroneously added in the MAC register set
such that 7 TX statistics counters were wrong.
From FreeBSD
ok mikeb@
|
|
|
|
| |
to include that than rdnvar.h. ok deraadt dlg
|
| |
|
|
|
|
|
| |
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
|
|
|
|
| |
ok deraadt@
|
|
|
|
|
| |
don't have to. Just remove these include lines.
Compiled on amd64 i386 sparc64; OK henning@ mikeb@
|
|
|
|
|
|
| |
necessarily correct, there might not even be a link when attaching.
ok mikeb@ reyk@
|
|
|
|
|
|
|
|
|
| |
the FreeBSD code.
age(4) tested by Thomas Pfaff; alc(4) tested by Gabriel Linder;
ale(4) tested by Johan Torin.
From Brad
|
|
|
|
|
|
| |
better. No functional change.
From Brad
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove unnecessary nsegs variable from alc_encap() and
use map->dm_nsegs. Also remove unnecessary FreeBSD check
for 0 DMA segments check.
- Remove printfs in alc_encap() failure paths that shouldn't
be there.
- Add missing IF_PREPEND() from failure path coming off of
alc_encap() within alc_start().
- Fix error handling within alc_encap(). Previously alc_encap()
was attempting to unload a DMA map upon failure from
bus_dmamap_load_mbuf() even though one wasn't loaded at that
point and then always forcing mbufs through the EFBIG path.
Tested by Gabriel Linder.
From Brad
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
detects no established link and it will re-establish link when the
cable is plugged in. Previously it failed to re-establish link
when the cable was plugged in such that it required turning the
interface down and then up to make it work. This was caused by
incorrectly programmed hibernation parameters. Further details
regarding PHY setup are necessary to be able to re-enable this
feature.
Tested by Matteo Filippetto and Gabriel Linder
From FreeBSD via Brad
|
|
|
|
|
|
| |
chunk to where it should be.
From Brad
|
|
|
|
|
|
|
| |
the alc(4) NIC while running or the NIC not working if the cable is
not plugged in upon boot up.
From Brad; tested by matteo filippetto, Gabriel Linder and edd@
|
|
|
|
|
|
| |
Abel Abraham Camarillo Ojeda.
From Brad
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
capability to mii(4).
- Limit DMA burst size to be less than or equal to 1024 bytes.
Controller does not seem to support more than 1024 bytes DMA burst.
- Do not touch CMB TX threshold register when CMB is not used.
From FreeBSD via Brad
- Properly initialize sc_product and alc_rev early enough in
alc_attach() with the PCI product id and PCI revision.
- Further sync if_alcvar.h changes from FreeBSD for L2C/L1D
addition commit which in OpenBSD has been merged into if_alcreg.h
From Brad; tested by Gabriel Linder and edd@.
|
|
|
|
|
|
| |
Tested on L1C by Abel Abraham Camarillo Ojeda, thank you.
From FreeBSD via kevlo@, ok jsg@
|
|
|
|
| |
ok claudio krw
|
|
|
|
| |
tested by Gabriel Linder, ok kevlo, miod
|
|
|
|
|
| |
- "could not disable Rx/Tx MAC" from FreeBSD
- "could not disable RxQ/TxQ" from Gabriel Linder
|
|
|
|
|
|
|
|
| |
DVACT_SUSPEND, therefore DVACT_QUIECE can do standard sleeping operations
to get ready.
Discussed quite a while back with kettenis and jakemsr, oga suddenly needed
it as well and wrote half of it, so it was time to finish it.
proofread by miod.
|
|
|
|
| |
ok deraadt@ henning@ claudio@
|
|
|
|
| |
this let me know.
|
| |
|
|
|
|
|
|
| |
when computing multicast hash.
From Brad via FreeBSD
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
with m_tag_copy_chain() failures.
Use m_defrag() to eliminate hand rolled defragging of mbufs and
some uses of M_DUP_PKTHDR().
Original diff from thib@, claudio@'s feedback integrated by me.
Tests kevlo@ claudio@, "reads ok" blambert@
ok thib@ claudio@, "m_defrag() bits ok" kettenis@
|
|
this driver was written by Pyun YongHyeon from FreeBSD.
"go ahead" deraadt@
|