Commit Graph

1180 Commits

Author SHA1 Message Date
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 af2e19db8f Remove stuff I didn't mean to commit yet. 2001-04-19 00:50:22 +00:00
augustss 72a04bd497 Add HP 3400. 2001-04-19 00:47:49 +00:00
augustss fc1271af53 Regen. 2001-04-19 00:47:30 +00:00
augustss 3d2488184c Add a Lexar CF reader. (From FreeBSD) 2001-04-19 00:47:12 +00:00
augustss 6497b0a623 Regen. 2001-04-17 08:38:23 +00:00
augustss 7dfc3d8076 Add a Xirlink camera. From PR 11570. 2001-04-17 08:38:01 +00:00
augustss 264c404593 Clean up formatting a little.
Split protocol variable into wire and command protocols.
2001-04-17 00:50:13 +00:00
augustss f14db62d03 Add a DIAGNOSTIC. 2001-04-17 00:05:33 +00:00
augustss 14dceb11ef Regen. 2001-04-16 10:42:39 +00:00
augustss 6f4ae4bff8 Add lots of storage devices. 2001-04-16 10:42:19 +00:00
augustss bafbeaf802 Use the bi-directional protocol if the printer supports it.
This is the way that e.g. HP recommends (but then some of their printers
have a bug that makes the input pipe useless anyway).
Also try reset both the 1.0 and 1.1 ways.
2001-04-16 00:18:06 +00:00
augustss b1b0b4bc9a Regen. 2001-04-15 22:33:37 +00:00
augustss 9c6b6d7b02 Add more HP devices. 2001-04-15 22:33:23 +00:00
augustss b86cb140c5 Use a better symbolic name. 2001-04-15 10:26:36 +00:00
augustss 595f18daf9 Add quirk for printers that cannot handle bidir mode (not used yet). 2001-04-15 09:38:01 +00:00
augustss d828968798 Regen. 2001-04-15 09:28:31 +00:00
augustss 3865f3dfc7 Add a bunch of HP printers. 2001-04-15 09:28:12 +00:00
thorpej bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
augustss b5c707b2b6 Make it link with debug flag. 2001-04-13 12:51:43 +00:00
augustss 939159f6d0 Make it compile with debug. 2001-04-13 12:42:40 +00:00
augustss bcdfccea3c Split the umass driver into the part that handles the X-over-USB protocol
(umass.c) and the part that handles scsibus/atapibus (umassbus.c).
This way the must port specific stuff can be removed from umass.c.
2001-04-13 12:24:10 +00:00
augustss 38c02444d9 Finally get rid of the UGLY and EVIL hack for avoiding tsleep(). 2001-04-13 11:19:58 +00:00
augustss cbcea5e84c Do mii frobbing in process context.
Now we can finally get rid of the evil USBD_NO_TSLEEP hack in the aue driver.
2001-04-13 11:17:11 +00:00
augustss ed7afd2ad6 Regen. 2001-04-12 23:56:13 +00:00
augustss 23b1e2c46e Some new device (from FreeBSD). 2001-04-12 23:55:58 +00:00
augustss 9071f4edbb Make sure all tasks are remove on detach. 2001-04-12 23:54:56 +00:00
thorpej 5274818efc Switch to USB_USE_SOFTINTR. The callout hack does indeed work
fine for systems without generic soft interrupts, even if it is
a little sub-optimal.  Consider it a penalty for ports not
implementing a kernel API.

Addresses kern/11957.  The PR has been open for 4 months, and
I have work blocked on the continued existence of splimp() in
the networking code.
2001-04-12 01:39:04 +00:00
thorpej f305e19aeb Only if __HAVE_GENERIC_SOFT_INTERRUPTS is then splusb == splsoftnet
(because we register the interrupt with IPL_SOFTNET).  However, if
we're using a callout, then splusb == splsoftclock (because the
callouts happen from the softclock interrupt).

