Commit Graph

887 Commits

Author SHA1 Message Date
fredette 83c021b2a7 Added quirk entries for Adaptec and Emulex SCSI interposer boards.
Decode a limited set of SASI/SCSI-1 sense codes, and under sun2
only, conjure up INQUIRY responses for these boards.
2001-11-26 20:39:29 +00:00
lukem 0fa231134c - replace "defopt" with "defparam" for options which must take a value,
as config(8) will warn for value-less defparam options
- minor whitespace/formatting cleanup
- consolidate opt_tcp_recvspace.h and opt_tcp_sendspace.h into opt_tcp_space.h
2001-11-20 14:34:18 +00:00
tsutsui 859356d03b Add a new quirk value PQUIRK_CAP_SYNC for SCSI1 devices which support
sync transfers, and set PERIPH_CAP_SYNC for them in scsi_probe_device().
As per discussion on tech-kern.
2001-11-19 22:50:00 +00:00
soren eefc317219 Remove duplicate struct scsipi_start_stop. 2001-11-19 17:18:08 +00:00
soren 27e3d258cd Floptical drive needs PQUIRK_NODOORLOCK as well. 2001-11-19 16:54:20 +00:00
soren ae27210d46 Insite Floptical drive needs PQUIRK_NOLUNS. 2001-11-19 00:22:47 +00:00
tsutsui c8f45396b3 Fix formatting of scsi_quirk_patterns[] and wrap long lines. 2001-11-18 17:22:43 +00:00
lukem 2565646230 don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
lukem 7ba10b3532 add RCSIDs 2001-11-13 06:54:32 +00:00
augustss a1ba73d6c3 Add a quirk for a USB CD/RW. 2001-11-06 13:31:20 +00:00
tsutsui 5e6dd3ae03 Add common macro to check message length. 2001-11-04 12:03:03 +00:00
tsutsui f82eb7bfa1 Replace a magic number with macro. 2001-11-03 15:52:03 +00:00
bouyer da77194a02 We can't have XS_CTL_DATA_OUT and XS_CTL_DATA_IN at the same time.
Pointed out by Bernd Ernesti.
2001-10-22 16:16:00 +00:00
mjl 51a4b6098f Add ST15150N to quirk table, as per PR/13817. 2001-10-21 23:25:04 +00:00
christos 070d583bb3 PR/14256: Kevin P. Neal: Add quirk for micropolis drive. 2001-10-16 13:33:02 +00:00
bouyer 69fff4726e Refuse to register a callback if the completion thread isn't started yet. 2001-10-14 21:17:41 +00:00
bouyer a84535fd3e Call ADAPTER_REQ_GROW_RESOURCES from the completion thread, if possible.
This allows HBA drivers to call bus_dmamem_map() safely.
2001-10-14 20:31:24 +00:00
bouyer ce6aaa187a Split channel flags in chan_flags used for communications between
scsipi and HBA, and chan_tflags used for communications between scsipi
and its kernel thread. No functionnal change.
2001-10-14 19:03:43 +00:00
mjacob 87a8b82ae9 Restore previous functionality- in scsipi_periph_timed_thaw check to
make sure the completion thread is running before you try to schedule
it.

Fixes port-i386/14013
2001-09-27 18:11:06 +00:00
mjacob 79d74959da Restore previous definitions. 2001-09-27 18:07:51 +00:00
fvdl 000902fbf6 Unfortunately, the previous change seems to make most (all?) configurations
using the ahc driver hang when probing scsi devices. The problem may be in
the ahc driver and not in this change, but back it out until this has been
fixed anyway.
2001-09-21 13:54:47 +00:00
mjacob 849eac52f2 Rather than run a periph's queue from scsipi_periph_timed_thaw which is
called via a callout, kick the completion thread to run it for us (uses
a new flag, SCSIPI_CHAN_KICK).

If we've received BUSY status and we haven't started the completion
thread yet, don't freeze do a callout to scsipi_periph_timed_thaw which
then will try and kick the completion thread- instead treat the command
as if it were a polled command and just call delay for 1 second.

