Commit Graph

134 Commits

Author SHA1 Message Date
jdolecek 211d58f020 don't need opt_mcaverbose.h here
print 'memory configured' instead of just 'configured' for memory expansion
cards
2001-11-24 12:33:14 +00:00
jdolecek bb23eba3d8 MCA DMA hooked via bus_dma, so remove one
add entry regarding AHA-1640 (the driver needs testing)
2001-11-23 22:57:34 +00:00
jdolecek 07312f0fbb Convert over to use the new MCA DMA facilities, which encapsulate
the MCA DMA controller access. This also means we gain >16MB RAM support.

While here, overhaul the driver to saner state, especially:
* simplify and clean the attach code a lot, and support the 'drive'
  locator
* pass proper dev_t to readdisklabel() - formerly, the passed value was
  completely broken (used incorrect major and wrong minor), but worked
  by accident
* worker thread is now spawned per controller, rather than per-drive;
  i/o cannot be done concurrently by different drivers, only one
  i/o can be pending at any time
* simplify the command queue code, just sleep appropriately when
  !poll case, g/c 'async' code formerly needed, move the bio code
  from ed_mca.c to edc_mca.c:edc_bio()
* put all string arrays used by edc_dump_status_block() within #ifdef EDC_DEBUG,
  and use numbers instead if it's not defined; this cuts object size by 5KB
* other misc cleanups
2001-11-23 22:53:09 +00:00
jdolecek 90fac765da add 'drive' locator to mca edc 2001-11-23 22:35:46 +00:00
jdolecek d5c1ba9ed2 add a comment clarifying the DMA support, g/c the commented
out isa_dmacascade() call
some minor intendation changes, while here
2001-11-22 20:25:58 +00:00
lukem 2565646230 don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
lukem 8b7bb91219 add RCSID 2001-11-13 07:38:28 +00:00
sommerfeld 3b5dda2596 Don't spinlockinit a simple_lock; simple_lock_init it instead. 2001-09-03 18:13:13 +00:00
chs 92140aa25f make this compile. 2001-08-18 00:41:38 +00:00
jdolecek 5664c34574 all outstanding MCA bugs fixed, woo-hoo :) 2001-07-31 13:16:25 +00:00
wiz cc0b68092e Correct various misspellings of 'transfer' and inflected forms. 2001-07-08 18:06:42 +00:00
jdolecek 1f7c685ce3 remove //-commented debugging stuff 2001-05-14 07:35:33 +00:00
jdolecek 2cd8833615 Change the comment about sucky performance to recommendation to remove
DIAGNOSTIC/DEBUG from the kernel. This helped to boost the performance
on my test machine from ~5KB/s to like 800KB/s for ftp test, and
to like 700KB/s for netio test. I wouldn't have imagined the options
are THAT costly ....
2001-05-13 20:43:04 +00:00
jdolecek 5b3932d176 Implement polled command mode, and use it for writing system dump
and for initial autoconf probes; the latter eliminates need for
deferred configuration (and makes dmesg a bit nicer).

g/c EDF_IODONE flag - protect against interrupt by calling tsleep()
at splbio in worker thread

g/c unneeded stuff, improve some autoconf messages
2001-05-04 12:58:34 +00:00
jdolecek c58375dd6a Well, 16us is certainly more than 500 nanoseconds, but 1us is too, right?
This change improves elmc performance to ~350KB/s on my 386DX,
which is better than even WD8003.
2001-05-03 11:17:36 +00:00
jdolecek 63a7c0b5ad Add IBM SCSI Adapter support to the list - this is the last thing
I'm aware Linux MCA supports and NetBSD not
2001-05-02 13:32:21 +00:00
jdolecek 63958eee01 One item off TODO list - we check for MCA bus presence via bios call 2001-05-02 13:20:31 +00:00
jdolecek 2758818d81 regen - SKNET cards 2001-04-27 18:04:14 +00:00
jdolecek 3367b801f2 Add driver for SKNET Personal and MC+ - AMD Lance 7990 based ethernet cards.
Both models tested and seem to be quite stable and fast.

Thanks to:
- Hans Hubner <hans@Huebner.org> for giving me the cards for testing
- Georg Klug of Syskonnect, who provided me with hw docs for these cards,
  very promptly and willingly - I wish all vendors would be like this
