Commit Graph

803 Commits

Author SHA1 Message Date
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