Commit Graph

4197 Commits

Author SHA1 Message Date
bouyer ff0134b99f Properly separate DEBUF_XFERS and DEBUG_FUNCS: DEBUF_XFERS is for data
transfers (may be called often), where DEBUG_FUNCS is for setup functions
(not used for normal contitions).
1998-10-13 09:33:59 +00:00
bouyer da5d0a6f17 pciide.c: don't define WDCDEBUG, so it compiles on alpha. Correct a bogon
in the printing of DMA mode (piix3/4 only)
others: set the debug_mask to 0, so that debug messages are turned off by
default but can be easily turned on.
Reset drive_flags to 0 for unconfigured devices, so that they are ignored
later. For configured devices, reset state to 0 after probe/attach.
1998-10-13 08:59:45 +00:00
msaitoh 39c8c94fa5 make it compile with GWETHER again. 1998-10-13 08:33:05 +00:00
thorpej dc7cfafe4c Default to "no debugging messages" (still patchable). 1998-10-13 05:39:01 +00:00
kim cd7e3136ad Use ETHERTYPE_ATALK instead of ETHERTYPE_AT. The former seems more common.
Our other constants also use "ATALK".

Added many new ETHERTYPE constants to sys/net/ethertypes.h, including the
ones from libpcap and tcpdump "ethertype.h" files.
1998-10-13 02:34:31 +00:00
enami 13b8051475 Make this file compile again with -DATAPI_DEBUG_PROBE. 1998-10-13 02:09:47 +00:00
bouyer 46aa11acac Adjust include list. 1998-10-12 19:50:09 +00:00
bouyer 19fddaeeb5 Merge bouyer-ide 1998-10-12 16:09:10 +00:00
thorpej 2101c736a3 Make the product lookup table-driven. 1998-10-11 18:42:01 +00:00
augustss 44d4d6a60a Call correct ad1848 attach routine. Fixes PR 6269. 1998-10-11 17:02:36 +00:00
thorpej e0fa7545bf Use pcmcia_io_free() where appropriate. 1998-10-10 22:01:24 +00:00
thorpej 09b6735d35 Define missing pcmcia_io_free(). 1998-10-10 21:59:40 +00:00
thorpej f1c971ea72 Device driver for PCMCIA multi-port serial cards. Currently supports
the Socket Communications, Inc. dual-rs232 device.
1998-10-10 21:27:21 +00:00
hannken f568c6347c Fix last commit -- NISADMA is either 0 or 1. 1998-10-10 13:43:10 +00:00
thorpej fe56f257b2 If the adapter returned XS_RESET and the xfer specifies a retry count,
attempt to reissue the command (which was destroyed by the bus reset).

Slightly modified from PR #6090, from Matt Jacob.
1998-10-10 03:42:53 +00:00
thorpej 16cf223098 Enforce open-for-writing on ioctls that change the bus's state.
Implement ioctl pass-through to the host bus adapter, allowing both
SCBUS* ioctls handled at that level and host adapter-specific ioctls
to be implemented.  Implement SCBUSIORESET as a pass-through.

Inspired by PR #6090, from Matt Jacob.
1998-10-10 03:33:01 +00:00
thorpej 45bf57f8a6 Garbage-collect the SCIOCREPROBE and OSCIOCREPROBE ioctls. This is a
bus-oriented command.  (How much sense does it make to open a device
to rescan the bus?!)
1998-10-10 02:35:30 +00:00
thorpej 1e2b6a99ed Implement the SCBUSIOSCAN ioctl. Rescans the bus for new devices. 1998-10-10 02:34:15 +00:00
thorpej e3fb94a7b4 Add the open/close/ioctl entry points for the SCSI bus, i.e. /dev/scsibusN. 1998-10-10 01:14:26 +00:00
thorpej dda872c16a Define an additional host adapter return code, XS_RESET, indicating
that the bus was reset while the command was pending.  The middle
layer may choose to retry the command.
1998-10-10 00:36:13 +00:00
thorpej 29d472f53d Garbage-collect the open_target_lu and close_target_lu entry points from
struct scsipi_adapter; they were not used.

Add a scsipi_ioctl entry point to struct scsipi_adapter.  This will be
used to issue ioctl commands to the host adapters.

