summaryrefslogtreecommitdiff
path: root/sys/dev
AgeCommit message (Collapse)Author
1998-09-21Roll back to 1.71 version- too many unexplainable problems with 1.72.mjacob
1998-09-21Add softserial to the alpha port. This significantly improved PPPmatt
throughput on com ports.
1998-09-20Regenerated .h files to fix "generated from" CVS id.dbj
1998-09-20Added support for a Dayna Communicard E that probes with adbj
different product id (0x2f) than the one we had (0x2d)
1998-09-20Changes so that BPF readers will get the data in fddi packet aligned alongmatt
normal boundaries. This makes tcpdump much happier.
1998-09-19Make sure data in FDDI packets are aligned nicely (for alpha, etc.)matt
1998-09-18Map the "backspace" key to "delete" and the "remove" key todrochner
"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-18Use an appropriate value for wpp_quirk_flag.enami
1998-09-18Make these files compile again; no longer necessary to passenami
iobase to comprobe1.
1998-09-18regendrochner
1998-09-18Add PCI-VME interfaces: Tundra Universe and Bit3 2706drochner
Note that Newbridge is now Tundra Add Adaptec 7890 & Co.
1998-09-18SCSI_ASYNCREQ turns out to be redundant; we can simply free the scsipi_xferscottr
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-18Define a SCSIPI_XFER_ASYNC macro to test whether a request will bescottr
completed asynchronously. Eliminate SCSI_ASYNCREQ, which is actually redundant information.
1998-09-18Regen.mark
1998-09-18Add yet another vendor ID for Fujitsu.mark
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-18Make changes as required for new return values from dma setup routinemjacob
for isp. Unable to test in running kernel because they're not buildable today, but should be okay.
1998-09-17dma setup now returns CMD_QUEUED or CMD_COMPLETE. Clarify a ternarymjacob
operation that needed some parentheses.
1998-09-17Several changes, including some stub fibre target mode stuff. Establishmjacob
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-17cleanup header to be just NetBSD, roll rev, change QDEPTH to QAVAIL macromjacob
1998-09-17cleanup header to be just NetBSDmjacob
1998-09-17add some target mode definitionsmjacob
1998-09-17cleanup header to be just NetBSDmjacob
1998-09-17LK201/LK401 support for wscons (only decoding for now).drochner
1998-09-17Add definition for highest legal LK201 keycode.drochner
1998-09-17Adapt to keymap table format change.drochner
1998-09-17wskbd map for LK201/LK401drochner
1998-09-17Move keyboard map from <dev/wscons/wskbdmap_mfii.h> into a _source_ file.drochner
1998-09-17Add option bit which covers the delta between LK201 and LK401.drochner
1998-09-17Add end mark to list of keymaps.drochner
XXX This file will be removed, it is only left until the USB driver XXX got an own keymap.
1998-09-17Reorganize the list of keyboard maps: no explicite length counter, usedrochner
an end mark instead. This allows to keep keymaps separate from the drivers referring to them.
1998-09-17Define a new keyboard eveny type "all keys up". This allows to reducedrochner
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-16Garbage collect unused 3rd parameter to comprobe1().is
1998-09-16Revert the last change: returning COMPLETE is clearly the wrong thing to doscottr
if we weren't polling to begin with.
1998-09-16Found a race in scsipi_execute_xs(): if an asynchronous transfer completesscottr
(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-15bootpath check needs to keep checking for two formats.pk
1998-09-15Fix a problem where txput could "lose" dmamaps if it couldn't actuallymatt
place the packet into the ring for some reason.
1998-09-15This commit fixes two bugs in the de driver. The first is that thematt
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-14Correct a serious problem that affects at least front ends that can onlyscottr
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-14Fix a problem uncovered when we started to use the pool allocator to managescottr
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-14Fix a problem uncovered when we started to use the pool allocator to managescottr
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-13Make sure the buffers are synchronized on open.mycroft
1998-09-13Make sure all voices are deallocated on close.mycroft
1998-09-12Regen.wrstuden
1998-09-12Add support for the OPTi Audio 16 IDE controller.wrstuden
1998-09-12PnP IDE controllers can pass us the regions in any order, so make surewrstuden
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-11keren/6128: add an entry for the TDC 4200. Full density code set isn't known.mjacob
1998-09-11Add arc as a target platform.jonathan
1998-09-10Regenkenh
1998-09-10Reorganize the probe routine and add a quirk table. Much of this codekenh
comes from Enami Tsugutomo (enami@but-b.or.jp). Also add a couple more devices to the pcmcia devices table.
1998-09-10Add support for passing device quirks from the attachment routine,kenh
and add support for a NO_EXTRA_RESETS quirk (required by the TEAC IDE Card/II, which the Vaio uses).