Age | Commit message (Collapse) | Author |
|
From Matthew Dempsky.
|
|
breaks at least socppc and armish
|
|
comments from dlg@.
No need for a separate bufq.h, keep all of in buf.h; As requested by kittens
and deraadt.
Only sd(4) and wd(4) for now. The rest of the drivers will be converted soon,
also other goodies like heuristics for sd(4) for selecting the bufq type and
the death of disksort() are forthcoming.
Tested on: i386, amd64, sparc64, macppc, loongson and alpha by myself and
phessler.
OK art@, beck@, kettenis@, oga@
|
|
disks for a few minutes there.
|
|
ok krw@, marco@
|
|
many laptops when powering them down.
ok jsg@, oga@, krw@
|
|
gets rid of #include <sys/dkio.h> in sys/ioctl.h and adds #include
<sys/dkio.h> to the places that actually want and use the disk
ioctls.
this became an issue when krw@'s X build failed when he was testing
a change to dkio.h.
tested by krw@
help from and ok miod@
|
|
provisioning bits in read cap 16
|
|
disks on ATI SBx00 care is mysterious but let's keep them working.
Fix tested by Josh Elsasser, submitter of PR#6365. Thanks!
ok dlg@
|
|
identifier, allowing the disk to be identified without relying on the
device name.
ok deraadt@ krw@ beck@ marco@ todd@
|
|
SCSI when you're talking to a scsi to ata translation layer (satl). this
implements the ata command ioctl handler in scsi_ioctl.c that wraps the
ata command requests up in these scsi commands and then issues them against
the hardware. this cuts atascsi over to interpreting these scsi commands
rather than the ioctls directly.
this should allow mpi users (with a relatively recent firmware) to use
atactl against their SATA disks. i cant test cos my mpi(4) parts are too
old to either support these scsi commands or too old to take recent
firmwares.
ok marco@ @krw tested by krw@ and me on ahci/atascsi
|
|
and makes the ioctl path more reliable on busy disks by allowing it to
sleep in the runqueue for an io to use.
mk@ did the original diff and figured most of the problems out. ok mk@
|
|
inquiry against the device up to when the port is probed. this has been
bugging me for ages.
|
|
pciide(4) needs to formward DVACT_SUSPEND and DVACT_RESUME events to its
children, so do that.
Gets rid of the nasty "click" sound from the disk on many laptops.
ok marco@, jsg@
|
|
indicates the LBA of the first logical block that is located at the
beginning of a physical block
implemented as best as i can by my understanding of the spec. not tested
yet.
|
|
factoring the processing that the limits vpd page does out.
this will be easier when i get hold of a disk that does provide values in
these ata identify fields.
|
|
|
|
ever seen one, but the spec describes how to do it.
|
|
bigendian archs.
|
|
|
|
pages. this if the first step in figuring out if disks use a different
physical block size compared to the logical block size they present to the
operating system.
|
|
void. Use XS_NO_CCB error in the scsi command (xs) to report the
NO_CCB condition. Eliminates all SUCCESSFULLY_QUEUED and COMPLETE
confusion and untangles the midlayer from the adapter a bit more.
Eyes and some fixes by miod@
There may be some compile issues on little used (i.e. I don't have
any) drivers but the change is mechanical and thus easy to remedy.
ok dlg@
|
|
else cares so it's just noise. Drivers that actually look at ITSDONE
are unchanged.
ok marco@ (for his files) dlg@ beck@
|
|
to swap to use.
this diff doesnt swap fields the identify structure when its fetched, but
adds a function that swaps them and copies them into a destination buffer.
there is no functional change to the existing users of these fields,
specifically the scsi inquiry faker and the device serial vpd page.
this does fix the devid vpd page though. if a disk has a wwn we now present
it correctly.
|
|
turns out you cant send atapi devices the ata IDENTIFY command, they dont
grok it. you have to send a PACKET IDENTIFY instead, which is exactly the
same but with a different command id.
this diff changes it so we send a PACKET IDENTIFY to atapi devices.
my diff "broke" this because it actually checks to see if the IDENTIFY
succeeded rather than just completed. the previous code was wrong with
regard to atapi devices. it is just lucky we dont use the IDENTIFY output
for atapi devs.
my apologies to marco@ and krw@
|
|
we have to exec a command (with ata_exec) before we check if its done with
ata_polled. of course an unstarted command will not be done.
found by and debugged with krw@
ok krw@
|
|
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.
|
|
|
|
This is needed for the addition of further suspend/resume actions.
Okay deraadt@, marco@.
|
|
check their return values in the ATA_S_COMPLETE ioctl handler.
dlg@ agrees.
|
|
errnos. Note that the error strings are being ignored, since we long ago
decided to not spam the console, and there is no other nice way to use the
errors (without changing the ioctls to pass it back)
The errno is now useful, since we can pass b_error from failing IO up, and
the drive can decide how to use that
ok miod
|
|
have been going on. this appears to bring us back to stable state.
lots of testing by oga and ariane and my self.
|
|
one by tedu@. It doesn't do anything smart yet, it just uses
plain old disksort. we also keep the old method of queueing bufs
since some miods have crazy MD drivers that need some love.
ok beck@, art@
tested by many on many archs.
|
|
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@
|
|
Found by LLVM/Clang Static Analyzer.
ok krw@
|
|
|
|
Really just the low-hanging fruit of (hopefully) forthcoming timeout
conversions.
ok art@, krw@
|
|
OK deraadt@ and millert@
|
|
Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.
OK deraadt@
|
|
RAW_PART will always be 0 -> disksize, so the bounds check will always
pass for i/o's to valid addresses. Now the i/o will be properly truncated
if it goes past the end of the device. This prevents various adverse
impacts of issuing i/o's for data past the end of the device.
Repeatedly requested by todd@.
ok weingart@ deraadt@
|
|
set the flags and quirks for a device. Should fix weird issues where
the device after an ATAPI device gets marked as ATAPI. First reported
on misc@ by Daniel Wade, who also provided some useful testing.
ok dlg@
|
|
|
|
from NetBSD
ok krw thib henning, tested by many
|
|
|
|
not a good idea.
found by simon@ who plugged a sata dvd drive into ahci.
|
|
device before issuing scsi commands to it, but it was never implemented,
never used, and no hba actually filled them in. i came along and added
another two function pointers for the same thing.
this cleans up the extra pointers.
ok krw@ marco@ miod@ deraadt@
|
|
|
|
|
|
disk provides a wwn, use it, otherwise do our best to generate an id from
the model and serial number.
|