Commit Graph

1133 Commits

Author SHA1 Message Date
mjacob
b3192632db On alpha, sizeof (long) != sizeof (int) and sizeof (int) != sizeof (ptr_t) 1997-04-28 15:52:44 +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
mycroft
91a808523c Fix typo in previous. 1997-04-24 08:05:13 +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
cgd
5cfcabc2fe compile when __BROKEN_INDIRECT_CONFIG isn't defined. 1997-04-18 00:50:33 +00:00
mycroft
f2746e9620 Update for new com driver. 1997-04-09 16:44:21 +00:00
jtk
73cfcd9f66 fix compile error if AUDIO_DEBUG 1997-04-06 17:21:45 +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
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
christos
ef8d40a999 Busify the driver (from perry). 1997-04-04 18:59:35 +00:00
mycroft
4df7e1dac7 Remove superfluous probe message. 1997-04-02 03:58:25 +00:00
jonathan
c1f72bba37 Add ifmedia hooks: include <ifmedia.h> and add sc_media to softc. 1997-03-30 22:47:05 +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
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
mikel
eba3c11c27 some cleanup; still needs a *lot* of work 1997-03-25 07:57:14 +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
mycroft
188dec4d19 Clean up a bit, and export isa_dmamask() and isa_dmaunmask() interfaces. 1997-03-21 02:17:11 +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
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
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
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
a283cb636c Check for errors returned by AD1848 routines. 1997-03-19 19:54:44 +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
1d987a161b #include <net/if_media.h> 1997-03-17 03:17:34 +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
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
mikel
d9b86972c1 SB minor version number is always two digits 1997-03-12 07:06:19 +00:00
mikel
1186720517 eliminate leftover header from bt -> bha conversion; noted by Enami
Tsusgutomo in PR kern/3310.
1997-03-11 04:24:03 +00:00
christos
700cbbae46 Fix bug introduced in the conversion to bus_*(). Don't always say that
we are a JASS16. From enami tsugutomo.
1997-03-03 21:40:01 +00:00
jonathan
c7cec27edf Move if_ep media-sense code from front ends to inside back end,
to prepare for if_media, and to support EISA 3c59x cards:

  * change epconfig() to take a short that encodes the chipset
    type (3c509, or Demon/Vortex/Boomerang).
  * add  distinct 3c509 and Demon/Vortex/Boomerang media-sense
    functions to back end.
  * Add EISA match/attach support for the 3c592 and 3c597
    (Demon) cards as well as the 3c509-comatibl EISA 3c509/3c579.

  * Assume that ISA and ISA PnP cards are 3c509-style, until
    proof to the contrary (e.g. large packet support).