- Alfred Arnold, Linux SKNET driver author, for giving me valuable Syskonnect
  contact :)
2001-04-27 18:03:40 +00:00
jdolecek b28d00fa02 Introduce mca_match_disabled() - this returns true if cards with particular
id should be handled even through it's marked as disabled in POS registers.
There are some cards which need this due to nonstandard hw design.
2001-04-27 17:52:51 +00:00
jdolecek d66e548d92 Introduce mca_match_disabled() - this returns true if cards with particular
id should be handled even through it's marked as disabled in POS registers.
There are some cards which need this due to nonstandard hw design.
2001-04-27 17:11:45 +00:00
simonb 6f6fe2f3ad Spell occurred correctly. 2001-04-25 02:33:08 +00:00
jdolecek 115f4e4207 print the drq together with irq, slot info 2001-04-24 09:15:06 +00:00
jdolecek 09062a99f9 one less 2001-04-23 09:36:01 +00:00
jdolecek 1fe3261554 Add constant for SKNET Ethernet Card 2001-04-23 06:10:09 +00:00
jdolecek 15224351ef Compact autoconf info by printing the IRQ number together
with 'at mca0 slot foo' info.
2001-04-23 06:10:08 +00:00
jdolecek 3d1c1edbc5 g/c edc_dev_status[] 2001-04-22 20:02:38 +00:00
jdolecek d0a98e1d18 fix edc_dump_status_block() to correctly print Command Error Code and
Device Error Code/Status when appropriate
add one item to TODO - need support for kernel memory crash dumps (to be
implemented "soon")
2001-04-22 20:00:59 +00:00
jdolecek 85f0e37b44 edc_dump_status_block(): print RBA # and block count as unsigned 2001-04-22 13:00:24 +00:00
jdolecek 912e570671 Introduce machdep mca_disk_[un]busy(), which turn on/off disk LED.
Call as appropriate from the ESDI disk driver
2001-04-22 11:52:18 +00:00
jdolecek 8927d6f1be Fix serious bug in bounce buf handling - the EDF_BOUNCEBUF flag needs
to be cleared always in edmcadone(), otherwise if there is a write
via bounce buffer followed by read directly to buf, the read operation
would return trashed data (the buf data would get overwritten
by contents of bounce buffer in edmcadone()).
Reset b_resid as necessary when the i/o is done, too.

g/c some unneeded stuff, use lockmgr()-style locking in ed_[un]lock(),
better avoid some deadlocks

These changes make the driver quite a bit more stable. It's actually
reliable enough to be possible to newfs the drive and use it for
read/write filesystem now.
2001-04-22 11:32:49 +00:00
jdolecek 4d5eec3337 regen 2001-04-20 11:19:51 +00:00
jdolecek a20a13451f Add support for IBM Multi-Protocol Communications Adapter. Card provided
by Hans Hubner <hans@huebner.org>.
We only support the card in "serial" mode. BISYNC nor SDLC modes are
not supported.
2001-04-20 11:19:27 +00:00
jdolecek 1df81c3607 regen 2001-04-20 10:05:16 +00:00
jdolecek b973e27bba Add support for NeoTecH Single RS-232 Async. Adapter, SM110. Tested
with card provided by Hans Hubner <hans@huebner.org>.

Also pretty the autoconf attach messages a little.
2001-04-20 10:03:35 +00:00
jdolecek 640bbf7e9f regen 2001-04-20 07:38:11 +00:00
jdolecek a98cbd0740 Add MCA ne(4) attachment for Novell NE/2 Ethernet adapter and clones.
Tested with NE/2 card provided to me by Hans Hubner <hans@Huebner.ORG>.

