summaryrefslogtreecommitdiffstats
path: root/sys/pci
Commit message (Collapse)AuthorAgeFilesLines
* Upgrade firmware images Alteon's latest release (12.3.10). This fixes awpaul1999-05-033-1176/+1179
| | | | | | | bug in the stats accounting (nicSendBDs counter was bogus when TX ring was configured to be in host memory). Update if_tireg.h to look for new firmware fix level.
* Changes to support diskless booting on the alpha:dfr1999-05-031-5/+5
| | | | | | | | | | | | * Make the network code in the bootstrap more chatty (helps debugging) * Add nfs root stuff to cpu_rootconf(). I also added a check to make sure it really was netbooting which allows the use of the same kernel for local and network boots. * Tweak the de driver so that it takes the speed setting from the console for the alpha (some PWSs have broken de chipsets). This is the same behaviour as NetBSD/alpha. Submitted by: Andrew Gallatin <gallatin@cs.duke.edu>
* Make this compile with CY_PCI_FASTINTR again.peter1999-05-021-2/+5
|
* - Added PCI identification support for the TI1251 PCI/CardBus bridge.nate1999-05-022-2/+5
| | | | | With this addition my ThinkPad 600E works with the stock FreeBSD PCMCIA code.
* Move the disabling of interrupts right before the allocation of then_hibma1999-05-011-1/+16
| | | | | | resource. Avoids useless interrupts occurring between the allocation of the interrupt resource and the final initialisation of the kernel. Cause of these interrupts is unknown (a resuming device?).
* Bunch of updates:wpaul1999-04-302-104/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Try to unbreak what I broke by screwing with the tx queuing again. I'm waiting for a few more people to test out this code and report back before I move it into current. Hopefully it will be soon. Basically I reverted to the old TX queuing strategy. - Add experimental support for the 3c900B-FL (10mbps ST fiber). The card should be detected properly and the 10baseFL mode supported, but again I'm still waiting for word from a tester to see if this actually works. It shouldn't affect the other cards though; all the differences are in media selection. - Set the TX start threshold register to get better performance. - Increase the size of the RX and TX rings. UDP performance was pretty bad because the TX ring was too small. Should be substantially better now (I can saturate the link with either TCP or UDP now). - Change some of the #defines to reflect proper 3Com ASIC names (boomerang, cyclone, krakatoa, hurricane). - Simplify and reorganize interrupt handler; ack all interrupts right away and then process them. This avoids a potential race condition. (Noted by Matt Dillon.) - Reorganize the bridging code to eliminate using a goto to jump into the middle of an if() {} clause. Sorry, that just made my brain itch. - Use m_adj() in xl_rxeof(). - Make the payload alignment in xl_newbuf() the default (instead of just conditionally defined for the alpha) to improve NFS performance (avoids need for nfs_realign()).
* My last commit accidentally undid the changes made in rev 1.68roger1999-04-301-1/+5
| | | | regarding COMPAT_PCI_DRIVER. Put them back.
* Add a test to ti_encap() to try and prevent the transmit producer indexwpaul1999-04-291-2/+5
| | | | | | | from ever catching up to the transmit consumer index. We can't let this happen because ti_txeof() depends on the assumption that producer == consumer means the ring is empty, and producer != consumer means the ring has some number of active descriptors in it.
* Added initial code for VBI capture based on work byroger1999-04-291-36/+224
| | | | | | Hiroki Mori <mori@infocity.co.jp> and reworked by myself. This allows software decoding of teletext, intercast and subtitles via /dev/vbi.
* Add support for VBI capture from /dev/vbi.roger1999-04-291-2/+13
| | | | | | | | This will allow software teletext/intercast/subtitles decoding while watching a TV station. Based on code from Hiroki Mori <mori@infocity.co.jp> but reworked by myself.
* Added new cards: NEC PK-UG-X017 and I/O DATA GV-BCTV2/PCIroger1999-04-291-9/+217
| | | | | | | Added new tuner: ALPS_TSBH1 (plus FM Radio for ALPS_TSCH5) Added support for BCTV audio mux. Submitted by Hiroki Mori <mori@infocity.co.jp>
* Fix crashes caused by rows=0 or columns=0.roger1999-04-291-6/+45
| | | | | | | | | Add new #ifdef. By defining BKTR_NO_MSP_RESET you can prevent the MSP34xx being reset by the bt848 driver. This is handy if you pre-initialise the MSP34xx stereo audio chip in another operating system first (eg MS Windows). Suggested by: Randal Hopper<aa8vb@ipass.net> Suggested by: Yuri Gindin <yuri@xpert.com>
* s/static foo_devsw_installed = 0;/static int foo_devsw_installed;/.dt1999-04-282-3/+3
| | | | (Edited automatically)
* Use COMPAT_PCI_DRIVER() for registration if it exists. This shouldn'tpeter1999-04-2432-41/+168
| | | | hurt the driver portability to 3.x too much for where drivers are shared.
* Replace the pcidevice_set linker set based configuration mechanism for oldpeter1999-04-242-11/+29
| | | | | | | | | | style pci drivers with a simple one-line change to use a module that registers itself under new-bus and should in theory enable just about all of the pci drivers to be loadable (kldload and loader(8)) but without having the impact of converting the APIs yet. This also fixes the problem of having undefined variables when only new-style pci drivers are present.
* Zap some #if 0 code for wired PCI devices. This will look quite differentpeter1999-04-241-155/+1
| | | | under new-bus.
* ahc_pci.c:gibbs1999-04-232-117/+152
| | | | | | | | | Convert to new bus and bus dma. Use latest PCI API. bt_pci.c: Fix a few bugs in how resourses are released left over from when this driver was converted to new bus.
* Stage 1 of a cleanup of the i386 interrupt registration mechanism.peter1999-04-211-8/+4
| | | | | | | Interrupts under the new scheme are managed by the i386 nexus with the awareness of the resource manager. There is further room for optimizing the interfaces still. All the users of register_intr()/intr_create() should be gone, with the exception of pcic and i386/isa/clock.c.
* Recognize PC-98 16-bits bus (C-bus) as ISA bus. Because class numberkato1999-04-201-7/+24
| | | | | of the C-bus is not assigned, PCI to C-bus bridges were recognized as generic PCI bridges.
* Add entries for Intel 82443GX chipset.jkh1999-04-181-1/+7
| | | | Submitted by: Steinar Haug <sthaug@nethelp.no>
* Implement an EISA new-bus framework. The old driver probe mechanismpeter1999-04-182-83/+135
| | | | | | | | | had a quirk that made a shim rather hard to implement properly and it was just easier to convert the drivers in one go. The changes to the buslogic driver go beyond just this - the whole driver was new-bus'ed including pci and isa. I have only tested the EISA part of this so far. Submitted by: Doug Rabson <dfr@nlsystems.com>
* 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.
OpenPOWER on IntegriCloud