Commit Graph

287 Commits

Author SHA1 Message Date
mikel 4a6b41b8fe garbage collect unused variable (was this struct declaration orginally
a typedef?); from Enami Tsugutomo in PR kern/3282.
1997-03-04 06:25:22 +00:00
thorpej 15b56daab6 If posting an error condition because the media has been unloaded,
make sure to set the residual count to reflect that no data was
transfered.

From Naofumi HONDA / MINOURA Makoto, PR #3007.
1997-02-21 23:03:25 +00:00
thorpej 850b75414f - Tidy up some printf code in chattach().
- Implement a simple quirks framework for changers.
- Add a quirk for the Spectra 9000 8mm tape library; it requires a
  slightly-longer-than-1-minute delay to take tape inventory.  Many
  thanks to David Webster at Cygnus Solutions for testing this for me.
1997-02-21 22:06:52 +00:00
thorpej 625d310b1b Handle optical disks a little better, from Naofumi HONDA / MINOURA Makoto
in PR #3009, with some slight KNF from me.
1997-02-21 21:51:59 +00:00
jeremy 2eff5a6059 Fix typo in comment. 1997-02-21 07:14:21 +00:00
cgd c05e715a52 kill use of strchr(); it's moving to libkern 1997-01-18 02:18:47 +00:00
cgd 73f996ef33 note in a comment (XXX) that strchr() (what's it doing here, anyway?)
causes 'const' to be discarded.
1996-12-22 10:35:08 +00:00
mycroft e1a87dc790 Make sure to initialize the memory we just allocated. 1996-12-14 10:50:32 +00:00
thorpej f113ac70dd Add a "max_target" member to struct scsi_link, which is filled in by
host adapter drivers, indicating the highest SCSI target they can
address.  Use this value to dynamically allocate data structures, rather
than hard-coding 8 targets.

These changes allow targets > 7 to be addressed on wide SCSI busses.

Fixes PRs #1674 and #2892.
1996-12-10 21:06:29 +00:00
cgd ea0c7b4423 update these so they compile whether or not __BROKEN_INDIRECT_CONFIG
is defined.
1996-12-05 01:06:39 +00:00
thorpej 3ae1a191dc Recognize the HP ScanJet 4p, per PR #2663 (Kenneth Stailey). 1996-12-03 01:25:53 +00:00
thorpej 40611b811f Start a mode sense with a clean sense buffer.
Fixes PR #2953, from David M. Stanhope <dms@celtech.com>.
1996-11-29 19:58:40 +00:00
thorpej f3c0cc95a1 Add an inquiry pattern for the HP ScanJet 4p.
From Valtteri Vuorikoski <vuori@notcom.org>, PR #2957.
1996-11-29 19:53:32 +00:00
thorpej f6ffe73a99 Add Yet Another Broken CD-ROM Drive to The List.
From Lennart Augustsson <augustss@cs.chalmers.se>, PR #2971.
1996-11-29 19:51:14 +00:00
explorer f0873310e2 Another quirky cdrom drive ; pr kern/2917 1996-11-08 05:06:55 +00:00
mikel 19bb57bc5a Add another broken CDROM. Fixes PR kern/2913.
Some misc. cleanup.
1996-11-06 05:50:31 +00:00
matthias c53ad1988a * At least the Teac FC-1 Shugart-SCSI bridgeboard does motor on/off
management by itself. But when it gets a start unit request, it keeps
the floppy motor running all the time. This adds code for dealing with
yet another quirk (SDEV_NOSTARTUNIT) that prevents sd.c from sending
start unit requests. A entry for the Teac FC-1 is added to the quirk
table.
1996-10-23 07:25:39 +00:00
explorer efccf77947 Add quirk entries for two more optical drives; closes pr kern/2861 1996-10-18 17:22:17 +00:00
christos 9a2c8cf28c revert previous kprintf change 1996-10-12 23:23:13 +00:00
christos 9beb92aad7 printf -> kprintf, sprintf -> ksprintf 1996-10-10 23:32:59 +00:00
christos 01d75c7c68 - printf -> kprintf, sprintf -> ksprintf
- make this compile cleanly.
1996-10-10 23:31:40 +00:00
christos d5bc24be7a - printf -> kprintf, sprintf -> ksprintf
- replace sequences of sprintf(p, ...);  p += strlen(p) with p += sprintf(p,
1996-10-10 23:30:58 +00:00
gibbs b9c06e6fa3 dev/microcode/aic7xxx/aic7xxx.seq,
dev/microcode/aic7xxx_seq.h,
dev/ic/aic7xxxreg.h:
  Remove intrinsic knowledge about SDTR and WDTR messages and replace it
  with a generic message system that allows the kernel driver to handle
  SDTR, WDTR and any other type of extended message it chooses too.  This
  makes the sequencer code much simpler, makes extended message handling
  debuggable since the bulk of the work is in the kernel driver, and saves
  lots of instruction space.

  Regen microcode header file.

dev/ic/aic7xxx.c, dev/ic/aic7xxxvar.h:
  Add code to handle WDTR and SDTR negotiation in light of the changes in
  the message interface to the sequencer.  Don't reject targets that
  negotiate async by sending an SDTR with a 0 offset.  Use an sdtr message
  with 0,0 to negotiate async when a target suggests a period that is too
  long for us to handle.  Some tape and cdrom drives don't like us doing
  the message reject that we did in the past.

  Fix a problem with handing the QUEUE FULL condition.

  Fix a race condition (most likely the cause of the SCB paging problems) that
  might allow the sequencer to get unpaused before the condition that caused
  it to be paused (a SEQINT) was handled.

  Race condition pointed out by Doug Ledford <dledford@dialnet.net> and
  by "Dan Willis" <dan@plutotech.com>.

dev/pci/ahc_pci.c:
  Add support for the 2940AU, an aic7860 based controller.

dev/pci/pcidevs.h, dev/pci/pcidevs_data.h:
  Add product IDs for the 2940AU, aic7860 and aic7855.

  Regen data file.

scsi/scsi_message.h:
  Add MSG_EXT_SDTR_LEN and MSG_EXT_WDTR_LEN - the length of bytes in these
  extended messages.

Thanks to Chuck Cranor <chuck@maria.wustl.edu> for testing these changes
out for me.
1996-10-08 03:04:02 +00:00
thorpej d3f587e135 For ioctl commands which may change the device's state, ensure that
the caller has the device open for writing.
1996-09-18 02:34:31 +00:00
thorpej fcde57a426 For ioctl commands which may change the device's state, ensure that
the caller has the device open for writing.
1996-09-13 00:35:59 +00:00
thorpej 9aeee9fb17 Remove a couple of opcodes that are already (and more appropriately)
defined in scsi_changer.h
1996-09-12 01:57:17 +00:00
thorpej f60341a382 Store the SCSI version in the scsi_link, and set the LUN in the CDB
if the version is <= SCSI-2.  This should help some older SCSI
devices that previously needed the "NOLUNS" quirk.  While this is
not strictly necessary on SCSI-2 devices, the spec allows it,
so we set it for SCSI-2 devices "just in case".  See section 7.2.2 of
Draft X3T9.2 Rev 10L for details.
1996-09-03 18:20:31 +00:00
cgd 11ec3588ad (1) add a 'channel' field to scsi_link.
(2) in scsibusmatch, match channel as appropriate.
(3) add a scsiprint() function, to do the "scsibus at..."
    and channel (if not SCSI_CHANNEL_ONLY_ONE) printing,
    i.e. the common functionality that all SCSI drivers currently
    should be doing.
1996-08-28 18:47:51 +00:00
cgd 2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
explorer c87188f1bd be quiet about read_subchannel. Some CD players use this to poll, and having
a screen filled with kernel messages isn't nice.  Closes pr kern/817
1996-08-13 08:55:38 +00:00
explorer 5c3b7a7213 Fix condition where disk_unbusy may not get called 1996-08-13 08:31:31 +00:00
thorpej 27e2d3eee3 Match any Maxtor XT-8760S for the SDEV_NOLUNS quirk. Some of these
drives carry Sun OEM identifiers, as well.

Noticed by Taras Ivanenko <ivanenko@ctpa03.mit.edu>.
1996-07-24 20:50:23 +00:00
is a7efb38d4c Some MUSTEK scanners fill the vendor string in the SCSI identify
string with 0xFF instead of 0x20. Shorten the compare to 6 bytes to
take care of this.

Fixes PR #2617 by myself, which is based on a private problem report
by Neil Brewitt.
1996-07-12 16:49:50 +00:00
explorer 9c8111508d Add SCSI_QUEUE_FULL ; part of pr port-i386/2600 1996-07-10 22:48:56 +00:00
explorer 228f4739ce add ZIP quirk for SDEV_NOMODESENSE 1996-07-05 21:58:04 +00:00
christos 7e1c82f6f4 - Apply PR/2535: Add support for flex scsi disks.
- Add a quirk called SCSI_NOMODESENSE for drives like the iomega jaz,
  that don't support mode sense.
1996-07-05 16:19:02 +00:00
thorpej 56543dfb7d In sddump(), don't check the SDEV_MEDIA_LOADED bit of the device, since
that bit might have been cleared by successful unmounting of all filesystems
on the dump device, e.g. in the case of "reboot -d".
1996-06-04 23:12:14 +00:00
thorpej a0be48ca23 Implement ST_Q_UNIMODAL quirk, which indicates that a drive will reject
all attempts to mode select, even if the attempted mode is supported.
Add the ST_Q_UNIMODAL quirk for the HP Colorado T4000s which exhibits
this behavior.  (Someone please lob a tactical nuke in that direction.)

From David Rosenthal <dshr@vitria.com> on netbsd-bugs.
1996-05-24 02:04:29 +00:00
christos a7136623a9 Added prototypes for inline functions atoi() and strchr(). 1996-05-18 22:58:01 +00:00
mycroft e03577c2a4 Slight adjustments for new version of ahc driver. 1996-05-16 04:00:58 +00:00
leo 153c617719 Clear SDEV_MEDIA_LOADED bit on the last close of a device. This causes the
geometry info & the disklabel to be reloaded on each 'first-open' of the
device.
1996-05-14 10:38:47 +00:00
thorpej 1379322cde Print the error code in the "not queued" message, to make debugging
a bit easier, and make sure a newline gets printed.
1996-05-14 00:10:37 +00:00
mycroft 7f0f603f3a Bug fixes from PR 2329, plus a few from me. 1996-05-11 22:21:51 +00:00
christos 0efbe64fb8 Cleanup the rest of the SCSIDEBUG printfs. From Bernd Ernesti. 1996-05-05 19:52:50 +00:00
christos 88c3808921 - SCSIDEBUG printf() fixes. 1996-05-03 19:48:20 +00:00
neil c4b8477b78 Added another quirked SCSI device, re PR 2320 from Manuel Bouyer 1996-05-02 01:09:01 +00:00
christos ffd5576439 remove include of <sys/cpu.h> 1996-04-22 01:44:31 +00:00
christos 3c0096ff79 gcc -Wall delinting: unused variables, assignments inside if's and missing
arguments in printf statements.
1996-04-19 00:02:29 +00:00
thorpej 52fee18c6f New SCSI media changer driver, written from scratch by me. Some
influence from the old driver (written by Stefan Grefen) and from
an autochanger driver written by the Systems Programming Group at the
University of Utah Computer Science Department (currently residing
in src/sys/arch/hp300/dev/ac.c).
1996-04-03 00:25:21 +00:00
christos 9fdd088514 Remove unneeded file.. 1996-03-30 21:49:17 +00:00