Note that splsoftnet blocks softclock interrupts, but this is
meant to better describe what's going on.
2001-04-12 01:18:24 +00:00
jdolecek 745ab257dc Put back all header files defining ioctls 2001-04-11 19:07:36 +00:00
augustss 76c2f6d190 Regen. 2001-04-11 08:44:06 +00:00
augustss c2b7bb4ddb Add device id from PR 12611. 2001-04-11 08:43:47 +00:00
augustss 82fe39b9cb Add a Peracom adapter. 2001-04-08 02:10:57 +00:00
tshiozak 042dae07d7 support "running status" handling. midiplay via umidi is working now. 2001-04-07 22:01:34 +00:00
ichiro 8aa94c66a0 regen 2001-04-07 11:16:35 +00:00
ichiro f5842381bb add product centronics adapter USB-1284 BRIDGE 2001-04-07 11:16:12 +00:00
augustss 50c9868982 Add a bunch of language specific keymaps. From OpenBSD. 2001-04-07 00:27:55 +00:00
augustss b8cfdb2c1d Allow a UKBD_LAYOUT option to determine the default keyboard layout.
(From OpenBSD.)
2001-04-06 22:54:15 +00:00
augustss 09846cd9c0 Regen. 2001-04-06 22:53:16 +00:00
augustss 76e981dd50 Add another device (from FreeBSD). 2001-04-06 22:52:55 +00:00
augustss aaf471b177 Regen. 2001-04-05 20:52:57 +00:00
augustss df7e9d2178 Add Canon PowerShot S100. 2001-04-05 20:52:34 +00:00
toshii fa02f7a053 Add Japanese model keyboard mapping. 2001-04-04 05:31:57 +00:00
ichiro dbbff52c3d support USB-serial PLANEX USB-RS232 URS-03
reported by sakamoto@splhack.org (Kazuki Sakamoto)
2001-04-02 13:38:14 +00:00
augustss 8086f5e0ec Print portno when attaching. 2001-04-02 13:18:31 +00:00
augustss 9d6dabe88a Regen. 2001-04-01 19:24:28 +00:00
augustss 557561727e Add more Keyspan adapters. 2001-04-01 19:24:06 +00:00
augustss d265e74a94 Make the ZiO! MMC adapter work. 2001-04-01 19:04:52 +00:00
augustss c1dfafc4de Regen. 2001-04-01 18:25:14 +00:00
augustss 39ccfa3beb Add some new devices. 2001-04-01 18:24:49 +00:00
augustss cb47887dc2 Add two missing splx() (inside DIAGNOSTIC). From OpenBSD. 2001-04-01 15:00:29 +00:00
augustss 1077c84a99 Avoid a potential null pointer dereference. From OpenBSD. 2001-04-01 14:59:52 +00:00
augustss f994193bf7 Add Epson 1240. 2001-04-01 14:50:58 +00:00
augustss b20d51da79 Regen. 2001-04-01 14:50:43 +00:00
augustss 9132bd9643 Add Epson 1240. Add a comment about the purpose of this file. From FreeBSD. 2001-04-01 14:50:22 +00:00
augustss 2abf6b66a5 Change handling of the UFI protocol so it goes through atapibus instead
of scsibus.  This removes a whole bunch of specioal cases for UFI.
All this great simplification comes from Brett McCoy <bmccoy@genuity.net>.
2001-04-01 14:41:39 +00:00
augustss 97fa4f3453 Fix some bad indentation. 2001-04-01 03:28:11 +00:00
ichiro 718d1ed83c add UMCT_DEBUG option 2001-03-28 19:00:39 +00:00
ichiro 19c0a21aaa support USB-RS232 Converter of Magic Control Technology Corp.
More information about this product found at http://www.mct.com.tw
2001-03-28 18:42:13 +00:00
ichiro 4b8789fde8 regen 2001-03-28 18:36:32 +00:00
ichiro 6724d33a12 add PID Sitecom USB-232 adapter and D-Link DU-H3SP USB BAY Hub 2001-03-28 18:36:07 +00:00
augustss 262675e051 Regen. 2001-03-26 15:27:11 +00:00
augustss ea509434b6 Add Microtech Cameramate. From PR 12477. 2001-03-26 15:26:54 +00:00
ichiro d2cf77cd51 support CANON N656U scanner
not tested :P
in order to check using scanner, someone should teach that
what should be used application?
2001-03-26 13:42:05 +00:00
ichiro 224de64cd2 regen 2001-03-26 13:14:05 +00:00
ichiro 20e7881e71 add VID&PID
CANON USBScanner Canoscan N656U
GREEHOUSE CF-writer with MP3 Player
2001-03-26 13:13:33 +00:00
ichiro 9261ee5adc fix typo 2001-03-26 12:58:44 +00:00
ichiro 2350819ec5 support interrupt endpoint.
add more comment
2001-03-26 12:49:39 +00:00
ichiro 2ef094d072 add UPLCOM_DEBUG 2001-03-26 12:40:39 +00:00
augustss e884187819 Small code rearrangement. 2001-03-25 23:02:34 +00:00
augustss 0207e2ea75 Comment out some strange code. 2001-03-25 22:59:43 +00:00
augustss 24dfbb6c35 Regen. 2001-03-25 22:54:30 +00:00
augustss 68723be904 Add Atmel DWL-120 wireless LAN adapter. 2001-03-25 22:53:56 +00:00
augustss a2c1a2899f Try to make resume work on more machines. 2001-03-25 22:52:21 +00:00
fvdl 2e3722d635 Remove a debugging printf. 2001-03-23 14:11:39 +00:00
augustss 5c7eb8bc86 Regen. 2001-03-16 12:48:16 +00:00
augustss 91c12c470c Add Panasonic MultiMediaCard adapter. 2001-03-16 12:47:51 +00:00
abs c51634b970 Regen after adding Hauppauge WinTV USB FM 2001-03-15 20:10:08 +00:00
abs 4bd593f038 Add Hauppauge WinTV USB FM 2001-03-15 20:09:50 +00:00
ichiro 38bf48d59a Implement uplcom_intr().
use interrupt pipe of USB serial adapter
2001-03-14 15:53:01 +00:00
soren d9c93ee62a Regen. 2001-02-26 20:54:39 +00:00
soren 3ed46572f7 Add M-Systems DiskOnKey. 2001-02-26 20:53:43 +00:00
lukem 3aeb5f2f29 whitespace police 2001-02-24 01:59:46 +00:00
cgd 98af50970f "#else if" is not a valid CPP directive. Use "#elif". 2001-02-24 00:03:46 +00:00
jdolecek 522f569810 make some more constant arrays 'const' 2001-02-21 21:39:52 +00:00
minoura b53129e394 There is no reason to exclude FreeBSD :). 2001-02-21 10:19:30 +00:00
minoura fa6cae09e2 Re-initialize some registers after resuming from suspend.
Some APM BIOSes do not restore them.
Reviewd by augustss.
2001-02-20 15:20:32 +00:00
kenh d6cdd9ad5b Connect to the interrupt endpoint on the control interface to receive
notification messages.  This lets us properly pass line status changes
down to the ucom driver (specifically, DSR, DCD, and RI).
2001-02-16 20:15:57 +00:00
ichiro 175f4c6b75 regen 2001-02-11 05:49:42 +00:00
ichiro 2ea023a03f add vendor/product id
CASIO label writer for USB
2001-02-11 05:49:20 +00:00
tsutsui 71d4eb1937 Fix INSYSTEM_USBCALBLE quirk entry:
- Make sure to pass iface properly to usbd_set_interface().
- Call usbd_set_interface before calling usbd_get_interface_descriptor().

