summaryrefslogtreecommitdiffstats
path: root/sys/pci
Commit message (Collapse)AuthorAgeFilesLines
* Probe the SiS 85c503 as a PCI-ISA bridge.dfr1999-04-171-3/+5
|
* Well folks, this is it - The second stage of the removal for build supportpeter1999-04-173-63/+3
| | | | for LKM's..
* Bring the 'new-bus' to the i386. This extensively changes the way thepeter1999-04-1613-737/+1597
| | | | | | | | | | | | | | | | | | i386 platform boots, it is no longer ISA-centric, and is fully dynamic. Most old drivers compile and run without modification via 'compatability shims' to enable a smoother transition. eisa, isapnp and pccard* are not yet using the new resource manager. Once fully converted, all drivers will be loadable, including PCI and ISA. (Some other changes appear to have snuck in, including a port of Soren's ATA driver to the Alpha. Soren, back this out if you need to.) This is a checkpoint of work-in-progress, but is quite functional. The bulk of the work was done over the last few years by Doug Rabson and Garrett Wollman. Approved by: core
* Add bridging support (tested in 3.1-RELEASE by Steven Vetzalghelmer1999-04-162-25/+81
| | | | <svetzal@icom.ca>).
* - Close PR #11136: add PCI ID for another new cyclone device: thewpaul1999-04-152-32/+61
| | | | | | | | | | | | 3c900B-TPC (twisted pair and coax). Treated similarly to the 3c900B-COMBO, except no AUI port. - Fix media selection so that it's possible to select the AUI and BNC ports on the 3c905B-COMBO. This board is now fully supported. - Change TX queueing strategy to hopefully be more efficient by avoiding register accesses in xl_start(). Should provide small performance improvement and a little better reliability.
* Added missing newline to "no ports found!" message.alex1999-04-151-2/+2
|
* Grrr. Make all modes work properly with the 82c168 chip and built-inwpaul1999-04-142-15/+35
| | | | | | | | | | transceiver. Note in the manual page that autoselection doesn't work on the 82c168 because the built-in NWAY support is horribly broken. Manual mode selection works fine, but autoneg is broken for everything except maybe 10Mbps half-duplex. There's no simple way to fix this at the moment, so I have to settle for documenting the bug for now. Fortunately, there aren't anywhere near as many 82c168 boards around as there are 82c169s.
* Build the functionality of the wdc_p hack into the ide_pci.c code.peter1999-04-132-76/+12
| | | | | | | | | | | | All it did was match a specific device ID and turn on a quirk for the wdc driver. Incidently, at line 1462 there is a return that prevents the generic ide_pci code from trying to look at the device. I'd be interested to know if we can take out the return and let the generic code "see" it. I've left the return in because that's the way it worked before. (Be sure to rerun config after cvsup or you'll get undefined files!)
* Shoot the LKM support in the old wd/wdc/atapi driver set in the head andpeter1999-04-132-12/+4
| | | | | | | | | | | | | | | | | perform a cleanup/unifdef sweep over it to tidy things up. The atapi code is permanently attached to the wd driver and is always probed. I will add an extra option bit in the flags to disable an atapi probe on either the master or slave if needed, if people want this. Remember, this driver is destined to die some time. It's possible that it will loose all atapi support down the track and only be used for dumb non-ATA disks and all ata/atapi devices will be handled by the new ata system. ATAPI, ATAPI_STATIC and CMD640 are no longer options, all are implicit. Previously discussed with: sos
* Some more fixes:wpaul1999-04-132-38/+45
| | | | | | | | | | | | | | | - It turns out that the 'promiscuous mode' bug what I discovered with the PNIC is not restricted to promiscuous mode. I've been doing some remote debugging for someone with a P75 system, and at 100Mbps, the receiver screws up even when the NIC is in normal mode. Thus, enable the workaround for this bug all the time. Note that the workaround is still not enabled for the PNIC II, since I haven't tested one yet. - Set the 'arbitration' bit in the bus configuration register and set the maximum burst size to 16 longwords. This seems to fix problems with transmit corruption on the P75 system mentioned above. (It probably hurts performance a bit too, but I've given up trying to make the PNIC perform well.)
* Merge in some updates for the RealTek driver, mainly:wpaul1999-04-122-168/+113
| | | | | | - Rewrite the transmit section to be a little less bogus. - Set ifq_maxlen correctly. RL_TX_LIST_CNT - 1 is wrong, because for the RealTek, RL_TX_LIST_CNT is 4. Set it to IFQ_MAXLEN instead.
* Grr... don't touch the PN_GEN (general purpose) register in pn_setcfg()wpaul1999-04-121-6/+8
| | | | | unless this is a NIC without an MII-based PHY (i.e. an older LinkSys LNE100TX).
* Add support for the 3cSOHO100-TX, which is a "hurricane" chipsetwpaul1999-04-122-3/+8
| | | | | | (cut-down version of the "cyclone" for the small office/home office "cheap bastard" market). Basically the same as a 3c905B but without Wake-on-LAN, ROM socket, etc...
* Minor tweak: move initialiation of busctl register to before setting ofwpaul1999-04-121-3/+3
| | | | the cache alignment bits.
* Some small updates:wpaul1999-04-112-9/+27
| | | | | | | | | | | | | | | | - Wait longer for the reset to complete in xl_attach() to try and avoid 'command never completed' warnings. - Clean up a few odds and ends in xl_attach(). - Add PCI ID for the 3c905B-COMBO (a new card). Right now this is treated as a 3c905B; I need to dig up one of these cards for testing before I can make the AUI and BNC ports work. - Add a hack to force reading the I/O address directly from the PCI registers if pci_map_port() fails. I SHOULD NOT HAVE TO DO THIS: SOMEBODY WITH MORE PCI CLUES THAN I SHOULD INVESTIGATE WHY THIS HAPPENS.
* Changed pci_config_read() to pci_map_port(). Pointed out by Doug Rabson.n_hibma1999-04-111-2/+5
|
* Enable the promiscuous mode workaround for the PNIC 82c168 chip, whichwpaul1999-04-112-4/+6
| | | | appears to need it.
* Staticize.eivind1999-04-112-5/+5
|
* pci_register_lkm can fail gracefully, so let it do that when there iseivind1999-04-111-2/+2
| | | | | | no more memory (M_WAITOK -> M_NOWAIT). It may be called early enough during boot that M_WAITOK isn't OK. (In theory - right now it isn't called from anywhere).
* Finally add support for the older 82c168 PNIC chip with the built-inwpaul1999-04-102-38/+314
| | | | | | | | transceiver. Thanks to Brian Walenze for donating a NIC with this chip on it (LinkSys didn't really sell that many of them and they're not in production anymore). The driver now distinguishes between the 82c168 and 82c169 when probing. If no MII transceiver is detected, it switches over to using the internal one.
* Make ASIX driver work on FreeBSD/alpha, add to GENERIC.wpaul1999-04-082-3/+68
|
* Add PCI IDs for the Compex RL100-TX, which uses the Macronix 98713 chip.wpaul1999-04-082-17/+36
|
* Remove inactive pmap_setdevram()/pmap_setvidram consumer code.msmith1999-04-071-27/+1
|
* fix typon_hibma1999-04-061-2/+2
|
* Remove teensy-weensy bit of debug code that crept in.wpaul1999-04-061-6/+3
| | | | | | Oh, I forgot to mention: this driver also works on FreeBSD/alpha (big thanks to Andrew Gallatin). And there is a 2.2.x version available for those who stubbornly refuse to upgrade.
* Add driver support for gigabit ethernet adapters based on the Alteonwpaul1999-04-064-0/+12497
| | | | | | | | | | | | | | | | | | | | | | | Networks Tigon 1 and Tigon 2 chipsets. There are a _lot_ of OEM'ed gigabit ethernet adapters out there which use the Alteon chipset so this driver covers a fair amount of hardware. I know that it works with the Alteon AceNIC, 3Com 3c985 and Netgear GA620, however it should also work with the DEC/Compaq EtherWORKS 1000, Silicon Graphics Gigabit ethernet board, NEC Gigabit Ethernet board and maybe even the IBM and and Sun boards. The Netgear board is the cheapest (~$350US) but still yields fairly good performance. Support is provided for jumbo frames with all adapters (just set the MTU to something larger than 1500 bytes), as well as hardware multicast filtering and vlan tagging (in conjunction with the vlan support in -current, which I should merge into -stable soon). There are some hooks for checksum offload support, but they're turned off for now since FreeBSD doesn't have an officially sanctioned way to support checksum offloading (yet). I have not added the 'device ti0' entry to GENERIC since the driver with all the firmware compiled in is quite large, and it doesn't really fit into the category of generic hardware.
* Read the board revision and trim cache line size back from 16 to 1mjacob1999-04-041-8/+71
| | | | | for early revision 2100 boards. Make sure to turn ROM off for these boards.
* Import PCI pccard bridge chip probing from PAO. Hopeful prelude fornsayer1999-04-012-13/+44
| | | | | | | broadening chipset support in -current. Reviewed by: joerg Obtained from: PAO
* Make the Macronix driver work on FreeBSD/alpha and add to GENERIC.wpaul1999-04-012-23/+72
| | | | | | | Like the PNIC, we have to copy packet headers in the receive handler because the chip will only DMA to longword aligned buffers. Also do some mindor cleanups.
* Shorten device names so that the pci probe lines don't exceed 80 charswpaul1999-03-311-12/+15
| | | | | | | and wrap to a second line. Put 'command never completed' message inside #ifdef DIAGNOSTIC/#endif to stop people worrying about it (it's harmless).
* Add support for bridging to if_tx.cnsayer1999-03-311-1/+43
| | | | | PR: 10534 Submitted by: nsayer
* Insert ifmedia_set() that I forgot and put in the vtophys() hack forwpaul1999-03-312-3/+10
| | | | | | the alpha. Now the ThunderLAN driver works on the alpha (both my sample cards check out.) Update the alpha GENERIC config to include ThunderLAN driver now that I've tested it.
* Fix a line wrap bogon.wpaul1999-03-301-3/+4
|
* Various updates for the ThunderLAN driver:wpaul1999-03-302-129/+110
| | | | | | | | | | | | | | | | | | | - When trying to map ports, if mapping TL_PCI_LOIO or TL_PCI_LOMEM fails, try mapping the other one. Apparently, some ThunderLAN parts swap these two registers while others don't. - Add support for bitrate (non-MII) PHYs. If no MII-based PHY is found, program the chip for bitrate mode. This is required for the TNETE110 part, which doesn't have MII support. (It's also obsolete, but there are still some people out there who have them.) With this change and the change above, the Compaq Netflex-3/P 10baseT/BNC board works correctly. (Thanks to Matthew Dodd for getting me one of these cards.) - Convert to bus_space_foo() for register accesses. - Add changes to support FreeBSD/Alpha. I still have to actually test this in my Alpha box so I'm not going to update /sys/alpha/conf/GENERIC yet.
* Add support for SiS 5591/5595 chipset.grog1999-03-281-3/+224
| | | | | | | | | | | | | Contributed-by: "Richard Seaman, Jr." <dick@tar.com> Tested-by: Chris Piazza <cpiazza@home.net> Tugrul Galatali <tugrul@ianai.BlackSun.org> grog This code includes lots of stuff for verbose probing. I'm not 100% sure that the output of the verbose probe is correct, but everything else works fine, and -CURRENT was broken for the 5591 before, so I'm committing it anyway.
* Cleaning up of code, remove unneeded cruft and maken_hibma1999-03-272-127/+90
| | | | code more compact.
* Make the xl and pn drivers work on FreeBSD/alpha and add them towpaul1999-03-274-64/+118
| | | | | | | | | | | | | | | sys/alpha/conf/GENERIC. Note: the PNIC ignores the lower few bits of the RX buffer DMA address, which means we have to add yet another kludge to make it happy. Since we can't offset the packet data, we copy the first few bytes of the received data into a separate mbuf with proper alignment. This puts the IP header where it needs to be to prevent unaligned accesses. Also modified the PNIC driver to use a non-interrupt driven TX strategy. This improves performance somewhat on x86/SMP systems where interrupt delivery doesn't seem to be as fast with an SMP kernel as with a UP kernel.
* enable 1080 LVD supportmjacob1999-03-251-21/+19
|
* Check whether the PIRQD enable bit is set in LegSup and if not, set it.n_hibma1999-03-231-8/+17
| | | | | On my PIIX4 chip rev 1 this is required. Have not had any complaints from other people so it might be a problem with this stepping.
* Add support for the 3950U2B controller.gibbs1999-03-231-1/+16
| | | | | | | | Recognize aic7895 controllers that have been "acquired" by a RAIDPort card as normal aic7895s. Recognize the aic7815 Raid Parity/Memory controller chip and notify the user that it's RAID functionality will be ignored.
* Turn on PCI bus mastering in driver attach routinewes1999-03-201-1/+10
| | | | | | | | to avoid hanging the system if the BIOS has not initialized the interface. PR: 10150 Reviewed by: dg
* MF22... add bridging support to the device drivers. Without thisluigi1999-03-172-19/+65
| | | | bridging cannot work on -current/releng3!
* Prep for 1080/1240 support. Those fine h/w engineers at Qlogicmjacob1999-03-171-80/+185
| | | | | | gave yet another internal register layout model for what is *still* the same architecture. I hope they saved billyuns of gates 'coz otherwise this is *really* annoying.
* Merge NetBSD 1.80->1.82 changes from vendor branch into mainline.peter1999-03-141-18/+20
|
* Implemented workaround for EPIC's Application Note 7-15 (concerningsemenu1999-03-142-103/+241
| | | | | | | | | | | | | chip int. and ext. clock synchronisation). Fixed workaround for transmit threshold underrun. Added volatile keyword to CSR_READ_* and CSR_WRITE_* macroses. Added DELAYs to eliminate randomness caused by processor speed. Fixed all TXCON and RXCON registers to be accessed only when chip is idle, as manual told. Changed epic_init_phy to drop link by isolating and going loopback, should should force link partner to restart autonegotiation. PR: kern/10535, kern/9742, kern/10575 Submitted by: Peter Jeremy, David Greenman
* set if_snd.ifq_maxlen to something reasonable - note that if_de.c haspeter1999-03-131-1/+5
| | | | | | | a wierd double-queue arrangement.. It always empties the if_snd queue then puts the transmit packets into a different queue that is limited by the number of TX descriptors and does it's own discards... This should stop the boot-time XXX warning anyway.
* Fix Typo.phk1999-03-121-2/+2
|
* Make even more of the PPSAPI implementations generic.phk1999-03-111-51/+28
| | | | | | | | FLL support in hardpps() Various magic shuffles and improved comments Style fixes from Bruce.
* Fix from author of the driver:andreas1999-03-091-3/+3
| | | | | | | | | | | | | | | | | | The i++ loop from 1..1000 is too small on very fast machines like PII 450 MHz. Increasing the loop from 1..100000 lets the machine access PHY. After this patch it's possible to use a SMC PCI card on a HP Kayak XA series PC Workstation. Workaround until this fix was to enable debugging in the driver (#define EPIC_DEBUG 1). Without that patch you get an undefined state: while true do ifconfig -a | grep status: done The status messages flaps between twwo values, but not "connected". Obtained from: Ustimenko Semen <semen@iclub.nsu.ru>
* Add untested code to support the aha2930U2W.gibbs1999-03-051-16/+25
| | | | Modify to deal with changes in the storage of user negotiation settings.
OpenPOWER on IntegriCloud