Commit Graph

2335 Commits

Author SHA1 Message Date
matthias 8033e010bd In case of a SCSI-error print the extended sense information and not
some sort of random garbage.
1997-06-09 19:36:56 +00:00
thorpej da1b5f9021 It's perfectly normal for an older (e.g. pre SCSI-2) device to send
MESSAGE_REJECT in response to SDTR or WDTR.  Because of this, the
printfs that indicate refusal of sync/wide negotiation are unneeded
in normal operation.  In the __NetBSD__ case, disable them by default.
They, like the other extra-verbose ahc driver boot messages, may be
reenabled with "options DEBUG".  The behavior in the !__NetBSD__ case
is unchanged.
1997-06-09 01:51:03 +00:00
thorpej e78f8ce7da Duplicate register mapping logic from Tulip driver. 1997-06-09 01:23:20 +00:00
thorpej 3e023b7681 Fix a slight bogon in merge of this driver; make the device map all of
its space, and pick the space used by default based on what is appropriate
for the CPU we're running on.
1997-06-09 00:34:18 +00:00
thorpej e962c12a08 Fix pasto: sbus -> pci 1997-06-08 22:15:34 +00:00
thorpej 6bf33a7fe3 Merge pdq-970604 update. 1997-06-08 19:47:13 +00:00
thorpej 2f8150954f Correct a couple of typos so that this compiles with TULIP_DEBUG,
per PR 3723, submitted by enami tsugutomo <enami@ba2.so-net.or.jp>.
1997-06-08 18:49:43 +00:00
thorpej cd4fc920b0 Put back Matt Thomas's revision ID, per PR 3723, submitted by
enami tsugutomo <enami@ba2.so-net.or.jp>.
1997-06-08 18:44:02 +00:00
pk 5521477455 Remove attempt to use files with holes; it's prone to deadlocks. 1997-06-08 15:59:41 +00:00
pk 6c88c4ca23 Avoid race for residual count and pending requests count. 1997-06-08 15:55:34 +00:00
thorpej 31498892b3 Fix a (fatal) typo in the bus dma changes. From Bill Coldwell
<billc@warped.com>
1997-06-08 08:43:52 +00:00
thorpej 159c685a42 - Update for changes to core ISP driver.
- Convert to use bus dma, greatly simplifying DMA setup.
1997-06-08 06:34:52 +00:00
thorpej b937ee4745 - Simplify mailbox DMA setup, allowing the front-ends to allocate the
mailbox storage in a way they see fit.
- Define macros to index and size the request and result queue entries.
1997-06-08 06:31:52 +00:00
mhitch c108a0ce0b Fix another weird driver state. After sending the SCSI command to the target
after synch negotation during device probes, the 53C94 stops with the target
reqesting more command data.  The fifo appears to still contain a couple of
bytes, so transfer them.  If the target still wants command data after that,
do a transfer pad.  The target seems to function normally after this.  A
much better solution thant simply rebooting!
Also fix a problem when compiling with DIAGNOSTIC - a mismatch between using
DIAGNOSTIC and MACH_DIAGNOSTIC caused the compile to fail.
Try to start another target and a device disconnects.
1997-06-07 05:10:42 +00:00
thorpej 6d9b3bc058 Pull the thorpej-bus-dma branch into the mainline. 1997-06-07 01:35:07 +00:00
thorpej 11e78a6b0d Pull thorpej-bus-dma branch into mainline. 1997-06-06 23:43:45 +00:00
thorpej fbc0df0a1a Pull thorpej-bus-dma branch into mainline. 1997-06-06 23:30:02 +00:00
mellon 2a1b799fda Clean up conflicts during merge (thomas de-970603) 1997-06-06 23:14:58 +00:00
mellon 4f4f344f71 Clean up conflicts during merge (thomas de-970603) 1997-06-06 23:14:19 +00:00
thorpej b2ef3f1591 Add device declaration for Intel EtherExpress PRO 10/100B driver. 1997-06-05 02:15:36 +00:00
thorpej f2317e1c5b Changes to support NetBSD, written by me, tested by Matthias Drochner:
- Add NetBSD autoconfiguration support.
- Rearrange code slightly to minimize the number of #ifdefs.
- Don't use a structure to access CSRs.  Use macros that DTRT for
  the NetBSD and FreeBSD cases.
- Deal with alignment contraint on Alpha - add 2-byte padding at the
  beginning of the RFA, so that the data will be 4-byte aligned, after
  the 14-byte Ethernet header.
