Commit Graph

758 Commits

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