Inspired by PR #6090, from Matt Jacob.
1998-10-10 00:28:28 +00:00
thorpej 0a70a74239 Regen. 1998-10-08 20:44:00 +00:00
thorpej 8ba90a1c93 Correct product ID for Socket Communications Dual Serial Adapter. 1998-10-08 20:43:42 +00:00
thorpej b69841d26a Add a NOSYNCCACHE quirk for the Micropolis 2217-15MQ1091501, as reported
by Matt Jacob, PR #6027.
1998-10-08 20:24:10 +00:00
thorpej 39f4d1c239 Handle devices that have the SDEV_NOSYNCCACHE quirk. 1998-10-08 20:21:13 +00:00
thorpej 7be31bed79 Add a "NOSYNCCACHE" quirk, as suggested by Matt Jacob in PR #6027. 1998-10-08 20:17:52 +00:00
thorpej 19d188b293 Regen. 1998-10-08 20:12:52 +00:00
thorpej 1b15f541a6 Add Megahertz X-JACK 56kbps Modem, from Johnny C. Lam, PR #6173. 1998-10-08 20:11:59 +00:00
thorpej 5599443810 If ISA DMA is not present in the kernel (i.e. no ISA DMA-using devices
configured in), don't call ISA DMA functions to check for DRQs being
free.  Just return EINVAL in this case.  Fixes PR #6187, from Herb Peyerl.
1998-10-08 19:59:20 +00:00
thorpej 6a2b035300 Add a NOLUNS quirk for the Sony CDL1100 changer, from Chris Jones, PR #6238. 1998-10-08 18:46:15 +00:00
thorpej 0b4cfbfe6e Fix some whitespace lossage. 1998-10-08 02:06:13 +00:00
enami bd7db8ba8a Enable early probe stage printf's not by DIAGNOSTIC but more driver
specific macro constants.
1998-10-07 04:58:06 +00:00
jtk 568398bad2 regen data files 1998-10-07 01:08:57 +00:00
jtk 3067a16f6e update for a broken variant of the Linksys E-CARD 1998-10-07 01:08:37 +00:00
dante 423c1d8dd3 Make AdvanSys narrow driver compile on BIG_ENDIAN machines.
Thanks to Izumi Tsutsui
1998-10-06 14:44:21 +00:00
matt 75f5ffdf21 Change backplace0 to mainbus0 (for consistency with other ports).
Remove unused function protocols from ka410.h and ka43.h
Fix some ka46 missing references
1998-10-06 04:04:30 +00:00
tron 29c8a3aa85 Regen. 1998-10-05 20:38:17 +00:00
tron 1469dc411b Correct vendor 0x1191 to "ACARD", add missing Matrox boards.
Fixes PR kern/6251 by Soren S. Jorvang.
1998-10-05 20:34:39 +00:00
thorpej 11bc54234b In epic_init(), attempt to start output on the interface once the interface
is initialized.
1998-10-05 19:10:22 +00:00
augustss ce47e78c84 Make MIDI input work again.
Fix from Torsten Duwe <duwe@ns.lst.de>.
1998-10-05 09:21:41 +00:00
mark ed54968bff Regenerate from usbdevs. 1998-10-05 02:31:13 +00:00
mark 0f505e03ac Add Cypress Semiconductor vendor ID and Cypress Mouse product ID. 1998-10-05 02:30:17 +00:00
tron 2aac65de87 Regen. 1998-10-04 23:52:43 +00:00
tron a6a06368ce Add S3 Virge/DX, fixes PR kern/6245 by Steve Allen. 1998-10-04 23:50:05 +00:00
christos b2b0497860 Regen 1998-10-04 18:31:14 +00:00
christos ea1107f4c7 Add another soundblaster compatible card (Steve Allen) 1998-10-04 18:30:50 +00:00
drochner b429e319fb french keymap, from Matthieu Herrb <matthieu@mipnet.fr> per PR kern/6231 1998-10-03 12:02:45 +00:00
drochner bdb85f9116 add definition for french keyboard 1998-10-03 11:59:44 +00:00
matt d9cb3415b1 Fix typo (pointed by Matthias Drochner). 1998-10-02 20:00:28 +00:00
fvdl b28935cee3 Add missing field to le_softc structure, missed in previous commit. Name
it consistently with the other fields.
1998-10-02 00:20:52 +00:00
fvdl 5dbf12a22a Regen. 1998-10-01 23:33:25 +00:00
fvdl b7957e0200 Fix typo in 905BT4 product name. 1998-10-01 23:32:41 +00:00
drochner a81796636f support media selection / full duplex 1998-10-01 20:39:01 +00:00
matt 259cf4c4a1 Don't include <machine/mouse.h>. Some platforms (e.g. alpha) don't one. 1998-10-01 19:10:26 +00:00
drochner 1693b8b4a6 minor changes to console handling in zstty_attach():
-wait 20ms between printf() and reconfiguring the hardware
-set cn_tab->cn_dev here because this is the place where the real minor
 number is known
1998-10-01 18:52:42 +00:00
jonathan 379c9be4a8 More patches for ARC from Noriyuki Soda:
* commit isapnpvar.h changes required for ARC to support plain isa.
  * fixup mistake over mips/include/cpuregs.h.
  * mips/mips_machdep.c:
     set L2 cache-size for arc, cleanup use of L2cache present
     vs L2 cache-size variables. check for no L2 cache on kernels
     configured to require one. misc cleanups.
  * mips/mpis/trap.c: more locore stack-traceback  label cleanup.
XXX  Locore callbacks for mips3, mips4, r4600 cacheflush need more work.
1998-10-01 00:42:37 +00:00
matt 6e32aa4af4 Invert the RXCOPY test. Note that most new platforms will not
have relaxed alignment so the de driver should just work on them.
1998-09-29 22:40:52 +00:00
jeremy 3712546023 Changed to allow the mouse baud rate to be set at kernel compile time.
Inspired by Mochida Shuji <mocid@yo.rim.or.jp>.
1998-09-29 02:46:36 +00:00
matt bf8783afa4 Fix the receive length so it includes the extra bytes in the fddi_header. 1998-09-28 20:37:12 +00:00
matt 43b462df88 Insert the FDDI control bytes in pdq_ifstart before we load the dmamap
and dmasync the data.  Fix pdq_os_receive_pdu to use PDQ_OS_HDR_OFFSET
instead of PDQ_RX_FC_OFFSET.
1998-09-28 18:01:43 +00:00
matt a1528c368d Fix transmit handling (this also should speed up transmits
slightly).
1998-09-28 17:13:54 +00:00
christos b12bfa760e Make this compile again with no audio but with midi devices. 1998-09-27 16:43:56 +00:00
dante b2a68e14db Change sources to be KNF 1998-09-26 19:53:34 +00:00
dante 2cf169c563 Add AdvanSys ULTRA WIDE SCSI controllers 1998-09-26 16:20:31 +00:00
dante b207a7d09d Change product ADVSYS 2300 to ADVSYS WIDE 1998-09-26 16:16:23 +00:00
dante da0a3e615e Add support for AdvanSys Ultra Wide boards ABP-9xxUW 1998-09-26 16:09:32 +00:00
dante c6ccd1d83f Remove Wide boards references
Adjust copyright