Thanks to Matthias Drochner for the testing, and David Greenman for
the feedback on the changes.
1997-06-05 02:01:55 +00:00
thorpej 7fa6876537 Import FreeBSD's Intel EtherExpress PRO 10/100B driver, written
by David Greenman.
1997-06-05 01:50:48 +00:00
cgd 9d52c4bb31 4th arg to bus_space_{read,write}_multi_2() is a u_int16_t *, and should be
cast if it isn't.  (These casts aren't necessarily safe, because of
alignment issues, but they allow the code to compile with prototyped versions
of bus_space_{read,write}_multi_2().)
1997-06-04 20:42:56 +00:00
mjacob 62b3daa7d2 Finally found the cause of that nagging 'lost command' (for the first
command) bug: the initial response queue index is take from mbox 5,
not mbox 4, and mbox 5 wasn't getting initialized to zero.
1997-06-01 23:42:04 +00:00
jtk 5759a768d7 add software emulation stub for ulinear_be 1997-05-31 15:30:22 +00:00
mycroft 9a7f1bfa84 Use single mode, not demand mode, for auto-initialize transfers. 1997-05-29 21:46:07 +00:00
mycroft cf09974361 Add DMA37MD_DEMAND and DMA37MD_BLOCK. 1997-05-29 21:42:28 +00:00
jtk 8551fb607a fix popping noises on 16-bit ulinear output.
add big-endian support
XXX ULINEAR_BE still needs ad1848 emulation on gusmax
1997-05-29 05:33:15 +00:00
jtk 1b429137ae make Jazz16 16-bit output work properly again. Still hangs somewhere
(not yet diagnosed) on occasion in high-speed mode, but a ^C will exit
immediately--no 30-second drainage timeout.
1997-05-29 04:57:02 +00:00
mycroft e9028468cd Don't use the TC bit to check for wraparound in isa_dmacount(); remember the
transfer length and use that.
1997-05-28 20:02:39 +00:00
jtc 0a3a33b1ba Copyright of this file has been assigned to The NetBSD Foundation 1997-05-28 16:30:54 +00:00
augustss 1bd32f9cad Add Alaw encoding emulation. 1997-05-28 00:07:46 +00:00
augustss 1616170859 A cosmetic name change. 1997-05-27 23:37:53 +00:00
augustss 73ff4bd775 Allow more than one hardware driver to attach to the audio upper layer. 1997-05-27 23:24:56 +00:00
pk f959841d17 Pass correct offset to vn_rdwr(). 1997-05-26 20:28:38 +00:00
mycroft 6756ff7858 Minor corrections to previous. Notably, make recording work on SBPro again. 1997-05-26 16:13:59 +00:00
mycroft 6bfd7b7d45 Remove unneeded call to comstop() in commsrint(). This fixes a problem
where the driver would sometimes retransmit bytes.
1997-05-26 14:54:46 +00:00
pk e571ff8ba8 Add code (#ifdef'ed VND_FILLHOLES for now) to fall back on vn_rdwr()
if VOP_BMAP() does not produce a translation.

IO_SYNC is used to prevent dirty file cache buffers. On a ffs filesystem,
once a hole is filled, subsequent vnd accesses find will find valid
VOP_BMAP() translations.

Concerns:
	* is the assumed semantics correct for all filesystems?
	* do we actually want the automagic extension on the VND
	  backing store..
1997-05-25 22:27:16 +00:00
pk 740da4fa88 Use an additional structure to keep information on a set of transfers
initiated by vnd_strategy(). This allows for more natural error handling
and solves two bugs:
	* vnd can disk_unbusy without disk_busy (PR#2657)
	* b_resid is set correctly on the external at the end
	  of a transfer in case of an error.
1997-05-25 19:37:36 +00:00
pk 317703b784 Pass correct transfer count to disk_unbusy(). 1997-05-25 16:21:45 +00:00
jonathan 84f22cdf55 lint: delete unused variables. 1997-05-25 05:48:14 +00:00
pk ec02e14ae2 Remove all `bustype' arguments from map[io]dev() and REG2PHYS(). 1997-05-24 20:16:06 +00:00
pk c6a933f6ea Remove all `bustype' arguments from map[io]dev() and REG2PHYS(). 1997-05-24 20:15:59 +00:00
jonathan 3bdc896e84 lint: fix %x vs pointer and tyops in error-logging printfs. 1997-05-24 09:48:53 +00:00
thorpej 97c6a307e3 Where _is_ that brick when you need it?! 1997-05-24 03:45:40 +00:00
jeremy b06eb8ce7f Comment reference to ramdisk.h -> md.h 1997-05-23 23:44:34 +00:00
augustss 72b5ba3901 Redo the way selecting the mode for SB cards is done completely.
It is now table driven since there are so many different variations
of SB cards out there.
Also fix a bug that stopped SB2 and SBPro from working.
1997-05-23 21:19:59 +00:00
augustss c612a6fca7 Check that setting IRQ and DRQ on SB16 actually succeeds. 1997-05-23 09:45:40 +00:00
augustss 1fd29f4172 Make the audio default parameters into a globally accessible constant. 1997-05-20 12:51:43 +00:00
augustss 0db08d11e6 Redo the SB mixer code. The driver can now distinguish between the
four different mixer options: none, CT1335, CT1345, and CT1745.
It should now be possible to access most of the SB16 functionality.
1997-05-19 23:14:29 +00:00
pk 0dae2eb53d Avoid negative values for `b_dirtyend' and `b_validend'. 1997-05-19 22:08:56 +00:00
pk 7a45e8a551 Fill in b_dirtyoff/b_dirtyend and b_validoff/b_validend appropriately
in each auxiliary buffer; the strategy routines (esp. NFS's) like that.
1997-05-19 14:41:54 +00:00
mrg ac74fdbb9c KNF. 1997-05-19 04:01:16 +00:00
thorpej 50a39a3334 Add NetBSD RCS IDs. 1997-05-18 06:08:02 +00:00
augustss 8d6f509439 Mask the level registers as the documentation suggests. 1997-05-18 00:36:03 +00:00
augustss d7a82223f4 Change lowater calculation a little.
Fix mixer setting bug and add some missing splaudio().
Set SB drq16 to 5 and don't pretend to be SB v1.0.
1997-05-17 23:26:33 +00:00
pk d3844873e8 Mods for ESP406/FAS408 ISA SCSI driver (from Eric S. Hvozda; PR#3581) 1997-05-17 20:58:47 +00:00
pk 7f4962f3f3 An ESP406/FAS408 ISA SCSI adapter driver (from Eric S. Hvozda; PR#3581) 1997-05-17 20:58:12 +00:00
pk 990857fe21 Mods for ESP406/FAS408 SCSI driver (from Eric S. Hvozda; PR#3581) 1997-05-17 20:56:55 +00:00
augustss abdd4ddbea Back to pretending to be a SB v1.0 again, the mixer code for higher
versions is buggy.
1997-05-16 07:07:22 +00:00
pk 72d640a497 Tweak gain curve (from nsayer@kfu.com; PR#2909) 1997-05-15 22:32:56 +00:00
thorpej 151926da32 Make sure we're in register window 0 before attempting EEPROM access,
pointed out by Matthias Drochner.
1997-05-14 00:22:00 +00:00
augustss 37be371415 Clean up emulation code, SB, and GUS drivers and add some more encoding
emulation to SB.
1997-05-13 19:02:11 +00:00
jtk d01ff6bdaa regen 1997-05-13 14:45:39 +00:00
jtk 68187ebd40 correct the identification of Intel Orion PCIset chips 1997-05-13 14:44:54 +00:00
jtk 877dcf7fc9 restore accidentally-lost set of nchannels in driver layer 1997-05-12 04:11:43 +00:00
jonathan fac2cd30a0 Set TX-available threshhold in epinit() just before enabling interrupts,
so TX_AVAIL intrs are enabled for root-on-NFS kernels.
Tested (and required) on 3c595TX with root-on-NFS kernel booted from floppy.
1997-05-11 05:47:08 +00:00
augustss 4b487c00bd Clean up audio_silence_copyout(). 1997-05-11 00:41:12 +00:00
jtk c7be49441e fix typo: LINEAR should have been ULINEAR 1997-05-10 19:01:53 +00:00
jtk 9734adc67f use normal linear names/values for 8-bit encodings
mark mulaw as emulated (it's done via a mapping table)
use GUS query encoding routine, even on GUS max, since the encoding
stuff is handled by the GF1.
XXX might not be right for recording, but it's correct for playback.
1997-05-10 18:58:33 +00:00
augustss e63a553175 Change the interface between high and lowlevel audio drivers again:
Set the encoding parameters slightly differently.
Remove the SW encoding/decodinf functions from this interface
and move them to the audio_parameter struct; this is both more efficient
and flexible.
1997-05-09 22:16:27 +00:00
thorpej fd9b64b81a Garbage-collect an unneeded #ifdef. 1997-05-08 04:39:35 +00:00
thorpej 158a6e52a4 Garbage-collect and uneeded #ifdef. 1997-05-08 04:39:03 +00:00
augustss 07cf0ea21d Oops, forgot this in previous commit. 1997-05-07 20:23:53 +00:00
augustss c397fa8357 Return audio buffer size in audio_info_t with ioctl() AUDIO_GETINFO.
Use the buffer size to implement one more OSS ioctl().
1997-05-07 19:24:25 +00:00
augustss c4a52794f1 Convert to new orthogonal audio encoding scheme and implement
some of the new encodings.  The change to ioctl AUDIO_GETENC is
NOT backwards compatible.
1997-05-07 18:51:31 +00:00
thorpej b5c783c6e4 Merge 970327 "de" update. 1997-05-07 18:45:01 +00:00
mikel 383d8e6f79 update sb_printsc() to match current reality. 1997-05-07 04:36:00 +00:00
gwr 58abe62fde Update an obsolete comment. (We DO handle CapsLock and NumLock.) 1997-05-02 17:41:37 +00:00
jeremy 3aa6ce0369 Moved from arch/sun3/sun3 and changed according to implied references
in recent commits to sun3/clock.c and sun3x/clock.c by Gordon Ross.
1997-05-02 06:15:28 +00:00
pk 31b943b8ac Preliminary support for ESP406 and FAS408 variants (from Eric Hvodza; PR#3559) 1997-05-01 22:16:24 +00:00
marc 8f6ec1a681 wds_find has the sense of its return value backwards (0 vs 1). This
caused the probe to succeed when there was no device present.
1997-05-01 20:10:57 +00:00
kleink 269ccaa71b Fix typo in last commit; from Thorsten Frueauf <frueauf@ira.uka.de>
in PR/3566.
1997-05-01 12:27:10 +00:00
scottr cd3abdf098 Fix typo in last change. 1997-04-30 19:16:23 +00:00
scottr c0d7fd03ae Remove the use16bit softc field, replacing the functionality with dcr_reg.
This allows the front end to override the default DCR (byte-wide DMA,
x86 byte order, 8-byte FIFO) with different transfer size, byte order, DMA
parameters, and FIFO threshhold.  If the loopback select bit is not set for
normal operation, the default is used instead.

Inspired by thoughts from Bernd Ernesti.
1997-04-30 18:09:14 +00:00
augustss 2fb1d088c5 XXX Pretend that all SB cards are of model 1.
XXX This way you can at least use SB cards until the real fixes go in.
1997-04-30 02:08:12 +00:00
augustss 526ef2f618 Change the interface between the high and low level audio drivers
so that all audio encoding parameters are set at once.  This simplifies
the interface and make error checking easier.
1997-04-29 21:01:33 +00:00
scottr ad24724cbc Machine-independent driver for DP8390/WD83C690-based Ethernet controller.
Derived from the ISA if_ed driver and the mac68k if_ae driver.
1997-04-29 04:32:07 +00:00
mycroft 37cb09ba66 DTRT if OF_read() returns 0 when no data is available. 1997-04-28 18:33:57 +00:00
mycroft d8615e4fb9 Oops; forgot to GC the last mbuf allocated when out of clusters.
Also, DTRT if OF_read() returns 0 when no data is available..
1997-04-28 18:32:58 +00:00
mycroft bc66bb3e6e Oops; forgot to GC the last mbuf allocated when out of clusters.
Also, remove the internal mbuf queue, which is not needed by this driver.
1997-04-28 18:30:20 +00:00
mycroft 103c7d360d Oops; forgot to GC the last mbuf allocated when out of clusters. 1997-04-28 17:03:58 +00:00
mjacob b3192632db On alpha, sizeof (long) != sizeof (int) and sizeof (int) != sizeof (ptr_t) 1997-04-28 15:52:44 +00:00
mjacob ac6fbba3ac On alpha size_t is not an int, ergo last argument to dma setup glue
function can't be a pointer to an int.
1997-04-28 15:43:47 +00:00
pk 94eaf1bb04 Implement target selection using DMA.
To allow a period of testing the variable `ncr53c9x_dmaselect' is used to
enable this feature (default is 0, i.e. the old behaviour).
1997-04-27 22:08:51 +00:00
jonathan dbf4f7b71f * Tidy PHY [sic] selection code in epsetmedia().
* epinit() had both explicit xcvr selection for 3c589 and a call
  to epsetmedia().  The first is redundant; delete it, and EP_COAX_DEFAULT.

* Update comments to reflect 3c589 and 3c509B fixes.  Fix typos.
1997-04-27 21:09:56 +00:00
veego 1b80d8dd97 Add other isapnp id's for the 3c509. 1997-04-27 09:46:50 +00:00
veego f05fad5ad9 - Add a new variable to epaddcard to call epconfig with the right chipset.
- Don't attach a 3c509 in PnP mode.
1997-04-27 09:44:45 +00:00
veego bf37fc50d0 Rename the PROD_ID to PROD_ID_3C509 to make it possible to add other
product id's, e.g. for the 3c515.
1997-04-27 09:42:34 +00:00
veego a2e1f15ba7 - Replace the check for EP_BUS_PCMCIA in epsetmedia with a check for
EP_CHIPSET_3C509 and change it a bit so it works now with the 3c509
  and still works with the 3c589.
- KNF
1997-04-27 09:38:50 +00:00
augustss 81a10d7725 Don't require that a device is open for writing to perform a raw
SCSI command that just reads.
1997-04-26 22:24:46 +00:00
jonathan 593e5dd8e1 Pad of first mbuf in chain, even if it's a cluster (pr 3536).
Garbage-collect padding of header mbuf.
1997-04-25 20:14:37 +00:00
explorer 60a6c8d34b Add isapnp attachment for com driver 1997-04-25 15:26:11 +00:00
mycroft 91a808523c Fix typo in previous. 1997-04-24 08:05:13 +00:00
mycroft b65e62c6c4 If we fail to allocate a cluster to hold a large packet, simply
drop it rather than using a chain of tiny mbufs.
Do not force the initial part of a packet into a separate mbuf.
1997-04-24 02:36:46 +00:00
mycroft 68258fba20 Do not force the initial part of a packet into a separate mbuf. 1997-04-24 02:25:36 +00:00
mycroft 581399fc4c If we fail to allocate a cluster to hold a large packet, simply
drop it rather than using a chain of tiny mbufs.
1997-04-24 02:24:04 +00:00
mycroft 030c7010ee If we fail to allocate a cluster to hold a large packet, simply
drop it rather than using a chain of tiny mbufs.
1997-04-24 02:04:33 +00:00
mycroft db2332eb26 Another silly CD-ROM drive... 1997-04-24 00:49:14 +00:00
cjs 9be8b65e23 Smaller, cleaner code for aligning struct ip on receipt. 1997-04-23 08:15:03 +00:00
cjs 5c8bf48817 Align struct ip on incoming packets for all types of cards, not just
32-bit ones.
1997-04-22 21:19:11 +00:00
thorpej 6102bc8ec2 And Yet Another Broken IBM disk (the 664 this time), once again
reported by Hubert Feyrer <feyrer@grizu.fh-regensburg.de>.
1997-04-20 01:30:30 +00:00
thorpej f9bc642a6d Add Yet Another Broken IBM disk to the SDEV_AUTOSAVE list. This one
doesn't report a vendor string (yuck)!.  Problem reported by
Hubert Feyrer <feyrer@grizu.fh-regensburg.de>.
1997-04-20 00:55:05 +00:00
pk f2c53e4c3d Two more quirks:
Python 28454-XXX tape drive: NOLUNS
	1588-15MBSUN0669 disk: AUTOSAVE
1997-04-19 21:32:37 +00:00
pk 231a4bfb1f Remove bogus pointer cast.
Accept FIONBIO ioctls.
1997-04-19 21:25:43 +00:00
cgd 5cfcabc2fe compile when __BROKEN_INDIRECT_CONFIG isn't defined. 1997-04-18 00:50:33 +00:00
mikel 7aa8facf27 end line after printing WIDE SCSI status; fixes PR kern 3505. 1997-04-17 07:21:14 +00:00
thorpej 48b6d2a6f3 Update for no __BROKEN_INDIRECT_CONFIG. 1997-04-16 23:41:53 +00:00
thorpej 8338396bf4 - Update for no __BROKEN_INDIRECT_CONFIG.
- Fix BPF hooks.
1997-04-16 23:41:19 +00:00
thorpej 2747d6c890 - Update for no __BROKEN_INDIRECT_CONFIG.
- Determine and remember if we are a floppy.
- Workaround for what is apparently a firmware bug - ignore the sector
  size returned by the device.  On my Firepower's floppy, block-size
  is the same as max-transfer, which causes Lossage.
- Don't read the disklabel on a floppy; do what the ISA floppy driver
  does, which is assign the entire disk to each "partition", although
  we do not deal with the density stuff.
- FIREPOWERBUGS -> FIRMWORKSBUGS
- Some general cleanup.
1997-04-16 23:39:28 +00:00
thorpej 991fede269 Update for no __BROKEN_INDIRECT_CONFIG. 1997-04-16 23:32:04 +00:00
cgd 78b378b2bc create pci_mapreg_info() which simply gets mapping register information.
It's used by pci_mapreg_map() and can be used directly by drivers
with special needs (e.g. those being attached as console devices).
1997-04-13 22:05:10 +00:00
cgd 36949596f0 rename pci_map_register to pci_mapreg_map. The latter name is more
descriptive, and allows for a sane name for a function which just digs
the info out of the mapping register but doesn't do the mapping.
1997-04-13 20:14:20 +00:00
cgd dcd9b58489 don't bother keeping around the i/o tag. It's useless by itself, and
without other significant changes to this driver wouldn't be particularly
useful to keep around permanently anyway.
1997-04-13 20:02:11 +00:00
cgd 04e7505aaa clean up an autoconfiguration printf. Much more should be done 1997-04-13 20:00:29 +00:00
cgd 4c2cff7209 use pci_map_register(). map both mem and I/O spaces, preferring mem space
by default if it's usable, but falling back to I/O space if mem isn't usable.
If NCR_IOMAPPED is defined (default on the x86), prefer I/O space
then fall back to mem.  Also, clean up the various memory consistency checks
so that they can deal with run-time determination of whether or not the
device is to be memory- or I/O-mapped.
1997-04-13 19:58:17 +00:00
cgd 32836b0710 use pci_map_register(). map both mem and I/O spaces, preferring mem space
by default if it's usable, but falling back to I/O space if mem isn't usable.
If TULIP_IOMAPPED is defined (default on the x86), prefer I/O space
then fall back to mem.
1997-04-13 19:56:14 +00:00
cgd 8593458137 use pci_map_register(). Also, almost a complete rewrite/cleanup of this
code.  (It still needs more!)
1997-04-13 19:55:09 +00:00
cgd 41a0ca7403 clean up space/tag comments 1997-04-13 19:48:50 +00:00
cgd cf2d73f749 use pci_map_register(). map both mem and I/O spaces, preferring mem
space if it's usable, but falling back to I/O space if mem isn't usable.
1997-04-13 19:48:16 +00:00
cgd 02ca6f929d use pci_map_register(). 1997-04-13 19:47:06 +00:00
cgd 2eae910210 implement pci_map_register(), which gets information about a device's
mapping register, maps it, and returns all of the relevant information.
deprecate use of pci_{io,mem}_find(), but leave them around (for a while)
for backward compatibility with third-party drivers.
1997-04-13 19:46:01 +00:00
cgd ade89d0da0 add a missing newline 1997-04-11 20:28:08 +00:00
cgd db11467340 clean up some constants ([A-F]->[a-f] in hex constants 1997-04-11 05:24:40 +00:00
thorpej c0c810cbe0 Initialize the scsi_link before calling bha_init(), since that is how
we check for "wide controller" now.
1997-04-11 01:34:25 +00:00
cgd cc93b2c4eb pass memory- and i/o-enabled flags down via the PCI bus and device attach
arguments, so that a device can tell if its memory and I/O spaces are
enabled.  The flags are cleared, depending on the contents of devices CSR
registers, in the machine-independent PCI bus code.
1997-04-10 23:12:16 +00:00
mikel cff564f651 fix off-by-one error in fixed I/O resource interpreter
fix address alignment errors in memory resource interpreter
clean up debug output a bit
1997-04-10 07:02:53 +00:00
mikel 27d98ef0db add support for AD181[56] SBPro emulation 1997-04-10 06:33:16 +00:00
cgd db0f072019 clean these up (mostly rename bus_space_{tag,handle}_t variables) so that
this code makes equal sense for memory and I/O space, prefer to map
the PCI front end via memory space (conditionalized on a patchable kernel
variable), and do a bit of other random NetBSD-specific cleanup.  (These
changes were sent to Justin Gibbs on March 28.)
1997-04-10 02:48:38 +00:00
mycroft f2746e9620 Update for new com driver. 1997-04-09 16:44:21 +00:00
jonathan 5725025bdc typo in cfattach. 1997-04-09 02:10:48 +00:00
scottr 63d11b7577 Add another IBM disk that needs SDEV_AUTOSAVE. 1997-04-08 17:35:06 +00:00
jonathan f11d74c508 Remove IFF_LINK[01] "connector" support.
Add if_media support.   Still missing a software autosense FSM.
1997-04-07 23:49:47 +00:00
cgd 90789b53dd by default, provide RCS IDs for NetBSD/alpha kernel files in kernel binaries.
This can be disabled (to save a bit of space) with the NO_KERNEL_RCSIDS
options, which is present but commented out in the ALPHA config file.
In ELF-format kernels, these strings are present in the kernel binary but
are not loaded into memory.  (In ECOFF-format kernels, there's no easy way
to keep them from being loaded, so they _are_ loaded into memory.)
1997-04-07 23:39:37 +00:00
scottr d7a6762ae8 Fix a debugging printf() format. 1997-04-07 16:28:26 +00:00
jonathan 7fcfe9e0f5 Print explanatory message before each panic, or "goto abort" (which panics). 1997-04-07 03:21:14 +00:00
cgd aa2b0a7f9f clean up NetBSD RCS ID strings, include machine/options.h 1997-04-07 00:19:11 +00:00
cgd 2677cb7ed8 clean up NetBSD RCS ID strings 1997-04-07 00:18:51 +00:00
cgd 059aaedd65 clean up NetBSD RCS ID strings, include machine/options.h 1997-04-06 22:31:45 +00:00
jtk 73cfcd9f66 fix compile error if AUDIO_DEBUG 1997-04-06 17:21:45 +00:00
jonathan 2f1aae7d37 Commit message for previous revision (lost due to Ultrix-compat bug):
* Don't print DMA_OUT message in the `normal' case of a 16-byte residual.
* ioasic-connected 53c94 devices are always clocked  at 25MHz even on
  machines with 12.5MHz TurboChannel.
1997-04-06 10:07:54 +00:00
jonathan 055fff0581 *** empty log message *** 1997-04-06 09:58:30 +00:00
augustss 7dcb9bed4c Make sure the bus tag is set where we need it. 1997-04-06 00:54:22 +00:00
augustss 29e9c34ad3 Add RCS id. 1997-04-06 00:35:19 +00:00
augustss 0a999294f5 Add support for MAD16 based audio cards.
XXX Change the way we determine to probe for it when
    multiple I/O ranges are available.
1997-04-06 00:33:07 +00:00
augustss 7dedd37033 Busify the WSS driver. 1997-04-05 23:50:23 +00:00
mjacob 6d4d1f8852 Okay, Charles convinced me that XS_DRIVER_STUFFUP is better than XS_SELTIMEOUT. 1997-04-05 22:36:56 +00:00
mjacob 0d321a7e29 Add 60 (MHz) value for PCI clock frequency value. Also enable DMA bursting. 1997-04-05 02:55:28 +00:00
mjacob ddc693c299 A) Attempt to get clock rate from ISP chip prior to bashing it over the head
in reset. If none there, try and get from the bus/platform specific code.
If a nonzero value for either, set the clock rate. This is why the PCI
card versions weren't working- they need to be set at 60MHZ, rather than
the default 40MHZ (which worked fine for the internal ISP chips on the
Alpha 8X00).

B) If a isp_poll returns failure (command never completed) to the caller
and no error is set in the xs struct, set XS_SELTIMEOUT. And then call...

C) Added isp_lostcmd function to try and ask the ISP chip about it's current
state as well as the state of commands for a particular target/lun. This is
going along to try and figure out why the very first command to the ISP always
seems to get swallowed up.
1997-04-05 02:53:22 +00:00
mjacob 8f28eaab67 Need a bus/platform specific clock speed variable. 1997-04-05 02:48:36 +00:00
pk c59dd873f4 Remove alignment requirement of ether_cmp(): turn it into a series of
byte comparisons. Compare the ethernet addresses backwards on the
assumption that address number byte 6 has the most random distribution,
so packets not for us spend the least time in here.
1997-04-04 22:35:36 +00:00
mycroft 9448a01404 New version of com driver. Uses a different queueing mechanism and a split
hardware/software interrupt mechanism for improved performance.  Many odd
protocols bugs also fixed.
1997-04-04 20:56:34 +00:00
mycroft 232ade1b2b comdefaultrate -> comconsrate
comconsbah -> comconsioh
Only use comconsrate on the console.
1997-04-04 20:49:49 +00:00
matthias 470e2a9983 * Do some KNFing.
* Make all local functions static.
* Add some untested netatalk support.
1997-04-04 19:02:43 +00:00
christos ef8d40a999 Busify the driver (from perry). 1997-04-04 18:59:35 +00:00
augustss e52219bae7 Regen. 1997-04-04 00:24:36 +00:00
augustss a987ede509 Two more PCI devices. 1997-04-04 00:22:00 +00:00
mycroft 4df7e1dac7 Remove superfluous probe message. 1997-04-02 03:58:25 +00:00
mycroft 6d3685ab6c Add a SDEV_AUTOSAVE quirk for the Emulex SCSI<->ESDI bridge. 1997-04-02 02:36:02 +00:00
mycroft aca1dae3c4 Push the buffer cleanup code into scsi_done(), and split it so that biodone()
is called *after* the driver `done' routine.  This fixes disk I/O statistics
on SCSI devices.

Also, calling the `done' routine with a `complete' argument of 0 and actually
having it do anything meaningful loses in at least 3 ways, so just nuke the
argument altogether and don't call it this way.  If the driver needs to do
some error handling, that's what `err_handler' is for.
1997-04-02 02:29:30 +00:00
gwr 1614a8ad2e Always schedule a timeout before the first occasion where
we return from the driver expecting to come back due to an
interrupt, because the interrupt might not happen...
Do the untimeout in ncr53c9x_done instead of just before
almost every call to ncr53c9x_done as was done previously.
Make ncr53c9x_sense schedule its own timeout for the new
command it is starting (request sense), separate from the
timeout for the command that just completed.
1997-04-01 22:10:04 +00:00
gwr 50b0bafbbb Allow separate control over the "per-target trace" feature
via the NCR53C9X_DEBUG value.  Add some padding for m68k.
1997-04-01 22:08:18 +00:00
mikel df25ccca49 loosen the version number check in the quirk list for the CDR-H98MV;
from Koji Imada in PR kern/3419.
1997-04-01 04:05:03 +00:00
thorpej b20341d54a If we don't match a known card ID, return "don't match". 1997-03-31 20:52:13 +00:00
jonathan 2e7e0f6ca0 Merge with Mattias Drochner's PCnet-PnP front-end. 1997-03-31 20:36:38 +00:00
jonathan 999f50b033 PCnet-PnP front-end driver for isapnp PCnet cards. 1997-03-31 20:22:19 +00:00
jonathan c1f72bba37 Add ifmedia hooks: include <ifmedia.h> and add sc_media to softc. 1997-03-30 22:47:05 +00:00
jonathan 70e7856e42 Match missing variants:
3c900 twisted-pair only, 3c595 mii, 3c595 100bT4, 3c905 100bT4.
Is there an MII version of the 3c905?
1997-03-30 21:31:01 +00:00
christos 4c29beee46 PR/3409: Koji Imada: cdsize() timeout too short for cd changers. 1997-03-29 21:37:55 +00:00
jtk dd46e6280e partial fix for PR 3385: correctly identify JAZZ-16 when AUDIO_DEBUG is
enabled
1997-03-29 05:41:28 +00:00
mhitch cb3b852a7f A couple of missed boot() -> cpu_reboot() changes. 1997-03-29 05:03:01 +00:00
mycroft 11117540d2 Use a temporary data structure for holding probe information, rather than a
full softc.
1997-03-29 02:32:30 +00:00
mycroft 056fd71e85 General cleanup: bus.h, etc. 1997-03-29 02:11:09 +00:00
mycroft 080350dc0d Use a temporary data structure for holding probe information, rather than a
full softc.
1997-03-28 23:47:08 +00:00
cgd d26286ab6b clean up (unify) the register mapping code a bit 1997-03-28 22:25:01 +00:00
cgd 874e7169a4 punt pci_mem_find's &cacheable arg, and pass NULL instead. We never
want to map the memory register cacheable.
1997-03-28 22:16:06 +00:00
cgd 359850c818 clean up isp_pci_prefer_io comment 1997-03-28 21:51:51 +00:00
veego 7ae296c7de - new hardware reset hook, mainly for PCnet-ISA cards (79c960)
- new MD variable: sc_initmodemedia, 79c960 cards can select
  between two ports, but this needs to be done in the MI init mode page
- new defines for PCnet-ISA cards (79c960)
1997-03-27 21:01:50 +00:00
veego 5aa9546783 - new hardware reset hook, mainly for PCnet-ISA cards (79c960)
- new MD variable: sc_initmodemedia, 79c960 cards can select
  between two ports, but this needs to be done in the MI init mode page
- new defines for PCnet-ISA cards (79c960)
1997-03-27 21:01:49 +00:00
veego a715085e43 - new hardware reset hook, mainly for PCnet-ISA cards (79c960)
- new MD variable: sc_initmodemedia, 79c960 cards can select
  between two ports, but this needs to be done in the MI init mode page
- new defines for PCnet-ISA cards (79c960)
1997-03-27 21:01:47 +00:00
scottr 1cc0fb9b24 Add SDEV_AUTOSAVE quirks for IBM 0663H{08,12} disks 1997-03-27 07:37:54 +00:00
scottr b316767c92 Work around an ambiguity in the SCSI spec. Some implementations,
particularly older ones, don't do a SAVE DATA POINTER before disconnecting.
When the driver reconnects, it does an implicit RESTORE POINTERS, and
restores the data pointer from *before* the last transfer.  If the driver
calculates the residual using the data pointer and doesn't account for
this, the residual will be wrong.

What we do is test for the SDEV_AUTOSAVE quirk when we see a disconnect
message, falling through to do a SAVE DATA POINTER if the quirk applies
to this target.

The workaround was suggested by Mycroft, who also provided the explanation
of the problem.  Actual code was (mostly) ripped off from the 53C9x driver.
1997-03-27 07:30:40 +00:00
gwr 8be7d1ef9e No longer need the hack that forced SCSI_POLL when cold. 1997-03-27 01:16:01 +00:00
pk c5d5c54038 Add workaround for the "extraneous bytes after re-select" problem that
ESP100 chips may exhibit.
1997-03-27 00:29:57 +00:00
thorpej 66908db327 Resolve conflicts from merge. 1997-03-26 02:08:07 +00:00
thorpej 8443f8fad0 Resolve conflicts from merge. 1997-03-26 01:33:32 +00:00
scottr 757d4ce5d4 Add SDEV_NOLUNS quirk for Seagate ST125N. 1997-03-25 22:33:50 +00:00
christos 93b36b663d PR/3388 from Tatoku Ogaito: Add product id for another soundblaster PnP card. 1997-03-25 15:16:49 +00:00
mikel eba3c11c27 some cleanup; still needs a *lot* of work 1997-03-25 07:57:14 +00:00
gwr 5c88d15269 When cold!=0 force SCSI_POLL (otherwise swapconf will hang) 1997-03-24 17:16:45 +00:00
jtk 983d7a8c15 use new name sc_drq8 and initialize sc_drq16 (reflect changes to SB driver) 1997-03-24 05:30:28 +00:00
thorpej 4c03c2945d Resolve conflicts from merge. 1997-03-24 00:35:02 +00:00
thorpej 24840394af Fix a screwup (my fault, oops) that caused the stack to get corrupted.
From Ian Dall <Ian.Dall@dsto.defence.gov.au> on port-pc532.
1997-03-24 00:04:53 +00:00
veego 196e8ba3c2 Resolve conflicts from merge. 1997-03-23 09:37:28 +00:00
cgd da14b3d856 clean up isp_poll() so that it works more correctly. (Modeled on the version
in the BusLogic driver.)
1997-03-23 00:50:07 +00:00
matthias c796ad8010 Add missing arp tag for se driver. 1997-03-21 08:55:09 +00:00
mycroft cf83d6c33f Use native IPL_AUDIO for i386. 1997-03-21 04:36:29 +00:00
mycroft 188dec4d19 Clean up a bit, and export isa_dmamask() and isa_dmaunmask() interfaces. 1997-03-21 02:17:11 +00:00
mycroft 51c794927e Minor changes. 1997-03-21 00:56:43 +00:00
mycroft 9bc57d2244 Add PnP ID for SB AWE32. 1997-03-21 00:49:38 +00:00
mycroft 3523bc35d5 Add an isa_dmacount() function, to get the current residual count on a channel. 1997-03-21 00:00:21 +00:00
mycroft 6f51eb5c3d Use autoinitialize DMA mode on the SB2 and later. Partly from Torsten Duwe. 1997-03-20 21:42:11 +00:00
chuck 63c14f2d75 MAJOR CHANGES: [contributed by Chuck Cranor <chuck@ccrc.wustl.edu> and
Anne Hutton <hutton@isi.edu>]:
   - add support for Adaptec 155 PCI ATM cards (e.g. ANA-5940)
          - add sc->is_adaptec to handle differences between cards.
          - break out MID_MK_TXQ/MID_MK_RXQ seperate macros to handle
                  the new Adaptec format TXQ/RXQ.
          - adjust en_dqneed to return 1 on ADP (since the Adaptec can
                  DMA anything in one DRQ/DTQ!)
          - add hook for a bus specific reset function (adaptec has
                  a seperate reset register that needs to be hit when
                  resettting the midway).
          - adjust DMA test to not worry about burst sizes on the
                  adaptec (since it handles it all for us!) and to handle
                  the new DTQ/DRQ format.
          - add Adaptec DMA support to en_txlaunch() and en_service()


BUG FIXES:
   - fixed receiver panic under heavy load ("lost mbuf in slot 0!").
          when the reassembly buffer overflows, the T-bit is set in
          the RDB and the data field is empty.  en_service() sets up
          a 4-byte (RDB size) dummy DMA without IF_ENQUEUE.  but the
          recv intr handling in en_intr() always does IF_DEQUEUE.
          as a result, a successive recv intr loses its mbuf and
          leads to a panic.  the solution is to only IF_DEQUEUE if
          the interrupt has non-zero length (indicating that there
          is an mbuf to get).   in order for this to work, EN_DQ_MK
          must always be non-zero.   we do this by or'ing in an unused
          bit (0x80000).
                  reported by: Kenjiro Cho <kjc@csl.sony.co.jp>

   - fix setting of transmit channel when txspeed[] is non-zero
          (e.g. traffic shaping).    the old scheme didn't work
          properly (it allowed the same VCI to use multiple tx channels
          thus defeating the txspeed[] parameter).   the new scheme
          statically assigns a VC to a channel when txspeed[] is set.
          [note that the code to set txspeed[] isn't in the driver right
          now since a MI interface to do this hasn't been made yet]
          we add sc->txvc2slot[] and sc->txslot[n].nref for this.
                  reported by: Kenjiro Cho <kjc@csl.sony.co.jp>,
                                  Milind M Buddihikot <milind@ccrc.wustl.edu>,
                                  Dong Lin <dong@eecs.harvard.edu>

   - when doing SRAM copies, be sure to round up the length to the next
          largest word (otherwise the driver will try to do a byte clean
          up DMA and then get an ID error interrupt).


MINOR CLEANUPS:
   - clean up loops in DMA test
                  contributed by: Kenjiro Cho <kjc@csl.sony.co.jp>

   - restructure and cleanup of en_read/en_write macros/inlines

   - clean up some byte ordering stuff so that we are consistant throughout
          the driver
1997-03-20 21:34:42 +00:00
chuck aeee0bf5a5 add support for adaptec PCI atm cards (see midway.c log for details) 1997-03-20 21:30:46 +00:00
chuck e64066a694 regen 1997-03-20 20:22:17 +00:00
chuck 088d71a793 - add Adaptec ATM ID's (0x5900, 0x5905). still trying to find out how they
correspond to the ANA numbers...  certainly includes ANA-5940.
 - add Efficient Nets product 0x0000.  according to linux pci.h
	the 0x0000 is an FPGA version of the midway card and the 0x0002
	is the ASIC version.
1997-03-20 20:18:43 +00:00
mycroft b89990fba6 Oops; fix pasto. 1997-03-20 20:18:40 +00:00
mycroft 4f9648674a Make sure we round the block size to a multiple of the sample size. 1997-03-20 20:15:24 +00:00
mycroft 7a55cafeeb Implement set_format. 1997-03-20 16:51:38 +00:00
mycroft 2c6048e49f Make sure to recalculate the block size after changing the
sampling rate.  Also, nuke the global variable audio_blocksize.
1997-03-20 16:13:55 +00:00
mycroft e0b3534b6c Remove bogus block rounding code. If the application sets a
block size explicitly, it had better know what it's doing.  From
PR 2587, by Robert Baron.
1997-03-20 16:04:22 +00:00
mycroft a2f33a43c2 Turn off a debugging printf(). 1997-03-20 11:04:51 +00:00
mycroft 95abb133dc Add 16-bit DRQ support on PnP, and enable 16-bit output. 1997-03-20 11:03:10 +00:00
mycroft ab86334267 Second DRQ is at 0x75, not 0x72. 1997-03-20 10:48:02 +00:00
thorpej 21c7befacf Back out part of the previous patch - not only does stuffing a sizeof()
into 8 bits generate (bogus) warnings on some architectures, but the
change to pad on "scsi inquiry" is no longer needed, apparently.
Thanks to Matthias Pfaller for pointing the latter out to me.
1997-03-20 07:13:07 +00:00
mycroft c1cc14fa25 Combine set_encoding and set_precision into a single set_format interface. 1997-03-20 06:48:48 +00:00
mycroft de69173e77 Fix oversights in previous. 1997-03-20 03:56:11 +00:00
mycroft 8b4878a6ba Fill in silence-padded blocks so we don't get gaps. From PR 3357,
by Lennart Augustsson.
1997-03-20 03:19:53 +00:00
mycroft a283cb636c Check for errors returned by AD1848 routines. 1997-03-19 19:54:44 +00:00
cgd 2cde9c6e69 fix multi-function device support, add new known classes/subclasses,
and clean up class/subclass printing.  From brb@brig.com via PR 3359.
1997-03-19 19:38:46 +00:00
mycroft 2b72395bfc ad1848_commit_settings(): Don't set the speed/format register if the
parameters haven't changed.  From PR 3360, by Jason Baker.

Also, clean up several overly-complex interfaces.
1997-03-19 19:31:15 +00:00
mikel eb7e30aa3d normalize off-by-four ad1848 register offsets.
also silence probe unless debugging is enabled.
1997-03-19 06:47:37 +00:00
mikel 80a8a81608 normalize off-by-four ad1848 register offsets. 1997-03-19 06:45:21 +00:00
thorpej 914022ca23 Resolve conflicts from merge. 1997-03-19 02:37:36 +00:00
christos dd64e55c90 PR/3353: From Alistair G. Crooks: move to the new arp world. 1997-03-18 18:58:12 +00:00
cgd 5b1c90b820 add appropriate includes so that this deals properly with NS and CCITT+LLC.
(Includes stolen from dev/ic/am7990.c, because it's a (the?) canonical
networking hardware driver.)
1997-03-18 04:45:04 +00:00
thorpej f94626f157 Driver for the Cabletron EA41x SCSI Ethernet Adaptor, written by
Ian Dall <ian.dall@dsto.defence.gov.au>.  Converted to "new arp"
and some other (very) minor changes by me.
1997-03-18 01:31:15 +00:00
thorpej 8c465535e7 Two changes from Ian Dall <ian.dall@dsto.defence.gov.au>:
- Deal with devices that ignore the length specified in the
  inquiry command.
- Allow asynchronous requests without using a buf (key off NOSLEEP instead).
1997-03-18 01:28:10 +00:00
is bde018355f Signed shifts are evil.
Thanks to Michael Smith for reporting, Jason Thorpe for pointing to the
report, doing a quick workaround which pointed me to the right code part and
for testing the final fix.
1997-03-17 18:29:56 +00:00
thorpej 0398318515 Resolve conflicts from merge. 1997-03-17 03:44:49 +00:00
thorpej 1d987a161b #include <net/if_media.h> 1997-03-17 03:17:34 +00:00
thorpej 80e6765189 - Add support for media selection via if_media. If the front-end
does not supply media types, default to the "manual" type.
- Clean up the ETHER_CMP stuff slightly.
- Keep track of our carrier status, for media status requests.
1997-03-17 03:14:03 +00:00
cgd cd0461fbb8 map either via memory or I/O space, depending on the setting of a
patchable kernel variable.  eventually, it might make sense to turn
this into a driver flag or something.
1997-03-16 00:37:00 +00:00
cgd d611773458 fix botches in is's new ARP changes 1997-03-15 21:06:09 +00:00
is 07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
mikel 8147d1718f fix various AD1848/PSS misfeatures; from Jason Baker in PR kern/2045.
also did some misc cleanup of my own.
1997-03-13 08:34:49 +00:00
cgd e36a5ca4de change microcode array definitions from "unsigned short" to the more
correct u_int16_t, and remove bogus casts that the old definition
required.
1997-03-13 04:07:44 +00:00
mycroft 919efaeb60 Make the microcode table const. 1997-03-13 03:33:03 +00:00
mycroft b0c4e068d0 Modify audio_fill_silence() to take an encoding number rather than a softc*
and mode.
1997-03-13 02:45:07 +00:00
mycroft ac3b8b13b7 Don't share the silence block between devices. Make silence filling work for
more encodings, and make it device-independent.  From Lennart Augustsson, in
PR kern/3305.
1997-03-13 02:19:32 +00:00