Commit Graph

949 Commits

Author SHA1 Message Date
cjs ecab881e98 PR 6852 from Chris Jones <cjones@hideo.nervana.montana.edu>.
This handles the interrupt structure of Compex boards.
1999-04-12 04:31:55 +00:00
bouyer 2198b984e8 Kill an extra 'pciide0: ' in a printf 1999-04-06 17:49:14 +00:00
mjacob eebeea5b23 Read the board revision and trim cache line size back from 16 to 1
for early revision 2100 boards. Make sure to turn ROM off for these
boards.
1999-04-04 01:14:58 +00:00
tsubai 500edb5379 Fix typo. (From PR 7027) 1999-04-01 14:55:25 +00:00
tsubai 4384fd5134 Fix big-endian support.
TULIP_BUSMODE_BIGENDIAN does bswap packet buffers also, so we should use
TULIP_BUSMODE_DESC_BIGENDIAN on big-endian machines. (PR 7027)

XXX 21040 doesn't have this bit, but supporting only 21041+ is better than
    nothing.
1999-04-01 11:02:20 +00:00
mjacob e50460f5fa Oops- if you enable 1080 support, remember to load the f/w 1999-03-27 01:08:59 +00:00
mjacob 99d46bf762 add isp1080 support and some basic PDB change stuff 1999-03-26 22:39:44 +00:00
bouyer d907e1f61e First pass at support of Compaq NetFlex 3/P PCI: this one has
IO and Mem base address register inverted.
Still need some MII hack to get it fully fonctionnal.
1999-03-25 16:15:00 +00:00
explorer 6b9af88b99 wrap kernel bits in shared kernel/userland files 1999-03-25 04:09:33 +00:00
explorer 7bfd643eab install if_lmc*.h 1999-03-25 03:54:43 +00:00
explorer 0c2f5ada28 Commit files for the LAN Media Corporation high speed serial/HSSI/DS3 driver 1999-03-25 03:32:43 +00:00
explorer 960c283a65 Add LAN Media Corporation info 1999-03-25 03:28:17 +00:00
explorer 77597ecd3e Start commit of Lan Media Corp T1/HSSI/DS3 driver 1999-03-25 00:51:53 +00:00
cgd fe0bb65b38 in general, it's a good idea to make sure you at least have all of the
variables you reference, before you commit something...
1999-03-24 18:47:51 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
thorpej 3993ee01e4 Don't enable I/O or memory access here! These bits in the PCI CSR are
set up by the firmware, and indicate which mapping types the system
supports.
1999-03-24 01:07:59 +00:00
thorpej ac0f626cca Make sure bus mastering is enabled. 1999-03-24 01:05:15 +00:00
thorpej 9f85a4a798 Make sure bus mastering is enabled. 1999-03-23 23:18:50 +00:00
mycroft cfe7413adb Make 48KHz output work. 1999-03-22 07:58:55 +00:00
mycroft f60907c286 Regen. 1999-03-19 06:40:11 +00:00
mycroft 4e92fb2fd1 Add AudioPCI 97 (a.k.a. Creative Ensoniq AudioPCI). 1999-03-19 06:39:32 +00:00
cgd ff42ff62e8 pull pci_machdep.h in from machine/ 1999-03-19 03:37:52 +00:00
thorpej 1954300d6c Regen. 1999-03-17 19:21:49 +00:00
thorpej 0d433f490b Add Silicon Integrated Systems SiS900 10/100 Ethernet. 1999-03-17 19:20:51 +00:00
mjacob d596b20f1e prototype 1080/1240 support 1999-03-17 06:16:42 +00:00
mjacob e380eb62d5 Tron whacked my you-know-what because I didn't follow procedure.
So I insered his description of the 'procedure' in the most likely
place a developer will find it.
1999-03-16 22:41:56 +00:00
tron ddbc34d638 Regen from "pcidevs". 1999-03-16 22:32:58 +00:00
mjacob f50c9fa8ea add Qlogic 1080 && 1240 product IDs 1999-03-16 21:24:46 +00:00
sakamoto 23903bfc0e Regen. 1999-03-11 05:17:54 +00:00
sakamoto 272f5b609d Add several VIA Technologies chipsets. 1999-03-11 05:17:24 +00:00
drochner 5704ad4969 regen 1999-03-09 11:48:59 +00:00
drochner 2987883f07 add 2 ISDN cards, from Martin Husemann per PR kern/7110 1999-03-09 11:48:03 +00:00
explorer 3ebb419571 Update to slightly altered rnd_attach_source() api 1999-02-28 17:08:05 +00:00
dante ceef7fa3d7 Fix AdvanSys Narrow driver to work on Alpha 1999-02-25 20:20:30 +00:00
bouyer 71036465a5 In cy693_setup_channel(), setup timings for IOR too (they were left to 0,
which is a way too higth timing for some devices). Thanks to Ken Wellsch
for trying the multiple debug kernels until the problem was located.
1999-02-22 10:12:00 +00:00
ross ea05c3b739 Fix typo. 1999-02-20 07:07:07 +00:00
thorpej 598b05da47 Regen. 1999-02-19 19:12:09 +00:00
thorpej d9c29083d4 Improve descriptions for DEC Ethernet chips. 1999-02-19 19:11:33 +00:00
thorpej 3f8a09bba4 Improve product descriptions, and add 3c905-FX and 3c980 Server Adapter
products.
1999-02-19 06:58:42 +00:00
thorpej 7248c3be19 Improve card descriptions. 1999-02-19 06:57:56 +00:00
thorpej 02df2bd5a5 Regen. 1999-02-19 06:56:53 +00:00
thorpej 1128dd593e Improve the descriptions of 3Com Ethernet cards, and add the 3c905B-FX
and 3c980 Server Adapter products.
1999-02-19 06:55:15 +00:00
thorpej 3a63b5db2a Regen. 1999-02-19 05:53:36 +00:00
thorpej f43c45889a Add several Tulip clone chips. 1999-02-19 05:53:00 +00:00
mycroft bd4cd051b9 This is an utterly revolting hack to work around the previously mentioned
lossage.  On the Alpha, we force the buffers to be allocated through the SGMAP
so that the PCI bus addresses are low enough.
At least it's only one line of code...
1999-02-19 02:27:59 +00:00
thorpej a473ed5477 Fix omission in previous. 1999-02-18 19:24:39 +00:00
mycroft 699a815751 Pass the correct address (PCI bus address, not PA) to the card.
Also fix some typos and add more debugging printf()s.
This would work on the Alpha, but the card I have appears to have the upper
address bits chopped off, and the ring buffer gets mapped using the DGMAP,
which uses the upper bits.  Boom.
1999-02-18 09:22:17 +00:00
mycroft e0b748e50c Pass the correct address (PCI bus address, not PA) to the card.
Works on an Alpha now.
1999-02-18 07:59:30 +00:00
mycroft c02bf3c4d7 Minor code munging. 1999-02-18 05:46:38 +00:00
thorpej 982603ce5b Don't reset the interface when the media changes. 1999-02-18 01:24:29 +00:00
thorpej 78e18b8d8c Back out to the previous stable revision of the fxp driver. The latest
one had too many stability problems.
1999-02-18 01:23:41 +00:00
mycroft 6ce15ae4e3 spaces -> tabs 1999-02-18 00:55:36 +00:00
mycroft f1e84a4ec5 A few things:
* Use the trigger interface.
* Permit different encodings for record and playback.
* Set AUDIO_PROP_INDEPENDENT.
* Fix the mmap(2) hole again.
* Use 16-bit mode for a-law and u-law playback.
1999-02-18 00:54:19 +00:00
mycroft 8b7b7cccc7 Fix a silly type. 1999-02-17 23:55:18 +00:00
mycroft 71105fbda7 Update comments. 1999-02-17 21:44:55 +00:00
mycroft e5f5e628d2 Pass the direction to the allocm and round_buffersize methods.
Some drivers need this to properly allocate DMAable memory.
1999-02-17 02:37:38 +00:00
bouyer 2ccd5cde74 Correctly compute PIO/DMA mode for sis and acer chips when the drive support
a DMA mode with higther capabilities than PIO mode.
1999-02-16 18:11:52 +00:00
hubertf 56f2d188fc RCS ID police 1999-02-15 04:54:34 +00:00
tron 210b267f84 Regen from pcidevs. 1999-02-14 22:44:36 +00:00
tron acb24b6080 Add 3Dfx's Voodoo II. Fixes PR kern/7000 by Brett Lymn. 1999-02-14 22:38:18 +00:00
thorpej 70b91539e9 Restructure the interrupt handler and 1-second timer a bit, and tidy up
the lazy-transmit-interrupt logic, fixing a few minor logic problems.