Tested on 3c595, 3c590, and 3c509b. Not tested on 3c515 or Demon.
1997-02-18 10:51:06 +00:00
thorpej
2953a0ce90 Pass the i/o handle, not bus PA, to bus_space_unmap().
From Matthias Drochner <drochner@zelz28.zel.kfa-juelich.de>,
in PR #3216.
1997-02-12 23:37:38 +00:00
thorpej
dfa1224fab Oops, pass the memory handle, not bus PA, to bus_space_unmap().
From Matthias Drochner <drochner@zelz28.zel.kfa-juelich.de>, in
PR #3216.
1997-02-12 23:36:04 +00:00
mycroft
1dd1504980 Move the aha ISA probe functions into a separate file. 1997-02-07 17:37:27 +00:00
cgd
f89ffa1fe4 don't clobber IER in cominit(). (suggested by mycroft.) 1997-01-30 19:42:33 +00:00
cgd
3573080902 split isasearch (!__BROKEN_INDIRECT_CONFIG) completely off of
isascan (__BROKEN_INDIRECT_CONFIG), and attempt multiple match/attach
of cloning devices in isasearch().  (If a match/attach succeeds for
a cloning device, try it again.)
1997-01-26 03:49:28 +00:00
perry
8852c180ef Fixes to wd driver from cgd -- corrects several nasty bugs typically
associated with coming out of suspends/sleeps on laptops.
Approved by fvdl.
1997-01-17 20:45:29 +00:00
christos
e6717c0bc9 - convert to bus_space_*
- split attachment code to sb_isa.c
1997-01-16 21:03:30 +00:00
mikel
fe9f1f4e3e add missing copyright and RCS ID; ok'd by mycroft 1997-01-15 07:06:42 +00:00
mycroft
be33336052 If attaching the console, reinitialize it immediately. 1996-12-14 10:46:38 +00:00
mycroft
58e4442168 Turn off the baud rate changing optimization. 1996-12-14 08:56:23 +00:00
thorpej
d502e68402 Fill in sc_link.max_target 1996-12-10 21:27:16 +00:00
cgd
74187419b6 The last change fixed a last-minute goof in the __BROKEN_INDIRECT_CONFIG
case, but added a typo (extra parenthesis) in the !__BROKEN_INDIRECT_CONFIG
case.  fix it.
1996-12-08 00:14:03 +00:00
cgd
243ef518d2 fix a (fatal) bug in the __BROKEN_INDIRECT_CONFIG changes checked
in yesterday.  (got a little bit careless with #ifdef'd variables.)
1996-12-05 22:16:04 +00:00
mikel
179a058e17 fix AUTO_CAL_ENABLE bug, & misc. cleanup. 1996-12-05 07:01:30 +00:00
mikel
94909aee07 return proper output port. Fixes PR kern/2014. 1996-12-05 06:48:47 +00:00
thorpej
3ec2c5af68 Duh, make sure i/o tags and handles are initialized before actually
probing for the LANCE chip.
1996-12-05 02:39:37 +00:00
cgd
197d80c63a update these so they compile whether or not __BROKEN_INDIRECT_CONFIG
is defined.
1996-12-05 01:25:23 +00:00
thorpej
c164cadf68 Convert to use <machine/bus.h> 1996-12-02 05:44:17 +00:00
thorpej
3b4e2a1ac9 In wdattach(), when printing out info about the drive, make the output
look a little more like a SCSI disk's.  This has the pleasant side-effect
of preventing the output from annoyingly extending past 80 columns.
1996-11-27 10:50:39 +00:00
cgd
d7c58f547e Drop LPT_NPORTS to 4 from 8. Some lpt units require only 4 I/O ports
(e.g. from 0x3bc to 0x3bf, for example).  Others may require more,
but until there's some special handling for them, 4 should be returned
so that on systems with I/O port accounting, the unit at 0x3bf can be
properly mapped, etc.  (OK'd by mycroft.)
1996-11-23 23:22:50 +00:00
cgd
452ba6e098 restrict the FSTATE_STAR prohibition (and panic) to the i386 only. Cloning
devices actually do make sense on indirect-config busses, because you
might be able to have more than one of the busses!  In addition, they're
useful because they don't require unit numbers to be wired down, so you
could e.g. have vga* at indirect? and vga* at direct?, and have the first
one found be unit number zero.  Finally, devices which can divine their
own ports numbers, etc., actually should be cloning, even if you know you'll
only have one bus that they can live on.
1996-11-23 21:36:44 +00:00
mikel
bcc644fd7e Add missing arguments to NIC_GET in debug code. Fixes kern/2875. 1996-11-17 04:11:18 +00:00
jonathan
40bd2b1104 Fix front-ends of split uha driver to compile when DDB is not configured:
Propagate Debugger() macro from uha.c to uha_{eisa,isa}.c.
  update file names accordingly.
1996-11-15 22:53:36 +00:00
cgd
b005a8ee10 move cominit() prototype to comvar.h, so that ports which use 'com'
for serial console, but don't use the (i386-specific)
comcninit()/comcnprobe() functions, can do the right thing.
1996-11-13 19:41:35 +00:00
mikel
457c188626 Use device struct from sbdsp_softc, eliminate redundant softc members.
Fixes PR kern/2237.
1996-11-12 07:39:56 +00:00
mikel
af29f79ed4 Fix WDDEBUG code; PR kern/1480. 1996-11-07 05:23:07 +00:00
mikel
53945ccb19 Eliminate unsolicited spewage; PR #2108. 1996-11-05 07:20:32 +00:00
mikel
697941357c Eliminate unsolicited spewage; PR #2108. 1996-11-05 07:17:23 +00:00
mycroft
24620e1cd0 Rearrange wds_attach() to initialize DMA channel before setting to cascade
mode.
Fix silly error in -ASC case, pointed out by Niklas Hallqvist.
1996-11-03 16:20:31 +00:00
fvdl
f577ebda70 Move 'not finished' printf within AUDIO_DEBUG ifdefs, it should normally
be silent about this and caused confusion with stray interrupts.
1996-10-25 07:25:48 +00:00
cgd
233251d896 add missing argument to bus_space_map in ESP code 1996-10-22 00:45:25 +00:00
thorpej
769a499800 New bus.h implementation/interface:
- No more distinction between i/o-mapped and memory-mapped
	  devices.  It's all "bus space" now, and space tags
	  differentiate the space with finer grain than the
	  bus chipset tag.
	- Add memory barrier methods.
	- Implement space alloc/free methods.
	- Implement region read/write methods (like memcpy to/from
	  bus space).
This interface provides a better abstraction for dealing with
machine-independent chipset drivers.
1996-10-21 22:34:38 +00:00
thorpej
0211a3232d Appease the compiler: get rid of some unused variables, add some
prototypes, and suppress a bogus "might be used uninitialized" warning.
It's clear from reading the logic of the function that produces the
warning that the variable will not be used uninitialized, but the
compiler just isn't smart enough, I guess.  Marked XXX for future reference.
1996-10-17 04:34:08 +00:00
thorpej
35b8c6aa4c Add some prototypes, clean up some unused variables, and misc. other
compiler warning cleanup.
1996-10-17 04:21:55 +00:00
jtk
bfe653fbd7 fix PR 2851: make it compile under -Wformat 1996-10-16 11:32:45 +00:00
jtk
aa8449a9ef fix compile errors & warnings 1996-10-16 01:12:18 +00:00
christos
86373f8cf9 backout kprintf changes 1996-10-13 01:37:04 +00:00
christos
58953408cb printf -> kprintf, sprintf -> ksprintf 1996-10-10 22:04:48 +00:00
christos
e51a0f737a - printf -> kprintf, sprintf -> ksprintf
- fix unused variable warning
- include <systm.h>
1996-10-10 21:27:25 +00:00
christos
ce31bd3eb6 - printf -> kprintf, sprintf -> ksprintf
- Remove unused variable
- include <systm.h>
1996-10-10 21:26:04 +00:00
christos
18f1d603f0 - printf to kprintf, sprintf -> ksprintf 1996-10-10 21:25:07 +00:00
christos
764db9b35b - printf -> kprintf, sprintf -> ksprintf
- provide a default case to handle an unknown model number.
- include <systm.h>
- remove unused variable.
1996-10-10 21:23:28 +00:00
christos
245e10b406 - printf -> kprintf, sprintf -> ksprintf
- ifdef an unused variable.
1996-10-10 21:21:52 +00:00
christos
ee2c8600ee - printf -> kprintf, sprintf -> ksprintf
- remove kvtop declaration.
1996-10-10 20:04:03 +00:00
chuck
b10785c0e4 fix "control reaches end of non-void function" in check_eh() for -Werror. 1996-10-06 21:24:36 +00:00
mycroft
767522373b If we get a RXRDY interrupt, but RXRDY is not set in the LSR, briefly set IER
to 0.  This fixes a condition where some UARTs send an infinite stream of
RXRDY interrupts.
1996-10-06 01:52:26 +00:00
mycroft
d1f08e3e87 Serial console changes:
* Enable FIFO with trigger level 1.
* Set DTR and RTS so terminals are happy.
1996-10-06 01:46:04 +00:00
explorer
870052156e Better error message when the card is found but shared memory isn't enabled 1996-10-04 01:28:54 +00:00
thorpej
e1b380e139 Fix a bus mem space leak; always unmap the card, regardless of the success
of cy_find().
1996-09-26 19:24:04 +00:00
thorpej
63b18ee2f2 This file is now obsolete. 1996-09-25 20:44:09 +00:00
christos
5d34f1a62b New cyclades driver from Timo Rossi 1996-09-24 17:45:14 +00:00
mycroft
67417a473a Use bus.h. 1996-09-07 12:12:18 +00:00
mycroft
94bfaac456 Wrap the definitions of CONADDR and CONUNIT in #ifndef. 1996-09-06 05:06:01 +00:00
mycroft
82f0b829e8 compoll() -> comsoft() 1996-09-05 16:42:32 +00:00
mycroft
8427290044 wtpoll() -> wtsoft() 1996-09-05 15:37:18 +00:00
mycroft
110ee78a6f Remove cyselect(). 1996-09-05 15:35:09 +00:00
mycroft
b3eac79b64 tty stop functions really should return void, not int, and certainly not both. 1996-09-02 06:43:16 +00:00
mycroft
70944d2e2c Minor changes. 1996-09-01 00:20:20 +00:00
mycroft
e8b5bd5b35 Update. 1996-09-01 00:10:55 +00:00
mycroft
44bb2d98e1 Split the UltraStor driver apart. 1996-08-31 20:26:48 +00:00
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
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
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
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
is
003947b965 Changed the driver to use bus_xxx(). 1996-07-25 18:59:12 +00:00
cgd
bc2f07f331 move DDB-only label inside an #ifdef, so that -Wall works 1996-07-10 18:14:04 +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
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
08d585e924 add tty_attach() where appropriate. 1996-05-30 18:24:09 +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
mycroft
19b0b9502f New version, with changes from Justin Gibbs and Noriyuki Soda. 1996-05-16 03:44:13 +00:00
thorpej
52e2ab70b0 #include <machine/intr.h> to get IST_* definitions. 1996-05-14 00:31:04 +00:00
mycroft
cec36bf8d5 Use intr.h. 1996-05-12 23:51:23 +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
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
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
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
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
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
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
05dbb85594 cleanup the memh mess:
- remove it from the Novell probe.
- cleanup the 3com probe.
1996-05-03 17:29:29 +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
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
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
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
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
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
789a455ab4 if no DDB, define Debugger() to be a panic. 1996-04-10 23:01:13 +00:00
mycroft
0609135a66 Add explicit return types. 1996-04-10 19:03:46 +00:00
thorpej
43411d2e96 Convert to use <machine/bus.h>. 1996-04-09 00:46:15 +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
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
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
mycroft
004f5e8d39 Fix a slight biff with 16-bit DMA in last change. 1996-03-31 20:51:43 +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
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
mycroft
44baed59ef Fix the mailbox unlock code for CF and CP. 1996-03-28 18:19:05 +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
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
78de5226a1 lto3b -> _lto3b 1996-03-19 03:28:45 +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
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
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
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
cgd
85286bff2f convert these to use new <machine/bus.h> interfaces. This involved
substantial reworking of the multi-port drivers, as they need to frob
bits in the io-port spaces of their children.  As a result, the
commulti->com attachment interface is substantially more complex.
(This may be fixable in the future by making some of the code common,
but as long as io-port allocation checking is planned, it's necessary.)
1996-03-10 09:01:20 +00:00
cgd
5bfb840114 Fix copyright year 1996-03-09 23:37:14 +00:00
cgd
85288c6a61 Include comvar.h, for comprobe1() prototype and for commulti_attach_args.
Remove multiple identical definitions for the arg struct used by multiport
boards' to attach slave com ports.
1996-03-09 01:03:59 +00:00
cgd
a7c6dfe1cd include comvar.h for comprobe1() prototype 1996-03-09 01:02:08 +00:00
cgd
56edbfc4f9 define the common structure used to attach 'com' units as slaves to
multiport cards.  prototype comprobe1(), which is used by multiport card
drivers.
1996-03-09 01:01:33 +00:00
cgd
645d83b763 minor cleanup. mostly: use COM_NPORTS and a new (driver-specific) NSLAVES
macro where appropriate.  No point in hard-coding numbers in multiple places.
At the very least, this makes the drivers slightly easier to diff/understand.
1996-03-09 00:09:04 +00:00
cgd
2c11ad408c convert to use I/O mapping/access macros in <machine/bus.h>.
Mostly mechanical changes, except for probe/attach, which have
to map (and, in the case of probe, unmap) the I/O space that the
chip will use.
1996-03-08 22:17:58 +00:00
cgd
b1d3f7607c remember the bus_chipset_tag_t given by our parent, and pass it on to
children.
1996-03-08 20:36:21 +00:00
cgd
5087096150 pass a bus_chipset_tag_t (defined in <machine/bus.h>) to the bus when
attaching, and to the devices when attaching them.  #include <machine/bus.h>
to make this backward compatible with old #include requirements.
Also, clean up idempotency so that isa/eisa/pci "var.h" headers are
consistent (make them all idempotent).
1996-03-08 20:25:22 +00:00
cgd
acabb62791 the i386 port no longer attaches isa, eisa, and pci at root. 1996-03-04 03:29:12 +00:00
mycroft
d8026ad9ef Oops; switched two bits. 1996-03-01 04:35:27 +00:00
mycroft
f3b29ca5d2 Remove two unneeded `if's. 1996-03-01 04:13:25 +00:00
mycroft
546ad9e88b Add support to the ISA DMA framework for auto-initialize mode.
Add experimental SB16 code, disabled for now.
1996-03-01 04:08:13 +00:00
cgd
3ca5707161 make ISA bus match/attach, and sub-device configuration machine-independent. 1996-02-28 01:43:45 +00:00
scottr
4005c5fd09 Fix typo (PR 2123, from Michael VanLoon) 1996-02-26 22:48:32 +00:00
mycroft
40d57df71a Switch byte order of ID and configuration registers for 14f and 34f. 1996-02-24 05:27:49 +00:00
mycroft
3ec5928403 Keep the terminal count information around, as it's self-clearing. 1996-02-22 06:21:48 +00:00
mycroft
a35f0ac985 Add more debugging code. 1996-02-20 12:13:09 +00:00
mycroft
947cae817e Do not allow the gain to be changed on an original SoundBlaster. 1996-02-20 11:48:50 +00:00
mycroft
015ee926f6 Fix mono volume adjustment. 1996-02-20 11:15:15 +00:00
mycroft
b5f3c5cbdc XXX This is a kluge.
Check to see if the DMA transfer is finished; if not, don't do interrupt
processing.
1996-02-20 04:19:24 +00:00
mycroft
4d6412e7bf Move the terminal count check into a separate function. 1996-02-20 04:17:05 +00:00
christos
cd5249589d if_ep.c: Recognize 3c595 1996-02-19 20:18:40 +00:00
mycroft
5021ab87f1 Update copyright notice. 1996-02-19 15:23:25 +00:00
mycroft
5bc567b0d3 Set IER_ETXRDY before outputting any bytes, to prevent race condition. 1996-02-19 15:09:25 +00:00
mycroft
c011a5eae4 Handle break more correctly.
Make IER_ETXRDY track TS_BUSY.  (Prevents a loop in comintr() if no output
is available.)
Add a bunch of debugging code.
1996-02-19 14:53:03 +00:00
mycroft
760b34026c Declare a variable... 1996-02-18 22:19:44 +00:00
mycroft
ba2ac1b587 Clean this up a bit. 1996-02-18 22:17:37 +00:00
jtk
47286969ae Add bass/treble input filter adjustment controls to SB (Pro) driver 1996-02-18 16:36:44 +00:00
mycroft
e5730c4a73 Fix a race condition where we might stop outputting if a write follows a
flush too closely.
1996-02-18 09:10:15 +00:00
mycroft
203f5d5329 Add some text describing the UART lossage worked around in the previous. 1996-02-17 04:51:41 +00:00
jtk
03f1e1432a fix compile error from gusprobe() cleanup 1996-02-17 04:49:50 +00:00
mycroft
121f6570d7 Drain the transmitter FIFO before changing the baud rate or FIFO depth
registers.  Fixes PR 2046.
Also, if COMCONSOLE is defined, expect CONSPEED to be the baud rate.
1996-02-17 04:04:28 +00:00
jtk
28feffd508 avoid panic'ing when driver gets confused--just spit out a message and
keep going.
Improve error messages to include device name.
use STATIC for function declarations/definitions so it's easier to get a
useful symbol table by flipping a switch.
1996-02-17 03:35:22 +00:00
mycroft
7847c9efee Various:
* Snap the sample rate when setting it, and remember only the time constant.
* Set the time constant when changing between play/record.
* Always return the actual sample rate with AUDIO_GETINFO.
1996-02-16 10:10:21 +00:00
mycroft
19f59bf3c2 Prototype the probe and attach functions. 1996-02-16 08:18:32 +00:00
mycroft
7af4edd731 Various, including:
* Add more delays while writing registers.
* Replace sc_dma{in,out}_inprogress with sc_dmadir.
* Eliminate the need for sc_locked.
* Add more DPRINTF()s.
1996-02-16 08:07:40 +00:00
christos
11d31f7ce7 Hayes ESP patches [from PR database] 1996-02-10 20:23:18 +00:00
mycroft
28bf676a23 Read the 14f/34f registers in 8-bit mode. 1996-02-09 17:38:09 +00:00
scottr
54c51d4393 Document this file better, mostly from John Vinopal
<banshee@gabriella.resort.com>.  Closes PR #1864.
1996-02-05 23:01:50 +00:00
scottr
ae06fdb589 Allow blocksize of NBPG/2 to NBPG for higher sampling rates. From
Lennart Augustsson <augustss@cs.chalmers.se>, closes PR 2013.
1996-02-05 21:32:26 +00:00
jtc
3ae2aedf4d Fix error in copyright notice 1996-02-05 02:18:48 +00:00
jtc
240e22087c Received copyright assignment 1996-02-05 00:10:32 +00:00
thorpej
919f6728ab Accept DIOCEJECT as a synonym for CDIOCEJECT. Implement DIOCLOCK
separately from CDIOCALLOW and CDIOCPREVENT, even though they perform
basically the same function (with a different interface XXX).
1996-01-30 18:28:02 +00:00
mycroft
02317d25bb Make the panic message for ISA clone devices more informative. 1996-01-16 07:52:38 +00:00
christos
d3427703db Hayes ESP support from Michael Van Loon, with minor cleanups. Tested on
a single port ESP card; works great!
1996-01-14 23:44:34 +00:00
thorpej
f08d96426e Oops. Fix RCS id. 1996-01-13 02:06:30 +00:00
thorpej
e422ebca1a Add the "ahe" driver, autoconfiguration support for the aic7xxx-based
Adaptec 2[78]4x SCSI controllers, from Michael Graff <explorer@flame.org>.
Fixes PR #1594 from Noriyuki Soda <soda@sra.co.jp> in a different way.
1996-01-13 02:05:14 +00:00
thorpej
48bb61e0d7 Use WTDBPRINT() instead of DEBUG() for driver debugging printf()s..
Fixes PR #1927, from Erik Bertelsen <erik@arhpc214.uni-c.dk>
1996-01-12 00:54:23 +00:00
hpeyerl
5e81dcd27a Make it a tad more obvious that this is a 3c505 driver. 1996-01-10 18:21:52 +00:00
chuck
75caa8c729 Imported from OpenBSD/FreeBSD:
Add support for the SMC8416 (EtherEZ) ISA ethernet card.
	The 8416 has an 8K shared mem (the old driver assumed 16K
	and failed at attach time).
1996-01-10 16:49:22 +00:00
mycroft
3441f118d5 Make sure we disk_busy() for every transfer we start. 1996-01-08 21:21:56 +00:00