Commit Graph

1914 Commits

Author SHA1 Message Date
mycroft 06fdef11fd Split the BusLogic driver apart, and rename it to `bha (like BSDi). 1996-08-31 20:18:24 +00:00
thorpej 164af20154 Add a missing "int" in a function declaration. 1996-08-30 01:40:35 +00:00
cgd a84c80e23c regen for new pcidevs 1996-08-29 21:36:01 +00:00
cgd d29b00b3c3 add entry for the IBM 82351 PCI-PCI Bridge 1996-08-29 21:34:22 +00:00
thorpej c4366945e5 Quiet the ahc driver down a bit by only enabling some of less useful
messages #if defined(DEBUG) in the NetBSD case.
1996-08-28 23:39:40 +00:00
cgd 71ad30d0e9 (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
    single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
    function, and kill any locally-defined print function.
1996-08-28 18:59:15 +00:00
cgd 11ec3588ad (1) add a 'channel' field to scsi_link.
(2) in scsibusmatch, match channel as appropriate.
(3) add a scsiprint() function, to do the "scsibus at..."
    and channel (if not SCSI_CHANNEL_ONLY_ONE) printing,
    i.e. the common functionality that all SCSI drivers currently
    should be doing.
1996-08-28 18:47:51 +00:00
cgd a4bb0a41da define PDQ_ASSERT directly in terms of __assert, because cpp doesn't seem
to do:
#define	foo(x)	...
#define bar	foo
like we'd like it to.
1996-08-28 16:01:29 +00:00
cgd 2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
cgd 00209d1db1 remove include of <sys/types.h> (it's implied by including
<sys/param.h>, and historically has been), and add include of
<sys/systm.h> for prototypes.
1996-08-27 16:24:18 +00:00
cgd de2285c4d2 #undef assert before defining it, so the new libkern definition doesn't
conflict with this one.
1996-08-27 01:00:00 +00:00
cgd 5c7192b20c Including user-land headers in kernel code is not allowed in NetBSD.
Therefore:
	(1) define offsetof here, and
	(2) implement assertion checking in terms of the libkern
	    assertion-checking macros.
1996-08-27 00:51:29 +00:00
cgd d32f475ed4 regen for new tcdevs 1996-08-26 23:41:46 +00:00
cgd 3076d34c84 add entries for DGLTA-FA and OTTO ATM boards, alphabetize and clean up
other entries.
1996-08-26 23:39:34 +00:00
cgd 6b5b72905d regen for new pcidevs 1996-08-26 20:20:02 +00:00
cgd 8080fdf200 add ids for the PGXGB (TGA2), and DGLPB (OPPO). 1996-08-26 20:12:16 +00:00
cgd 3c435c25c4 regen for new pcidevs 1996-08-23 04:36:41 +00:00
cgd 6269a2a911 add an entry for the FORE PCA-200e 1996-08-23 04:35:41 +00:00
ragge 3a504ef134 Modified to get cleaner match/attach code for different parent buses.
Fix so that resource wait queueing works.
Changed all functions to take a pointer to uba_softc instead of unit
number, except for ubareset(). This must be done later.
1996-08-20 13:37:57 +00:00
explorer c87188f1bd be quiet about read_subchannel. Some CD players use this to poll, and having
a screen filled with kernel messages isn't nice.  Closes pr kern/817
1996-08-13 08:55:38 +00:00
explorer 5c3b7a7213 Fix condition where disk_unbusy may not get called 1996-08-13 08:31:31 +00:00
mycroft 121dfd8f1b Change PCI_MAPREG_{MEM,IO}_SIZE() to use the standard `x & -x' trick to select
the lowest bit set.  This isn't any more or less valid according to the PCI
spec, but it deals with lame devices that don't implement all of the top
bits.
1996-08-10 15:42:33 +00:00
mycroft 988597c420 Eliminate reference to stddef.h. 1996-08-10 09:25:11 +00:00
mycroft ef186dd501 Look for the sequencer code in the right place. 1996-08-10 08:45:17 +00:00
mycroft 035c4e9b65 Compile the sequencer statically. 1996-08-10 08:36:48 +00:00
mycroft ed82d062fe Use HOSTED_C_C when building the assembler. 1996-08-10 08:24:59 +00:00
mrg 5abbf990f3 Change reboot(2) to take two arguments: bootopt like normal and also
a boot string for firmware that can do this, such as the SPARC and
the sun3 models.  It is currently silently ignored on all other
hardware now, however.  The MD function "boot()" has been changed to
also take a char *.
1996-08-09 10:30:23 +00:00
cgd f160e92962 revert PCI_MAPREG_IO_ADDR_MASK and PCI_MAPREG_IO_SIZE_MASK to their old
values, i.e. 0xfffffffe and 0xffffffff respectively.  The changed
definitions were incorrect, according to the PCI Local Bus Specification
(Revision 2.0).  Further rationale and a workaround for the broken
devices that instigated the change provided in a message to
current-users@netbsd.org, dated Mon, 05 Aug 1996 22:06:58 -0400,
message ID 16773.839297218@ux2.sp.cs.cmu.edu>.
1996-08-06 02:11:25 +00:00
soda 9d1a802eba disable AHA-284x product ID, because it is now handled by ahc_isa.c. 1996-08-05 21:18:56 +00:00
thorpej eea135a8b9 Two changes:
- Convert to use <machine/bus.h>.

	- Also read station address in egattach().  The softc is no
	  longer required in the probe function.
1996-08-03 19:33:19 +00:00
thorpej a47a8c3f8c Oops, missed a couple of inb()s.. 1996-08-03 02:23:57 +00:00
thorpej c937985d60 Convert to use <machine/bus.h>, plus 2 bug fixes:
- In egstart(), if the Send Packet command fails, m_freem()
	  the mbuf chain before dequeueing another one (memory leak).

	- In egintr(), return 1 if a known interrupt was processed.
	  Would manifest itself as spurious interrupts.
1996-08-03 02:12:46 +00:00
chuck 9ee9129dc4 fix:
- fix memory sizing bug for 2MB cards.   driver now works for both 512KB
   and 2MB ATM cards (we just got 10 2MB cards).
1996-08-02 02:55:14 +00:00
mhitch ebe82deed0 Remove the "goto abort" (which currently reboots the machine) when the
FIFO is non-empty when the message-in phase occurs before the DMA output
starts.  This showed up on a Micropolis drive.
1996-07-30 06:18:40 +00:00
mycroft a2aa46e1c4 Add PCI_MAPREG_{IO,MEM}_SIZE(), and use them. 1996-07-26 07:13:52 +00:00
mycroft 53f21c73fb Changes PCI_MAPREG_IO_ADDR_MASK to 0xfffe. 1996-07-26 06:35:35 +00:00
thorpej b2b02e6893 Regen. 1996-07-25 20:22:45 +00:00
thorpej e1e89fe37b Add two vendor definitions:
FSI	Fore Systems, Inc.
	INT	Intel

Add product definitions for the FORE Systems EISA ATM cards and the
Intel EtherExpress 32 Flash ethernet card.
1996-07-25 20:22:16 +00:00
is 003947b965 Changed the driver to use bus_xxx(). 1996-07-25 18:59:12 +00:00
thorpej 27e2d3eee3 Match any Maxtor XT-8760S for the SDEV_NOLUNS quirk. Some of these
drives carry Sun OEM identifiers, as well.

Noticed by Taras Ivanenko <ivanenko@ctpa03.mit.edu>.
1996-07-24 20:50:23 +00:00
ragge 88a147e51b CPU determine code. ts driver converted to new config. May work, untested. 1996-07-20 19:00:22 +00:00
chuck b3bed30d80 fixes/update:
- adjust txhiwat and mindma params a bit

 - fixed a couple of incorrectly labeled panic calls

 - the "location" was being calculated incorrectly in some cases (forgot
   to subtract off MID_RAMBASE).   this only caused problem when trying
   to change the size of the tx/rx buffers (e.g. to 64KB).

 - fixed possible non-aligned DMA burst in the starting byte burst case.
        (e.g. if we could DMA 3 bytes, but only have 2 it is not legal
        for us to use MIDDMA_BYTE2 mode).

 - opt: on tx: try and avoid flushing the internal buffer by padding out the
        length of the last mbuf a bit (if possible)