Now unable to reproduce the lockup problem described in PR #6767.  Changing
PR's state to "feedback".
1999-02-13 02:12:59 +00:00
thorpej f83663b7ba Garbage-collect some unneeded definitions. 1999-02-12 00:37:07 +00:00
thorpej 7b516b31bd Major overhaul of the Rhine/Rhine-II driver, structuring it a little more
like the SMC83C100 EPIC/100 driver:
* Rather than using pointers to the head and tail of the transmit and
receive rings, use wrapping indexes into arrays.  This is a little more
obvious when reading the code.
* More cleanly separate the hardware descriptor from the software descriptor.
* bus_dma it everywhere.
* Implement interrupt pacing and avoid a potential race in the transmit
loop.

Now this looks more or less like the Rhine driver I was working on when
this driver was committed :-)  Update copyright notice to reflect that.
1999-02-12 00:36:48 +00:00
sakamoto 0b4e481612 add "mii" to vr driver. 1999-02-09 02:04:36 +00:00
mjacob c47d6855db clean up pci configuration a bit 1999-02-09 00:35:35 +00:00
cgd 6b77f11d67 put in better name/description for Simon G's board 1999-02-06 06:55:15 +00:00
cgd 04046c6dd7 add code to cope with multiple ports per BAR, as are found, for instance,
on the 8 port card Simon Gerraty has.  In general, cards which have
this lots of ports also have a separate interrupt status register, but
this change is just to talk to the various ports independently.  It works,
but it's not optimal.  (XXX still need a good name for the card in the
comments, and to update the manual page.)
1999-02-06 06:29:54 +00:00
thorpej 23382bdfcb Regen. 1999-02-05 22:55:40 +00:00
thorpej 0955479f29 Add some Olicom Ethernet device IDs, from FreeBSD's tl driver. 1999-02-05 22:55:19 +00:00
thorpej d95d5b1488 Make this driver work on the Alpha. Apparently the receive DMA mechanism
has the same 4-byte alignment requirement that the transmit side does.  This
causes the packet payload to be misaligned.  So, on systems which require
strict alignment, we must copy the incoming frame to a new packet buffer,
suitably aligned.
1999-02-05 22:09:46 +00:00
thorpej b52d1e44d0 Fix the interrupt handler to actually acknowledge the interupt to the
dispatch code (!!!).  How did this work even on the i386 before?
1999-02-05 21:20:31 +00:00
thorpej dde3694c4c Fix some formatting nits. 1999-02-05 08:42:03 +00:00
thorpej 82a54250be Remove some duplicate softc members, and comment some of the softc
fields.
1999-02-05 08:27:46 +00:00
thorpej 8bf66d3eb2 Remove some unnecessary splnet's. 1999-02-05 08:21:31 +00:00
thorpej 50faf19d7d splimp -> splnet 1999-02-05 07:53:24 +00:00
thorpej adc9c40688 Use the generic MII support code, not our own. 1999-02-05 02:58:38 +00:00
thorpej ebf3a97519 Use MII command opcodes from <sys/dev/mii.h> 1999-02-05 01:17:24 +00:00
thorpej 909b90d2d4 Rename VR_MIICMD_DATAIN and VR_MIICMD_DATAOUT to actually match what the
data sheet says.  (The names and their usage were exactly reversed in the
code.)
1999-02-05 01:10:30 +00:00
bouyer 5888b4354e channel_map is called before setup_chip, so whe need to enable the channel
status bits in acer_channel_map().
1999-02-02 17:06:05 +00:00
bouyer ca240ca7b5 Support for Acerlab M5229 IDE controller. Thanks to Thilo Manske for testing
the code, and to Takahiro Kambe who run several tests and finally found the
bug by himself :)
1999-02-02 16:13:59 +00:00
thorpej 05cbb33e4c Use pcidevs.h to get vendor and product IDs. 1999-02-02 00:32:21 +00:00
thorpej b6a84f08e8 Take software-only structure definitions out of the register description
header.
1999-02-02 00:29:17 +00:00
thorpej bb5edf7345 Remove support for FreeBSD from the driver; so many changes are going
to be required to make it properly portable to all of NetBSD's platforms,
that it just wouldn't be worth the effort.
1999-02-02 00:05:02 +00:00
thorpej 2bdfbafc37 Minimal changes to make this compile on the Alpha. Much more work is
needed to make this a truly portable driver.
1999-02-01 23:40:22 +00:00
mjacob 1ece20c808 roll internal release tag 1999-01-30 07:08:04 +00:00
augustss d6c1a3e198 Regen. 1999-01-28 04:34:31 +00:00
augustss 864e74c18d Add S3 86C365 Trio3D. 1999-01-28 04:31:33 +00:00
sakamoto fd094d79ee NetBSD RCS id. 1999-01-26 06:31:28 +00:00
sakamoto 57d82cd1f3 Change bootverbose 1 to 0.
Add vr_lookup.
1999-01-22 05:34:36 +00:00
sakamoto 02bb7a4233 Add VIA Rhine/Rhine II Fast Ethernet files. 1999-01-21 12:02:00 +00:00
sakamoto 4f99746d57 Add NetBSD autoconfiguration support.
KNF.
1999-01-21 12:00:25 +00:00
sakamoto bea8f807a7 Import FreeBSD's VIA Rhine fast ethernet PCI NIC driver
written by Bill Paul <wpaul@ctr.columbia.edu>.
1999-01-21 11:55:22 +00:00
drochner 76db984c6d regen 1999-01-16 11:28:19 +00:00
drochner 1587097426 add another NCR chip, from Dave Sainty <dave@dtsp.co.nz> per PR kern/6819 1999-01-16 11:27:40 +00:00
tron edd69ba694 Because memory mapped access doesn't fail only with the docking station
for the TI TravelMate 5000 but also with at least one Compaq NIC we
prefer I/O mapped access again. Fixes PR kern/6690.
1999-01-11 22:45:41 +00:00
thorpej 67e9d2a3bf Fix a few glitches in the nwscons tga driver, PR #6655, Brett Slager. 1999-01-11 22:11:36 +00:00
drochner 1eba733d91 remove dummy "load_font" entries 1999-01-11 21:35:54 +00:00
mjacob 4401c8bdd7 oops. Forgot to turn on PCI burst. 1999-01-10 03:41:47 +00:00
thorpej c35b8b591b One more cosmetic change, from Izumi Tsutsui. 1999-01-08 19:55:17 +00:00
augustss 0d32a9a78b Fix more `void *' arithmetic. 1999-01-08 19:22:34 +00:00
thorpej 3dc31bab2f Device declaration for the PCscsi-PCI SCSI chip driver. 1999-01-06 23:25:53 +00:00
thorpej 671d0ae88d Device driver for the AMD Am53c974 PCscsi-PCI SCSI chip (i.e. the chip used
on the Tekram DC-390 SCSI cards), from Izumi Tsutsui, PR#6654.  Minor
cosmetic changes by me.
1999-01-06 23:23:33 +00:00
hwr 446f262aa5 Regen 1998-12-30 13:50:42 +00:00
hwr 4d3847e0ea Add NeoMagic MagicGraph 128ZV graphic chip. 1998-12-30 13:49:49 +00:00
mjacob 8ac99457db I mean *really* clean up headers 1998-12-28 19:12:04 +00:00
mjacob b51e3fbf3c clean up headers; remove early revision 2100 workarounds 1998-12-28 19:11:32 +00:00
augustss da39a16267 Fold lines to 80 chars. 1998-12-27 13:03:58 +00:00
drochner 71fa656b19 use a symbolic definition for the PCI subsystem ID 1998-12-21 20:56:06 +00:00
drochner c896b644ba use a symbolic definition for the PCI subsystem ID 1998-12-21 20:40:01 +00:00
drochner ac7ba300c0 add two of the newer register definitions 1998-12-21 20:31:54 +00:00
drochner 45b5108fb1 regen 1998-12-21 13:43:11 +00:00
drochner 70a2fcddc2 change name of 82443BX according to Intel's data sheet
correct "no AGP" case to real topology of the chip
clarification: s/AGP Device/AGP Interface/
1998-12-21 13:37:00 +00:00
nathanw 788ff053de Fix up support for PCI attachments of pcic devices on i386 in general,
and the Cirrus Logic CL-PD6729 in particular.

From danw@mit.edu in PR port-i386/6436.
1998-12-20 17:53:28 +00:00
drochner 2e81b6b5f8 regen 1998-12-20 16:06:25 +00:00
drochner 6eb0418fdb add a Zoran multimedia controller chip 1998-12-20 16:05:32 +00:00
thorpej d15dc38fd9 Changes from FreeBSD:
Implemented a more sophisticated mechanism for handling transmitter
interrupts which now defers them until the transmit queue if filled
up with completed buffers. This has two advantages: first, it reduces
the number of transmitter interrupts to just 1/120th of the rate
that they occured previously, and two, running down many buffers
at once has much improved cache effects.

Defer rundown (m_freem) of completed transmit buffers for no longer
than 1 second.

This brings us up-to-date with the most recent "fxp" driver in FreeBSD.
1998-12-19 01:14:37 +00:00
thorpej 30f21adec4 Regen. 1998-12-18 21:08:37 +00:00
thorpej 6779120f4a Add product ID for the Yamaha 724 Audio device. PR #6605, Dave Sainty. 1998-12-18 21:08:19 +00:00
explorer 9595b984ec teach fxp about rnd_*() 1998-12-17 23:25:29 +00:00
msaitoh 2d5b32dd03 fix an invalid panic message. 1998-12-17 17:45:08 +00:00
bouyer f1addbd3fd Defer mapping of pci interrupt to pciide_mapregs_native(). This way,
the native interrupt shouldn't be mapped if a channel is in native mode,
but disabled.
1998-12-16 13:21:26 +00:00
bouyer 2093338697 Rearange the modes setup to allow these to be dyanmically changed. Fill
in the new "set_mode" callback.
1998-12-16 12:48:45 +00:00
thorpej b33907f299 Don't DMA the scsi command from or the sense data to the scsipi_xfer
directly.  That would require that we map the scsipi_xfer into DMA
space.  Instead, copy to/from the NCR CCB, which the script already
has to DMA to/from.  These copies are small, and don't seem to affect
performance.
1998-12-13 00:11:37 +00:00
thorpej 178fc3cc05 Step 3:
Use DMA maps for the actual data transfers.
1998-12-12 23:41:56 +00:00
thorpej 3cc30b3641 Step two:
Use DMA-safe memory for the script instances.  The most important thing
here is that is guarantees that the script is contiguous in DMA space.
1998-12-12 00:19:13 +00:00
thorpej 086b4b0bf1 Step one of bus_dma'ing the PCI NCR driver:
Separate the ncb (i.e. softc) members that are accessed by the script into
a separate structure.  Allocate one of these structures in DMA safe memory
using bus_dma, and change RELOC_SOFTC to use the DMA address of this
structure.
1998-12-11 23:21:11 +00:00
augustss b94cb7b768 Add a driver for the S3 SonicVibes chip. From OpenBSD and
Constantine Paul Sapuntzakis (csapuntz@cvs.openbsd.org) with
some changes by me.
XXX The driver still needs work.
1998-12-10 18:47:18 +00:00
thorpej 93e17878d1 Regen. 1998-12-09 23:57:58 +00:00
thorpej 02d7f1236c Some more touchup on the VIA Rhine chip model number, and so some
sorting.
1998-12-09 23:57:35 +00:00
mjacob 74bc9f26d5 Update HBAs to incorporate the new max_lun property. 1998-12-05 19:43:33 +00:00
matt 3f225e009d Add Sigma Designs REALmagic Hollywood Plus MPEG-2 decoder 1998-12-05 19:02:14 +00:00
drochner 9175cc0ddf The chipset manual doesn't tell the truth about the channel enable
register bits. Replace by experimental result.
1998-12-04 17:30:55 +00:00
bouyer 47ab212504 Rename pio_mode, etc ... to PIO_cap, etc ... for consistency with the
ata_drive_datas struct. Suggested by Soren S. Jorvan.
1998-12-03 18:24:30 +00:00
bouyer 334abc06cf Correct definition for SIS_TIM_UDMA_EN macro. Ultra-DMA should now work ... 1998-12-03 17:29:01 +00:00
bouyer e39a5bdc53 Now that vtophy() is no longuer used, re-enable WDCDEBUG, with
wdcdebug_pciide_mask = 0 (so that one can easily patch this variable and give
me more informations :)
1998-12-03 17:27:57 +00:00
bouyer 2b28c858d8 add a udma_mode field to wdc_softc, and use it the same way dma_mode is used
(higthest ultra-dma mode supported). There may be a higther ultra-dma mode
defined ...
1998-12-03 15:38:59 +00:00
bouyer ba90b4b2d3 Add URLs of documentation source (from Matthias Drochner). 1998-12-03 14:06:16 +00:00
bouyer 7d87d6a5f6 Use correct register when disabling the second channel. 1998-12-03 13:50:38 +00:00
bouyer 8ef785add8 Restore changes from revision 1.17:
"If a channel has no drives, do *not* unmap its I/O regions.
 It's not really safe to use them for anything else, and in legacy mode it
 will just cause us to probe the channel again as an ISA device."
1998-12-03 13:30:00 +00:00
bouyer 1af63c0605 Correct a few bogons in the SiS chip initialisation. 1998-12-03 13:25:44 +00:00
bouyer 09408781c9 Ouh ! Correct the 8-bit PCI registers reading/writing functions: need to
multiply the register offset by 8.
1998-12-03 13:24:11 +00:00
bouyer 45675ab14b - change drive_flags from u_int8_t to u_int16_t
- keep the modes supported by the drive in struct ata_drive_datas (will be
  later used for downgrading the DMA/PIO mode on error)
- use config flags to force/disable PIO/DMA/UDMA modes
- For the CMD PCI0643/6 setup DMA mode to DMA Read multiple.
1998-12-02 10:52:24 +00:00
jtk aeec8f4cb2 regen 1998-11-30 19:47:53 +00:00
jtk cef29c6e94 Per PR/6172 (Johnny Lam, lamj@stat.cmu.edu), fix pcidevs identification
of CL-PD6729.  See <http://www.cirrus.com/products/overviews/pd6729.html>.
1998-11-30 19:47:16 +00:00
thorpej 2407a4bd22 Regen. 1998-11-29 02:00:33 +00:00
thorpej feb6a5652f Fix the original Rhine's part number (thanks to Greg Oster). 1998-11-29 02:00:13 +00:00
thorpej 17ac4ec4c5 Regen. 1998-11-29 01:54:16 +00:00
thorpej f051479ec7 Garbage-collect some bogus RealTek entries. 1998-11-29 01:54:02 +00:00
thorpej ecaece3f26 Add product IDs for the VIA Rhine and Rhine-II 10/100 Ethernet chips.
(XXX What is the original Rhine's part number?!)
1998-11-29 01:53:33 +00:00
drochner b0bb754f03 regen 1998-11-27 10:43:52 +00:00
drochner d5a92a68de add Powerstorm 4D50T graphics found in some Alphas 1998-11-27 10:39:16 +00:00
mcr dcfd79f257 regenerated pcidevs.h and pcidevs_data.h due to kern/6280
(not kern/5847 as originally noted)
1998-11-26 20:05:38 +00:00
augustss ca707fcdf2 Make the copyright header conform to the NetBSD template. 1998-11-25 22:32:04 +00:00
augustss 9726cfd1fb Make the copyright header conform to the NetBSD template. 1998-11-25 22:17:06 +00:00
bouyer cc6a0ef02b Use bus_dma(9) for the DMA ops in fxp_init() too. Without this the driver
was stuck in the while (!(cbp->cb_status & FXP_CB_STATUS_C)); loop,
I think because the relevent CPU cache entry was never updated.
This was on a compaq deskpro system.
1998-11-25 17:19:09 +00:00
drochner 5888c5ef44 a small optimization for the compat interrupt handling, possible after
channel_softc is within pciide_channel
1998-11-24 19:54:20 +00:00
mcr 4cb534cca1 added 82443BX_AGP_NOT as per kern/5847 1998-11-23 22:54:02 +00:00
drochner 152d52c171 headers for new hardware support in pciide.c. from Manuel. 1998-11-21 16:06:45 +00:00
drochner 9effbbe436 some restructuring, more or less to get support for weird IDE controllers,
eg the Cypress ISA bridge:
-put channel mapping into the chip specific part, unify with
 channel_probe() into channel_map()
-use pointer to channel data as function call argument wherever possible
 instead of the channel number
-allow the "compat" channel number to differ from the per-controller
 channel number - for mapping and interrupt functions
-add support for SiS5598 and Cypress 82C693 chips
Mostly done by Manuel, I only contributed to the first 2 items.
1998-11-21 15:55:31 +00:00
thorpej 3b068a6c78 Adapt to the new scsipi_adapter interface. 1998-11-19 21:53:32 +00:00
mrg db3051d720 fix problems in many d_mmap routines:
- returned EOPNOTSUPP rather than -1.
	- no check for negative offset.
many of these fix potential security problems in these drivers.


XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
	paddr_t (*d_mmap) __P((dev_t, off_t, int));

by someone!
1998-11-19 15:38:20 +00:00
mycroft cb703f0332 If a channel has no drives, do *not* unmap its I/O regions.
It's not really safe to use them for anything else, and in legacy mode it
will just cause us to probe the channel again as an ISA device.
1998-11-17 17:59:14 +00:00
bouyer 56107b8e10 Force PCI_COMMAND_MASTER_ENABLE if DMA has been setup properly. The BIOS is
supposed to do it but who knows ...
1998-11-12 15:05:29 +00:00
bouyer 1e71e76d6c - clearify the boot messages (features supported vs features used). Thanks to
Havard Eidnes for his complains about this :)
- fix some typo in comments
- hoppefully better detection of drives reporting bogus PIO modes.
1998-11-11 19:38:27 +00:00
thorpej 1a5d2ce537 File is obsolete. 1998-11-10 05:56:31 +00:00
matt 1b8620b9fb Cleanup media set on Alpha. ring txpoll after setting proper tx
interrupt mask.
1998-11-09 23:41:14 +00:00
thorpej a1b2be7e1d Const poisoning. 1998-11-09 23:12:48 +00:00
thorpej 9f20ff377a Make the device lookup table-driven, like if_ep_pci.c. 1998-11-09 23:12:18 +00:00
bouyer 432a301fc6 Support for the CMD PCI064{3,6}. Tested on a 0646 with a
"wd0: PIO mode 4, DMA mode 2, UDMA mode 2" device.
1998-11-09 09:21:09 +00:00
fvdl d878e9efc8 Rely on priority match to resolve conflict with the ex driver, not on
a define.
1998-11-07 23:06:26 +00:00
drochner f213d2f96a use common code for extended capability (power management)
let "match" return 2 (> ep_pci)
1998-11-07 16:53:19 +00:00
drochner bbe9d71415 add support for "extended capabilities" (new in PCI spec 2.2) 1998-11-07 16:47:22 +00:00
fvdl 7b10c3e7e4 Add the 'ex' driver, a DMA driver for 3Com 90x and 90xB cards. Rename
constants from EP_ to ELINK_ since they're now used in the ex driver as well.
1998-11-04 00:29:28 +00:00
thorpej 7fe67ebc21 Add support for the Seeq 80c24 AutoDUPLEX media interface which was nuked
when this driver was changed to use the MAC-independent MII code.  This
"PHY" does not have a programming interface, but simply senses the duplex
mode from the link partner.  Since it is not possible to read the 80c24
to determine the link type or status, we consider this to be "manual".
1998-11-03 05:47:38 +00:00
thorpej cbcaaa3bc3 Make sure that a delay loop actually has some delay in it, and use IFF_OACTIVE
as appropriate.
1998-11-03 05:04:49 +00:00
thorpej 7d4ee06d3e Use the rtl80x9 common code for media selection. 1998-10-31 00:45:48 +00:00
thorpej 992f2906ba Move the RTL8029 register definitions to <dev/ic/rtl80x9reg.h>, and add
the registers/bits present in the RTL8019 (ISA version).
1998-10-31 00:27:41 +00:00
thorpej de14bf4f80 Manuel confirms that defaulting to AUTO is ok, to Do It. 1998-10-30 23:30:16 +00:00
thorpej 04c995f517 Add support for media selection to the PCI front-end of the NE2000
driver.  Currently supports:

RealTek 8029: 10base2, 10baseT, 10baseT-FDX, auto detect (but not FDX).
1998-10-28 00:15:54 +00:00
thorpej a45667c4c3 Add register definitions for PCI NE2000-compatible extenstions, allowing
control over e.g. full-duplex mode, media, etc.

Currently, only extensions for the RealTek 8029 are defined.
1998-10-27 22:30:56 +00:00
thorpej e5c050d79c Cosmetic changes in product lookup, to match other drivers. 1998-10-27 19:49:37 +00:00
bouyer 31dec5ddc5 Add config flags for pciide: 0x001 forces the use of DMA when the driver
don't know how to set the controller's modes.
1998-10-22 15:11:39 +00:00
bouyer 1456b01d77 Fix for Apollo DMA mode (not UDMA): DMA mode = PIO mode - 2, not PIO mode + 2 ! 1998-10-20 18:47:45 +00:00
thorpej 167e694c99 Regen. 1998-10-20 01:39:41 +00:00
thorpej 1715793000 Add RealTek 8129 and 8139 10/100Mb Ethernet IDs. 1998-10-20 01:38:57 +00:00
thorpej f69c40b8be Fix a memory leak in fxp_stop(), from the FreeBSD driver. 1998-10-19 23:51:15 +00:00
bouyer 22acea3cb7 Fix a comment. 1998-10-19 12:26:22 +00:00
bouyer c90c4b829b Add support for the second flavour of the VIA IDE chip (which has UDMA).
Don't claim DMA support if we don't have explicit support for this chip.
They're to may way to loose when trying to use DMA without configuring the
controller and disks.
1998-10-19 12:24:33 +00:00
bouyer 04bdcc421c Regen. 1998-10-19 12:13:57 +00:00
bouyer 682ee5fdf3 Yet another attemp at getting the VIA tech. product name/ID's rigth.
It seems that different products have the same name (sigh).
1998-10-19 12:11:50 +00:00
bouyer da5d0a6f17 pciide.c: don't define WDCDEBUG, so it compiles on alpha. Correct a bogon
in the printing of DMA mode (piix3/4 only)
others: set the debug_mask to 0, so that debug messages are turned off by
default but can be easily turned on.
Reset drive_flags to 0 for unconfigured devices, so that they are ignored
later. For configured devices, reset state to 0 after probe/attach.
1998-10-13 08:59:45 +00:00
bouyer 19fddaeeb5 Merge bouyer-ide 1998-10-12 16:09:10 +00:00
thorpej 29d472f53d Garbage-collect the open_target_lu and close_target_lu entry points from
struct scsipi_adapter; they were not used.

Add a scsipi_ioctl entry point to struct scsipi_adapter.  This will be
used to issue ioctl commands to the host adapters.

Inspired by PR #6090, from Matt Jacob.
1998-10-10 00:28:28 +00:00
tron 29c8a3aa85 Regen. 1998-10-05 20:38:17 +00:00
tron 1469dc411b Correct vendor 0x1191 to "ACARD", add missing Matrox boards.
Fixes PR kern/6251 by Soren S. Jorvang.
1998-10-05 20:34:39 +00:00
tron 2aac65de87 Regen. 1998-10-04 23:52:43 +00:00
tron a6a06368ce Add S3 Virge/DX, fixes PR kern/6245 by Steve Allen. 1998-10-04 23:50:05 +00:00
fvdl b28935cee3 Add missing field to le_softc structure, missed in previous commit. Name
it consistently with the other fields.
1998-10-02 00:20:52 +00:00
fvdl 5dbf12a22a Regen. 1998-10-01 23:33:25 +00:00
fvdl b7957e0200 Fix typo in 905BT4 product name. 1998-10-01 23:32:41 +00:00