Age | Commit message (Collapse) | Author | |
---|---|---|---|
2007-10-01 | More easy bzero() -> M_ZERO. Use 'p = malloc(sizeof(*p) ...' where | Kenneth R Westerback | |
obvious. | |||
2007-06-20 | b_cylinder does not need to be set on the callpath down into drivers. | Theo de Raadt | |
cpu_disklabel can go away, since nothing anymore needs to use it; ok miod | |||
2007-06-18 | avoid modification race in DIOCRLDINFO; ok krw miod | Theo de Raadt | |
2007-06-08 | all drivers should spoof version 1 labels | Theo de Raadt | |
2007-06-07 | strncpy -> strlcpy, plus a little spacing line up. | Ray Lai | |
OK deraadt. | |||
2007-06-06 | now that all partition size/offsets are potentially 64-bit, change the | Theo de Raadt | |
type of all variables to daddr64_t. this includes the APIs for XXsize() and XXdump(), all range checks inside bio drivers, internal variables for disklabel handling, and even uvm's swap offsets. re-read numerous times by otto, miod, krw, thib to look for errors | |||
2007-06-05 | use six new macros to access & store the 48-bit disklabel fields related | Theo de Raadt | |
to size. tested on almost all machines, double checked by miod and krw next comes the type handling surrounding these values | |||
2007-06-01 | Don't initialize d_partitions[RAW_DISK] just before calling | Kenneth R Westerback | |
readdisklabel(), since all readdisklabel()'s do that already. ok deraadt@ | |||
2007-05-31 | Kill old, no longer necessary kludge to try fooling readdisklabel() | Kenneth R Westerback | |
into using DOS geometry by calling it twice. And don't ignore the drive state if readdisklabel() returns a non-NULL value. ok weingart@ grange@ | |||
2007-04-28 | Fix comments above DISKMINOR uses. DISKMINOR provides minor not major | Kenneth R Westerback | |
number (wd.c), and the uses are to find the minimum minor to be detached. | |||
2007-04-27 | Nuke WDUNIT/WDPART/etc. defines and just use standard DISKUNIT/DISKPART/etc. | Kenneth R Westerback | |
ones. No change to wd.o. ok deraadt@ marco@ | |||
2007-04-26 | Eliminate CPU_BIOS from userland and wd(4) by always using the BIOS | Kenneth R Westerback | |
geometry in the disklabel when there is a BIOS geometry to provide. This removes the option to set a disklabel to 'BIOS' geometry via the 'g b' command in the editor. Makes reported geometry more consistant and moves MD code to MD land where it should be. Doc help from jmc@, Feedback from millert@, marco@, weingart@, kettenis@. ok deraadt@ | |||
2007-04-22 | when an ata command returns an error, dont fill dmesg with messages about | David Gwynne | |
it. returning an error to the scsi midlayer is all we need to do, which in turn will do the right thing. | |||
2007-04-12 | Do a security freeze lock like we do in wd(4) to deal with systems | Jonathan Gray | |
that leave the security set on by default. "looks sane" grange@, "looks ok" pascoe@, "put it in" dlg@ | |||
2007-04-10 | endian fixes for the read capacity handling. | David Gwynne | |
2007-04-10 | Sort ATA commands by value. | Jonathan Gray | |
ok dlg@ | |||
2007-04-08 | Use CMD_OK instead of 0, no binary change, from mickey | Pedro Martelletto | |
2007-04-05 | device signatures appear to be common to sata controllers too. | David Gwynne | |
2007-04-04 | some registers are shared amongst various sata controllers, so stick | David Gwynne | |
definitions of them here. this starts with the SStatus register. | |||
2007-04-02 | Read log page 10h to determine the NCQ error, instead of aborting all | Christopher Pascoe | |
active commands when an error is encountered. ok dlg@ | |||
2007-03-27 | OK, I understand why jsg wanted the disk_unbusy() in wdretry(), and he | Theo de Raadt | |
was right. There is another path that ends up avoiding the disk_unbusy call I inserted.... tested by robert too | |||
2007-03-25 | wdc retries (including after suspends) caused a disk to remain busy when | Theo de Raadt | |
it should not; ok dlg problem spotted using zaurus soft-drive-led diff which is pending i think i convinced jsg now that this fix is better than putting it in wdrestart | |||
2007-03-25 | kill extra space in output with diskerr(); ok jsg | Theo de Raadt | |
2007-03-24 | Complete the right scsi_xfer when processing a disk sync request. | Christopher Pascoe | |
2007-03-23 | Track the ATA xfer's state more closely - may help us identify why some | Christopher Pascoe | |
are seeing a panic at halt time. | |||
2007-03-23 | Really clear the device register on the flush cache command. Last commit | Christopher Pascoe | |
adjusted the packet and identify commands. | |||
2007-03-23 | Clear the device register on the flush cache command, in case something | Christopher Pascoe | |
that shouldn't care about don't care bits does care. | |||
2007-03-23 | Catch timed out disk commands. | Christopher Pascoe | |
2007-03-22 | Let atascsi issue NCQ commands if the controller supports it. | Christopher Pascoe | |
This includes a nasty hack to reduce openings and throw away command slots if the device supports a lower queue depth than the host controller does. Yes, we're thinking about a better solution. | |||
2007-03-21 | A polled xfer has completed and been put by the time ata_cmd returns, so | Christopher Pascoe | |
don't use xa->flags afterwards. | |||
2007-03-21 | Add support for issuing NCQ commands via AHCI. | Christopher Pascoe | |
Because you cannot have NCQ commands active at the same time as standard (non-queued) commands, we must introduce a queueing scheme into the driver. This scheme ensures that a standard command is only issued to the drive when all currently active NCQ commands have finished, and that NCQ command issue is delayed when we have a pending standard command. Additionally, the queueing scheme adds a constraint to ensure that there are never more than two standard commands issued on a port at once. This should ensure that commands become active in the order they were submitted (regardless of their command slot number) both initially and when the port is reactivated after error recovery. These points mean that issuing a standard command effectively serialises the port, which may help us implement meaningful I/O barriers in the future. | |||
2007-03-21 | atascsi sends h2d fis's, not d2h. | David Gwynne | |
2007-03-21 | replace the array of u_int8_ts for the fis/registers with a struct to make | David Gwynne | |
it a bit easier to read. there are variations on this, but they can be defined later. | |||
2007-03-20 | Be sure to reset ata_xfer flags for all PACKET transfers, otherwise we | Christopher Pascoe | |
could pick up a previous ATA_F_POLL from a previous non-data command. | |||
2007-03-20 | add missing FLUSH_CACHE commands. | David Gwynne | |
2007-03-20 | Basic FLUSH CACHE support. | Christopher Pascoe | |
Note that the ATA spec says we're should retry after error until we see no more errors. This is not (yet) implemented. | |||
2007-03-20 | Tag ATAPI transfers that have no data phase correctly, otherwise the command | Christopher Pascoe | |
isn't sent to the device. | |||
2007-03-20 | Oops, remove some unused variables and unmangle a command name. | Christopher Pascoe | |
2007-03-20 | Cap the device size we present to 2TB, just in case someone attaches | Christopher Pascoe | |
something really big. The SCSI layer isn't yet ready for it. | |||
2007-03-20 | Move common completion handling into ata_exec itself. Removes a double free | Christopher Pascoe | |
in the inquiry error paths, as the HBA will have already completed the ata_xfer with an error. Reminder and ok dlg@ | |||
2007-03-20 | Add support for ATA PACKET commands. This should make ATAPI cdrom drives, | Christopher Pascoe | |
etc, just work. | |||
2007-03-20 | move ata command definitions from atascsi.c to atascsi.h | David Gwynne | |
2007-03-20 | reorder slightly. ata bits before atascsi | David Gwynne | |
2007-03-20 | Add timeout handling for ATA commands. | Christopher Pascoe | |
2007-03-20 | nothing from wdc, wd, or any of the existing ata stuff pls. this gets rid | David Gwynne | |
of the wdcreg.h include in atascsi. "feel free to remove" pascoe@ | |||
2007-03-20 | Request "descriptor processed" interrupts only for PIO requests (inquiry, | Christopher Pascoe | |
etc), and request that the D2H FIS at the completion of all (DMA) commands generate an interrupt. This makes each data transfer generate one interrupt instead of two and should guarantee that the interrupt that is generated actually arrives after the command has completed. | |||
2007-03-20 | Calculate the residual and copy it back to the scsi_xfer, so that RW actually | Christopher Pascoe | |
works. From dlg@ | |||
2007-03-20 | Add support for issuing sector read/write commands. | Christopher Pascoe | |
2007-03-20 | Instead of having a copy of every register that we will issue in the ata_cmd, | Christopher Pascoe | |
simply include a pointer to the command FIS that we will issue to the device. Include another space where we can copy back an error register set from a failed command. This means that we can now build and issue arbitrary commands from atascsi, and retrieve errors back. | |||
2007-03-20 | Change API for struct ata_xfer allocation to move it into the device that | Christopher Pascoe | |
atascsi will be driving, and add it to the AHCI CCB. This effectively gives us all the resources we need for a transfer in one hit, meaning that we don't need to worry about whether we will have a pool shortage or not enough CCBs. The SCSI mid layer should take care to never exceed the number of CCBs we have available, based on our sc_link.openings. |