If DIAGNOSTIC is defined, and the periph qfreeze count is less than
zero, panic because some HBA has corrupted the periph structure's
accounting.
2001-09-18 20:20:26 +00:00
enami 750c07de04 Pass the correct pointer to atapibusprint(). 2001-09-13 06:27:23 +00:00
thorpej f7a403a447 Define more caching parameters from SCSI-3. 2001-09-03 17:14:49 +00:00
thorpej 3ac8a43f8b Comment what the PF bit means in the MODE SELECT command, and
define a scsipi_mode_page_header, which has the common fields
(page code and page length) of all mode pages.
2001-09-02 22:06:16 +00:00
thorpej dda09e1b39 Add the Force Unit Access and Disable Page Out bits to the
READ(10) and WRITE(10) commands.
2001-09-02 20:17:04 +00:00
thorpej e6bfee4968 Use the AUDIO_PAGE definition common to SCSI and ATAPI. 2001-09-02 19:53:40 +00:00
thorpej ac7519b12e Centralize the definition of the page code mask and page-savable bit
in the pages returned by MODE SENSE.
2001-09-02 19:35:20 +00:00
thorpej d737e7fda8 Oops, name the caching parameters page structure member. 2001-09-02 16:47:45 +00:00
tsutsui 354cce66e5 Use be16toh(), be32toh(), le16toh() and le32toh() rather than
ntohs(), ntohl() or homegrown bswap() functions.

XXX Does anyone use drives with PQUIRK_LITTLETOC on big endian machines?
2001-09-02 13:11:53 +00:00
thorpej 2cf7638731 Add the caching parameters mode page. 2001-09-01 02:39:21 +00:00
mjacob 18e1071fce Add table value for Ultra3, so configuring an Ultra3 disk shows:
sd1: sync (12.5ns offset 14), 16-bit (160.000MB/s) transfers, tagged queueing enabled

instead of:

sd1: sync (36.0ns offset 14), 16-bit (55.554MB/s) transfers, tagged queueing enabled
2001-09-01 00:54:38 +00:00
augustss 60ffafe273 Add a new quirk, PQUIRK_NOBIGMODESENSE, for devices that need big
SCSI ops, but still fails on big mode sense.
Makes M-Sys DiskOnKey work.
2001-08-31 07:09:41 +00:00
augustss 033a7fa40d Some quirks for USB M-Sys DiskOnKey. Still not enough to make it work. 2001-08-31 06:54:42 +00:00
ad dacf7e8e3d Don't special case the retry for Media Changed... More later. 2001-08-20 15:45:10 +00:00
ad 13499203a2 Two changes submitted by Sergey Svishchev <svs@ropnet.ru>:
- Don't send START UNIT upon open if the drive is playing audio (PR 11768).
- If we receive sense indicating that the media changed, retry (PR 8326).
2001-08-20 11:31:10 +00:00
ad ab54b70cae Cosmetic change. 2001-08-20 11:20:51 +00:00
ad 52449ef3bf Medium Not Present has number of defined ASCQs. Pointed out by Sergey
Svishchev <svs@ropnet.ru> in PR 8326.
2001-08-20 07:47:01 +00:00
ad d861b4992a Add descriptions for Medium Not Present ASCQs. 2001-08-20 07:41:14 +00:00
yamt 75ed9ccf7f fix scsipi_target_detach with wildcard target. 2001-08-19 14:05:13 +00:00
eeh 0cbe02398a Add support for smaller sector sizes so we can mount ffs filesystems. 2001-08-15 22:21:01 +00:00
bouyer f2cacede49 Adn scsipi_target_detach() and scsipi_thread_call_callback() as discussed
on tech-kern. scsipi_target_detach() accept wildcard target/lun as requested.
2001-07-18 20:19:24 +00:00
thorpej aafd882086 bcmp -> memcmp 2001-07-18 18:27:08 +00:00
thorpej 38bdc75312 bcopy -> memcpy 2001-07-18 18:25:41 +00:00
thorpej 03746a443a bzero -> memset 2001-07-18 18:21:04 +00:00
bouyer c399f05222 scsipi_set_xfer_mode(): issue a ADAPTER_REQ_SET_XFER_MODE request to adapter
only if we succesfully attached at last one device for this I_T.
2001-07-13 20:00:23 +00:00
wiz cc0b68092e Correct various misspellings of 'transfer' and inflected forms. 2001-07-08 18:06:42 +00:00
ross f54fe9f3b1 compile tweak for non-SCSIVERBOSE 2001-06-27 23:14:26 +00:00
bouyer 6a91469e6d Some ATAPI CD occasionally reports "ATA illegal indication length" for
a request sense command, but the sense is properly transfered anyway.
Ignore the error for this case.
2001-06-27 13:22:36 +00:00
bouyer 4fadc33006 Better diagnostic when a REQUEST SENSE is terminated with CHECK CONDITION. 2001-06-27 13:21:30 +00:00
bouyer 90d0e67408 Add a XS_CTL_SILENT_NODEV flag: if the sense info is "not ready, medium
not present" don't print any message but still return ENODEV.
Use this in cd driver to allow open of character raw partition even if
the drive is empty (older drives fails at LOAD_UNLOAD time, newer
ones fail at TEST_UNIT_READY time).
2001-06-26 15:32:02 +00:00
bouyer f47d097cf5 Make it compile with SCSIPI_DEBUG 2001-06-26 12:46:56 +00:00
wiz 15223234d7 Fix some typos in comments. 2001-06-24 10:18:13 +00:00
lukem b7f8c7eb86 delint 2001-06-19 10:43:26 +00:00
bouyer 49ed2592ce Add my copyrigth and remove the older ones. None of the original authors of
the st driver wrote something in this file.
2001-06-18 09:41:06 +00:00
bouyer 0a63f01fef Snapshot of ATAPI tapes support. Known to be able to read/write to tape with:
st0 at atapibus0 drive 1: <Seagate STT8000A, , 5.51> type 1 sequential
removable
Major changes may still happen in order to properly support other ATAPI
tape drives.
2001-06-18 09:05:05 +00:00
bjh21 4bc5a3b295 Add explicit support for IDE and SCSI adaptors which don't support interrupts.
On such adaptors, all transfers are done in polling mode.

OK'ed by Manuel on tech-kern.
2001-06-13 18:17:38 +00:00
pk b9e61207ff Add nolun/nosync quirk for "IBM CDRM00201 !F"
See PR#13031.
2001-06-11 13:58:18 +00:00
bouyer 88f3192778 Fix typo in sddump() which caused core dumps to fail with ENXIO. 2001-06-01 08:39:54 +00:00
tron 264d7e1264 Install "dev/scsipi/scsipi_cd.h" again because it is e.g. used by the
CD player include in version 2.x of the "kdemultimedia" package.
2001-05-31 21:54:07 +00:00
bouyer 708bb529d3 uninitialised variable (from Krister Walfridsson):
in st_cmprss(), init flags to 0 (never changed, but this should change soon
anyway, for ATAPI tapes support)
2001-05-30 20:28:17 +00:00
mrg c13e3a6693 use _KERNEL_OPT 2001-05-30 11:40:35 +00:00
chs ffcbc851a0 fix some problems in sddump() with uninitialized variables. 2001-05-29 01:02:39 +00:00
bouyer 72b4ba8aed In scsipi_channel_thaw(), if the count drops to 0, call scsipi_run_queue(). 2001-05-23 15:50:32 +00:00
chs fae4d6d720 fix typo in previous revision so that the scsi code compiles again. 2001-05-23 02:16:19 +00:00
mjacob b9eb902304 Make SDRETRIES an option you can dig out of opt_scsi.h.
Add SD_IO_TIMEOUT (an option in opt_scsi.h) also, which defaults to the
normal 60 * 1000 timeout for normal read/write commamds. This allows you
to shorten or lengthen the timeout as needed.
2001-05-22 18:59:57 +00:00
mjacob 38f6ada8b6 Add SDRETRIES and SD_IO_TIMEOUT option for sd. 2001-05-22 18:58:15 +00:00
bouyer 2a604875d6 Remove one extra byte from scsipi_mode_select; pointed out by Juergen
Hannken-Illjes.
2001-05-22 15:14:24 +00:00
mjacob 3462fe5d99 Remove reference to adapter_q in scsipi structure. Comment about the
usage of channel_q.
2001-05-21 15:50:46 +00:00
christos 2ed6d9dbf7 PR/12991: Dave Huang: DVD ioctls don't work because we send the wrong size
CDB (16 instead of 12).
2001-05-20 21:07:58 +00:00
is 5c9dc5b0d0 When abusing structs to describe on-wire (or in-hardware) data structures,
they need to be packed. (Without this, breaks on at least m68k.)
2001-05-18 21:11:43 +00:00
enami e4334b830d Don't capitalize the word sync or async. It's inconsistient with other
messages.
2001-05-18 16:25:07 +00:00
bouyer 8b5bf22895 Workaround for broken drives (explained to me by Chris G. Demetriou):
some devices can't handle tag number larger than some values and always
reject commands with QUEUE FULL if the tag number is larger than this.
Under some circonstances the scsipi system may not decrease periph_openings
(as a workaround of other odd behavior) and we may end up requeuing the command
with a hight tag value again, and the driver could loop on this.
Workaround: in case of queue full, decrease periph_openings to
min(periph_active - 1, periph_openings - 1) so that, after some iteration,
periph_openings is less than the max tag value acceptable by the device.