1996-07-17 03:53:39 +00:00
chuck 1e5c811090 midway fixes + new stuff:
- merged multiple DRQ/DTQ ADD macros into a single DRQ and a single DTQ
   macro with a uniform interface to make the code simpler and easier to read.

 - en_start: only update atm_flags if EN_MBUF_OPT is enabled (which it
        should be)

 - for alburst: make sure we don't DMA more bytes than we need (on both
        tx and rx).   if the alburst is larger than we need, drop to
        MIDDMA_WORD mode.

 - major change: enable the use of byte and 2 byte DMA on the trasmit side.
   this allows us to DMA from non-word sized/aligned mbufs directly.
   [the old code would always call en_mfix which would copy (or move) the
    data in order to ensure proper alignment...   it turns out TCP gives
    us non-word sized/aligned mbufs when it is retransmitting, so we needed
    to handle this case more efficiently.]    the following functions
   were changed to make this work:
    - en_dqneed: add an arg to let us know if we are transmitting or not.
        if we are TX, then we must take into account byte DMAs when
        estimating the number of DTQs we will need for a buffer
    - en_start: only mfix mbufs if DMA is disabled
    - en_txdma: only set launch.nodma if we have en_mfix'd the mbuf chain
        also, we may need a DTQ to flush the chip's internal byte buffer
    - en_txlaunch: only attempt a copy if we have the proper alignment.
        add byte dma code for the front and end of the buffer.
        make sure the internal dma buffer is flushed out.
    - stats: keep track of how many times we have to use byte sized DMA

midwayreg:
 - add byte/2byte DMA defines

midwayvar:
 - add new stat counter to monitor less-than-word lengthed DMA
1996-07-16 22:11:05 +00:00
mhitch e4de48ff39 Don't flush the 53C94 fifo when starting dma_in. The fifo data is valid
at that point, and flushing the fifo will hang the system.
1996-07-16 15:20:38 +00:00
cgd b23ddc2150 regen for updated pcidevs 1996-07-15 22:55:14 +00:00
cgd da383d28de clean up, sort a few entries. Add many new entries, based on information
gleaned from the XFree86 3.1.2E release.
1996-07-15 22:52:16 +00:00
cgd effd413ecd before #defining the vtophys() hack for the alpha, #undef vtophys since
it may be a macro.
1996-07-15 16:40:27 +00:00
cgd ec9e01a05f #ifdefs are not allowed in macro invocations. 1996-07-14 20:13:08 +00:00
cgd 8ab5d16b77 insert the normal NetBSD/Alpha vtophys() hack, so that this will compile
and link nicely on the Alpha.  It may even run, if well written.
1996-07-14 20:05:31 +00:00
cgd f632c1cea9 fix bogus casts from pointer to unsigned int. Use unsigned long for this. 1996-07-14 19:36:56 +00:00
cgd 4285a42e76 alphabetize by driver name 1996-07-14 19:13:22 +00:00
explorer 73cb5a96f8 aic, not aix... Stupid typo 1996-07-13 06:20:11 +00:00
explorer 00f9b22eb8 Remove aic7xxx_seq.h on clean, build it on depend. This closes pr 2608,
2441, and part of 2600.  2436 is left open to remind me that Chris's
comments are probably correct.  This file should be built statically and
committed to the tree, not built on a per-kernel basis.
1996-07-13 06:19:34 +00:00
is a7efb38d4c Some MUSTEK scanners fill the vendor string in the SCSI identify
string with 0xFF instead of 0x20. Shorten the compare to 6 bytes to
take care of this.

Fixes PR #2617 by myself, which is based on a private problem report
by Neil Brewitt.
1996-07-12 16:49:50 +00:00
chuck 6ae82431b5 fix:
- en_mfix shouldn't touch M_EXT mbufs.    change to avoid this [at
    the expense of allocating a new cluster mbuf to copy to].

    XXX: en_mfix is getting called more often than I hoped it would
    (seems to happen when TCP retransmits... we get all sorts of odd
    sized, odd lengthed data mbufs, yuck).    i may revise the xmit
    DMA code to use non-word sized dma.
1996-07-11 22:48:10 +00:00
ragge a5b04afcd8 Automatic changing of root device after boot now works. 1996-07-11 19:33:50 +00:00
chuck 47131b5d81 fixes:
- don't try and add a PDU trailer (or TBD for that matter) to an M_EXT
   mbuf.   when M_EXT is set, the data area of the mbuf can be shared
   with other mbufs (see m_copym()), and writing to one M_EXT mbuf may
   invalidate another M_EXT mbuf (saw this with PDU trailers).

 - be sure to validate the length value from the PDU trailer so that it
   doesn't throw us out of sync with the chip (fixes yet another source
   of the dread "en_service: id mismatch" panic).

 - on recv, don't bother allocating an mbuf if mlen is zero since we are
   only going to toss the data anyway.
1996-07-11 00:15:56 +00:00
explorer c62a6661a1 Updates to aic7xxx driver ; from pr port-i386/2600 1996-07-10 22:50:44 +00:00
explorer 9c8111508d Add SCSI_QUEUE_FULL ; part of pr port-i386/2600 1996-07-10 22:48:56 +00:00
cgd 3a99dd36fe cast argument to alpha vtophys() to vm_offset_t, to catch up with
recent prototyping.
1996-07-10 18:55:05 +00:00
cgd 7b1d7251d1 add a couple of "default" entries in switch statements, to quiet -Wall. 1996-07-10 18:53:32 +00:00
cgd 1c5ea3c014 print difference between pointers with %ld, so that -Wformat works
on the Alpha and for consistency.  Also, other minor formatting cleanups.
1996-07-10 18:15:22 +00:00
cgd bc2f07f331 move DDB-only label inside an #ifdef, so that -Wall works 1996-07-10 18:14:04 +00:00
abrown de61f8f511 Add a new function hook sc_nocarrier() to am7990_softc. If non-null, this
function is called when carrier is lost in lieu of a console message.
This is used by the sparc port to switch media types on Sun4m machines
if the appropriate link flags are set by ifconfig (see following commit
message). Should not affect ports that do not use sc_nocarrier().
1996-07-05 23:56:57 +00:00
explorer 228f4739ce add ZIP quirk for SDEV_NOMODESENSE 1996-07-05 21:58:04 +00:00
christos 7e1c82f6f4 - Apply PR/2535: Add support for flex scsi disks.
- Add a quirk called SCSI_NOMODESENSE for drives like the iomega jaz,
  that don't support mode sense.
