summaryrefslogtreecommitdiff
path: root/sys/dev/scsipi
AgeCommit message (Collapse)Author
2004-01-10store a i/o priority hint in struct buf for buffer queue discipline.yamt
2004-01-03More structure member namespace cleanup: thread -> ch_threadthorpej
2004-01-03More wdc_channel structure member namespace cleanup:thorpej
- channel -> ch_channel - wdc -> ch_wdc
2004-01-03Rename "struct channel_softc" to "struct wdc_channel".thorpej
2004-01-03callout_init() after memset().thorpej
2004-01-01Tidy this file up.thorpej
2004-01-01Prepend "wdc_" to wait_for_drq, wait_for_unbusy, and wait_for_ready.thorpej
2004-01-01Rename:thorpej
- wdc_xfer to ata_xfer - channel_queue to ata_queue and move them to <dev/ata/atavar.h> so they can be used by non-wdc ATA controllers. Clean up the member names of these structures while at it.
2003-12-23Some older devices do not understand the `disable block descriptors' bit inpk
the mode sense request. So fall back on mode sense data including a block descriptor section. XXX this applies to the `page 4' case. The `page 5' didn't consider the possible presence of a block descriptor at all, though it did allow the device to return one. While that's fixed now, the `page 5' mode sense does not use the `disable block descriptors' bit. I'm not sure we should bother with this at all..
2003-12-03Synchronise with <ftp://ftp.t10.org/t10/drafts/spc3/asc-num.txt>:bjh21
SCSI ASC/ASCQ Assignments Numeric Sorted Listing as of 9/12/03
2003-11-27There are some cards that map the ATA control and IDE DMA registersfvdl
in a different fashion. Individually, they have the same functionality, but their layout is different. An example of such a chipset is the Promise 203xx. To be able to deal with this, transform the cmd and dma bus_space handles into an array of handles, each seperately created with bus_space_subregion. The code generated by using the extra indirection shouldn't change much, since the extra indirection is negated by having the offset calculation already done in bus_space_subregion. E.g. bus_space_write_4(tag, handle, offset, value) becomes bus_space_write_4(tag, handles[offset], 0, value) Reviewed by Manuel Bouyer. Tested on wdc_isa, wdc_pcmcia, viaide, piixide (i386) and on cmdide (sparc64).
2003-11-18Use aprint_normal instead of printf in scsipi_print_xfer_mode().briggs
2003-11-10Spell address with two d's. Inspired by similar changes in OpenBSD,wiz
originating from Jonathon Gray and forwarded by jmc@openbsd.
2003-11-02boundary, not boundry. Inspired by Tom Cosgrove.wiz
2003-10-29freese->freeze, as pointed out by Frederick Bruck.bouyer
2003-10-29Back out the bogus initializer -- the compiler bug is fixed.mycroft
2003-10-28Fix bogus uninitialised warning.simonb
2003-10-28note 'm68k {u,}int64_t used uninitialized' bug.cl
add reference to gcc bug report. mark all (known) occurrences.
2003-10-27Appease gcc3 -Wno-uninitialized (even though blkno is clearly assigned infredb
each branch of a conditional).
2003-10-22Add a code that appeared in a PR recently.mycroft
2003-10-17Add a comment explaining the INQUIRE behavior.mycroft
2003-10-17Remove the Fuji quirk from here, too.mycroft
2003-10-16Whoops, set cmd_length correctly for the 36-byte INQUIRE.mycroft
2003-10-16Do a 36-byte SCSI 2 inquiry first, and iff that returns an additional lengthmycroft
>32 do a 74-byte inquiry. Fixes problems with devices that barf on longer inquiries. (Linux uses 36 bytes almost everywhere, as a data point.)
2003-10-15Clear chp->ch_drive[i].drive_flags if we didn't find a driver for thebouyer
drive.
2003-10-12Remove this file; ATAPI_READ_FORMAT_CAPACITIES is the same asbouyer
READ_FORMAT_CAPACITIES; atapi_flex_geometry_page should probably be the same as scsi_disk's page_flex_geometry.
2003-10-12Revert previous change.thorpej
2003-10-10Remove a quirk I added for a Hitachi drive.matt
2003-10-10Warn if a sync period requiring DT was negotiated on a peripheral notthorpej
capable of DT.
2003-10-08Make the ATA mid-layer appears as atabus, as proposed inbouyer
http://mail-index.netbsd.org/tech-kern/2003/09/25/0006.html This adds a device (atabus) between IDE controllers and wd or atapibus, to have each ATA channel show up in the device tree. Later there will be atabus devices in /dev, so that we can do IOCTL on them. Each atabus has its own kernel thread, to handle operations that needs polling, e.g. reset and others. Device probing on each bus it defered to the atabus thread creation. This allows to do the reset and basic device probes in parallel, which reduce boot time on systems with several pciide controllers.
2003-10-05Remove references to University of California from my copyright notices.bouyer
2003-09-191) Use config_interrupts() to attach IDE and ATAPI drives. This eliminatesmycroft
most polling. 2) Clean up some goofiness in pciide -- get rid of the whole "candisable" path (it's gratuitous) and simplify the code by calling pciide_map_compat_intr(), *_set_modes() and wdc_print_modes() from central locations. 3) Add a register writability and register ghost test to eliminate phantom drives more quickly.
2003-09-18Whoops, make sure 6-byte commands work again.mycroft
2003-09-18Don't print junk if an INQUIRY fails (usually with an ILLEGAL REQUEST due tomycroft
an unused LUN). Also, if the qualifier says the LUN is non-existant, don't try to attach a device here.
2003-09-18Merge the geometry and cache handling code for all direct access and opticalmycroft
devices, as it's general to all SCSI MMC devices. In the process, remove PQUIRK_NO_FLEX_PAGE.
2003-09-17If READ CAPACITY fails, try a READ FORMAT CAPACITIES. Separate this intomycroft
another function, always doing a page 0 MODE SENSE to get the block descriptor if we use READ CAPACITY, and use SMS_DBD on the page 4/5 MODE SENSE. This does one extra command in some cases, but it separates and simplifies the code a little. Why do we prefer READ CAPACITY over READ FORMAT CAPACITIES? Two reasons: 1) It's much older and is much less likely to have had its command code abused, and is thus "safer" to try first. 2) ALL of my USB flash readers and pen drives screw up their capacity descriptors -- mostly off-by-one errors in the size (they return the maximum LBA number instead, a la READ CAPACITY, which has *never* been how READ FORMAT CAPACITIES was documented in the MMC spec), and one returns the "no media" code on slots that have media inserted (despite returning almost-correct data otherwise)! F*** me with a chainsaw.
2003-09-17Remove PQUIRK_BYTE5_ZERO.mycroft
2003-09-13Don't be silent if there is no media present.mycroft
2003-09-13Make sure the "raw partition" can always be opened again.mycroft
2003-09-12Some devices really want INQUIRY to be the first command they receive. Also,mycroft
the result of the extra TEST UNIT READY was being ignored anyway. So, I wrote it, I nuke it.
2003-09-10Set up the blank fields in the INQUIRY buffer *before* executing the command --mycroft
because we can't really rely on the "additional length" being correct (any more?). Fixes some problems with devices showing up as "<, , >".
2003-09-09Make similar changes as with cd_mode_{sense,select}().mycroft
2003-09-09Remove NOMODESENSE quirks for Iomega drives -- they're totally unneeded.mycroft
2003-09-09Delete the NOMODESENSE quirks for Maxtor USB hard drives, as these are nomycroft
doubt resolved (and were never actually needed in the first place -- someone was let out without supervision).
2003-09-09In the test for whether to start the unit, I used the wrong error code.mycroft
ENODEV is only returned when we get "medium not present," which we can fail immediately on. All other "not ready" cases return EIO.
2003-09-09Exorcise PQUIRK_NODOORLOCK.mycroft
2003-09-08Oops. Fix a typo in cd_mode_select().mycroft
2003-09-08Fix an error path where we might scsipi_prevent() on a non-removable device.mycroft
2003-09-08There is absolutely no sense in having a PQUIRK_NODOORLOCK entry for amycroft
non-removable device. Nuke it.
2003-09-08If maxlun>0, automatically set PQUIRK_FORCELUNS, rather than using quirkmycroft
table entries.