It seems no one have tested this device. Anyway, my In-System ISD110
USB-IDE adapter does not work in this way..
2001-02-08 13:24:05 +00:00
tshiozak b13009db08 separate mididev and jack logically. 2001-02-03 18:50:31 +00:00
tshiozak 579a1c26ca change how to allocate xfer; alloc xfer when attach and free xfer when detach. 2001-02-03 16:49:06 +00:00
tshiozak ca8eb9d318 correct MUX-MIDI state machine. (EXCL_2 state) 2001-01-31 16:02:38 +00:00
tshiozak 6c60c9ff82 initial commit of USB midi driver.
- I tested only ROLAND UM-1 and YAMAHA UX256.
    These are not conforming to USB-MIDI spec, however these are
    similar to USB-MIDI.
  - Since I've not yet seen the "genuine" USB-MIDI device,
    I cannot test such devices although I wrote the codes for it.
TODO:
  - clean up the codes.
  - umidi(4) manpage.
  - /dev/rmidi? is working well, but /dev/music seems not working correctly.
2001-01-30 23:26:47 +00:00
augustss 57789d81c3 Regen. 2001-01-30 15:04:45 +00:00
augustss 9385e3019d Add Abocom URE450 Ethernet adapter. 2001-01-30 15:04:23 +00:00
ichiro e08982d234 add uplcom_{open,close}
it only reset routine yet.
2001-01-30 13:17:43 +00:00
enami 2c218a4926 Handle allmulti case correctly as a NetBSD network driver;
if we are requested range of multicast address or too many multicast address,
program multicast filter to receive all multicast address.   And set/clear
IFF_ALLMULTI flag properly.
2001-01-29 01:24:42 +00:00
augustss e6de2c6337 Commit second half of rate limit change. 2001-01-28 19:01:20 +00:00