1996-07-05 16:19:02 +00:00
chuck db41df67cd ported to FreeBSD 2.2-960612-SNAP. [thanks to Matt Thomas' driver work] 1996-07-03 17:21:58 +00:00
ragge d969a7e16e Changed data structures due to removal of old config system. 1996-07-01 21:31:36 +00:00
ragge 97756165b8 Remove code that took care of old config devices. Don't support
old config anymore, all devices should use new config by now.
Add structures to handle DMA devices using new config.
Fixed bug that caused unwanted ubareset's on 11/780.
1996-07-01 20:17:56 +00:00
chuck 921ed68fff new: add a raw_threshold for raw mode. this basically tells the driver
to ignore inbound data sizes less than the threshold.  otherwise,
        when connected to a video aal0 input the driver gives us a massive
        stream of 56 byte mbufs each with one aal0 cell in it and the
        system just can't keep up with it, especially if the socket buffer
        size is large [it hangs until you turn off the video source].

fixes: when turning off a vc, try and check the freshest copy of the mode
        when seeing if we need to enter the "drain" state.   also, don't
        panic if we get unexpected rx interrupt on a VCI (instead make sure
        the VC is off, print a warning, and move on!).
1996-06-29 23:23:35 +00:00
chuck 685684df93 change:
- change rxso into a void handle ... no need to know details at this low
        level.
fix:
 - forgot to init "vci" during ENOTHER_DRAIN case of RX DMA interrupt
        [could cause a vm_fault on native mode connection close depending
        on needing to drain out the VC and also the random value of vci]
1996-06-29 20:00:44 +00:00
chuck d8f8995650 new: add all needed hooks to engage raw mode. 1996-06-28 02:32:24 +00:00
chuck ff6f7d186b fixes/improvements:
- more stat counters (rxmbufout -- mbufs, ttrash -- trashed RBD)
 - add swsl_size to keep track of size of software slist
 - revise when we call en_service
 - fix handling of circular lists (was getting full vs empty confused in
        extreem cases...)
 - native mode atm: remove sbappend code: can't do it here since
        socket buffer is protected only by splsoftnet and that doesn't
        mask enintr off.    forces us to switch to a two level interrupt
        scheme.    revise call to atm_input to reflect that.
1996-06-27 04:29:40 +00:00
chuck 39b4f89493 fixes:
[1] rxslot "cur" pointer wasn't updated if we copied all data and
        didn't have any fill.   this could cause a service id mismatch
        panic under load.
  [2] recv of aal0 forgot to include the cell header in the data length
        calc [add cell header length to midwayreg.h]
  [3] fix control info "chop" for raw mode and aal0
  [4] handle rxsb better for native atm connections
        (XXX: still working on this ... not complete and needs revision)
1996-06-26 04:08:53 +00:00
thorpej 794614df64 In the 3c503 probe, map the correct number of ports. (Unmap already
unmapped the correct number of ports, thus causing the ISA io port
extent map to get corrupted.)
1996-06-25 20:47:02 +00:00
chuck 7544016a9d sbus specific stuff for eni155s sbus atm card.
XXX: only works on sun4c, needs something better than vtophys() for
	machines with IOMMUs(?).
1996-06-22 02:02:48 +00:00
chuck 254ec3a7ef pci specific code for the eni155p card 1996-06-22 02:00:31 +00:00
chuck d96712ec4b regenerate to fix "generated from" comment
(next commit pcidevs first, then regenerate)
1996-06-22 01:58:54 +00:00
chuck cf4c02966d add product code for efficient networks eni155p atm card and regenerate 1996-06-22 01:55:43 +00:00
chuck ba63d22426 add support for efficient networks midway atm chip. 1996-06-22 01:50:52 +00:00
mycroft a8e5b5ba47 Remove some unneeded FIFO flushes and reorder some register changes per the
6360 manual.  Turn off synchronous negotiation.
1996-06-18 16:13:05 +00:00
mycroft 202bd8b9ae Turn off *DIAG by default. 1996-06-18 12:55:00 +00:00
cgd b2dca977c5 FPA probe would always return zero, because of incorrect return statement.
Patch provided by Peter Galbavy in PR 2555.
1996-06-17 18:29:18 +00:00
gwr e63a9d929c Add tty_attach(), and fix a type mismatch. 1996-06-13 23:05:40 +00:00
mhitch cc47447cfc Try to avoid collisions with reselection when starting a new selection.
Enable reselections as soon as possible after a disconnect - prevents
losing a reselecting device.
Check for and ignore a spurious interrupt during a DMA input (from the
Mach driver).
1996-06-11 05:15:32 +00:00
cgd 35125fc8e0 add missing newline in printf. pointed out by Matt Thomas 1996-06-09 23:32:25 +00:00
cgd e36c62c4a0 print the note about what iomem is being used in a more appropriate place. 1996-06-08 00:11:32 +00:00
cgd 7afdc4e88d clean up import of new revision (June 7, 1996) from Matt Thomas. 1996-06-07 23:59:15 +00:00
cgd 813c33fa36 clean up import of new revision (June 7, 1996) from Matt Thomas. 1996-06-07 23:35:04 +00:00
cgd 825e13fec1 fix bogus comment pointed out by Mike Grupenhoff <kashmir@umiacs.UMD.EDU>.
C-style comments aren't legal in awk (except in gawk, apparently).
1996-06-05 18:32:19 +00:00
thorpej 56543dfb7d In sddump(), don't check the SDEV_MEDIA_LOADED bit of the device, since
that bit might have been cleared by successful unmounting of all filesystems
on the dump device, e.g. in the case of "reboot -d".
1996-06-04 23:12:14 +00:00
mhitch 3a8d18d828 Fix the oversight that the ASC SCSI adapter can also be on the
Turbochannel as well as the IOASIC.  It should now work on the 5000/200.
Removed the "aborts" which could leave the disk trashed when the abort
rebooted the system.  Fix the data corruption problem by clearing the
FIFO before starting a data transfer.
1996-06-04 21:08:24 +00:00
cgd b1b4f705ba convert alpha vtophys() #defines to use __alpha_bus_XXX_dmamap(), to
get rid of the nasty (vtophys(va) | 0x40000000) expressions, and to make
the code more correct.
1996-06-03 20:30:21 +00:00
cgd 08d585e924 add tty_attach() where appropriate. 1996-05-30 18:24:09 +00:00
pk 056bb18f67 A configuration file for devices found on Sun machines.
Currently holds just `event.c' which should actually be considered
a candidate for `sys/dev'.
1996-05-29 21:54:34 +00:00
pk 77323d42d7 Add missing splx(), per Jason.
Also, change `"event_var"' to `<dev/sun/event_var.h>'.
1996-05-29 21:24:41 +00:00
mhitch 40b6370ffb Fix the DECstation ASC SCSI driver autoconfiguration to more closely
match the alpha.  The DS3100 will now configure properly.  Also fix
the name in the cfdriver structure - somewhere it got changed from
"asc" to "as".
1996-05-29 06:32:38 +00:00
mrg 08bd090b26 count audio interupts (from OpenBSD). 1996-05-28 13:36:09 +00:00
thorpej a0be48ca23 Implement ST_Q_UNIMODAL quirk, which indicates that a drive will reject
all attempts to mode select, even if the attempted mode is supported.
Add the ST_Q_UNIMODAL quirk for the HP Colorado T4000s which exhibits
this behavior.  (Someone please lob a tactical nuke in that direction.)

From David Rosenthal <dshr@vitria.com> on netbsd-bugs.
1996-05-24 02:04:29 +00:00
is 4e8dbf468a Added flags to the iy driver to override the media autodetect mechanism, if
necessary. Added a manpage to document the flags.
1996-05-22 15:39:43 +00:00
jonathan b314e27cfa Add #include of pmax/kn01var.h, remove unused variables, and close
hanging block comment in copyright to satisfy -Wall.
1996-05-20 23:19:16 +00:00
thorpej bc16409b49 Remove some extra printfs, now that Matt has lessened my confusion. 1996-05-20 15:52:32 +00:00
jonathan d1e0e11f70 * Fix formatstr/argument mismatches in diagnostic printf()s.
* Change MachEmptyWriteBuffer() to wbflush(). Should  use TC mi names tc_mb(),
  tc_wmb, tc_syncbus() but I'm not sure which each wbflush() should be.
* Add prototyped forward decl for asc_Dumplog() and add an explicit void
  return type.
* Remove unused variables.
1996-05-20 09:46:21 +00:00
jonathan 4e27f8ef06 Fix braino in initialization of confargs pointer in le_pmax_attach(). 1996-05-20 03:43:15 +00:00
jonathan b3c6ba5b5d Decstation 3100/2100 baseboard configuration stub for the LANCE driver
for DEC  TURBOchannel and IOCTL ASIC machines.
1996-05-20 02:25:08 +00:00
cgd 6793f08d00 regen for new tcdevs file 1996-05-20 01:34:50 +00:00
cgd 014cc0e804 add entry for DEFTA FDDI, clean up entry for DEFZA FDDI. 1996-05-20 01:33:45 +00:00
cgd ac61f1ad21 fix first argument to tc_intr_establish()... it's still the pointer
to the parent device.
1996-05-20 01:31:07 +00:00
thorpej 722d0da592 RCS Id police. 1996-05-20 00:56:39 +00:00
thorpej 917f00ce2e RCD Id police. 1996-05-20 00:55:44 +00:00
thorpej b16ba91656 Regen (again; sigh) 1996-05-20 00:53:39 +00:00
thorpej 7d978a7915 Sure sign that Jason needs more coffee; fix ommision in my last correction. 1996-05-20 00:52:53 +00:00
thorpej a318461042 RCS Id police. 1996-05-20 00:48:43 +00:00
thorpej 37b3b8a758 Add the DEFTA FDDI controller. 1996-05-20 00:45:02 +00:00
thorpej f777a672d5 Add the DEFEA FDDI controller. 1996-05-20 00:44:11 +00:00
thorpej 0f38740b1c Regen. 1996-05-20 00:40:45 +00:00
thorpej 02f972a4be Ooops, restore the UltraStor 24f entry I accidentally deleted in the last
commit.
1996-05-20 00:39:55 +00:00
thorpej 72b01b6a3a Add Digital Equipment DEFEA cards. 1996-05-20 00:36:36 +00:00
thorpej 38db93c012 Display model string during attach. 1996-05-20 00:35:16 +00:00
thorpej 4d9ddd9e3b Use eisadevs data to display model string. 1996-05-20 00:34:03 +00:00
thorpej fee0e539c4 Fix conflicts from import, clean up a few printfs, and use the
generic PCI vendor/product definitions, rather than home-grown versions.
1996-05-20 00:30:49 +00:00
thorpej 1a614aed0c Fix conflicts during import. 1996-05-20 00:26:15 +00:00
thorpej e5106dfb88 Update to the Digital Equipment PDQ-based FDDI controllers, from
Matt Thomas.  Now includes support for EISA (DEFEA) and first-cut of
support for TurboChannel (DEFTA) cards.
1996-05-20 00:20:39 +00:00
christos a7136623a9 Added prototypes for inline functions atoi() and strchr(). 1996-05-18 22:58:01 +00:00
cgd 2872eeccac (on the alpha) pass the bus_chipset_tag_t given to the bus down to the
devices.
1996-05-17 23:39:19 +00:00
cgd af446a907a Update for new includes (<machine/bus.h> & <machine/intr.h>) on the
alpha.  At some point in the future, those headers should be provided
on the pmax, but until then, things are #ifdef'd so that the old
headers and definitions are still used.  Pass a bus_chipset_tag_t
to the TC bus attach code and to devices, on the alpha.
1996-05-17 23:38:16 +00:00
gwr 9c5d297b0f New version that handles hardware flow-control (CRTSCTS) at the input
to the ring (or silo).  This eliminates ring overrun with crtscts.
Also handle deferred register changes earlier, and misc. cleanup.
Give credit to: Bill Studenmund and Ian Dall (Thanks!)
1996-05-17 22:49:23 +00:00
gwr 50ecbc1c84 Rename cs_pclk_div16 to cs_brg_clk to clarify the fact that the
Baud Rate Generator (BRG) clock is not necessarily PCLK/16.
1996-05-17 19:32:06 +00:00
gwr eedc5c7e85 Rename cs_pclk_div16 to cs_brg_clk to clarify the fact that the
Baud Rate Generator (BRG) clock is not necessarily PCLK/16.
1996-05-17 19:30:34 +00:00
gwr 32e9715743 Rename cs_pclk_div16 to cs_brg_clk to clarify the fact that the
Baud Rate Generator (BRG) clock is not necessarily PCLK/16.
Also fix up spacing.
1996-05-17 19:29:37 +00:00
mycroft 24f67ca9da Regen. 1996-05-17 19:28:28 +00:00
mycroft e6f188bb5a Add entries for UltraStor 24f. 1996-05-17 19:27:48 +00:00
mycroft 0cb9c8e106 Regen. 1996-05-16 07:07:57 +00:00
mycroft 19f4141a4e Add another ID for BusLogic cards. 1996-05-16 07:04:58 +00:00
mycroft 2001bba8c5 Fix bogus argument to bus_io_unmap(). 1996-05-16 06:39:34 +00:00
mycroft f952cd37cd Slight redux of EISA crap. 1996-05-16 06:30:22 +00:00
mycroft 1474c6f3a3 Replace STAILQ with SIMPLEQ. 1996-05-16 05:22:28 +00:00
mycroft f636c54f70 Replace STAILQ with SIMPLEQ. 1996-05-16 05:20:23 +00:00
mycroft e03577c2a4 Slight adjustments for new version of ahc driver. 1996-05-16 04:00:58 +00:00
mycroft 117bb8ae8b New version, with changes from Justin Gibbs and Noriyuki Soda. 1996-05-16 03:59:03 +00:00
mycroft 19b0b9502f New version, with changes from Justin Gibbs and Noriyuki Soda. 1996-05-16 03:44:13 +00:00
thorpej 2cd534aa06 Don't include <machine/intr.h> twice on the Alpha. 1996-05-14 22:23:38 +00:00
thorpej 5dc3777c41 Be more careful with types, and pull in <machine/intr.h> 1996-05-14 22:22:05 +00:00
thorpej 527edf030d Be more careful with types. 1996-05-14 22:21:05 +00:00
leo 153c617719 Clear SDEV_MEDIA_LOADED bit on the last close of a device. This causes the
geometry info & the disklabel to be reloaded on each 'first-open' of the
device.
1996-05-14 10:38:47 +00:00
thorpej 52e2ab70b0 #include <machine/intr.h> to get IST_* definitions. 1996-05-14 00:31:04 +00:00
thorpej f668914751 Update for the arpwhohas() change. 1996-05-14 00:16:04 +00:00
thorpej 1379322cde Print the error code in the "not queued" message, to make debugging
a bit easier, and make sure a newline gets printed.
1996-05-14 00:10:37 +00:00
christos 7cc0c97a06 Fix printf() statement argument order 1996-05-13 14:10:21 +00:00
thorpej 16f2a8fbf0 Regenerate. 1996-05-13 06:04:43 +00:00
thorpej 7846c3d45b Add an LSI Logic vendor id, and an S3 product id. Provide more detail
on a couple of S3 and UMC product ids.  From Shelby Noonan <shelby@og.org>
1996-05-13 06:02:18 +00:00
mycroft 4abbd9427d Remove intr.h for now. This requires more work. 1996-05-13 02:26:15 +00:00
mycroft 682960c500 Use intr.h on alpha and i386. 1996-05-13 01:01:55 +00:00
mycroft cec36bf8d5 Use intr.h. 1996-05-12 23:51:23 +00:00
mycroft 6e2250caf3 Use intr.h. 1996-05-12 23:38:08 +00:00
thorpej b5823eb83d Squish a straggling inb(), and tweak so that this compiles on the Alpha. 1996-05-12 22:23:31 +00:00
thorpej afd45c1aaf Value returned by pci_conf_read() is a pcireg_t, so don't try to store
it in a u_short.
1996-05-12 18:48:21 +00:00
thorpej 7484bd0c7f Don't use home-grown macros to extract PCI vendor and product IDs.
Also, be truthful; We're actually looking for Configuration Base IO
Address, not Configuration Base Memory Address.
1996-05-12 02:46:15 +00:00
thorpej 6f3fb2ce0b Fix a think-o (my fault) that caused LANCE register offsets to be wrong.
While I'm here, convert driver to use <machine/bus.h> and the new PCI
I/O space interface (the new PCI interrupt interface was already in-use).
Also, correct a "corrected" printf.
1996-05-12 02:30:03 +00:00
mycroft 7f0f603f3a Bug fixes from PR 2329, plus a few from me. 1996-05-11 22:21:51 +00:00
mycroft 50c94f92ce There was no need to change ac_ipaddr here. 1996-05-11 14:00:15 +00:00
gwr 01e80ddb16 Add a new member to the softc (sc_parity_disable) with per-target
bits that tell the driver not to expect parity from those targets.
XXX: For now, it is up to MD code to set this mask.  Eventually,
XXX: we should identify targets first (without demanding parity)
XXX: and then use a new "SCSI quirk" to set the right bit.
1996-05-10 18:04:01 +00:00
thorpej f004654691 Update Herb's e-mail address; beer.org feels a lot more friendly. 1996-05-10 05:27:53 +00:00
cgd d06c5d12db regen for new tcdevs 1996-05-09 21:44:24 +00:00
cgd 8824617eb3 add some entries for the sfb+ 1996-05-09 21:35:27 +00:00
thorpej e32158478e Correct a couple of comments ... port 0x84 produces a 1.25us delay when
read, not 2.5us.  (I must have been confused; thanks Charles, for
correcting me.)
1996-05-08 23:32:31 +00:00
thorpej 1040e97175 If accessing shared memory on a 16-bit card, be careful not to do any
8-bit memory access; some cards, notably some WD/SMC cards, can't handle
8-bit access if 16-bit access has been enabled.
1996-05-08 22:09:18 +00:00
is 817e0b8d97 Fix a typo. 1996-05-08 17:29:40 +00:00
christos c853e93fc3 Fixed gcc -Wall warnings. 1996-05-07 23:25:07 +00:00
christos c66a107a1f #ifdef FreeBSD out unit which is not used by NetBSD. 1996-05-07 23:23:23 +00:00
christos d3340fa469 - Add an XXX declaration to kvtop
- Add a missing argument to printf
1996-05-07 23:22:25 +00:00
thorpej 13e808bbd8 Make the MI LANCE driver standalone, and use cfattach to resolve
naming conflicts between bus attachments on ports that can have
multiple instances of the LANCE.

Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_reset)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 02:24:54 +00:00
thorpej edbe37b13e Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_reset)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 02:17:18 +00:00
thorpej c1e45dd1f7 Make the MI LANCE driver standalone, and use cfattach to resolve
naming conflicts between bus attachments on ports that can have
multiple instances of the LANCE.

