Age | Commit message (Collapse) | Author |
|
issues. No actual OKs, but general acknowledgement and 'get it in' from several.
|
|
|
|
to issue another command, since sili(4) actually checks. Fix a small
inaccuracy in a comment while I'm there.
ok dlg@
|
|
only do this if we're going to power down the machine.
"My god, it is a 3 line diff. Commit it before it gets bigger!" deraadt@
|
|
can't address block 0xffffffff in LBA mode, at least in combination with
the Hitachi HTS545032B9SA02 and HTS545050B9SA02 drives that Apple ships.
So use LBA48 mode from that block onwards.
ok marco@, deraadt@, miod@
|
|
|
|
This will be used to work around bugs in certain pciide(4) controllers.
From NetBSD.
ok jsg@, krw@, deraadt@
|
|
than 1 i/o active at once. This reduces the chances that concurrent
i/o's for such devices will confuse the device or the adapter code.
It also eliminates a reason for adapter code to maintain its own
queues.
Tweak all drivers that fake INQUIRY results to set the SID_CmdQue
flag, thus continuing to claim to be able to do tagged i/o.
Positive feedback from matthew@ and marco@ for an earlier version.
ok dlg@
|
|
|
|
|
|
no point in keeping it around.
"i like this" thib@ (a while back); ok krw@ and oga@; reminder to
update the man page and tweaks jmc@
|
|
ok dlg@ matthew@
|
|
requested by and ok krw@
|
|
the false comments.
|
|
default we now only give devices 1 openings unless both the adapter and
device support ncq and a queue depth greater than one.
tested by josh elsasser, who always seems to get hurt when i change the
openings handling in atascsi.
ok krw@
|
|
check that the midlayer is doing the right thing.
ok krw@
|
|
verifying that the resulting device is present on the disklist. This
avoids a race whereby the disk driver can be accessed as soon as the
softc has been allocated, but before the disk has completed
initialisation and has called disk_attach() (up until this point
dk_label is still a null pointer).
Cut cd(4), sd(4) and wd(4) across to disk_lookup(). All callers of
disk_attach() need to be tested and cut over in due course.
ok deraadt@ krw@
|
|
disk_attach() is called by the device driver. We will be building on
this shortly.
ok deraadt@ krw@
|
|
ok krw@ marco@ matthew@
|
|
rather than it being a pointer to something that needs to be allocated
at attach. since all these devices need a bufq to operate, it makes
sense to have it allocated as part of the softc and get bufq_init
to just initialise all its fields. it also gets rid of the possibility
that you wont be able to allocate the bufq struct during attach,
which is something you dont want to happen.
secondly, it consistently implements a split between wrapper functions
and the per discipline implementation of the bufq handlers. it
consistently does the locking in the wrappers rather than doing
half in the wrappers and the other half in the implementations.
it also consistently handles the outstanding bufq bq pointer in the
wrappers.
this hides most of the implementation inside kern_bufq.c. the only
stuff left in buf.h is for the bits each implementation needs to
put inside struct buf.
tested by thib@ krw@ and me
ok thib@ matthew@
no objection from krw@
|
|
|
|
ok miod@; "please go ahead" jsing@
|
|
and update atascsi(4) to make use of it. (Other HBAs will be updated
post-release.) Should allow for use of SATA drives with >2^32 LBAs.
ok deraadt@, dlg@, krw@
|
|
|
|
The ATA spec seems to suggest it may take up to 30s. This seems a little bit
long. To quote Theo: "by that time some drives have probably parked their own
heads in boredom". But it shouldn't hurt unless your drive is seriously
broken. Makes some laptops suspend much better.
ok deraadt@
|
|
resets separated by a small delay (a delay intended to offend jsg who will
definitely want to fix it by checking for RDY instead)
Tested on a variety of amd and i386 hardware by myself and deraadt@
ok deraadt
|
|
ok deraadt@
|
|
malloc() for now, but mark it is dma reachable, and we will pick it up
on the sweep in a while
ok matthew
|
|
later, when we trust it)
ok matthew
|
|
ok dlg@, marco@
|
|
step in elminating 'struct scsi_device' entirely.
Spotted and initial diff from matthew@.
ok matthew@ dlg@ deraadt@ marco@ miod@
|
|
disk is now ready to handle I/O.
ok krw@ dlg@
|
|
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.
|