Age | Commit message (Collapse) | Author |
|
- Remove unnecessary nsegs variable from age_encap() and
use map->dm_nsegs. Also remove unnecessary FreeBSD check
for 0 DMA segments check.
- Remove printfs in age_encap() failure paths that shouldn't
be there.
- Add missing IF_PREPEND() from failure path coming off of
age_encap() within age_start().
- Fix error handling within age_encap(). Previously age_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 Thomas Pfaff.
From Brad.
|
|
Far from perfect. Extra (almost essential) features like the extra
ringbuffers are not yet supported (I have half a diff), but this and the
appropriate ddx patches allow modesetting and basic shadow acceleration.
Initial work by jcs@, a few cleanups and bugfixes by me.
Tested by many on all appropriate chipsets. ok kettenis@
|
|
- Remove unnecessary nsegs variable from ale_encap() and
use map->dm_nsegs. Also remove unnecessary FreeBSD check
for 0 DMA segments check.
- Remove printfs in ale_encap() failure paths that shouldn't
be there.
- Add missing IF_PREPEND() from failure path coming off of
ale_encap() within ale_start().
- Fix error handling within ale_encap(). Previously ale_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 Johan Torin.
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
|
|
figured out the hard way by senior Pedro. Performance decreased
severely with newer firmwares when ioc was stuffed with requests.
Unfortunately it still remains a magic number as LSI doesn't
clearly document what it has to be (controllers report some
meaningless values like 3167 and 1952).
ok dlg
|
|
from a FastE ale(4) controller. Previously only link parters which
support down-shifting were able to establish a link.
Tested by roberth, Johan Torin and sthen@
From Brad
|
|
|
|
|
|
|
|
Martin Pelikan).
|
|
|
|
controllers. From Brad.
|
|
Tested by roberth <robert at openbsd dot pap dot st> and Johan Torin.
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
|
|
now until we figure out why. This probably means the device won't function
optimally, but that's better than not functioning at all. Makes my
"Intel Centrinto Advanced-N 6205" work quite well.
|
|
firmware will crap out, at least on the 6005. First step to getting my
"Intel Centrino Advanced-N 6205" to work.
|
|
|
|
|
|
available to our network stack.
ok mcbride naddy henning
|
|
section) to protect the completion ring. mpii_poll can be in the
middle of the critical section when an interrupt is generated, but
because something is already in the critical section the isr cant
clear the condition causing the interrupt and you spin forever
entering the isr and being forced to exit it without doing any work
by the semaphore.
this moves to protecting the completion ring with a vanilla mutex.
work taken off the ring is stuck on local lists in the isr to be
completed outside the mutex in case a completion path issues a
polled command which will try to call the isr which tries to
mutex_enter while the previous call on the stack would be holding
the mutex...
this diff is large because of the list changes needed to support
the local lists in mpii_intr.
issue found by bluhm@ and debugged by Christian Ehrhardt
|
|
From Brad
|
|
chunk to where it should be.
From Brad
|
|
This, together with an updated xorg driver makes my drm/XVideo work.
Originally from Nigel Taylor.
ok oga@ mcbride@
|
|
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@
|
|
register. The spec doesn't say we have to do this while it mentions several
times one needs to wait for FR to clear after clearing FRE. The Linux driver
doesn't wait for it either. This allows us to get rid of the AHCI_F_IGN_FR
quirk.
As a side-effect this diff will probably stop ahci(4) attaching to (some)
NVIDIA fakeRAID devices. That's good since it is consistent with what we
do for Intel fakeRAID.
ok mikeb@, jmatthew@
|
|
adding a descriptor pointing at zeroed bytes onto the end of transmit
chains. i was accounting for this extra descriptor when i was
completing the chain, but not when i was setting this up. this
meant the number of free descriptors kept growing until it overflowed.
at this point the check for space in the ring failed and packets
no longer flowed.
this counts the pad descriptor in the tx chain setup too.
ok deraadt@
|
|
ok deraadt@, phessler@
|
|
|
|
ok deraadt@
|
|
|
|
is 1 so there, this avoids writing past the end of malloc'd space during init.
Also means the correct sensor address is registered so sysctl hw.sensors works.
Was: hw.sensors.mpii0.drive0=unknown (sd0), UNKNOWN
Now: hw.sensors.mpii0.drive0=online (sd0), OK
ok dlg@
|
|
gets the impression that there are all kinds of preconditions and a
whitelist as well. I will be working on this whitelist but for now
disable it because it is hanging at boot for several people.
ok deraadt
|
|
|
|
is causing problems when trying to boot sparc64 from an isp(4).
Verified to fix the sparc64/isp(4) regression by krw@; ok deraadt@
|
|
errata for the Serverworks SATA chipset found on the macppc xserve G5.
ok jmc
|
|
ok deraadt@ jsg@
|
|
saa_luns instead of adapter_buswidth and luns in the prototype link.
ok dlg@, miod@
|
|
ok deraadt
|
|
with this nothing in the tree fiddles if ifqueue internals any more, of
course except if.c and if.h (and some altq)
|
|
horrid and must be wrong. now in this case it is actually harmless - but
setting them to 0 just after having malloc'd it with M_ZERO is pointless
to begin with. ok claudio
|
|
|
|
ironlake interrupt handler is changed. some nasty bug lurks in here,
and any binary change randomly exposes this and screws up the chip.
back this out for now; until it is found.
ok oga
|
|
something. Doesn't matter right now because scsibus_attach_args only
has one field and it's mandatory, but I'm planning to move some more
fields from scsi_link to scsibus_attach_args+scsibus_softc.
ok dlg@
|
|
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@
|
|
Some gm45 and 965 are having issues and this fixes it for halex at least.
Art's machine (945gm) is also playing up but he didn't update for a year
(and the problem doesn't look like what i would expect).
|
|
scsi_link::scsibus hack to determine which channel the link is
associated with.
"looks sane" dlg@, but haven't found any testers yet; committing so
further SCSI refactorings can go in. dlg@ or I will back out or fix
if anything breaks.
|
|
3400
series) report that they do, and some BIOSes for those chipsets don't clear
the capability bit like they're supposed to. Since we know it doesn't work,
don't check for port multipliers on these controllers. Replaces my earlier hack
for a specific 3400 series device.
ok kettenis@ phessler@
|
|
accesses. we don't need to disable the interrupt on the chip. if the
interrupt isn't for us, then we should not write to lots of registers,
either.
ok oga, tested by lots of people in snapshots
|
|
The vm hackers don't use it, don't maintain it and have to look at it all the
time. About time this 800 lines of code hit /dev/null.
``never liked it'' tedu@. ariane@ was very happy when i told her i wrote
this diff.
|
|
that's ever used it, and it's long since been changed to use
DVACT_{QUIESCE,SUSPEND,RESUME} instead.
ok deraadt@, dlg@; miod@ also agreed with this idea when I brought it
up a few weeks ago
|