Add a real PCI front-end for PCnet-PCI Ethernet cards.

Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_reset)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 02:03:02 +00:00
thorpej 2d1c62d1ed Regenerate; pcidevs changed. 1996-05-07 02:01:00 +00:00
thorpej 0ba5a212d0 Add ID for AMD PCnet-PCI Ethernet. 1996-05-07 01:59:45 +00:00
thorpej 15354e899c Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_reset)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 01:55:13 +00:00
thorpej 7b3f25271d Make the MI LANCE driver standalone, and use cfattach to resolve
naming conflicts between bus attachments on ports that can have
multiple instances of the LANCE.

Break up ISA LANCE driver into ISA and PCI front-ends.

Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_start)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 01:50:04 +00:00
thorpej 300992c9ba Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_start)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 01:43:13 +00:00
thorpej 16e78eb3fb Make the MI LANCE driver standalone, and use cfattach to resolve
naming conflicts between bus attachments on ports that can have
multiple instances of the LANCE.

Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_start)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 01:38:35 +00:00
is 95f41d24cc Add "iy" driver for Ethernet ISA boards using the Intel i82595 chip, e.g.
(and only tested on) Intel Etherexpress PRO. Should work on any i82595 ISA
board which uses an EEPROM for config information; NETBLKID not yet supported.
TODO: change to BUS interface, add multicast support.
1996-05-06 21:36:51 +00:00
christos 0efbe64fb8 Cleanup the rest of the SCSIDEBUG printfs. From Bernd Ernesti. 1996-05-05 19:52:50 +00:00
christos d53d6cd545 Move comintr() prototype to comvar.h; needed by the multi-port cards. 1996-05-05 19:50:44 +00:00
christos d21e608c6b Make those compile again; they were missing a declaration for bc.
Also fix prototypes.
1996-05-05 19:49:51 +00:00
thorpej 49c5d29ee0 Fix bogus return value in ccdopen(); it failed to indicate an error
condition if:
	- ccd was not initialized
	- partition did not exist
