summaryrefslogtreecommitdiffstats
path: root/sys/pci
Commit message (Collapse)AuthorAgeFilesLines
* Update tx(4) to always enable vlan(4) support.brooks2001-09-051-6/+0
| | | | Approved by: semenu
* Make vlan(4) loadable, unloadable, and clonable. As a side effect,brooks2001-09-051-26/+5
| | | | | | | interfaces must now always enable VLAN support. Reviewed by: jlemon MFC after: 3 weeks
* Add support for Conexant LANfinity miniPCI controllers. People who havewpaul2001-09-042-3/+49
| | | | | | | | | | laptops with this chip should test this and report back as I don't have access to this hardware myself. People with -stable systems should try the patch at: http://www.freebsd.org/~wpaul/conexant.patch.gz Submitted by: Phil Kernick <Phil@Kernick.org>
* Remove long overdue obsolete file ide_pcireg.hsos2001-09-041-63/+0
|
* The fxp driver has lived in dev/fxp for some time, remove old files.jlemon2001-08-313-2464/+0
|
* Recognise VIA Apollo KT133A bridge.dfr2001-08-301-0/+2
| | | | | | PR: 30061 Submitted by: John Merryweather Cooper <jmcoopr@webmail.bmi.net> MFC after: 1 week
* Add support for the 3c656B cardbus adapter. This is one half of awpaul2001-08-282-6/+23
| | | | | | | | | | | dual function card. It needs pretty much the same flags as the 656C, except that it seems to need both the INVERT_MII_PWR and INVERT_LED_PWR flags set. Tested with cardbus in -current as of today. Also added support for the 3c656, which looks to be the same as the 656B, except it doesn't need the EEPROM_8BIT flag. I think. This one is untested, but the added support should not break any of the other cards.
* John Polstramjacob2001-08-241-2/+1
| | | | | bogus additional write to WXREG_IMASK that enabled *all* interrupt causes while I was trying to disable the chip. Oops.
* Fix a bug in the ste_setmulti() routine. The NIC has 4 16-bit multicastwpaul2001-08-232-5/+11
| | | | | hash registers, not 2 32-bit ones. This would prevent the multicasr filter from being programmed correctly in some cases.
* After one more day of testing, make what I hope are the final tweaks towpaul2001-08-161-3/+5
| | | | | | | | | | | prevent/workaround TX lockups in this driver. The secret seems to be to not let the TX DMA queue become too full. If we have too many packets in the queue, we should wait for them to drain a bit before trying to queue more. This should prevent the lockup from occurring, and if it does occur, there is special code in sf_start() to kick the NIC in the head and get it going again. Special thanks to Glen Neff for helping me test this fix.
* Still more changes to try to prevent TX lockups. Will wait for one morewpaul2001-08-162-7/+48
| | | | | | | | | night of testing before merging to -stable. Also added to code to detect TX underruns and automatically increase the TX threshold to avoid them. Carefully placed diagnostig printf() about this under #ifdef DIAGNOSTIC to avoid getting any panicky e-mails from confused users, like I always do with the xl and dc drivers.
* Tweak the interrupt handler so that we call the txeof handler more often,wpaul2001-08-151-2/+5
| | | | | to hopefully prevent the TX DMA queue from filling up and never getting flushed.
* Convert the if_sis and if_rl drivers to use the bus_dma API instead ofwpaul2001-08-154-67/+359
| | | | | | | | | | calling vtophys() and contigmalloc()/contigfree() directly. Hopefully, I have shaken out all of the problems with busdma on the alpha now. (Everything seems to work as expected.) Also, change the max RX DMA limit to 1024 bytes instead of "unlimited," as the latter seems not to work correctly on the alpha that I tested. (At 100Mbps, all attempts to receive frames yield RX errors.)
* Fix an bug in FreeBSD attach routine - attaching MII interfaces before doingsemenu2001-08-131-9/+7
| | | | | | | | | common_attach is wrong as common attach initialize some fileds used by mediainit routine. This was hard to notify because loading driver as kld lead to mediainit routine being called after common_attach, though probe_phy is called before. MFC after: 1 week
* Add support for 802.1Q VLAN and oversized ethernet frames.semenu2001-08-132-4/+32
| | | | | | | PR: kern/29235 Submitted by: Peter Jeremy <peter.jeremy@alcatel.com.au> Reviewed by: Yar Tikhiy <yar@FreeBSD.org> MFC after: 1 week
* Pacify users who get all bent out of shape when they see the "xl%d: commandwpaul2001-07-271-2/+7
| | | | | | | | | | | never completed" message. The RX reset takes longer complete than it used to, a lot longer in fact than xl_wait() is prepared to wait. When we do the RX reset in xl_reset(), this cases xl_wait() to time out and whine. We wait a little extra time now after the RX reset, which should silence the warning. Thanks to obrien for finally getting me a box with a NIC that causes this problem for me to tinker with.
* IFT_8021_VLAN -> IFT_L2VLAN per if_vlan_var.h rev 1.9. With this changebrooks2001-07-251-1/+1
| | | | LINT compiles, but doesn't link.
* s/adress/address/kris2001-07-231-1/+1
| | | | | Inspired by: OpenBSD MFC After: 1 week
* Deal with the condition where we lose link in the middle of transmittingwpaul2001-07-121-1/+1
| | | | | | | | | | | | | | | a bunch of frames. In this case, the dc_link flag is cleared, and dc_start() stops draining the if_snd send queue, which results in lots of 'no buffers available' errors being reported to applications. The whole idea behind not draining the send queue until the link comes up was to avoid having the gratuitous ARP being lost while we're waiting for autoneg to complete after the interface is first brought up. As an optimization, change the test in dc_start() so that we only bail if dc_link is not set _and_ there are less than 10 packets in the send queue. If the queue has many frames in it, we need to drain them. If the queue has a small number of frames in it, we can hold off on sending them until the link comes up. MFC after: 1 week
* Apply patch supplied by Jonathan Chen: use the correct arguments towpaul2001-07-0912-23/+23
| | | | | pci_enable_io(). We need to use SYS_RES_IOPORT/SYS_RES_MEMORY instead of PCIM_CMD_PORTEN/PCIM_CMD_MEMEN.
* Make these compile again by adding proc.h include for GIANT_REQUIREDjhb2001-07-056-0/+6
| | | | that is in included vm headers.
* Set vendor string correctly for the Apple KeyLargo.benno2001-07-051-0/+4
| | | | | Forgotten by: benno Spotted by: n_hibma
* Add device ID for the OHCI controller in the Apple KeyLargo chip.benno2001-07-021-0/+5
|
* Add initializetion of NVCTL register with EEPROM stored value.semenu2001-06-232-0/+16
| | | | | | This fix hazardous very slow work for one of my cards. MFC after: 1 week
* Change m_devget()'s outdated and unused `offset' argument to actually meanbmilekic2001-06-207-38/+19
| | | | | | | | | | | | | | | | | | | | something: offset into the first mbuf of the target chain before copying the source data over. Make drivers using m_devget() with a first argument "data - ETHER_ALIGN" to use the offset argument to pass ETHER_ALIGN in. The way it was previously done is potentially dangerous if the source data was at the top of a page and the offset caused the previous page to be copied (if the previous page has not yet been appropriately mapped). The old `offset' argument in m_devget() is not used anywhere (it's always 0) and dates back to ~1995 (and earlier?) when support for ethernet trailers existed. With that support gone, it was merely collecting dust. Tested on alpha by: jlemon Partially submitted by: jlemon Reviewed by: jlemon MFC after: 3 weeks
* Fix warning:peter2001-06-151-2/+2
| | | | 298: warning: assignment makes pointer from integer without a cast
* Fix warnings:peter2001-06-151-3/+6
| | | | | | 412: warning: long unsigned int format, unsigned int arg (arg 3) 418: warning: long unsigned int format, unsigned int arg (arg 3) 424: warning: long unsigned int format, unsigned int arg (arg 3)
* Fix mindo:wpaul2001-06-051-1/+1
| | | | | | | | | | | | | PCN_BCR_CLRBIT(sc, PCN_BCR_MIICTL, PCN_MIICTL_DANAS); should be: PCN_BCR_SETBIT(sc, PCN_BCR_MIICTL, PCN_MIICTL_DANAS); Turning this bit on is what disables MII autoneg, not turning it off. Without this, manually setting the media doesn't work. Noticed by: Jim Browne <jbrowne@jbrowne.com>
* Grrr. Fix PR 27742 correctly this time. (At least I got -stable right.)wpaul2001-06-011-11/+2
|
* Close PR #27742: allow the xl driver to receive VLAN tagged frames bywpaul2001-05-312-3/+16
| | | | | | | | | | | | | | | setting the 'max packet size' register in window 3. This only works for cards based on the cyclone or newer chipsets (i.e. it won't work with the original 3c905/boomerang cards). There is a trick which will work with the boomerang, which is to turn on the 'large packets ok' bit in the MAC control register, however this lets the chip accept any frame up to 4K in length, which is larger than the mbuf cluster buffers we use to receive frames. If somebody sends us such a frame and the chip DMAs it to us, it could write past the end of the cluster buffer and clobber something. PR: kern/27742
* Vlan tags are 12 bits, mask off anything above since the chip doesn'tphk2001-05-231-2/+2
| | | | | | | | seem to do so for us. PR: 27567 Submitted by: Koji HINO hino@ccm.cl.nec.co.jp MFC after: 1 week
* Add description for 82801BA controller.kuriyama2001-05-211-0/+16
| | | | MFC after: 1 week
* Introduce a global lock for the vm subsystem (vm_mtx).alfred2001-05-197-0/+7
| | | | | | | | | | | | | | | | | | | vm_mtx does not recurse and is required for most low level vm operations. faults can not be taken without holding Giant. Memory subsystems can now call the base page allocators safely. Almost all atomic ops were removed as they are covered under the vm mutex. Alpha and ia64 now need to catch up to i386's trap handlers. FFS and NFS have been tested, other filesystems will need minor changes (grabbing the vm lock when twiddling page properties). Reviewed (partially) by: jake, jhb
* Close PR 22208: bring chip out of suspend mode, because Windows mightwpaul2001-05-142-0/+15
| | | | | have put the chip to sleep at shutdown. This is really only for the VT6102, but it doesn't hurt the older chips.
* I'll be making some rather substantial changes to the pci attachmentimp2001-05-132-606/+0
| | | | | | of the pcic class of devices. Go ahead and move it to the "usual" place. I say "usual" in quotes since it isn't exactly right (not in dev/blah), but it is closer than before.
* Disable the 'stats counter overflow' interrupts since they can happenwpaul2001-05-111-1/+1
| | | | | | much more often that expected and negatively impact performance when running at 100mbps. I need to figure out if there's a better way to handle this, but for now this shouldn't hurt anything.
* The sk driver developed a bug when the multicast code was changed towpaul2001-05-091-6/+7
| | | | | | | | | | | | | | use TAILQ macros. The sk_attach_xmac() routine calls sk_init_xmac() before doing the transceiver probe, but *before* ether_ifattach() is called. This causes sk_init_xmac() to call sk_setmulti(), which tries to do a TAILQ_FOREACH(), which it can't do because ether_ifattach() hasn't done a TAILQ_INIT() yet. This causes a NULL pointer dereference and panic in sk_setmulti() at driver load/initialization time. Fixed by calling ether_ifattach() before the MII probe. The code in RELENG_4 still uses the old way of enumerating the multicast list and doesn't have this problem. Yet.
* Ricoh RL5C46x cardbus bridges have the bits for 3E0 and 3E2. Theimp2001-05-081-4/+0
| | | | | | RL5C47x cards do not. Only set them for that set of bridges. Submitted by: shiba (Takeshi Shibagaki-san)
* Add some additional register definitions for some work I have in progress.imp2001-05-081-0/+2
|
* Move unused functions into #if 0 ... #endif.nyan2001-05-061-0/+4
|
* Fix the definitions for memory bank sizes, which I somehow got wrong.wpaul2001-04-262-2/+7
| | | | | | | | The constant I was using was correct, but I mislabeled it as 256K when it should have been 512K. This doesn't actually change the code, but it clarifies things somewhat. Submitted by: Chuck Cranor <chuck@research.att.com>
* Move setting of TI113X_PCI_CARD_CONTROL register soonerimp2001-04-171-3/+2
|
* Minor comment that missed the last changeimp2001-04-171-1/+1
|
* When booting, turn on the 3E0 compatibility address for ricoh cardbusimp2001-04-172-3/+32
| | | | | | | | | | | parts. This is based on the newcard code that turns it off :-). We can now reboot after NEWCARD or Windows and have OLDCARD work. Add support for the RL5C466 while I'm at it. Treat TI1031 the same as the CLPD6832. It doesn't work yet, but sucks less than it did before. Also add a few #defines for other changes in the pipe.
* Fix minor typo in comment. 112x -> 12xximp2001-04-111-1/+1
|
* Several things:mjacob2001-04-091-307/+618
| | | | | | | | | | | | | 1. Pick up MII/PHY support for Livengood copper part (10/100/1000) from Parag Patel. It was a fairly complete but not quite platform independent job. 2. Finish silly offset differences that LIVENGOOD vs. WISEMAN registers have (so the !)$*!)$*!$ fiber LIVENGOOD now works too). 3. Ansify the source. So- we now suppor tthe PRO1000F and PRO1000T adapters.
* Add in MII support for LICENGOOD copper part (10/100/1000). Add in somemjacob2001-04-091-4/+28
| | | | more flags for verbose as well as debug printing.
* Pick up changes from Parag Patel and Kachun Lee, and self:mjacob2001-04-091-23/+104
| | | | | | | | | | 1. The offsets for some registers change in LIVENGOOD. Gratuitously. 2. Define LIVENGOOD and LIVENGOOD_CU part numbers. Add some more specific LIVENGOOD defaults. 3. Add definitions for PHY support for the copper LIVENGOOD part (10/100/1000).
* Send the remains (such as I have located) of "block major numbers" tophk2001-03-263-3/+0
| | | | the bit-bucket.
* Remove some unused stuffpeter2001-03-251-27/+1
|
OpenPOWER on IntegriCloud