Age | Commit message (Collapse) | Author |
|
|
|
the ANSI way.
|
|
|
|
|
|
Just set the SDEV_NOTAGS, SDEV_NOWIDE, SDEV_NOSYNC bits in
quirks. DON'T zero all other bits that may have already been set.
Noted (and fix tested) by lebel@.
|
|
restrictions as the results of the INQUIRY command and the quirks
table indicate.
This should (for drivers that pay attention) make for more successful
communication with devices having quirks, by using the lowest common
denominator until more information is available.
Issue a second TEST_UNIT_READY command after the INQUIRY command has
been processed to allow drivers waiting for valid quirks data to set
sync/wide/tags asap. Rework a little bit of the logic to ensure that
negotiation messages produced by the TEST_UNIT_READY command do not
get mixed up with attachment messages. This has the side benefit of
putting the negotiation messages before the device description, where
they have usually been displayed in the past.
If a driver is examining and using quirks data before the INQUIRY
command is processed, and not renegotiating after the INQUIRY command,
it may now end up with async 8 bit, non-tagged transfers. Before it
would have ended up with possibly unusable transfer parameters when
talking to a device with quirks.
ok costa@
|
|
is is broken.
|
|
cd.
ok art@
|
|
well (not at all) with shortages of the vm_map where the pages are mapped
(usually kmem_map).
Try to deal with it:
- group all information the backend allocator for a pool in a separate
struct. The pool will only have a pointer to that struct.
- change the pool_init API to reflect that.
- link all pools allocating from the same allocator on a linked list.
- Since an allocator is responsible to wait for physical memory it will
only fail (waitok) when it runs out of its backing vm_map, carefully
drain pools using the same allocator so that va space is freed.
(see comments in code for caveats and details).
- change pool_reclaim to return if it actually succeeded to free some
memory, use that information to make draining easier and more efficient.
- get rid of PR_URGENT, noone uses it.
|
|
|
|
|
|
reflect SCSI-3 editorial change from QUEUE FULL to TASK SET FULL.
Use same names as NetBSD where possible.
Some from NetBSD, some from Ashley M, some from SCSI-3 docs.
Now to edit drivers to use new constants instead of their own.
|
|
space to get the most info with the least amount of wasted space.
OK krw@, niklas@
|
|
move to pools in SCSI layer.
|
|
allow empty CD caddies to be ejected.
Original diff from Alexander Guy. "pretty much straight from NetBSD"
Addition to allow eject (mt) to eject an empty tray.
ok csapuntz@
|
|
do not support 6 byte CDBs.
This quirk is used for OLYMPUS USB cameras.
Loosely based on code in FreeBSD.
ok costa@
|
|
|
|
|
|
|
|
|
|
ugly INQUIRY snooping but avoids adding even uglier #ifdef's to turn
off stuff, e.g. tagged queuing.
Add two disk drives now known to lie about supporting tagged queuing
to quirks table. One from millert@ (<MICROP, 4421-07 0329SJ, 0329>)
and one from Hakan Olsson (<SEAGATE, ST150176LW, 0002>).
Add field 'inquiry_flags2' to struct scsi_link to hold flags2 field
from struct scsi_inquiry_data. These flags relate to SCSI-3 specific
features.
Clean up some logic, eliminating need for TARF_PPR flag.
|
|
|
|
|
|
|
|
|
|
|
|
scsi_inquiry_data structure.
The last commit made the structure 57 bytes long, an odd number. This
caused problems with at least two drivers, which were not prepared to
handle the IGNORE WIDE RESIDUE message during probing. This message
apparently being generated during probes of non-existant LUNs.
Problem found on siop by Rev. Chris Cappuccio and on iha by Andreas
Gunnarsson <andreas@zzlevo.net>.
|
|
bringing it in line with the spc-2 definition of standard
inquiry data.
scsi_inquiry_data grows from 50 to 57 bytes in size.
The new 'flags2' field gives access to PPR related
information, the IUS, QAS and DT bits, used
in negotiating Ultra3 transfers.
Also add PPR related extended message defines.
ok deraadt@
|
|
|
|
process finding out the changer parameters.
Print out changer parameters only if they're changed from the last
read of changer parameters. This works for the first time, and for
99.9% of all other cases will be silent ever after. The only time
this will then be chatty afterwards is if you change something
within the changer (add a drive, etc.).
|
|
base 16; suggested by Quentin Barnes <qbarnes@urbana.css.mot.com>, ok
by costa@.
|
|
|
|
|
|
disks
|
|
that don't support it will only hang the system in boot-up for 50 seconds
as opposed to 500 seconds.
Return 0 from scsi_start if the device doesn't support START/STOP unit.
|
|
|
|
|
|
|
|
|
|
Mickey did the right thing, but we'll have to figure out what that broke as
well.
|
|
controllers can do more; presumably all the cotrollers initialize openings to the right value; also replace some spaces w/ tabs
|
|
xfers simultaneously; deraadt@ ok
|
|
|
|
Pass length of mode page, not length of fixed header
|
|
some default values
|
|
watchdog per command. Reserve 4 bits of the flags field for the HBA's
private use (e.g., for saying whether the commands in the middle of
being watchdogged....).
|
|
|
|
|
|
cdlock/cdunlock now through disk_lock/disk_unlock
|
|
Be better about handling failures of SCSI CD READ TOC command.
|