Age | Commit message (Collapse) | Author |
|
command used in ncq error recovery fails. Fixes 'ccb->ccb_xa.state ==
ATA_S_ONCHIP' assertion failures when talking to dying disks.
broken disk supplied by Aidan Rowe
ok dlg@
|
|
controller, but other brands (jmicron and intel have been tested)
don't like something in the sleep process so they just lock up.
|
|
ok dlg@
|
|
from Brad, ok jmatthew mikeb.
- Have the SB700 attach routine properly call the IDE to AHCI
function and migrate the ATI_SBX00_SATA_1 PCI id to using
the SB700 attach routine. The SB600 routine was being used
because it does the proper call. This just makes it so all
of the SB700 controllers use the same attach routine, especially
incase any other workarounds/errata type things come up or
not setting SB600 things for SB700.
- Have the Hudson-2 attach routine set the AHCI_F_IPMS_PROBE
flag to resolve the issue with Port Multiplier support. The
SB700 attachment function was being used because it was
setting the flag. This also fixes the other Hudson-2 AHCI
controllers so they won't experience the same issue.
|
|
recovery again results in a panic as the ccb used for error recovery is
already in use.
ok dlg@, tested by benno@
|
|
From Brad, ok mikeb@
|
|
Ok by mikeb@ and deraadt@
|
|
is called before the command is started. This might have resulted
in the timeout firing and invalidating the command before it is
started. Move the timeout_add_* inside the relevant splbio()/splx().
ok miod@ tedu@
|
|
ahci_hibernate_io, a skeleton of which is also provided in this diff.
This code is from deraadt@. Tested on a few wd machines to ensure it works
there as well.
|
|
As a side effect, we now restore the correct (original) command register
value rather than one read halfway through the reset process, which
gets port multipliers working on some ATI devices. Also tested on JMicron
and Intel AHCIs.
ok dlg@
|
|
only useful for debugging.
ok dlg@
|
|
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@
|
|
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@
|
|
Unknown whether this also applies to product id 3b23 as well as 3b22.
Problem reported by John Danks in PR6630
ok dlg@
|
|
on my non-msi capable ahci and several msi capable setups. Dark
suspicions that some will NOT work so put it in to smoke any such
systems into the open.
ok deraadt@ mk@ kettenis@
|
|
to have a non-changing function pointer be part of an object rather
than it's virtual method table.
ok dlg@; tested on ahci(4) by Mattieu Baptiste, jasper@, and Jason
Crawford; no sili(4) testers, but identical changes to ahci(4)
|
|
rid of noise during boot.
reported by many.
|
|
port init.
problem reported by RD Thrush in PR6590
|
|
atascsi goes and throws away all the ccbs that the disk wont use, including
the reserved one.
this makes ahci reserve its own ccb.
light testing by krw@ without regression.
|
|
ok matthew@ tedu@, also eyeballed by at least krw@ oga@ kettenis@ jsg@
|
|
memory used for i/o.
ok dlg@ deraadt@
|
|
about it unless we want verbose debug shizz.
|
|
quiet unless we want verbose output.
|
|
issues. No actual OKs, but general acknowledgement and 'get it in' from several.
|
|
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.
|
|
/* XXX maybe more than the default wait is appropriate here? */
in ahci_port_portreset() is true, at least when we come out of suspend.
Allow a timeout of 3s here while keeping all the other delays at 1s.
ok dlg@, kettenis@
|
|
lets ahci work on jcr's Alienware M17x.
ok dlg@
|
|
but it seems to work reliably on several laptops.
ok dlg@ (a while ago), tested by mlarkin@ and marco@
|
|
ahci_ata_cmd is called with might be the state of the xfer that
ahci set previously. this stops ahci_ata_cmd from checking the
state of ata_xfers its given, and instead trusts that atascsi is
doing the right thing.
reported and fix tested by matthew dempsky, who also did an awesome
job of tracing the problem.
|
|
ok krw@
|
|
written to detect the Intel RAID metadata format such that we no longer risk
overwriting it. If this makes you lose your disks, you'll need to change the
controller type from RAID to AHCI in the BIOS to get them back.
ok marco@, deraadt@
|
|
|
|
|
|
|
|
drives.
Reported on misc@ by 'a b <rclocal () yahoo ! co ! uk', who also
tested the diff from Brad.
ok kettenis@ for 4.7.
|
|
the driver fails to detect disks. From Wouter Coene, ok jsg@
|
|
on error as the spec requires. This triggers kernel assertion
error because zero is read from the register and wrong ccb is picked
from the queue. To cope with it if there's only one outstanding
command get its slot number from the active commands mask, otherwise
fail all active commands.
ok krw@ dlg@
|
|
way. Fixes ahci on my Acer Aspire AX1800-E9102.
Clue from jsg@, ok deraadt@.
|
|
makes the disks in a dell 960 work. there's probably a lot of other ids
that should be added here too
|
|
now return void. all state about a command is now represented within
the ata_xfer structure, and all layers using it (both hba and
atascsi) now check only ata_xfer.
this relies on my scsi midlayer changes. it was written just before
the second last backout of the midlayer.
|
|
from brad
|
|
|
|
needs to be told to use the nvidia specific quirks to
detect attached devices.
From and tested by minusf@obiit.org
|
|
|
|
|
|
and ok kettenis@
|
|
as additional argument. This will allow intermediate layers between
scsi devices such as sd and scsi host adapters to take appropriate
action if necessary.
|
|
No functional changes.
ok krw@ miod@
|
|
from Marko Pecic. thanks!
|
|
from form@.
ok dlg, krw
|