1996-05-05 04:21:14 +00:00
mycroft 5b8d7c943e ahb -> sc 1996-05-05 03:12:47 +00:00
thorpej 0bc154b367 Fix a bug I introduced when converting the driver to <machine/bus.h>.
Use the i/o handle for the `delay port' exported from the parent
ISA bus, rather than the totally bogus combination of [ioh, 0x84].
Also, fix a bug apparently introduced when the -Wall changes were checked
in which, under most circumstances, would cause a 16-bit WD8013EP to
be mis-identified as an 8-bit WD8003EP.
1996-05-05 01:28:52 +00:00
thorpej 6fb58044fd Map port 0x84 (which is used to generate a 2.6us delay) in isaattach().
Since this port is needed by at least a few drivers, export its i/o handle
via isa_attach_args.
1996-05-05 01:14:07 +00:00
mycroft 0808320ac1 Fix a trivial typo. 1996-05-05 00:40:01 +00:00
jtk 0817b1b518 make it work with GUSPLAYDEBUG defined 1996-05-03 22:35:24 +00:00
christos 88c3808921 - SCSIDEBUG printf() fixes. 1996-05-03 19:48:20 +00:00
christos a16dd8b648 Move epstop prototype to the header file. 1996-05-03 19:08:47 +00:00
christos 6670b9fef5 - include <sys/systm.h>
- remove unused variables
1996-05-03 19:07:18 +00:00
christos 1a7708a2a2 - Fix random return value in the probe function.
- Add <sys/systm.h> to get prototypes
1996-05-03 19:06:25 +00:00
christos c3c1caa12a Remove unused err label; simplify the code in ed_probe_Novell 1996-05-03 19:05:30 +00:00
christos bd397af7ad - include <sys/systm.h>
- fix prototype of epmbuffill()
- fix typo of epxstat -> eptxstat
1996-05-03 17:44:59 +00:00
christos 5a4851d776 - fix printf format strings
- #ifdef out unused variables/functions
- parenthesize
1996-05-03 17:39:49 +00:00
christos 2d0606e988 remove unused variables 1996-05-03 17:33:49 +00:00
christos 021d3e082f Remove unused printf arguments 1996-05-03 17:32:20 +00:00
christos 05dbb85594 cleanup the memh mess:
- remove it from the Novell probe.
- cleanup the 3com probe.
1996-05-03 17:29:29 +00:00
neil c4b8477b78 Added another quirked SCSI device, re PR 2320 from Manuel Bouyer 1996-05-02 01:09:01 +00:00
thorpej 0b637e93a8 Convert the Etherlink III (ep) driver to use <machine/bus.h>. 1996-04-30 22:29:56 +00:00
thorpej 9d91d0f742 Convert the Etherlink III (ep) driver to use <machine/bus.h>.
For the ISA probe, implement a way to keep track of which ISA busses
have been through an ep_isa probe; the static variable that was used
before didn't scale.
1996-04-30 22:27:58 +00:00
thorpej d614ab5859 Update the 3c507 probe to the new interfaces used by elink_reset()
and elink_idseq().
XXX This is just a kludge until the entire driver is converted to use
<machine/bus.h>
1996-04-30 22:21:54 +00:00
thorpej 91b4a6d401 Adapt the elink_reset() and elink_idseq() routines for <machine/bus.h>.
In elink_reset(), since some machines may have more than one ISA bus,
implement a way of keeping track of which ISA bus has received an
elink_reset(); The static variable which was used previously didn't
scale.
1996-04-30 22:16:27 +00:00
christos a1609dc859 - Fix gcc -Wall warnings
- BUG: if (error = ...() == EWOULDBLOCK)
1996-04-29 20:30:48 +00:00
christos 1c86bef3bc Fix gcc -Wall warnings. 1996-04-29 20:28:40 +00:00
christos e8a8a6298c - prototype fixes 1996-04-29 20:02:32 +00:00
christos d0987b1ee9 - prototype fixes
- BUG: changed:
	   val &= CD_POL_MASK;
	   val |  CD_POL_BIT;  /* XXX if (pol) */
  to:
	   val &= CD_POL_MASK;
	   val |= CD_POL_BIT;  /* XXX if (pol) */
1996-04-29 20:00:39 +00:00
christos 27292adc4c - gcc -Wall fixes 1996-04-29 19:50:47 +00:00
christos c32e566f6c - missing argument in printf
- gcc -Wall fixes
1996-04-29 19:48:26 +00:00
christos f1dd12ed4e Prototype fixes 1996-04-29 19:45:32 +00:00
christos 3a77c25f3e Add prototypes. 1996-04-29 19:30:50 +00:00
christos 3f3082e5f5 Add a clean target to clean the assembler binary 1996-04-29 19:30:19 +00:00
cgd 48fca88c3a fix printf bogon (need : and space) 1996-04-29 16:06:38 +00:00
is 07beed1117 Fix an obvious typo (wrong sign of test). At the same time, make the early
probe printf prefix unambiguous.
1996-04-25 18:54:45 +00:00
thorpej aff40e2a72 Break up the ep driver into isa, eisa, and pci front-ends and a
bus-independent core driver.  Tested on all three bus types, including
an isa 3c509 masquerading as an eisa device (use ep* at eisa? slot ? in
your kernel config file to catch this one).
XXX Driver still needs to be converted to <machine/bus.h>
1996-04-25 02:15:42 +00:00
christos b57c554d06 Add a hardware dependent initialization function lehwinit() 1996-04-22 02:53:28 +00:00
christos b016bd441a Add a hardware dependent initialization function lehwinit() 1996-04-22 02:40:49 +00:00
christos ffd5576439 remove include of <sys/cpu.h> 1996-04-22 01:44:31 +00:00
christos cee6ac0ce3 remove sys/cpu.h 1996-04-22 01:26:39 +00:00
christos 3c0096ff79 gcc -Wall delinting: unused variables, assignments inside if's and missing
arguments in printf statements.
1996-04-19 00:02:29 +00:00
christos d7b610dca6 Fix 3c590 to use the new pci interface; the pci compat code changes were
slightly biffed.
1996-04-19 00:01:19 +00:00
cgd 720c148692 remove unnecessary header inclusion (machine/autoconf.h) and now-bogus comment.
also, trim spaces at ends of lines, etc.
1996-04-18 01:12:41 +00:00
cgd f8073d3675 restructure to take advantage of config's (relatively) new 'attach'
specifiers.  Many #ifdefs and much other nastiness removed.
1996-04-18 00:50:11 +00:00
cgd d7d306aeb7 change LANCE copy & zero functions' names to start with amd7990_, and
remove their 'integrate' (usually defined to be 'static') keywords.
when lance drivers are split up by attachment, more than one file will
reference the copy/zero functions (i.e. not just the file that pulls in
am7990.c... and eventually inclusion of am7990.c should go away entirely).
1996-04-18 00:25:11 +00:00
cgd 17731baa0d fix copyrights 1996-04-17 22:22:32 +00:00
cgd 71c7924099 clean up clock handling: clock drivers are now seperate from the
chip-independent clock code.  'clock' has been renamed 'mcclock'  'clock'
has been renamed 'mcclock' (since it's a driver for that particular
clock, and since eventually there may be another clock chip driver),
and now attaches via seperate match/attach functions to both TC and ISA.
This removes a whole lot of #ifdefs...
1996-04-17 22:01:16 +00:00
cgd a610e9d471 include <sys/termios.h> to make comvar.h happy 1996-04-15 18:55:23 +00:00
cgd b6549d493d define and export the global variable "comconscflag", the default tty
'cflag' for the console.  Normally set to TTYDEF_CFLAG, may be
overridden by machine-dependent console attachment code, as necessary.
(Alpha uses it to set cs8 -parenb.)  Files including comvar.h now
need to include <sys/termios.h>, because comconscflag is of type
tcflag_t.
1996-04-15 18:54:31 +00:00
leo 7ff219ef0d Add some prototypes. 1996-04-12 08:30:09 +00:00
cgd 432b9ff657 add support for the alpha 1996-04-12 06:34:36 +00:00
cgd 51e85d07b9 update for addition of a machine-dependent cookie as the first argument
to isa_intr_{,dis}establish().
1996-04-11 22:27:59 +00:00
cgd e6456e7285 on non-i386 systems, include <machine/intr.h> (per charles's proposal on
tech-kern (?)), to get the IPL_* and IST_* types.  pass the machine-dependent
cookie given at attach time on to sub-devices, so they can use it to access
the interrupt functions properly.
1996-04-11 22:25:44 +00:00
cgd a391172983 include a machine-specific header from ARCH/isa/isa_machdep.h, to define
the isa_chipset_tag_t type, and to define or prototype:
	isa_attach_hook()
	isa_intr_establish()
	isa_intr_disestablish()
i.e. the machine-dependent functions to be used my MI ISA code.
Remove prototypes for the latter two functions from this file.
1996-04-11 22:20:50 +00:00
cgd 01c4e7fb64 include raster_op.c and raster_text.c if 'raster' is defined, as well
as if 'rasterconsole' is defined.  Alpha uses 'raster' to pull in the
raster text and operation code, but doesn't use this console emulator,
etc.
1996-04-11 21:54:38 +00:00
cgd 789a455ab4 if no DDB, define Debugger() to be a panic. 1996-04-10 23:01:13 +00:00
gwr 32d12d3be4 Make the ring size configurable in the tty driver.
Make the pseudo-interrupt functions return void.
Call the tty layer at spltty (to be safe).
1996-04-10 21:44:35 +00:00
mycroft 0609135a66 Add explicit return types. 1996-04-10 19:03:46 +00:00
cgd 4889b6bcc2 use the new interfaces for interrupt attachment, etc. 1996-04-09 22:47:00 +00:00
cgd d645bb042d make the EISA code look a bit more like the PCI code, in the way
the bus is configured, interrupts are handled, etc.  machine-dependent
header (machine/eisa/eisa_machdep.h) defines eisa_chipset_tag_t and
eisa_intr_handle_t types, and the following functions:
	eisa_attach_hook()
	eisa_maxslots()
	eisa_intr_map()
	eisa_intr_string()
	eisa_intr_establish()
	eisa_intr_disestablish()
Don't define the interrupt establish/disestablish functions directly
in terms of the ISA functions any more (on some wacked out systems,
there can be a difference).
1996-04-09 22:46:11 +00:00
jonathan 57fd0e266b Fixes for -Wall -Wmissing-prototypes:
include <sys/systm.h> to get a prototyped declaration of printf().
	include <machine/autoconf.h> for port-specific typedefs.
	Remove unused variables.
1996-04-09 20:50:06 +00:00
cgd f85f062d77 spaces vs. tabs 1996-04-09 20:07:16 +00:00
pk 696daec742 Make this compile if LEDEBUG id defined. 1996-04-09 15:21:59 +00:00
thorpej 43411d2e96 Convert to use <machine/bus.h>. 1996-04-09 00:46:15 +00:00
jonathan 282688d407 Fixes for -Wall -Wmissing-prototypes:
remove unused variable "xfer" from the copy{to,from}buf_gap2() functions.
1996-04-08 20:11:46 +00:00
jonathan 45b229da22 fixes for -Wall -Wmissing-prototypes:
prototype the forward declaration of lewritereg().
1996-04-08 20:09:56 +00:00
jonathan 8ae2ddf4ad fixes for -Wall -Wmissing-prototypes:
add "return (0);" to cnstop()'s emtpy body.
1996-04-08 19:57:30 +00:00
mycroft 740637ad71 If we dequeue a packet due to excessive collisions, make sure we check
to see if the queue length has dropped to 0.
1996-04-08 19:02:19 +00:00
ragge a24af7a7c2 Added prototypes to everything. Made all files compile with -Wall. 1996-04-08 18:32:26 +00:00
ragge 86c328d230 Drivers for DZ11/DZV11/DZQ11 serial cards.
Written (mostly) by Ken Wellsch.
1996-04-08 17:22:20 +00:00
cgd 80efcebba5 kill some pasted spaces. 1996-04-06 02:04:00 +00:00
mycroft 78746c0d27 Regen. 1996-04-04 21:47:52 +00:00
mycroft 691dea75ae Add some NCR chips. 1996-04-04 21:46:33 +00:00
cgd 402f77d443 remove tricky open-coded variants of config_found(), by using the
child device pointer now returned by config_found().  (previously,
the code played games to get that pointer; now they are unnecesary.)
1996-04-04 07:08:10 +00:00
mycroft 9c6e05d835 Minor optimization, and do a CLRCH after (re)selection just to be safe. 1996-04-03 15:58:13 +00:00
mycroft b82447e3e1 * Change message priorities so that ABORT comes after IDENTIFY.
* Add an ACB_RESET flag, so that a BUS DEVICE RESET can be queued within the
driver.
* If ACB_ABORT or ACB_RESET is set during reselection, schedule a message and
assert ATN.
* Optimize aic_datain_pio(), aic_dataout_pio() and aicintr() somewhat.
* Schedule a timeout only when we select the target, so that commands can't
time out prematurely.
1996-04-03 10:33:45 +00:00
mycroft 70f35ac052 Don't wait for a command complete interrupt when enabling mailbox out
interrupts.
1996-04-03 09:45:45 +00:00
mycroft f0d8cbb1cb Don't wait for the host adapter to be idle before enabling or disabling
mailbox out interrupts.
1996-04-03 08:48:46 +00:00
mycroft 5e078e5ec8 Implement ncr_print(). 1996-04-03 08:44:15 +00:00
thorpej 52fee18c6f New SCSI media changer driver, written from scratch by me. Some
influence from the old driver (written by Stefan Grefen) and from
an autochanger driver written by the Systems Programming Group at the
University of Utah Computer Science Department (currently residing
in src/sys/arch/hp300/dev/ac.c).
1996-04-03 00:25:21 +00:00
cgd babc8db2c1 fix inverted sense of tests in DE500 media select function. (Would
auto-detect as 100Mbps if 10Mbps, 10Mbps if 100Mbps.)
1996-04-01 19:37:54 +00:00
mycroft d0742ed3c5 Several things:
1) If we get an unexpected disconnect, issue a REQUEST SENSE, as recommended
by the SCSI-2 spec.  If the target created a contingent allegiance condition,
this will clear it.  Also, if it happened while sending a SDTR or WDTR message,
disable negotiation for that target.
2) Since some lame devices still don't deal correctly, make sure we deassert
ATN if our last message out is interrupted.  If we get a MESSAGE PARITY ERROR,
we'll reassert ATN anyway.  This should ensure that we never have to send a
MESSAGE NO OPERATION.
3) Set AIC_ABORTING only when actually sending a BUS DEVICE RESET or ABORT,
so we get better error detection.
4) Other internal reorganization of no consequence.
1996-04-01 07:24:37 +00:00
jtk 55960650f7 add include file for function prototypes 1996-03-31 22:50:11 +00:00
pk 2f3ec93250 Various cleanup; mostly trailing spaces/tabs. 1996-03-31 22:38:29 +00:00
mycroft 004f5e8d39 Fix a slight biff with 16-bit DMA in last change. 1996-03-31 20:51:43 +00:00
christos b8e757d588 - remove unused variable
- add missing argument to printf statement
1996-03-30 23:08:29 +00:00
christos e1930da21b Remove dependencies to dev_conf.h and the file itself. 1996-03-30 23:05:46 +00:00
christos 1e2c047be7 - Don't use dev_conf.h
- Remove unnecessary prototypes
- Fix ioctl arguments
- Don't use kprintf(...TO_LOG...); directly. This does not set the log
  priority, and uses priority of the previous message. Use log() with %:
1996-03-30 22:51:23 +00:00
christos 94d26d3017 - Eliminate scsi_conf.h
- Fix prototypes
- Fix PR/2248 [Problems with HP scanjet...]
1996-03-30 21:47:00 +00:00
christos beec8ba94c Eliminate scsi_conf.h. 1996-03-30 21:44:50 +00:00
mycroft 778f21db6a Use `{in.out}b(iobase + ...' rather than including the base address in
the register definitions.
1996-03-30 16:13:24 +00:00
mycroft 72f4fb5692 Fix return type of wds_sense(). 1996-03-30 07:40:11 +00:00
mycroft 78681855e4 This version is deprecated. 1996-03-30 05:36:32 +00:00
cgd 5c2768088c make sure that chipset tags are used properly (because the alpha cares),
and include <machine/intr.h> on the alpha, for interrupt information.
(i386 will probably switch to this eventually.)
1996-03-30 05:10:29 +00:00
mycroft 59e1daefcd Working WD7000 and TMC-7000 driver, from Julian Highfield, with additional work by me.
Needs some refinement, but it works.
1996-03-29 20:53:30 +00:00
mrg 1180bee580 eliminate unused variables. 1996-03-29 14:50:12 +00:00
mycroft fc8683fbaa Eliminate random warnings. 1996-03-29 00:24:58 +00:00
mycroft 5c3bc6f120 Use %p as appropriate. 1996-03-29 00:11:42 +00:00
mycroft 15fd04d5a4 Really implement ahcprint(). 1996-03-28 22:39:08 +00:00
mycroft 44baed59ef Fix the mailbox unlock code for CF and CP. 1996-03-28 18:19:05 +00:00
cgd 80ed7f1dc8 remove inappropriate an potentially confusing comments ("unnecessary?") from
the pa_device and pa_function members of the pci_attach_args structure.
1996-03-28 02:16:23 +00:00
cgd 87328287b7 modify these to provide a new, better-specified PCI interface
(soon to be documented on mailing lists; eventually in section 9 manual
pages), most importantly:
	(1) support interrupt pin swizzling on non-i386 systems with
	    PCI-PCI bridges (per PPB spec; done, but meaningless, on i386).
	(2) provide pci_{io,mem}_find(), to determine what I/O or memory
	    space is described by a given PCI configuration space
	    mapping register.
	(3) provide pci_intr_map(), pci_intr_string(), and
	    pci_intr_{,dis}establish() to manipulate and print info about
	    PCI interrupts.
	(4) make pci functions take as an argument a machine-dependent
	    cookie, to allow more flexibility in implementation.
1996-03-27 04:08:24 +00:00
cgd d37d07a75b modify these to use the new PCI interfaces:
(1) use pci_{io,mem}_find(), to determine what I/O or memory
	    space is described by a given PCI configuration space
	    mapping register, and bus_{io,mem}_map() to map it.
	(2) use pci_intr_map(), pci_intr_string(), and
	    pci_intr_{,dis}establish() to manipulate and print info about
	    PCI interrupts.
	(5) make pci functions take as an argument a machine-dependent
	    cookie, to allow more flexibility in implementation.
1996-03-27 04:06:53 +00:00
cgd dbdbd735b8 Update these (as minimally as possible) to work with new PCI interfaces:
(1) make pci functions take as an argument a machine-dependent
	    cookie, to allow more flexibility in implementation.
(use of other PCI functions, etc., left unchanged.)
1996-03-27 04:03:05 +00:00
cgd 4b535677ab fix pasto: sdminphys -> cdminphys in comment. 1996-03-27 01:11:41 +00:00
mycroft f20498187e SDUNIT -> CDUNIT in last. 1996-03-27 00:48:50 +00:00
cgd 72060dc6fa add definitions for the BIST/Header Type/Latency Timer/Cache Line Size
configuration space register, and use it to determine whether or not
a given PCI device uses multiple functions.
1996-03-27 00:13:50 +00:00
mycroft 5ed22a9852 Put back dk_establish() for now. 1996-03-26 22:22:19 +00:00
mycroft 5f57f43753 Increase *OUTSTANDING.
Remove old dk_establish() garbage.
Support the `ancient' bit in both drivers.
1996-03-26 20:32:06 +00:00
mycroft 60a21c451b Format police. 1996-03-26 17:06:46 +00:00
gwr 639d64d73b Allow the machine-dependent code to define a fast comparsion function
for ethernet addresses via the macro ETHER_CMP. (see sun3/dev/if_le.c)
Add a comment explaining the LANCE_REVC_BUG work-around section.
1996-03-26 14:54:56 +00:00
jonathan 2bd6015194 Fixup after the "New device attachment scheme": change {mainbus,tc,ioasic}cd
to {mainbus,tc,ioasic}_cd.

Change ioasic config name from "lance   " to "lance". Correct for
pmaxes, perhaps not for Alphas.

Boots and runs under load on a 5000/200. Hangs during boot on an ioasic
decstation; pmax  autoconfig needs fixing.

Add Decstation-3100 baseboard support (untested).
1996-03-26 13:44:07 +00:00
mycroft 8d60d04ffa Remove dead variables. 1996-03-25 07:11:12 +00:00
mycroft 3ab38e9ad4 Display the right sync period for fast devices. 1996-03-25 00:18:09 +00:00
mycroft dac7f9a885 Fix up a couple of printf()s. 1996-03-24 22:23:56 +00:00
mycroft e2f1ed6ef2 Various, including:
* Display as much revision info as we can get.
* Fix a race condition that could cause interrupts to be lost.
* Handle `out of mailbox' conditions (much) more gracefully.
* Schedule timeouts more safely.
* Add diagnostic code to (correctly) detect if a CCB times out before its
outgoing mailbox is emptied.
1996-03-24 22:20:41 +00:00
mycroft caeb897758 Fix trivial oversight in last. 1996-03-24 07:36:11 +00:00
mrg 2c329c900b %d -> %ld in a few places... 1996-03-24 01:26:57 +00:00
gwr daef0ae82a The ramdisk is now a pseudo-device. 1996-03-22 23:02:02 +00:00
cgd caf3bddd6f make this a little bit closer to the pcivar.h header; no reason to
be gratuitously different in some places.  (just cosmetic changes.)
1996-03-22 03:31:33 +00:00
cgd 780657a591 don't export eisa_cd. Drivers shouldn't need it, and, indeed, if they
do, they're probably doing thing the Wrong Way.
1996-03-22 02:43:54 +00:00
gwr 3143afbd6a Fix typo 1996-03-21 22:37:26 +00:00
scottr 3166ff9f2f Add a SDEV_NOLUNS quirk for the Epson OMD-5010 removable MO cartridge drive. 1996-03-21 03:29:40 +00:00
is ab622e51f5 - Zeroth version of M68060 support (dont want to cause emulation traps for
the "Fast Assembler Version of the copy loop)
- Yet another sanity check included: initialize unused receive buffers to
  zero sender id; and test for sender hardware id of zero in the receiver.
  Gives us better error messages in case flaky hardware causes spurious
  receive interupts.
1996-03-20 13:28:50 +00:00
mycroft 78de5226a1 lto3b -> _lto3b 1996-03-19 03:28:45 +00:00
mycroft e819063285 Define a full set of [234][bl]tol() and lto[234][bl]() conversion functions,
inlined.
Use sized types in protocol structures.
Make the definition of scsi_sense_data less ugly.
1996-03-19 03:05:15 +00:00
gwr 79eb9fbf61 Deal with devices that are slow to get off the bus. 1996-03-18 23:09:02 +00:00
gwr 4e6633ab9a Fix two bugs pointed out by Leo Weppelman:
(1) Did not initialize cs->cs_rr0 anywhere
(2) Have to read rr1 before the data it applies to
1996-03-18 23:06:02 +00:00
ragge 8fa15eb73f Ubareset are now possible, devices that wants it now set it up
during autoconfig. ifubareset (if_reset) no longer used, actually
it's just a normal ubareset and is now handled like that.
1996-03-18 16:47:24 +00:00
hpeyerl 9785218963 Fix for NEC D3847 1.6gB drive which reported itself at lun[1-7]. 1996-03-18 16:19:58 +00:00
cgd b55176ea0c since this driver tries to block its interrupt with spltty(), it must
attach that interrupt with IPL_TTY.
1996-03-18 09:14:32 +00:00
jonathan 5bccfd6764 Additional fixes to complete the NetBSD/1.1B config changes:
Add new device-attach struct cfattach asc_ca and struct cfdriver asc_cd.
Change cfdriver references from "XXXcd"  to "XXX_cd".
1996-03-18 01:39:47 +00:00
ragge 6275c70064 Convert all devices according to the changes to config. 1996-03-17 22:56:15 +00:00
jonathan 3175cdba0b Additional fixes to complete the NetBSD/1.1B config changes:
change tc_submatch() to compile with the new device-attach scheme:
the TC bus uses a 'submatch' function which checks device locators
and then calls a match function.
Instead of calling cf->cf_driver->cd_match(), we now need to call
cf->cf_attach->ca_match().
1996-03-17 22:09:17 +00:00
jonathan d1c70894b8 Additional fixes to complete the NetBSD/1.1B config changes:
Rename the extern declaration of `tccd' and `ioasiccd' in
src/sys/dev/tc/{tvar.h,ioasicvar.h", respectively, to be
`tc_cd' and `ioasic_cd', to match the 1.1B-style definitions.
1996-03-17 21:37:45 +00:00
cgd b5c1728e22 clean up <machine/bus.h> changes a bit; no real functional change.
prototype lpt_port_test().
1996-03-17 13:40:29 +00:00
cgd 179f65d15e Add #ifdef's at the right places, on NCOM_ISA and NCOM_COMMULTI, to
only include the relevant code in the probe & attach functions.  Still
one probe and one attach function, with #ifdefs, but this is a step
in the right direction and saves a few hundred bytes (ooh, ahh!).
1996-03-17 13:38:14 +00:00
cgd 94907fa254 adjust to deal with expression support for optional file specs 1996-03-17 13:21:09 +00:00
cgd 9d4db41a9f change the name of com's attachment to commulti, and provide flags
for that and the isa attachment in com.h (in addition to the flag for
the presence of 'com' itself).
1996-03-17 07:30:25 +00:00
pk 12bcc82160 Parentheses are your friends. 1996-03-17 02:06:50 +00:00
thorpej 3cd14f7597 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 02:00:30 +00:00
cgd 4835a9fbc1 spacing nit 1996-03-17 01:47:52 +00:00
thorpej 5c67e5fad9 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 01:16:48 +00:00
thorpej 532e997971 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 00:57:14 +00:00
thorpej de7c200585 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 00:53:54 +00:00
thorpej 6d9ea4cf59 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 00:43:52 +00:00
cgd 9f762df4e4 clean up a comment, delete unnecessary local variable in probe 1996-03-17 00:26:12 +00:00
cgd 2355d951e4 update for changes eisadevs contents 1996-03-17 00:18:59 +00:00
cgd 6dcbcf9649 clean up descriptions a bit 1996-03-17 00:18:46 +00:00
cgd afb1eb7adc update for changes eisadevs contents 1996-03-17 00:15:08 +00:00
cgd 97dc4ccd6c add entries for the AMI 4801 SCSI controller, and add product numbers/names
for the BusLogic 74x[BC] SCSI controllers.
1996-03-17 00:13:56 +00:00
christos bca6f430a9 Make operator precedence explicit by parethesizing. 1996-03-16 23:19:14 +00:00
christos d2e6849829 fix printf() formats 1996-03-16 23:19:08 +00:00
cgd 88b335392c rename asic_addr and nic_addr to asic_base and nic_base, in softc, as
they're base I/O ports, not really addresses.  rather than using those
softc fields directly, assign local variables (asicbase, nicbase) to have
their values, and use those.  (consistency, plus better optimization
potential in some cases.)
1996-03-16 07:24:15 +00:00
cgd 87abc9cdc7 Move contents of edprobe() into ed_find() -- they'll be used by edattach()
eventually.  rename the probe functions for the various boards to 'find' for
consistency/correctness (but the generic8390 check is still a 'probe').
Add protos for ed_find(), ed_probe_generic8390(), ed_find_WD80x3(),
ed_find_3Com(), and ed_find_Novell().  Fix one minor space nit.
1996-03-16 06:41:20 +00:00
cgd 4beac8eab6 convert NIC_GET and NIC_PUT to take NIC base port address, rather than softc. 1996-03-16 06:18:39 +00:00
cgd f3bac4c1fb print out hardware type, and print firmware version more precisely.
Information about structures & commands to do this gleaned from
the FreeBSD bt driver.
1996-03-16 05:33:28 +00:00
cgd c3361cbc2c prototype bt_cmd(), using varargs/stdarg (ooh, ahh!). Fix up resulting
pointer warnings.
1996-03-16 04:37:40 +00:00
jtk 8b3873367f add MediaVision Jazz16 chipset support. It must be configured with
'flags 1' on the sb? kernel configuration file line (because it frobs a
noncontiguous IO port to configure the Jazz16 extensions).

Also, remove static sb_device structure and fill in user's buffer on
each request.
1996-03-16 04:00:09 +00:00
cgd 76f1f884eb convert to not assume existence of softc at probe time. 1996-03-16 03:20:25 +00:00
cgd 8b404fdede A foolish consistency... General cleanup: get rid of spaces and tabs at
ends of lines, turn aligned blocks of eight spaces into tabs, name all
softc elements with the "sc_" prefix, and call the softc by the commonly
used name, "sc", when passing it around.
1996-03-16 02:54:27 +00:00
cgd 6668fa09a3 Change register definitions to be offset from the I/O base, rather than
complete I/O addresses.  Access ports via "iobase + REGISTER."
1996-03-16 02:02:54 +00:00
cgd 2b96f0705b delete unused cruft (the 'software conventions' chunk). 1996-03-16 02:00:43 +00:00
christos 03b701e393 Bring prototypes into scope and fix compiler warnings. 1996-03-14 19:44:30 +00:00
christos e023a87a11 Bring prototypes into scope. 1996-03-14 19:05:07 +00:00
christos 357fb0e430 - add and fix prototypes and warnings.
- remove nested comment in header file.
1996-03-14 19:02:30 +00:00
cgd d5d2502bcb fix types on a bunch of variables (were u_long's, now are U_INT32s or ncrcmds,
and a few other fixes).  print pointers with %p, rather than casting to
(unsigned), which breaks on the Alpha.
1996-03-14 05:21:20 +00:00
cgd ba6d1cb2dd These devices don't actually need softc's that are supersets of 'struct
device.'  No point in adding that complexity + space if they're not needed,
so axe them.
1996-03-14 04:02:58 +00:00
cgd 005569a6b3 include pcireg before pcivar.h 1996-03-14 03:04:17 +00:00