Commit Graph

277 Commits

Author SHA1 Message Date
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
94d26d3017 - Eliminate scsi_conf.h
- Fix prototypes
- Fix PR/2248 [Problems with HP scanjet...]
1996-03-30 21:47:00 +00:00
christos
beec8ba94c Eliminate scsi_conf.h. 1996-03-30 21:44:50 +00:00
mrg
1180bee580 eliminate unused variables. 1996-03-29 14:50:12 +00:00
cgd
4b535677ab fix pasto: sdminphys -> cdminphys in comment. 1996-03-27 01:11:41 +00:00
mycroft
f20498187e SDUNIT -> CDUNIT in last. 1996-03-27 00:48:50 +00:00
mycroft
5ed22a9852 Put back dk_establish() for now. 1996-03-26 22:22:19 +00:00