Commit Graph

200 Commits

Author SHA1 Message Date
pk c94277bcbc Remove NOTAG quirk for the Seagate ST11200N; the cause of the failure that
prompted this entry was actually a driver bug.
2003-02-10 08:10:51 +00:00
bouyer 6acd95acc8 Add PQUIRK_NOLUNS entry for "NEC ", "CD-ROM DRIVE:502".
Fixes PR kern/18479
2003-02-01 21:38:09 +00:00
bouyer 0e0c2ae01d Remove revision in quirk entry for TOSHIBA XM-4101TASUNSLCD. The same drive with a newer revision also fails, so assume all revisions are bad until proven otherwise. Should fix PR kern/19912. 2003-01-27 18:55:24 +00:00
pk d15d3cbfc0 Add two disks capable of doing synchronous transfer mode, but don't
report SCSI2: "MICROP 1924" and "FUJITSU M2266"
2003-01-09 12:25:00 +00:00
thorpej 72a7af27b0 Use aprint_normal() in cfprint routines. 2003-01-01 00:10:15 +00:00
jdolecek 661f8e80e2 Add NOLUNS|NOSYNC quirk for NEC CD-ROM DRIVE:222.
Change sent in PR kern/19286 by Dave Barnes.
2002-12-05 10:39:58 +00:00
jdolecek e0cc03a09b merge kqueue branch into -current
kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
2002-10-23 09:10:23 +00:00
soren 3a89aff59e Slightly simplicy the SCSI device attachment message:
- Use the plain words 'disk' and 'tape' instead of 'direct' and 'sequential'.
- Media status will be printed in the frontend, so don't bother with it.
- Don't bother printing the SCSI version, which is fixed these days, or the
  numberic device type.
2002-10-04 17:53:33 +00:00
thorpej b75a007d9f Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
thorpej 239b192ca3 Use CFATTACH_DECL(). 2002-09-30 23:07:07 +00:00
thorpej f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
thorpej 6c88de3b53 Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller.  Use it
rather than invoking cfattach->ca_match directly.
2002-09-27 03:17:40 +00:00
jmc c7258354f0 Force the initial probes to happen within the newly forked off kthread.
This eliminates problems where the underlying interrupt handler isn't the
specific layer calling scsipi_complete() for a given scsi transaction.
This avoids deadlocks where the kthread that called the autoconf routines
to configure a scsibus shouldn't be the one put to sleep waiting on a
scsipi_complete (only the scsibus's kthread should be doing that).

To avoid jitter this will force the scsibus's to probe in the order they
run through autoconf (so machines with multiple bus's don't move sd* devices
around on every reboot).
2002-09-19 08:31:05 +00:00
gehenna 77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
bouyer 36969486b0 Add yet another broken sony cdrom. This one, in addition to broken LUN
handling, has broken sync negotiation. Also add PQUIRK_NOWIDE to be safe.
Fix PR kern/17773.
2002-08-02 08:00:36 +00:00
matt 7a023d8f5f Add a quirk for a HITACHI driver (CAP_SYNC|CAP_WIDE16). 2002-07-23 21:10:16 +00:00
bouyer 3d5ee1e719 Change PQUIRK_CAP_SYNC to set PERIPH_CAP_SYNC aslo for devices that
improperly claim to only support DT clocking.
Add a PQUIRK_CAP_WIDE16 quirk.
Add a quirk for IBM DXHS36D SCSI disk (claims to only support DT).
2002-05-15 11:43:22 +00:00
thorpej ca83c89dd4 A statement must follow a label. 2002-05-05 06:01:28 +00:00
bouyer 15c40f8b5b The IBM drive I have here supports DT, but claim version 3 only.
So check for version 3, not 4 when looking for DT support.
This should be safe as these bits are reserved for older devices, they
should be set to 0 when not supported.
2002-04-23 17:28:43 +00:00
bouyer e49057af19 Report SPC-2 features (DT clocking, quick arbitration and selection,
information unit transfers) though periph_cap.
2002-04-23 09:09:55 +00:00
joda 518cc55c27 Maxtor D040H2 also can't modesense 2002-04-15 12:40:28 +00:00
bouyer 4940346b10 Add a chan_name to struct scsipi_channel, holding the channel's name.
Set this to dv_xname for scsibus and atapibus.
Set the name of the kernel thread to chan_name instead of controller's
name:channel number (so that we can use this name for controller-specific
threads).
2002-04-01 20:37:41 +00:00
chs bbc8f01aef add a quirk for some disks I have that don't like tagged queuing. 2002-03-16 23:26:34 +00:00
uwe 2536236e11 Add notag quirk for Seagate "ST11200N SUN1.05". 2002-01-23 18:13:08 +00:00
augustss 8164bd8bae Move some USB device quirks to the umass_quirk table. 2001-12-29 14:06:18 +00:00
augustss b965a7d6eb Remove some quirk entries that are handled in umass_quirk now. 2001-12-29 13:55:02 +00:00
nathanw 5dbef63175 Use PQUIRK_ONLYBIG for all Olympus cameras, not just the C-1.
Use PQUIRK_ONLYBIG for the PQI TravelFlash.
2001-12-27 18:57:46 +00:00
nathanw 8d1585affa The Olympus C-1 engine cameras seem to need the PQIRK_ONLYBIG quirk. 2001-12-14 22:15:52 +00:00
bouyer 4809ad42cb Clean up attach of wd/atapibus:
kill ata_atapi_attach. Change atapibus to use a struct scsipi_channel instead
of ata_atapi_attach as attach arch. Create a ata_device, compatible with
scsipi_channel, to attach wd.
2001-12-02 22:44:32 +00:00
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
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 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
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
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
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
pk b9e61207ff Add nolun/nosync quirk for "IBM CDRM00201 !F"
See PR#13031.
2001-06-11 13:58:18 +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
fvdl b72e6ca276 Add quirks for VMware emulated disks, for NetBSD as a guest OS. 2001-02-26 22:31:27 +00:00
pk 672f49bfa2 Turn off command tagging by default for pre-SCSI2 devices. 2001-02-16 22:54:27 +00:00
jdolecek 34c8ae80da constify 2001-01-18 20:28:15 +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
pk fbf62501af Mark the "TOSHIBA, XM-4101TASUNSLCD" CD-R for a-sync operation only. 2000-11-14 08:52:35 +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