Solves the problem with tagged queuing on ncr53c9x for me.
2001-05-18 12:56:28 +00:00
bouyer 7ddcb8122d SDEV_DB -> SCSIPI_DB 2001-05-17 20:02:56 +00:00
lukem b6b83e2ec3 delint; use MAX(sizeof(..),sizeof(..)) instead of max(...) for array size 2001-05-15 14:03:27 +00:00
lukem 13a9902fc6 delint: can't have an empty case item at the end of a switch; need a ; at least 2001-05-15 13:53:20 +00:00
bouyer bc980d7eba Use SCSI/ATAPI common definition for MODE_{SELECT,SENSE}{,_BIG}. Define
functions to send theses commands in scsipi_base.c and use them instead
of ad-hoc commands setups.
2001-05-14 20:35:27 +00:00
drochner 06fc2f85cc Since __HAVE_OLD_DISKLABEL, DISKMINOR(u, p) isn't continuous over "p"
anymore. So we can't pass a range to vdevgone() but have to loop over the
partitions explicitely.
(otherwise the next device unit will be killed)
2001-05-06 18:30:56 +00:00
hannken 3446a61cb3 Fix a typo from thorpej_scsipi merge. No-sense information with retval == 0
should only print if SCSIPI_DEBUG is defined.
2001-05-06 11:31:08 +00:00
bouyer 27155d9a6d Add an ATAPI front-end to the st driver. Completely untested for now,
but st at scsi should still work :)
2001-05-04 07:48:56 +00:00
bouyer 28d47d8db3 Use same type for first field of struct ata_atapi_attach and struct
scsipi_channel, so umass has better chances of working on big-endian systems.
2001-05-02 09:47:45 +00:00
lukem 85772a1cef remove some lint 2001-04-30 02:34:58 +00:00
tsutsui 862125c057 Don't forget to set XS_CTL_DATA_OUT (that was removed in previous). 2001-04-28 09:33:25 +00:00
thorpej 335ac52a5b Use simple tags for read and write, unless B_ORDERED is set, in
which case we use an ordered tag.
2001-04-28 04:11:31 +00:00
bouyer 74b15b27a2 Don't forget to call psw_done() ! 2001-04-27 21:36:58 +00:00
bouyer 937a7a3ed9 Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
  ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
  to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
  peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
  recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
  scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
  (no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
  set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
  the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
  will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
augustss e4cc721094 Correct the opcode for SCSI_MODE_SENSE_BIG. 2001-04-19 10:16:25 +00:00
jdolecek 372e5956ef Only install headers which are actually used by our userland. This
saves about 2.2MB under /usr/include/dev/. Discussed on tech-kern@
recently.

I HOPE to get the list right. The headers I left in are ones
used for MI tools and those whose usage I discovered by grep over tree sources.
Feel free to put needed includes back in if you encounter anything which
should not be removed from lists.
2001-04-11 07:42:31 +00:00
augustss 95af1455f2 The ZiO! MMC adapter doesn't have a flex geometry page. 2001-04-01 19:05:44 +00:00
augustss 2ff439c85c Add quirks for Panasonic MultiMediaCard adapter (attaches via USB). 2001-03-20 22:39:51 +00:00
augustss 93b623b541 Extend quirks to 32 bits. Add two new ATAPI quirks, one to
deal with a bad byte5 of the capacity descriptor, one to
handle devices that lack the flex geometry page.
2001-03-20 22:39:08 +00:00
explorer b12c43f70a Only lock the pack in if the disk device is a removable one. This fixes a
problem with Hitachi SCA drives
2001-03-09 16:07:39 +00:00
fvdl b72e6ca276 Add quirks for VMware emulated disks, for NetBSD as a guest OS. 2001-02-26 22:31:27 +00:00
lukem 3aeb5f2f29 whitespace police 2001-02-24 01:59:46 +00:00
pk 672f49bfa2 Turn off command tagging by default for pre-SCSI2 devices. 2001-02-16 22:54:27 +00:00
mycroft f2d987f8a4 Force certain commands (i.e. DVD authentication) to PIO mode. They are
explicitly not supported in DMA mode, and generally return an `illegal field
in CDB' error.
This should have been done ages ago.
2001-01-22 07:00:39 +00:00
kenh 4a962c6cd9 Retry requests if the CD-ROM drive returns the sense code "Device in
Process of Becoming Ready".
2001-01-19 22:47:46 +00:00
jdolecek 34c8ae80da constify 2001-01-18 20:28:15 +00:00
fvdl d040bd5908 Return error in the case of using ODIOCGDINFO or ODIOCGDEFLABEL when
the number of partitions is > OLDMAXPARTITIONS. This is better
than silently truncating the label (don't want to silently throw
away partitions when using an old disklabel binary on a label with
> 8 partitions). From Enami Tsugutomo.
2001-01-08 02:03:45 +00:00
fvdl e2d1c1f926 Adapt all disk devices in MI directories to handle ODIOC* calls
for ports that have bumped MAXPARTITIONS (and thus define
__HAVE_OLD_DISKLABEL).
2001-01-07 18:09:01 +00:00
augustss 5806434428 Call vdevgone() with correct minor range. 2001-01-01 18:34:12 +00:00
augustss 2f1e60b46c Support device detach.
Don't call scanjet_attach() for all HP scanners.
Also, ANSIfy while I'm here.
2001-01-01 18:28:49 +00:00
ad 2f5cf27275 PR 6402: some SCSI devices use \377 as blank, so adjust scsipi_strvis(). 2000-12-31 17:54:29 +00:00
thorpej b0c9cd5f7b ALTQ'ify. 2000-12-14 07:27:21 +00:00
augustss a48cc8927a Don't access (in core) disk label of a removable disk that is not there. 2000-12-08 02:30:51 +00:00
ad 9ecde86321 I2O HBAs provide an abstracted view of the bus; use SCBUSIOLLSCAN to give
them an oppertunity to re-scan it before we do.
2000-12-03 13:30:36 +00:00
wiz 972c941cf6 Fix typo in comment reported by Tetsuya Isaki in kern/11587. 2000-11-29 12:49:56 +00:00
chs f6b62f776c avoid division and remainder operations for devices where
the sector size is DEV_BSIZE (ie. practically everything).
2000-11-24 00:17:35 +00:00
soren a622a1b6d2 Remove obsolete comment. 2000-11-22 00:32:24 +00:00
thorpej b84f740be0 Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach(). 2000-11-15 01:02:11 +00:00
pk fbf62501af Mark the "TOSHIBA, XM-4101TASUNSLCD" CD-R for a-sync operation only. 2000-11-14 08:52:35 +00:00
pk 8ba559d056 st_touch_tape(): Pass XS_CTL_SILENT to st_mode_select(). 2000-11-03 12:08:41 +00:00
pk 4c7351ec7d * st_touch_tape(): start probing at the block size from the sense data if
we have it.

* st_unmount(): reset density to the device default. This prevents using
  stale density values after changing to a medium with different density.

  Section 9.3.3 of the SCSI specs states that a device shall return the
  density value specified in the last succesfull MODE SELECT after an
  unload operation, in case it is not able to automatically determine
  the density of the new medium.
2000-11-03 10:46:18 +00:00
pk e3aaa6c1ab * Per st(4), retrieving status and setting modes on the control device
should succeed even if no media is loaded.

* In stopen(), check the return value of st_mount_tape().
2000-11-03 10:22:02 +00:00
pk f71476a62f Introduce ST_Q_ERASE_NOIMM, a quirk indicating that the device rejects
an ERASE command with the `Immed' bit on.

Use it on the VIPER 21247 & 21531.
2000-11-02 13:34:59 +00:00
pk e4958f1fe6 Prevent printing sense information twice. 2000-11-02 13:12:58 +00:00
pk 9c058471c3 Remove useless check for SDEV_MEDIA_LOADED from st_read_block_limits().
This command should work whether or not media is present in the device.
2000-11-02 00:56:59 +00:00
pk 3867a66a9a * In st_touch_tape(), don't bail out if the MODE SELECT fails since we are,
after all, probing the device for acceptable parameters.

* In st_loadquirks(), copy mode-specific quirks from the quirk table
  to `st_softc'; otherwise all such quirks save ST_Q_FORCE_BLKSIZE are ignored.
2000-11-02 00:52:15 +00:00
ad 5df1120c67 Add some more completion status codes. 2000-10-05 11:23:05 +00:00
thorpej 7ca3fb9ef0 Move the check for "promisc + unicast + not for us" into ether_input(),
and change Ethernet drivers to always pass all received frames to
ether_input() (with a few exceptions, which are documented in the
code).
2000-10-01 23:32:39 +00:00
ad 382141e2f7 Add a new, optional method to scsipi_adapter (scsipi_accesschk()), and use
it when considering whether to attach devices. This is to facilitate
`non-SCSI' RAID controller drivers that want to provide SCSI pass-through
services to the kernel.
2000-09-22 16:45:17 +00:00
matt b0c9fcd14a Add a NOPREVENT quirk which prevents the sending of PREVENT messages (some
manual 9track tapes don't support it).  Add a quirk entry for the NCR H621
9track tape drive.
2000-08-16 19:22:25 +00:00
mjacob 927f61818e Add "SYMBIOS" processor type to the SDEV_NOLUN category. These are usually
the GEM chips on a Sun D1000- and they cause Qlogic SBus firmware to blow
chunks if you access past lun 0.
2000-08-13 00:03:01 +00:00
mjacob 9766fcf2be Don't attempt to actually read SAF-TE temperature objects- nobody seems
to be obeying the original spec as to what the numeric value means.

Temperature flags are unaffected- these are still the 'pseudo-thermometers'
and overtemp/undertemp warnings will be caught and translated to SES objects
here.
2000-08-08 22:55:30 +00:00
mjacob 295864adef During probe, use SCBUSACCEL ioctl to adapters that support it to
enable fast/wide/tagged.
2000-08-08 22:46:03 +00:00
bouyer 8464bde7e8 If the SET_FEATURE for piomode is rejected, fallback to mode 0 instead of
reporting an error.
This fixes the "piomode error (0x4)" problem with some ATAPI ZIP drives
reported on port-i386.
2000-08-03 23:14:31 +00:00
bouyer 1b00421876 Add quirk entry for NEDICOM CRD-BP2, from kern/10738. 2000-08-03 12:36:08 +00:00
sommerfeld ed9ce99d8c printf format paranoia 2000-07-08 17:12:08 +00:00
mjacob b47890a934 Reserve top nibble of status for use by the HBA. It's up to the
HBA to set or clear it.
2000-07-06 01:56:23 +00:00
thorpej cde72a2c2b Garbage-collect __BDEVSW_DUMP_OLD_TYPE. 2000-07-05 23:31:12 +00:00
mrg 261538ecac remove include of <vm/vm.h> 2000-06-28 16:39:25 +00:00
mrg 666116dd21 <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 16:38:37 +00:00
bouyer 12d3bf8c1a Add a callback (*irqack), for controllers that need special action to ack
the interrupt once it has been ack'd on the drive.
2000-06-12 21:10:40 +00:00
enami 5a4b9fcbbf Prevent a process being swapped out during I/O if the data buffer is
allocated on stack.  This potential problem is noticed by Noriyuki Soda
and the idea and sample code to fix is given by Jason R. Thorpe.
2000-06-09 08:54:19 +00:00
soren cd4324537d Density codes are usually given in decimal, so print them that way. 2000-06-06 17:16:02 +00:00
phil d09ecbdf2a Add an entry for the HP ScanJet 6300C. 2000-05-31 23:10:39 +00:00
fvdl c0f99cc74a Initialize xs_status to 0 after allocating a scsipi_xfer struct. Makes life
easier for driver debugging.
2000-05-31 11:14:25 +00:00
augustss 72684ce3ec Add a method, scsipi_getgeom, to the adapter struct. If this method is
present it will be used to get the drive geometry if the MODE SENSE fails.
2000-05-31 09:15:48 +00:00
augustss 6b0b8292ff Add NOMODESENSE quirk for TEAC USB floppy. 2000-05-30 15:16:41 +00:00
augustss 61143a446c Add NOMODESENSE quirk for Y-E data floppy (thanks Jason for reminding me). 2000-05-30 01:49:19 +00:00
augustss 997c3c5b8a Add a quirk, SDEV_ONLYBIG, which implies that the device cannot handle
the 6 byte versions of READ, WRITE, and MODE_SENSE.
This greatly simplifies the UFI (USB Floppy) handling.
2000-05-30 01:08:23 +00:00
bouyer 405302008d ADEV_CDROM -> SDEV_CDROM, for consistency. 2000-05-29 20:13:06 +00:00
gmcgarry 4ba1e04ba2 Handle ADEV_CDROM in quirks table.
Quirk entry for another Toshiba cdrom.
2000-05-28 07:03:59 +00:00
fvdl cb5289547f At least try to do something useful in the XS_BUSY case; don't cause
a panic by sleeping in an interrupt context.
2000-05-27 23:59:58 +00:00
bouyer e662e86225 sd_interpret_sense() can be called from interrupt context; call scsipi_start()
with XS_CTL_ASYNC if the failed command was called with XS_CTL_ASYNC.
Add a SDF_RESTART flag to keep state, cleared in sddone().
A mounted disk can now spin down, it will propely spin up at the next access.
2000-05-23 10:20:14 +00:00
bouyer 373582e298 scsipi_get_xs(): if we have XS_CTL_URGENT, return an xfer even if
active >= openings. An XS_CTL_URGENT command could otherwise fail, especially
if openings == 1.
2000-05-23 10:16:43 +00:00
thorpej f5d4219e96 Remove an used variable and add a missing `}' so that this compiles. 2000-05-22 16:52:03 +00:00
kleink 5f56eae96a Add a quirk table entry for the OnStream ADR50 Drive;
from S.P.Zeidler <spz@serpens.swb.de> in kern/10118.
2000-05-19 06:55:42 +00:00
thorpej 463931b3ba Nuke dk_establish() from orbit except from those ports which still use
it to determine the boot device: mvme68k, pc532, macppc, ofppc.  Those
platforms should be changed to use device_register().  In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
2000-05-16 05:45:44 +00:00
dante ceb378e070 Add few peripheral device type
Remove "???" from T_IT8_1/2. They actually are pre-press devices for graphic arts as described by ASC IT8
Zeros and blanks scsipi_inquiry_data from byte 58 to byte 74 if additional_length is less than 58
2000-05-15 16:35:49 +00:00