The Compex and Arco cards were not tested. According to Linux ne2 driver,
they should work same way as NE/2.
2001-04-20 07:37:42 +00:00
jdolecek 3ec26e703f regen 2001-04-20 07:10:40 +00:00
jdolecek 6daeb5ba7b add two Novell NE/2 compatible products 2001-04-20 07:10:12 +00:00
jdolecek 6939f3af70 regen 2001-04-19 18:38:50 +00:00
jdolecek 1420958f33 Add couple cards I got from Hans Hubner <hans@Huebner.ORG> 2001-04-19 18:38:23 +00:00
jdolecek 5452e8a704 dasd --> edc 2001-04-19 17:42:49 +00:00
jdolecek dbf91c827d Use "edc" instead of "dasd". As pointed out by Soren, dasd doesn't
mean anything special in IBM-talk. And edc better matches prior art, too.
2001-04-19 17:17:28 +00:00
jdolecek 361e520ce0 one less - ESDI support is written (albeit the driver needs to be tested more)
add some additional comments
2001-04-19 07:33:00 +00:00
jdolecek 24729c94cf regen 2001-04-19 07:31:17 +00:00
jdolecek fd1d702ab7 Add a driver for IBM ESDI disk controllers. Tested with IBM Integ. ESDI Fixed
Disk & Controller only at the moment.

This driver still needs some touchup (error recovery is not quite
good, MCA DMA controller goo should be moved to driver independant
location), but is working enough to be usable for others. And I
want this under CVS control :)

Thanks to Scott Telford <st@epcc.ed.ac.uk> for providing me docs for
these devices (IBM DASD Storage Interface Specification for MCA rev. 2.2).
2001-04-19 07:30:24 +00:00
jdolecek 08beeb78a7 change the attach message to contain slot number and product name 2001-04-05 12:22:05 +00:00
jdolecek c0ecf03bc0 convert to table-based product lookup
change the attach message to conform to other MCA drivers - print slot
	number and product name
2001-04-05 12:20:26 +00:00
jdolecek ba9261ba08 add year 2001 to copyright for NetBSD 2001-03-31 09:50:14 +00:00
jdolecek 5f3d9f1da2 Add driver for AT1720 MCA cards. This uses generic MB86960 support code,
and shares some bits with ISA AT1700 driver. Gee, this one was really
easy :)

This card turned out to be quite good performer - I get about 360KB/s
on 386DX PS/2 machine, which is best of all supported cards so far.
Tested with AT1720T, card donated by David Brownlee.
2001-03-31 00:43:05 +00:00
jdolecek 6db03feca9 Remove unneeded #includes 2001-03-29 08:56:27 +00:00
jdolecek 887a4368ce regen 2001-03-24 09:48:39 +00:00
jdolecek c86a2420fb Add couple AT1720 entries 2001-03-24 09:48:11 +00:00
jdolecek d0b4b2499f regen 2001-03-23 20:04:51 +00:00
jdolecek 7fe8df83a3 cosmetic change for autoconf printing: for memory extension cards,
just print ": configured" if they are enabled; they don't need any
special driver to work, printing "not configured" might be confusing
2001-03-23 20:04:28 +00:00
jdolecek 75b7bea508 Add MCA we(4) attachment for WD80x3 cards and clones. Tested with
WD8003W/A, card provided by David Brownlee (thanks!). The SMC Elite stuff not
tested since I don't have any; hopefully it's correct, should match
information in ADF files.

The MCA-specific init quirk taken from Linux smc-mca.c driver.
I don't quite grok why it works, but it does *cross fingers*.

The WD8003W/A seems to be quite a good choice. I get like 340KB/s on my
machine, where 3c523 does only like 310KB/s. The numbers would be probably
even better with faster CPU than 386DX :)
2001-03-23 19:25:35 +00:00
jdolecek 43b0593b91 regen 2001-03-23 18:12:45 +00:00
jdolecek 593eb4314b Change names of WD80x3x cards to what is in ADF's at
http://members.aol.com/mcapage1/adflist1.htm
Add couple IBM WD80x3x clones
Arrange so that appropriate defines are generated for WD80x3x cards
2001-03-23 18:12:13 +00:00
jdolecek 031c6d8c24 Add MCA ep(4) attachment, for 3Com 3c529-type cards. Tested with 3c529-TP,
provided to me by David Brownlee (thanks!).

