Commit Graph

1479 Commits

Author SHA1 Message Date
enami 674f6e4d18 Regen. 2001-11-23 10:30:49 +00:00
enami 9930efdacf Add product id of EPSON GT-9700F. 2001-11-23 10:29:30 +00:00
augustss cdc819cd8a Improve xfer abort sequence.
Fix another bug in qTD chain allocation.
2001-11-23 01:16:27 +00:00
augustss 6d8419a6cc Handle Zip quirks differently.
Ugh!  This driver need major overhaul.
2001-11-23 01:15:28 +00:00
augustss 6f95b070ca Update mass storage protocol numbers. 2001-11-23 01:14:45 +00:00
augustss 37c8189778 Correct a comment. 2001-11-22 21:59:33 +00:00
augustss 7467533f5a Improve dump routine slightly. 2001-11-22 04:31:01 +00:00
augustss 6e3a855c27 Fix a bug in qTD chain allocation.
Fix a qTD leak.
Handle out of memory conditions better.

My USB 2.0 CD-RW now mounts nicely and I can access files.
Performance is still lacking (it's at about 2Mbyte/s).
2001-11-22 04:20:49 +00:00
augustss bc136d1c2e Make it compile without debug. 2001-11-21 16:22:58 +00:00
augustss 9dae283057 Add another "feature". 2001-11-21 16:12:56 +00:00
augustss b2dc7b3fd3 Follow a safer protocol when updating the QH.
The EHCI driver isn't really working properly, but now the SCSI driver
correctly identifies my CD-RW drive! :-)
2001-11-21 16:05:13 +00:00
augustss 2c4813fa9d Use NULL not 0. 2001-11-21 15:48:37 +00:00
augustss df1a49923c Fix indentation and typos. 2001-11-21 15:37:41 +00:00
augustss 5539d5afe6 Implement (incorrect?) data toggle clear method.
Implement allocation of qTD chains.
2001-11-21 14:00:12 +00:00
augustss 6bba920516 Wrap dump routine prototypes in #ifdef USB_DEBUG 2001-11-21 13:44:47 +00:00
augustss ca0b46691f Mask correct interrupt after error interrupt. 2001-11-21 13:43:38 +00:00
augustss 02f41ec3e6 Mask the correct interrupt after a door bell interrupt. 2001-11-21 13:42:19 +00:00
augustss 0adc2bbba2 Implement bulk transfers. 2001-11-21 13:04:50 +00:00
augustss 2d72c2726c Add some interrupt processing. 2001-11-21 12:28:23 +00:00
augustss 4d4da7e06a Fix typo in comment. 2001-11-21 12:25:55 +00:00
augustss 1029005107 Pay more attention to if the HC is being unplugged. 2001-11-21 08:18:39 +00:00
itojun bf755aea42 make it compilable without OHCI_DEBUG 2001-11-21 05:52:50 +00:00
augustss c907a8fbbd Add missing } 2001-11-21 02:47:07 +00:00
augustss 4f7b354305 Set up control xfers.
Handle xfer timeouts.
Better debug messages.
2001-11-21 02:44:30 +00:00
augustss 28a6a57942 Use a task to perform the timeout abort so we have a process context when
sleeping.
2001-11-21 02:41:18 +00:00
augustss 5506bb0f06 Some more debug stuff. 2001-11-21 02:39:31 +00:00
augustss 2478d1b320 Cast some args to bitmask_snprintf(). 2001-11-21 02:38:35 +00:00
augustss b171d0908b Create a special kernel thread to run the usb short lived tasks (instead
of using the device discovery threads).
2001-11-20 23:53:26 +00:00
augustss 9716a5f26d Don't bother with interrupts when being disconnected. 2001-11-20 21:12:46 +00:00
augustss a8de831b24 Support port indicator light. 2001-11-20 16:25:35 +00:00
augustss 2f560c9410 Sanity check max packet lengths. 2001-11-20 16:09:01 +00:00
augustss 7679101a11 Add a comment. 2001-11-20 16:08:37 +00:00
augustss e5353fd3b5 Use longer reset for root hubs (as told in the spec). 2001-11-20 16:08:10 +00:00
augustss 8366f16a80 Don't wait for door bell interrupt when controller has been disconnected. 2001-11-20 14:28:44 +00:00
augustss 86e6ea35eb Update for new speed handling. 2001-11-20 13:50:07 +00:00
augustss a598bed92e Simplify async list handling. 2001-11-20 13:49:23 +00:00
augustss b38958f960 Use device speed in setup.
Simplify async list handling.
2001-11-20 13:49:07 +00:00
augustss 7e4459fe10 Keep track of device speed for USB 2.0. 2001-11-20 13:48:03 +00:00
augustss 482dbdf4e3 More USB 2.0 definitions. 2001-11-20 13:46:09 +00:00
augustss 2db9b8d2c8 Start of pipe open routine. 2001-11-19 02:57:16 +00:00
augustss 0f70418027 Add more fields to hardware structs.
Add memory allocation for various data structures.
2001-11-18 00:39:46 +00:00
augustss 1f6462461a Make it possible to report device speeds with ioctl(USB_DEVICEINFO). 2001-11-17 01:49:53 +00:00
augustss 25ffd2ae73 Regen. 2001-11-17 01:44:03 +00:00
augustss c434bdf8c7 Yet another device. 2001-11-17 01:43:40 +00:00
augustss b2b2b2b448 Implement port reset sequence correctly. 2001-11-16 23:52:10 +00:00
augustss f73c358f8c Add some more data structure defs. 2001-11-16 15:33:13 +00:00
augustss 3b323cfaae Better error message. 2001-11-16 02:21:54 +00:00
augustss 3db4a768d4 Handle devices that disappear during reset gracefully. 2001-11-16 01:57:47 +00:00
augustss 07ea2e28cb Recognize port status changes.
Hand over low and full speed devices to companion controller.
2001-11-16 01:57:08 +00:00
augustss 122d2863d8 Add root hub emulation. 2001-11-15 23:25:09 +00:00
augustss b684cbc2a7 usbd_interface2device_handle() cannot fail. 2001-11-15 15:15:58 +00:00
augustss effc318eca Regen. 2001-11-14 17:50:44 +00:00
augustss 77a68c4bf2 Add another printer dongle. 2001-11-14 17:50:21 +00:00
augustss cec12bf775 Remove trailing `b' in some numbers for lengths. It just makes them look
like hex.
2001-11-13 08:01:40 +00:00
augustss d6e38a1474 More test for NULL pipes. 2001-11-13 07:59:32 +00:00
augustss 9dcae667ee Small changes to behaviour when disconnecting. 2001-11-13 07:57:22 +00:00
augustss b93fa89e60 Fix pasto in a debug printf. 2001-11-13 07:56:04 +00:00
augustss 8b1e2b3b6d Add some #endif comments. 2001-11-13 07:55:30 +00:00
lukem 667807e40c add RCSIDs 2001-11-13 06:24:53 +00:00
atatat e6de03653d Don't set 'atapi_probe_device' if no atapi busses are being configured. 2001-11-11 23:21:18 +00:00
augustss 9a444aef81 Get rid of unused abort_handle. 2001-11-10 17:11:38 +00:00
augustss 21f0709fbe Abort any xfers on the control pipe before closing it on detach. 2001-11-10 17:10:42 +00:00
augustss ff875692db Improve dump routines. 2001-11-10 17:09:28 +00:00
augustss 1b0216af5c Add some register defines.
Print companion controllers.
2001-11-10 17:06:11 +00:00
augustss 3d963db4f2 Add some dump routines for debugging. 2001-11-10 16:54:56 +00:00
augustss 02186d8353 Small portability improvement. 2001-11-10 16:53:32 +00:00
augustss 495b9bd7d5 Fix a bug in xfer abort processing when the HC executes ahead of what
the driver aborts.
Don't block RHSC interrupts.
2001-11-09 15:01:57 +00:00
augustss 3dd8433864 Add a debug message. 2001-11-09 14:59:11 +00:00
augustss 1315ed7da5 Regen. 2001-11-09 05:49:53 +00:00
augustss 1018a07d67 Add a device (from OpenBSD). 2001-11-09 05:49:09 +00:00
augustss a7fd78b8b5 Fix a bug in the DIAGNOSTIC version of the detach. 2001-11-07 14:13:35 +00:00
augustss 14e5f669c2 Improve some debug messages. 2001-11-07 02:55:04 +00:00
augustss 6e85b5b6c5 Add a workaround for broken ports (e.g. macppc) that do not call
cnpollc before cngetc in DDB.  DDB now works with USB console on Macs.

Don't frob the LEDs if nothing changes.
2001-11-07 02:52:47 +00:00
augustss 80c2d1c262 Regen. 2001-11-06 12:59:45 +00:00
augustss 0c8d23832b Add DMI CD/RW drive (my first USB 2.0 device!). 2001-11-06 12:59:17 +00:00
augustss 4469f30685 Add some USB 2 related definitions. 2001-11-06 12:29:48 +00:00
augustss c342a3beab Add some useful macros. 2001-11-06 03:16:17 +00:00
augustss 41756e36f8 Regen. 2001-11-01 17:25:37 +00:00
augustss 16c1f136e5 Reorder two entries in numerical order. 2001-11-01 17:25:05 +00:00
augustss 492a03edae Regen. 2001-11-01 11:06:45 +00:00
augustss 44345ed1ac New device (from OpenBSD). 2001-11-01 11:06:18 +00:00
augustss 46679564db Add a DIAGNOSTIC test. 2001-10-28 17:16:58 +00:00
augustss 3deca4b069 Use the usb callout macros. 2001-10-28 16:53:21 +00:00
augustss 17ba384efc s/usbd_alloc_report_desc/usbd_read_report_desc/ 2001-10-26 17:58:21 +00:00
augustss dc901ef1f3 Compare pointer with NULL instead of using them as a condition. 2001-10-26 17:53:59 +00:00
mycroft a79508e9d8 Regen. 2001-10-26 03:47:47 +00:00
mycroft ff3d1952b4 Disambiguate Orbit symbols. 2001-10-26 03:47:31 +00:00
mycroft 4f05bf08da Regen. 2001-10-26 03:29:02 +00:00
mycroft 0b572b9434 Add a different ID for the Kensington Orbit. 2001-10-26 03:28:03 +00:00
augustss dddb1ab51d Add some conditional compilation so we can have atapibus, but not scsibus. 2001-10-25 23:56:02 +00:00
augustss e0ec4407e6 Better debug messages. 2001-10-25 22:43:24 +00:00
augustss 437bf56d24 Fix pasto. From Andreas Johansson <ajo@rockstorm.se>. 2001-10-25 13:45:16 +00:00
augustss 8076bdb790 Regen. 2001-10-25 13:43:56 +00:00
augustss c6f7926716 Add Logitech Cordless Desktop Optical. 2001-10-25 13:43:30 +00:00
augustss 12cafbf382 Regen. 2001-10-25 11:17:46 +00:00
augustss 78bed7c076 Remove Inc, Ltd, AB, Gmbh, etc. to be consistent (and save a few bytes). 2001-10-25 11:17:18 +00:00
augustss bcab1556e8 Regen. 2001-10-25 11:04:36 +00:00
augustss 782a2cd1cc Add Olympos C-700. (From FreeBSD) 2001-10-25 11:04:18 +00:00
augustss ea0061b951 Change reset sequence to get status change bits set right on startup. 2001-10-25 02:08:13 +00:00
augustss 8c7d06c6f9 Add commented out match level feature. 2001-10-24 22:31:04 +00:00
augustss 3c51e46294 Regen. 2001-10-24 21:49:07 +00:00
augustss 5bd2b33be2 Add a PS/2 adapter. 2001-10-24 21:48:38 +00:00
augustss 1f93717101 Some more paranoia tests when entering the interrupt routine. 2001-10-24 21:04:04 +00:00
augustss 80d988187f If we are the console and we have DDB then events must not be delivered
from the interrupt routine since this will enter the USB interrupt
processing recursively during polling.
Now ukbd can be used as console keyboard for DDB!
2001-10-24 21:02:18 +00:00
augustss adca9c589f More debug. 2001-10-24 20:20:03 +00:00
augustss 5c2ee5ebed Make sure interrupt pipe is closed when detaching console keyboard. 2001-10-24 15:31:06 +00:00
augustss 97d4315865 Better debug message. 2001-10-24 15:30:17 +00:00
augustss 1c11481abf More null pointer checks in dump routine. 2001-10-24 00:42:05 +00:00
nathanw 48bdb0d067 Match printers that report their interface as IEEE 1284 in addition to
bidirectional.
2001-10-19 15:30:25 +00:00
ichiro 190ebf4d1f regen 2001-10-17 15:44:50 +00:00
ichiro b45d3009cf add Dallas Semiconductor product
USB-FOB/iBUTTON
2001-10-17 15:44:22 +00:00
augustss 9ba9477c1a Regen. 2001-10-11 12:05:39 +00:00
augustss 9ec0bc09c1 Add Epson 1650. 2001-10-11 12:05:10 +00:00
augustss a969ff5460 Add a reference counter to avoid blowing away the softc while frobbing
the MII registers.
2001-10-10 02:14:16 +00:00
augustss adfbf61e48 Regen. 2001-10-08 03:38:24 +00:00
augustss 3d25ac0f24 Add some more Ethernet adapters (info gleaned from Linux). 2001-10-08 03:37:53 +00:00
augustss 4e23e486b8 Regen. 2001-10-07 22:31:02 +00:00
augustss cafdfc900c Add Epson 640U. From Chris Baird <cjb@brushtail.apana.org.au> 2001-10-07 22:30:33 +00:00
pooka ac8c8ee3fd regen; iPAQ 2001-10-06 15:03:34 +00:00
pooka c70a35c897 iPAQ PocketPC 2001-10-06 15:02:22 +00:00
thorpej a5aff000fc Match the UMAX Astra 3400. 2001-10-05 00:31:06 +00:00
thorpej 7853ec7367 Regen; add UMAX Astra 3400 scanner. 2001-10-05 00:24:52 +00:00
thorpej 919f3bb120 Add UMAX Astra 3400 scanner. 2001-10-05 00:24:25 +00:00
augustss 1339e88a86 Add a new optional method, dev_ioctl, to the audio hardware driver interface.
It is called when an unrecognized ioctl() is performed on a device,
thus allowing ioctl()s that frob the hardware driver (like loading
microcode).
2001-10-03 00:04:47 +00:00
pooka 1e72a22c49 move DIAGNOSTIC-printf up one block to make it reachable
noted by Christophe Kalt in private email
2001-10-02 17:59:38 +00:00
tshiozak d645f8862c fix for Roland/EDIROL UM-880.
- add NULL check to UMQ_ISTYPE; sc_quirk is NULL for genuine umidi, but
    forgotten to check.  Thus, kernel will panic after connect the device.
  - fix how to count the number of endpoints in alloc_all_endpoints_genuine().
  - add a quirk for the native mode of UM-880.
2001-09-29 22:00:47 +00:00
augustss 37583aadfc Reenable RHSC interrupt after one second so hot plugging works.
(From OpenBSD.)
2001-09-28 23:57:21 +00:00
augustss c5a4cc1291 Only clear the endpoint on stall (from FreeBSD). 2001-09-28 23:42:16 +00:00
augustss 901a3da087 Regen. 2001-09-28 23:41:33 +00:00
augustss ef7e225e59 Rename Accton adapter (from FreeBSD). 2001-09-28 23:41:09 +00:00
tshiozak f32aef24fd Roland UM-880 has two modes each assigned product IDs.
UM880N (0x0014) : Native mode.
	UM880G (0x0015) : Generic USB MIDI mode.
2001-09-28 20:36:46 +00:00
tshiozak 114e12bdf1 add a new device; ROLAND/EDIROL UM-880 MIDI I/F with patcher. 2001-09-28 19:10:59 +00:00
jdolecek de311f11c3 Match the Diamon Rio800. Reported working by Chris Lloyd in kern/14064. 2001-09-25 21:08:44 +00:00
yamt 4242cee2bd make ugen use updated frlengths. 2001-09-16 18:06:32 +00:00
wiz 456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
yamt 1f460cfc38 make it compile when defined(USB_DEBUG)&&defined(SCSIPI_DEBUG)&&!defined(SCSIDEBUG) 2001-09-15 16:47:41 +00:00
yamt 46f9dd9228 correct debug messages. 2001-09-15 16:16:27 +00:00
augustss 8a0aea16c1 Don't go top mode OPERATIONAL (before reset) on startup even if BIOS claims to
have initialized the controller.
2001-09-11 07:00:19 +00:00
augustss 0ef77d096d Regen. 2001-09-06 11:45:55 +00:00
augustss 7eed4a548d Add a Todos smartcard reader. 2001-09-06 11:45:33 +00:00
gehenna 0999a72932 The latest EHCI spec is 0.96 2001-08-20 07:16:35 +00:00
augustss a8415c10db Clear busy flag on write error. From PR 13731, IWAMOTO Toshihiro. 2001-08-16 22:31:24 +00:00
augustss 64e123faaf If there was a vendor+product locator match return a higher match value.
Rationale, if you have a device (e.g., a mouse) with a more specific
driver but want to recognize it with the more generic driver you can
do that by supplying vendor and product locators for the generic one.
2001-08-15 00:06:49 +00:00
augustss dfe96bae01 Add a little infrastructure so that individual drivers can easily check
if thee was a vendor+product locator match.
2001-08-15 00:04:59 +00:00
augustss be12c4395c Don't write back status bits that are cleared when written. 2001-08-06 15:15:08 +00:00
augustss cf037802c2 Add an I/O Data adapter. 2001-08-03 11:17:17 +00:00
augustss c7aac1f4ef Regen. 2001-08-03 11:16:50 +00:00
augustss 5c01e15b22 Ad an I/O Data Ethernet adapter. 2001-08-03 11:16:24 +00:00
ichiro 6a036b85d9 correct interrupt pipe of USB-RSAQ1.
sc_intr_iface was defined newly,
and interface of interrupt was kept in sc_intr_iface.
2001-07-31 12:33:11 +00:00
nathanw 9f36932334 Add the constant for the IEEE 1284-mode protocol for the printer
class, as given in revision 1.1 of the USB printer class spec.
2001-07-23 15:17:50 +00:00
ichiro 3cd8eb40b0 support to change of CRTSCTS
change uplcom_reset parameter
2001-07-20 21:03:41 +00:00
augustss fa4d95379a Prototype for aue_reset_pegasus_II(). 2001-07-19 09:40:40 +00:00
augustss cc0b3cc208 Add support for Pegasus II adapters (from Linux).
Add a bunch of adapters.
2001-07-16 18:33:13 +00:00
augustss 3daa873a7e Regen. 2001-07-16 18:31:19 +00:00
augustss fc8666f1da Some line permutations. 2001-07-16 18:31:00 +00:00
augustss 87791333ae Reorganize the table of adapters slightly. 2001-07-16 16:15:12 +00:00
augustss f82d5c6424 Regen. 2001-07-16 15:39:22 +00:00
augustss e71f79ca0b Add a bunch of ADMtek Ethernet adapters. 2001-07-16 15:38:48 +00:00
augustss 298ec741b8 Alphabetize. 2001-07-16 13:54:23 +00:00
augustss 5d1d09b8fb Alphabetize. 2001-07-16 13:49:20 +00:00
augustss bd538b438b Regen. 2001-07-16 05:04:51 +00:00
augustss f4d7e2e9d6 Add SOHOware NUB100. From OpenBSD. 2001-07-16 05:04:29 +00:00
augustss 981c2a6401 Rearrange register dump when the controller is dying. Fixes PR 13430. 2001-07-11 14:11:00 +00:00
augustss eb7db20548 Don't reset twice. 2001-07-11 04:53:48 +00:00
augustss c0e4279dad Minor formatting fix. 2001-07-11 04:53:18 +00:00
augustss e352032894 Regen. 2001-07-11 03:38:04 +00:00
augustss 0f983514e6 Add a remote control from Keyspan. 2001-07-11 03:37:41 +00:00
augustss 45ece248c0 Add an Abocom adapter. 2001-07-04 16:38:09 +00:00
augustss 17231dcaee Regen. 2001-07-04 16:37:47 +00:00
augustss d9fb01804c Add an Abocom adapter. 2001-07-04 16:37:26 +00:00
augustss 020d906c3a Null a pointer on error return. 2001-07-04 16:23:40 +00:00
nathanw f71391cb6c Move the check for successful attachment to earlier in the detach
routine, to avoid referencing nonexistent data structures.
2001-06-15 18:05:36 +00:00
itojun 4d51fe368b change the meaning of ifnet.if_lastchange to meet RFC1573 ifLastChange.
follows BSD/OS practice and ucd-snmp code (FreeBSD does it for specific
interfaces only).

was: if_lastchange get updated on every packet transmission/receipt.
now: if_lastchange get updated when IFF_UP is changed.
2001-06-14 05:44:23 +00:00
wiz 2a8c778f1b retrieve, not retreive 2001-06-12 14:59:27 +00:00
tron d29b7bb88c Regen from "usbdevs". 2001-06-10 13:10:46 +00:00
tron 8a6a34f18e Add Philips PCA646VC PC Camera. 2001-06-10 13:10:25 +00:00
enami 85fb541842 Fix typo; print sc->aue_intr_errs instead of sc->aue_rx_errs when
reporting interrupt errors.
2001-06-07 10:55:15 +00:00
augustss 147c9186b5 Remove overly paranoid test (and not in the spec either). From OpenBSD. 2001-06-04 06:01:40 +00:00
augustss d7079b251e Regen. 2001-06-04 06:00:43 +00:00
augustss db2a5598b4 Add the Logitech iFeel mouse.
(Now that's a weird device, perhaps I'll write a driver for the vibration
feedback.)
2001-06-04 06:00:20 +00:00
bouyer 3fccfbf68d Uninitialised variables, from Krister Walfridsson: in umass_scsipi_request()
initialize cmd before using it. Now that it's initialised earlier, use it
instead of xs->cmd
2001-05-30 20:31:39 +00:00
tshiozak 83da433ada fix for UX96 (and all Yamaha specific devices, hopefully).
- fix how to get endpoint addresses.
  - fix allocate count of pipes.
  - add necessary null checks for asymmetry jacks.
2001-05-28 20:52:06 +00:00
tshiozak 5505749bb1 add new device; Yamaha UX96 USB MIDI I/F. 2001-05-28 18:28:04 +00:00
tshiozak 5b51f5ebe2 fix forgotten/malformed initialization of some variables.
(pointed out by Krister Walfridsson.)
2001-05-25 19:33:36 +00:00
augustss e25bf167a1 Regen. 2001-05-22 10:43:15 +00:00
augustss f43e2c6ba1 Add Scanjet 4300. 2001-05-22 10:38:56 +00:00
jhawk 4af61a686a oops. Make it compile. 2001-05-22 00:43:12 +00:00
jhawk b5805fa0c8 Sigh. Regen correctly. 2001-05-22 00:41:52 +00:00
jhawk 7a31dfa328 Supoprt the IOGEAR/ATEN UC-232A, which uses the Prolific 2303.
Make this the "PRODUCT_PL2303" because it's actually id 0x2303
and change the old PRODUCT_PL2303 to PRODUCT_RSAQ.
2001-05-22 00:18:03 +00:00
jhawk ecb3a30463 add $NetBSD$ 2001-05-21 20:47:13 +00:00
lukem c15945130c delint: remove unnecessary assignment to same objection (hidden in #define) 2001-05-16 04:50:11 +00:00
lukem 889762fbcf delint: need ; between case label and } 2001-05-15 15:25:04 +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
christos 6f62797262 Don't leak memory in case of a realloc failure.
Reported by: grendel@heorot.stanford.edu (Ted U)
2001-05-12 19:18:57 +00:00
bouyer 90b27e80b9 Redo attachement of scsi/atapibus, so that atapibus at umass works again 2001-05-02 11:24:01 +00:00
scw 2963ff5c58 Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +00:00
lukem 796f5b43a7 delint 2001-05-01 16:40:03 +00:00
augustss e67bc465a2 Make it compile with DEBUG after SCSI changes. 2001-04-28 14:48:39 +00:00
enami 360780f37e s/\<PROTO_ATAPI/C&/ 2001-04-26 03:59:32 +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