At this time this driver support the following AdvanSys boards:
- ABP-9xx
- ABP-9xxU
- ABP-9xxUA
1998-09-26 16:02:56 +00:00
dante 4372d4402e Remove Wide boards references
Update supported boards list
1998-09-26 15:52:55 +00:00
pk 1338a7e982 hwreset(): delay required after diddling the medium selection bit. 1998-09-26 08:31:20 +00:00
is 9d52889ce7 correct obvious typo 1998-09-25 21:50:38 +00:00
matt 1131320f18 Fix transmit underflow messages. (\0128 != \0 128) 1998-09-25 18:06:53 +00:00
pk ed652e2a09 Fix a silly yank-o. 1998-09-25 14:19:20 +00:00
veego c31e48b356 Reorder the ne2000devs entries. So all PCMCIA_VENDOR_INVALID and/or
PCMCIA_PRODUCT_INVALID entries comes first.
1998-09-23 21:22:41 +00:00
pk 6da4cd8aac Make dma_sbus.c dependent on dma_sbus attribute. 1998-09-23 08:48:25 +00:00
mark 0c812cb0bc Regenerate from pcidevs. 1998-09-22 23:00:44 +00:00
mark de8340f7fd Add ALI M1531 Host-PCI bridge.
Add Cirrus Logic CS4610 and CS4280 Audio chips.
Add Cirrus Logic CS4400 communications controller.
1998-09-22 22:59:02 +00:00
matt d3e02fc461 Fix the accton support. Only set the board type it isn't an ISV. 1998-09-22 04:23:18 +00:00
mark 7d6c07a559 Use the data32iot and data32ioh members of the wdc_attachment_data
structure for 32 bit transfers.
Test for 32 bit capability on data transfers currently restricted to 16 bit
only.
1998-09-22 00:27:51 +00:00
mark 962edcdc03 Add data32iot and data32ioh members to the wdc_attachment_data structure.
This bus space tag and handle is used for 32 bit data transfers i.e.
when WDC_CAPABILITY_DATA32 is enabled as the 32 bit data register may
not be part of the standard drive registers.
1998-09-22 00:21:16 +00:00
pk 0b10e1ddab Parallel port support routines. 1998-09-21 21:26:51 +00:00
pk f9e261c5e4 LSI63854 based parallel port driver skeleton. 1998-09-21 21:20:47 +00:00
pk fa25d48556 Add `bpp' device: the parallel port glued onto the LSI64854 DMA controller. 1998-09-21 21:02:23 +00:00
augustss 5cc2c570d5 Add missing call to usbd_init(). 1998-09-21 20:47:25 +00:00
mark 3ad5f134c3 Regen. 1998-09-21 20:28:48 +00:00
mark e017934564 Add CS4235 joystick. 1998-09-21 20:25:52 +00:00
mjacob 07bb8331e8 Roll back to 1.71 version- too many unexplainable problems with 1.72. 1998-09-21 14:53:58 +00:00
matt ad921921e4 Add softserial to the alpha port. This significantly improved PPP
throughput on com ports.
1998-09-21 00:33:16 +00:00
dbj 392f960b14 Regenerated .h files to fix "generated from" CVS id. 1998-09-20 21:08:49 +00:00
dbj 1c578d0ad2 Added support for a Dayna Communicard E that probes with a
different product id (0x2f) than the one we had (0x2d)
1998-09-20 19:19:53 +00:00
matt 08e1d890a4 Changes so that BPF readers will get the data in fddi packet aligned along
normal boundaries.  This makes tcpdump much happier.
1998-09-20 02:36:08 +00:00
matt 935fbed4fe Make sure data in FDDI packets are aligned nicely (for alpha, etc.) 1998-09-19 21:21:25 +00:00
drochner 24e6cd9435 Map the "backspace" key to "delete" and the "remove" key to
"keypad-delete". (This is not completely clean; for me these keys make
up perhaps a "function field", but no "keypad".)
This is the mapping expected by applications.
Proposed by Chris Jones via PR kern/6089 and Dave Sainty.
1998-09-18 15:35:45 +00:00
enami b85655c706 Use an appropriate value for wpp_quirk_flag. 1998-09-18 14:43:58 +00:00
enami b03b63aef4 Make these files compile again; no longer necessary to pass
iobase to comprobe1.
1998-09-18 14:38:48 +00:00
drochner 72fa4aec9b regen 1998-09-18 10:51:15 +00:00
drochner e630f429ab Add PCI-VME interfaces: Tundra Universe and Bit3 2706
Note that Newbridge is now Tundra
Add Adaptec 7890 & Co.
1998-09-18 10:49:11 +00:00
scottr c797d52571 SCSI_ASYNCREQ turns out to be redundant; we can simply free the scsipi_xfer
in scsipi_done() if the transfer is asynchronous.  This reduces the size
of the critical section in scsipi_execute_xs() somewhat (in fact,
back to its original size).
1998-09-18 05:53:07 +00:00
scottr 9cf43305cf Define a SCSIPI_XFER_ASYNC macro to test whether a request will be
completed asynchronously.  Eliminate SCSI_ASYNCREQ, which is actually
redundant information.
1998-09-18 05:45:03 +00:00
mark e9a20eaff4 Regen. 1998-09-18 04:30:52 +00:00
mark 0cf7fe7c62 Add yet another vendor ID for Fujitsu.
Add vendor ID for ESS Technology Inc.
Add product ID for ESS Technology ES1938 SOLO-1 AudioDrive
Add product ID for Fujitsu K56flex LTMODEM
Add product ID for TI PCI1250 PC Card bridge
Add product ID for Trident Cyber 9397 Video controller.
1998-09-18 04:30:10 +00:00
mjacob 8fdc5aee4b Make changes as required for new return values from dma setup routine
for isp. Unable to test in running kernel because they're not buildable today,
but should be okay.
1998-09-18 00:26:11 +00:00
mjacob 6d8a22890e dma setup now returns CMD_QUEUED or CMD_COMPLETE. Clarify a ternary
operation that needed some parentheses.
1998-09-17 23:10:20 +00:00
mjacob 1dac5b5291 Several changes, including some stub fibre target mode stuff. Establish
a slightly different fibre startup (print ALPA now too). Change
the way that return values from dma setup is done. Make debug messages
out of some queue overflow situations. Turn PORT LOGGED OUT into
Selection Timeout equivlaent. On isp_restart actions don't blow off
the commands with HBA_BOTCH (XS_DRIVER_STUFFUP) - set them with HBA_BUSRESET
(which is defined as XS_DRIVER_STUFFUP until someone decides whether
the suggested change to the midlayer NetBSD is worthy of inclusion).
1998-09-17 23:05:46 +00:00
mjacob a0a31568e8 cleanup header to be just NetBSD, roll rev, change QDEPTH to QAVAIL macro 1998-09-17 22:52:54 +00:00
mjacob 0e0010df41 cleanup header to be just NetBSD 1998-09-17 22:52:14 +00:00
mjacob cb787c768d add some target mode definitions 1998-09-17 22:51:54 +00:00
mjacob 24717f3c3a cleanup header to be just NetBSD 1998-09-17 22:50:53 +00:00
drochner 7f72e0eea5 LK201/LK401 support for wscons (only decoding for now). 1998-09-17 20:01:57 +00:00
drochner af9cabdaaa Add definition for highest legal LK201 keycode. 1998-09-17 19:59:30 +00:00
drochner 6f1bc2944f Adapt to keymap table format change. 1998-09-17 18:31:43 +00:00
drochner ffa2207ec9 wskbd map for LK201/LK401 1998-09-17 18:29:54 +00:00
drochner ad6d798d6a Move keyboard map from <dev/wscons/wskbdmap_mfii.h> into a _source_ file. 1998-09-17 18:21:04 +00:00
drochner 1eda36523a Add option bit which covers the delta between LK201 and LK401. 1998-09-17 18:16:39 +00:00
drochner fdfd53e5af Add end mark to list of keymaps.
XXX This file will be removed, it is only left until the USB driver
XXX got an own keymap.
1998-09-17 18:14:06 +00:00
drochner ec9b2072bb Reorganize the list of keyboard maps: no explicite length counter, use
an end mark instead. This allows to keep keymaps separate from the drivers
referring to them.
1998-09-17 18:10:53 +00:00
drochner 1a9e20e98c Define a new keyboard eveny type "all keys up". This allows to reduce
the amount of statekeeping in drivers for LK201-like keyboards, and it
might be useful to resync after resets or overflows.
(reused the unused WSCONS_EVENT_KEY_OTHER event ID)
Implement the necessary decoding bits.
1998-09-17 18:05:43 +00:00
is 95807e512a Garbage collect unused 3rd parameter to comprobe1(). 1998-09-16 21:30:58 +00:00
scottr 7aa4d4483e Revert the last change: returning COMPLETE is clearly the wrong thing to do
if we weren't polling to begin with.
1998-09-16 05:36:35 +00:00
scottr 4963603d0f Found a race in scsipi_execute_xs(): if an asynchronous transfer completes
(probably due to an interrupt) between the time it is scheduled and the
time we get around to setting the SCSI_ASYNCREQ flag, we can lose the xs.

Fix this by checking to see if the transfer has already completed after
the scsi_cmd function returns SUCCESSFULLY_QUEUED, and just return to the
caller if so.
1998-09-16 05:35:50 +00:00
pk cf10308f5f bootpath check needs to keep checking for two formats. 1998-09-15 20:26:25 +00:00
matt e7be3f3601 Fix a problem where txput could "lose" dmamaps if it couldn't actually
place the packet into the ring for some reason.
1998-09-15 17:26:46 +00:00
matt 2633c65da5 This commit fixes two bugs in the de driver. The first is that the
descriptor count gets miscounted on txprobes.  The second (and more
important) is that transmit stalls should now be fixed.  The problem
was not due to lack of ring resources but dmamaps.  When Jason changed
the driver to use pre-allocated maps (instead of the dynamic ones I
used), and when there were no more maps, the driver just gave up instead
of calling tx_intr to free any transmitted but unreclaimed dma maps.
Since there was nothing being transmitted, no transmit interrupts
would fire to restore things (and OACTIVE prevented other transmits
from happenning).  So it stayed starved until another interrupt cause
(like a received packet) "woke" it up.
1998-09-15 02:39:03 +00:00
scottr 0af57c2461 Correct a serious problem that affects at least front ends that can only
use PIO (or equivalent) code to do asynchronous transfers:  In
ncr5380_scsi_cmd(), test to see if the request has been completed after
the call to ncr5380_sched(), and return COMPLETE if so.  This avoids
going into an infinite loop in scsipi_execute_xs() while waiting for an
interrupt to trigger completion of the transfer... which, of course,
never happens, since it's already done.
1998-09-14 05:56:14 +00:00
scottr f2c6836685 Fix a problem uncovered when we started to use the pool allocator to manage
scsipi_xfer structures.

When scsipi_execute_xs() calls the driver's scsi_cmd function, it assumes
that it can still dereference a pointer to the scsipi_xfer struct.  Since
scsipi_done() has already been called, which in turn has called
scsipi_free_xs(), the struct has already been returned the structure to
the pool!  In other words, xs->flags has been compromised, but we are still
testing it.

These changes resolve the problem by doing the following:

- In scsipi_execute_xs(), if the hardware driver's scsi_cmd function
  returns SUCCESSFULLY_QUEUED, set a new flag (SCSI_ASYNCREQ) in xs->flags.
  Since the request will be handled asynchronously, we will need the
  scsipi_xfer struct to be freed in scsipi_done().

  If the hardware driver's scsi_cmd function returns COMPLETE, we now
  simply return any actual errors, or 0 if none occurred.  (Previously,
  we may have returned EJUSTRETURN, of which the sole effect was to
  avoid freeing the scsipi_xfer struct in our caller.)

- In scsipi_done(), only free the scsipi_xfer struct for async requests.
  The contents of the struct will otherwise remain valid until the
  function that initiated the transfer frees it.

With this change, responsibility for freeing the struct now lies in two
places, depending on the type of the request:

- For synchronous requests, the routine calling scsipi_execute_xs()
  must clean up.

- For asynchronous requests, scsipi_done() cleans up (as it always has).

[Note:  this change also corrects a problem with sddump():  scsipi_done()
was attempting to return a static scsipi_xfer struct to the pool!  Since
dumps are performed synchronously, we now handle this correctly.]

This solution was provided by Jason Thorpe, after I got him to look at
some related (but insufficient) attempts of my own.
1998-09-14 05:49:21 +00:00
scottr 10640f1bfc Fix a problem uncovered when we started to use the pool allocator to manage
scsipi_xfer structures.

When scsipi_execute_xs() calls the driver's scsi_cmd function, it assumes
that it can still dereference a pointer to the scsipi_xfer struct.  Since
scsipi_done() has already been called, which in turn has called
scsipi_free_xs(), the struct has already been returned to the pool!  In
other words, xs->flags has been compromised, but we are still testing it.

These changes resolve the problem by doing the following:

- In scsipi_execute_xs(), if the lower-level driver's scsi_cmd function
  returns SUCCESSFULLY_QUEUED and SCSI_NOSLEEP is set in xs->flags, set a
  new flag (SCSI_ASYNCREQ).  This indicates that scsipi_done() should free
  the scsipi_xfer struct.

  If the lower-level driver's scsi_cmd function returns SUCCESSFULLY_QUEUED
  but SCSI_NOSLEEP is not set, we wait (via tsleep()) for the request to
  complete, then fall through to the COMPLETE case.

  If the lower-level driver's scsi_cmd function returns COMPLETE, we now
  simply return any actual errors, or 0 if none occurred.  (Previously,
  we may have returned EJUSTRETURN, of which the sole effect was to
  avoid freeing the scsipi_xfer struct in our caller.  No code seems
  to depend on this behavior, however.)

- In scsipi_done(), only free the scsipi_xfer struct for async requests.
  The contents of the struct will otherwise remain valid until the
  function that initiated the transfer frees it.

With this change, responsibility for freeing the struct now lies in two
places, depending on the type of the request:

- For synchronous requests, the routine calling scsipi_execute_xs()
  must clean up.

- For asynchronous requests, scsipi_done() cleans up (as it always has).

[Note:  this change also corrects a problem with sddump():  scsipi_done()
was attempting to return a static scsipi_xfer struct to the pool!  Since
dumps are performed synchronously, we now handle this correctly.]

This solution was provided by Jason Thorpe, after I got him to look at
some related (but insufficient) attempts of my own.
1998-09-14 05:49:20 +00:00
mycroft 38aa357963 Make sure the buffers are synchronized on open. 1998-09-13 06:30:25 +00:00
mycroft 32f42fe1e9 Make sure all voices are deallocated on close. 1998-09-13 04:41:34 +00:00
wrstuden cd65bcf1db Regen. 1998-09-12 21:49:51 +00:00
wrstuden 0b009ef925 Add support for the OPTi Audio 16 IDE controller. 1998-09-12 21:48:57 +00:00
wrstuden 3e6930640f PnP IDE controllers can pass us the regions in any order, so make sure
that sc_ad.ioh is the 8-byte region as opposed to blindly passing it
the first region.

With this change, and a device def which will follow, the IDE controller
on my OPTi Audio 16 card works!
1998-09-12 21:40:22 +00:00
mjacob 03e28bdbaf keren/6128: add an entry for the TDC 4200. Full density code set isn't known. 1998-09-11 20:10:15 +00:00
jonathan ea4898c76c Add arc as a target platform. 1998-09-11 19:39:28 +00:00
kenh d1e0ee615b Regen 1998-09-10 19:57:20 +00:00
kenh 537261f6c5 Reorganize the probe routine and add a quirk table. Much of this code
comes from Enami Tsugutomo (enami@but-b.or.jp).  Also add a couple more
devices to the pcmcia devices table.
1998-09-10 19:55:30 +00:00
kenh 9539399333 Add support for passing device quirks from the attachment routine,
and add support for a NO_EXTRA_RESETS quirk (required by the TEAC
IDE Card/II, which the Vaio uses).
1998-09-10 19:24:45 +00:00
mjacob 4a1ccd2fe7 turn into a debug message an ABOUT F/W failure. Add ISPCTL_UPDATE_PARAMS isp_control case 1998-09-10 17:10:27 +00:00
thorpej 9ce5ae6b97 Protect Debugger() call a'la uha driver. PR #6070, Gary D. Duzan. 1998-09-09 05:28:58 +00:00
thorpej d1fba4e7e5 Don't use M_WAITOK to allocate the ring buffer; we could be in interrupt
context.  Reported by Lennart Augustsson.
1998-09-09 05:17:53 +00:00
thorpej 4f9a0d0550 Add mmap support for gus and gusmax, PR #5988, Feico Dillema. 1998-09-09 04:40:34 +00:00
mjacob 8fec1fd696 add bustype tag to softc 1998-09-08 07:36:26 +00:00
mjacob 5c5c3f792f Reflect changes in quirk flags, and also now add case post retrieval
of Inquiry data during probe where SDEV_NOSYNC, SDEV_NOTAG and SDEV_NOWIDE
can be set (with quirk data overriding) per device probed.
1998-09-08 07:34:02 +00:00
mjacob 3805d4f082 Clarify quirk flags somwhat- split SDEV_NOSYNCWIDE into SDEV_NOSYNC and
SDEV_NOWIDE and add SDEV_NOTAG.
1998-09-08 07:32:42 +00:00
mjacob 52588e4fde add more general probe to regular more operation stuff 1998-09-08 07:30:32 +00:00
mjacob a79310ba38 Major reworking of initialization code, addition of NVRAM reading, usage
of device speed updating, etc... A lot of FC and other case statement
handling. Whew. Too much to really detail here.
1998-09-08 07:28:50 +00:00
mjacob 6e2341ae63 Roll major revision. Change some definitions around. Add more current device
state stuff. Make DPARM flags full 16 bits (no shifting needed) and add
the 2 new ones for the 7.55 f/w.
1998-09-08 07:27:04 +00:00
mjacob 542648bf0e Move all ASYNC definitions here (after all, they're mailbox registers).
Clarify FC initialization control block. Add macros for setting WWN
into same. Add a wad more definitions in this area.
1998-09-08 07:24:23 +00:00
mjacob 170521610e Add more ASYNC event codes here. Add NVRAM definitions. 1998-09-08 07:22:06 +00:00
mjacob c0eabb441f add case for going from probetime to runtime speeds 1998-09-08 07:19:58 +00:00
mjacob 9752520872 roll revision, change default tagging to simple tags 1998-09-08 07:18:56 +00:00
mjacob 9b29429984 Remove clocks as common code now can determine what clock rates to use.
Remove other than 8 byte bursts- until we clarify whether or not buggy
PCI implementatiosn really cause problems.
1998-09-08 07:16:46 +00:00
mjacob 4275b01a08 Adjust copyright notice to reflect that Qlogic still owns this.
Move SCSI f/w to 7.55 level. Move FibreChannel f/w to 1.13 level.
1998-09-08 07:13:11 +00:00
mjacob 0456723423 Adjust copyright to reflect that this is really still owned by Qlogic 1998-09-08 07:06:57 +00:00
drochner 73ac88b3ed make the default disklabel consistent to the SCSI/ATAPI case 1998-09-07 21:28:22 +00:00
veego 3d396754e1 Regen. 1998-09-07 08:19:31 +00:00
veego 7e2e241a81 Fix capitalization of Kodak. This change was clearly never tested. 1998-09-07 08:18:40 +00:00
pk af17d22848 Missing bits in DEBUG mode. 1998-09-07 07:58:45 +00:00
eeh 199e474e95 Removed some spurious `long's. 1998-09-06 22:43:16 +00:00
pk b871ab5f2c Use the new "%b" format for the various control register bits. 1998-09-06 21:39:33 +00:00
eeh c5b834a5bc Do it right for a change. 1998-09-06 21:23:58 +00:00
eeh b9ce59191d Oops. Fix overenthusiastic macro. 1998-09-06 21:21:06 +00:00
veego adebee9ad7 Regen. 1998-09-06 17:27:40 +00:00
veego 25eaf86126 Add the Brooktree 878 and 879 id's and fix the comment of the 849 entry. 1998-09-06 17:26:03 +00:00
jtk 1247373b7a Correct the remaining uses of ad1848_softc to ad1848_isa_softc 1998-09-06 13:03:49 +00:00
pk 06f777a3fe Debug output updates (Ezra Story; PR#6108). 1998-09-06 11:06:52 +00:00
pk 7991c56b93 Use `ad1848_isa_{open|close}' (Ezra Story; PR#6108). 1998-09-06 11:05:21 +00:00
eeh 484ce04810 The `address' field from the prom is really an unsigned 32-bit value.
Make it so.
1998-09-05 22:29:49 +00:00
eeh c05097f947 Remove function name conflict. 1998-09-05 22:14:25 +00:00
pk 18da157aa9 Assign my copyrights to TNF. 1998-09-05 17:28:57 +00:00
pk fc5e533cc2 Relinquish my copyright claim on this file. 1998-09-05 17:23:09 +00:00
pk 42ebb851c5 sparc64 uses more of this file. 1998-09-05 16:47:06 +00:00
augustss 9d8e954403 Regen. 1998-09-05 15:46:08 +00:00
augustss 127efe1a4d Fix typo. 1998-09-05 15:45:34 +00:00
augustss d8e5a87d76 Regen. 1998-09-05 15:42:42 +00:00
augustss b0e65e8371 Regen. 1998-09-05 15:42:41 +00:00
augustss f7f5af21fb Add Kodak DC260 camera. 1998-09-05 15:42:12 +00:00
christos bd52ba3c5a Assign copyright to TNF. 1998-09-05 14:42:05 +00:00
christos 344ed1eaef Assign copyright to TNF. 1998-09-05 14:20:01 +00:00
christos 236611ac0b Regen. 1998-09-05 14:18:04 +00:00
christos c7a4282124 Assign copyright to TNF. 1998-09-05 14:12:36 +00:00
mark ba8c6b9828 arm32 now supports soft serial interrupts. 1998-09-05 04:25:35 +00:00
is a3ee69c87a Split SMC chipset ARCnet driver into
- machine independent chip driver, in dev/ic/smc90cx6.c/...reg.h,...var.h,
  using bus_space methods
- ZBUS frontend in arch/amiga/dev/if_bah_zbus.c
- added IPL_SOFTNET to arch/amiga/include/intr.h, for this
Implementing the ISA bus frontend is left as an exercise to the reader.
1998-09-02 22:32:06 +00:00
drochner 453b195c4d Can't use pckbc_enqueue_cmd() in attach() because pckbc's initialization
is not yet completed, have to use pckbc_poll_cmd() instead.
1998-09-02 20:01:15 +00:00
drochner b43e33a471 Since the RAMDAC drivers use the !=0-ness of fields for diagnostic
purposes, we have to zero-initialize the tga_devconfig structure.
1998-09-02 19:51:06 +00:00
mjacob fd97cb265c typo for non-SCSIVERBOSE case 1998-09-02 02:18:48 +00:00
pk 380e88d4f0 Adjust some comments. 1998-09-01 22:56:00 +00:00
jeremy 6693724a83 Changed inaccurate comment on the sc_freq member of the driver's softc
structure.  The frequency is represented in MHz rather than Hz. [PR/6805]
1998-09-01 22:22:03 +00:00
pk fec2fa9e43 Typo in device Id mask. 1998-09-01 21:04:43 +00:00
jtk 92707994ef use ad1848_isa_attach, so GUS cards with CS4231 don't panic the kernel 1998-09-01 18:48:38 +00:00
drochner a442e328e7 -add italian layout, from Dante Profeta <dante@mclink.it>
-name pckbd_keydesc_declk -> pckbd_keydesc_us_declk for consistency
1998-09-01 18:11:13 +00:00
drochner 9d3ed7d925 add definition for italian keyboard 1998-09-01 18:09:27 +00:00
mycroft b742b9ad67 Move some debugging output to more useful levels. 1998-09-01 07:27:06 +00:00
enami 29e9385ce2 Make this file compile again by removing no longer used `struct
cfdriver md_cd' and related code.
1998-09-01 06:13:33 +00:00
cgd d58173741d kill the last remnants of __BROKEN_INDIRECT_CONFIG. (only the pica port
used it, and it's non-working and apparently slated for replacement.)
1998-08-31 22:28:04 +00:00
dante d35b531a68 Remove __BROKEN_INDIRECT_CONFIG
Correct currently known boards
1998-08-31 17:15:25 +00:00
pk 5038a72078 A few modest simplifications. 1998-08-31 11:13:54 +00:00
pk 860867bfec macro argument protection. 1998-08-31 11:13:10 +00:00
pk 98e669d970 Use sbus attach args features.
getpropA() => getprop()
1998-08-30 21:25:30 +00:00
jtk 61cf67759a make AUDIO_DEBUG work again 1998-08-29 22:49:48 +00:00
pk fe6b9295a8 Adjust for some small changes in lsi64854 back-end driver. 1998-08-29 21:43:00 +00:00
pk 73b946e04e LSI64854 DMA engine driver.
Currently used by Lance Ethernet and NCR SCSI front-ends on sparc/sparc64.
1998-08-29 21:42:03 +00:00
pk 1f0567dd53 Nuke unnecessary header files. 1998-08-29 20:38:38 +00:00
pk 3557f62f30 Use bus_space_*() to access device registers.
Add `esp' and `le' DMA engine.
1998-08-29 20:32:09 +00:00
pk 15d097c04d Make compile without AUDIO_DEBUG 1998-08-29 19:52:09 +00:00
dante cb8b14827c Adjust copyright justification 1998-08-29 13:54:50 +00:00
dante 17759893b0 Add rcs id 1998-08-29 13:44:49 +00:00
drochner 2f94f2c21c some fixes:
-use of uninitialized variable in attach (mostly harmless)
-removal of dead code in attach()
-fix of interpretation of SIA blocks on >=21142 (serious, caused strange
  things with 10Mbit)
1998-08-28 20:58:37 +00:00
thorpej 370a38c007 Add braces to make egcs happy. 1998-08-28 20:03:10 +00:00
pk 1643e13b90 XXX - BUS_DMA_BIT24 does not exist everywhere.. 1998-08-28 20:01:08 +00:00
thorpej f3bfb08d45 When determining the default media on the Vortex/Boomerang, don't pick
the full-duplex variant.  XXX We should check the EEPROM for "default to
full-duplex".
1998-08-28 18:16:02 +00:00
fvdl 17c31a8a21 Add ETHER|NONE to default capabilities, or we'll panic when attaching
the forthcoming ex driver.
1998-08-28 12:50:36 +00:00
pk 535cdbe9f2 Slight optimization in audio_[pr]int(). 1998-08-28 12:07:41 +00:00
pk b1447741da Nuke Dprintf; fix formats. 1998-08-28 08:59:14 +00:00
pk 9441400ef0 Nuke Dprintf; fix formats.
Add missing copyright.
1998-08-28 08:58:24 +00:00
augustss c50af72c34 Handle the case of MIDI devices with no audio devices. 1998-08-28 07:44:12 +00:00
pk efad4d44c0 CS4231 audio driver. Play only for now. 1998-08-27 20:51:17 +00:00
pk ce2bbbd092 Add audiocs. 1998-08-27 20:49:37 +00:00
pk dd0709d28d Add selected `%b' bits. 1998-08-27 20:05:11 +00:00
pk 142bff0170 Add missing entries and make it slightly more verbose. 1998-08-27 19:53:02 +00:00
pk b3279eb3dc Move a few prototypes.
Whitespace cleanup.
1998-08-27 18:45:12 +00:00
mrg 41ad1758ac move isp_sbus attachment into /sys/dev/sbus. 1998-08-27 11:30:45 +00:00
drochner a80cad6e0a regen 1998-08-26 20:00:37 +00:00
drochner fe1c5e2163 add the SIS 5597/5598 all-in-one PCI chipset 1998-08-26 19:59:16 +00:00
pk fc397afa14 debug level 0 1998-08-26 15:06:37 +00:00
dante d93a0d81b0 Add AdvanSys support 1998-08-26 14:20:37 +00:00
dante 97b8010151 Changed ADVSYSPROD to ADVSYS vendor ID
Added 1200A, 1200B, ULTRA, 2300 AdvanSys products ID
1998-08-26 14:18:26 +00:00
dante d9e417cde9 Add AdvanSys 930U and 940U SCSI controllers 1998-08-26 14:13:58 +00:00
augustss 7972a062b0 Make the OPL driver attach directly to ISA as well. 1998-08-26 13:33:59 +00:00
augustss 8d64ea1683 Less debug printing. 1998-08-26 13:08:44 +00:00
augustss 6633896a67 Do some renaming of registers and make sure we get sound in both
channels on OPL3.
1998-08-26 13:08:10 +00:00
augustss bb3c56652c Make the OPL driver turn on the sound on sound cards that require it.
That makes it much more likely that we get any sound.  DUH!
1998-08-26 12:10:22 +00:00
thorpej bc21c243cd For non-MII Vortex/Boomerang, set full-duplex in the MAC CONTROL register
in epsetmedia() if full-duplex is selected (new feature on these cards!)

On MII Boomerangs, set the full-duplex bit in MAC CONTROL in the statchg
callback from the MII layer.  Should fix full-duplex on these cards.
1998-08-26 01:32:41 +00:00
thorpej 19b759c2e4 Define the full-duplex bit in the W3 MAC CONTROL register. 1998-08-26 01:29:03 +00:00
pk 6ab705c01b Also include SUN4 in the temporary split 1998-08-25 22:42:48 +00:00
pk d4ec33b5f0 The new MI part of the AD1848 driver. 1998-08-25 22:36:40 +00:00
pk f7151935ef Adjust for ad1848.c split. 1998-08-25 22:35:25 +00:00
pk 2ffb54bdcc Split the AD1848 driver into MI (dev/ic/ad1848.c) and ISA parts. 1998-08-25 22:34:29 +00:00
augustss a48f7d8a24 Attach the OPL FM synth to the ESS driver.
It probes, but alas, no sound.
1998-08-25 12:52:47 +00:00
thorpej daa8ad1747 Add some braces to make egcs happy. 1998-08-25 04:56:01 +00:00
thorpej 85c6c03e2a Change the 32-bit fields of the RFA to an arrays of bytes, so that
egcs won't attempt to optimize inline copies of them into a single
load/store (the RFA is not 4-byte aligned in the DMA area).

Just use memcpy() to copy those fields, now, not our own home-grown.
1998-08-25 01:08:15 +00:00
augustss 4e7c07c2b4 Write MIDI data from the sequencer to the device in a more sane way. 1998-08-24 17:59:25 +00:00
matt ea3bfd6d80 Fix bug in transmit logic that would transmits to stop. Boolean dyslexia
stricks again.
1998-08-24 14:09:15 +00:00
tv 54bf4389f9 egcs brace warning 1998-08-24 02:34:44 +00:00
msaitoh 7734e0ef29 fix version string (from PC Card Standard, April 1998 (Release 6.1)) 1998-08-22 23:41:48 +00:00
augustss c7e036f6e2 Let opl attach to ess.
WARNING: it doesn't work yet.
1998-08-22 22:55:09 +00:00
augustss f2ff59edc5 Change debug output. 1998-08-22 22:54:11 +00:00
msaitoh 369bc4cb89 Allocate an I/O according to the config table entries.
Auto assign is done only when all cfe->iospace[0].start fails.
1998-08-22 17:47:58 +00:00
mrg 9d4112bf21 make struct xd_iocmd's block member an u_int not a u_long 1998-08-22 15:11:02 +00:00
mrg 4d4f129eaa make "struct sun_dkpart" the same for sparc/sparc64 (sparc64 must have been broken?) 1998-08-22 14:55:28 +00:00
pk bc7c6c0c4c Fix DVMA address handling. 1998-08-22 11:47:45 +00:00
pk ef6b13cc87 vm_offset_t => vaddr_t. 1998-08-21 14:13:47 +00:00