Performance of this card is quite poor on my PS/2 with 386DX, like 100KB/s
at best, but as low as 5KB/s when transferring bigger files due to
packet overruns. It would be good to revisit this later, probably by
teaching the ic code to use RX Early.
2001-03-22 16:54:45 +00:00
jdolecek 3dfa223aa3 Stylistic nit - don't use mca_devinfo(), print the info directly, we know
what we are attaching.
2001-03-19 22:33:35 +00:00
jdolecek 8a2d4dc652 regen 2001-03-19 22:24:17 +00:00
jdolecek 198b90eb12 Add entry for ATI AT1720T, another card I've got from David Brownlee. 2001-03-19 22:23:58 +00:00
jdolecek e6d6148e4d regen 2001-03-19 22:20:30 +00:00
jdolecek 4f0e120ebb Add couple of Computone products; I looked up ADF for 0x61f3 (which
I am owner of) and found couple others as well.
Mark 3c529-type cards and IBM Internal modem for inclusion in mcadevs.h.
2001-03-19 22:20:05 +00:00
jdolecek 40d893a3f7 remove bogus ef entry 2001-03-19 21:58:09 +00:00
jdolecek 1c341b3d49 Provide MCA com(4) attachment. Tested with IBM Internal modem, kindly
donated to me by David Brownlee <abs@anim.dreamworks.com>.
2001-03-19 21:56:43 +00:00
jdolecek 9ca881a33a the elmc initialization problem is hopefully fixed 2001-03-17 17:00:38 +00:00
jdolecek bc5acf5f90 Move the code to write the interrupt number info back before the first card
reset (same place as in the Linux driver). Hopefully this would fix
the initialization problem I've seen previously (cannot repeat it
even without this change no matter how I play with the card).
Remove the comment about the initialization problem now.
2001-03-17 16:59:29 +00:00
jdolecek 5ff8accde5 The 3c523 now driver works (with quite acceptable performance, like 320KB/s
for ftp and like 310KB/s via nfs); since there is still issue
with the card initialization, move the entry to bugs subsection
2001-03-17 00:19:36 +00:00
jdolecek 5f6a534773 regen - 3c523 entry change 2001-03-17 00:16:38 +00:00
jdolecek 4f637b65bc adjust the 3c523 entry to fit the actual product name 2001-03-17 00:15:33 +00:00
jdolecek 94720e3009 Add driver for 3Com EtherLink/MC (3c523) Ethernet MCA card. This beast uses
i82586-based controller, similarily to e.g. ai(4), el(4) or ix(4).
The driver was modelled after the ai(4) driver.

Due to lack of better documentation, Linux 3c523 driver was used
to find out 3c523-specific quirks. Of course, the necessary work was greatly
reduced by our decend generic ic/i82586 code :)

Finally, NetBSD supports an ethernet card on IBM PS/2!
2001-03-16 23:03:15 +00:00
lukem 3aeb5f2f29 whitespace police 2001-02-24 01:59:46 +00:00
jdolecek 5cb9412e0d simplify 2001-02-21 22:57:14 +00:00
jdolecek 60b3bb82f9 remove mca_issupp() and just use UNCONF for unknown devices, like other
buses do - array of 'supported' peripheals makes addition of new stuff
unnecessarily harder
2001-02-14 19:31:19 +00:00
jdolecek cd1db4529e describe more precisely when the keyboard freeze happens 2000-08-13 22:30:19 +00:00
jdolecek d98bf28b13 Make the frontend print a newline (follows similar change for isa and pcmcia front-ends) 2000-06-06 20:09:20 +00:00
gmcgarry 6fe0de17c6 Fixup copyright. 2000-05-28 07:18:58 +00:00
soren 2e9acbbc58 Typo. 2000-05-14 15:19:24 +00:00
jdolecek ba84aa08e8 one less - the bootblocks were even easier shot than I though :) 2000-05-13 20:18:29 +00:00
jdolecek ba714a7f2c regenerate from mcadevs, to get proper 'generated from' info 2000-05-13 14:20:40 +00:00
jdolecek d63e211e90 one more 2000-05-13 14:00:19 +00:00
jdolecek 05a45852e4 superseded by http://www.netbsd.org/Ports/i386/ps2.html 2000-05-13 14:00:02 +00:00
jdolecek 2185bcc386 MI part of MicroChannel Architecture bus support
This work is based on code written by Scott D. Telford, the IBM
Token Ring card attachment was written by Gregory McGarry.

XXX this is still very experimental and development version; use at your
XXX own risk
2000-05-11 15:42:00 +00:00