summaryrefslogtreecommitdiffstats
path: root/sys/pci
Commit message (Collapse)AuthorAgeFilesLines
* When checking the device code in the probe routine, leave the chip inwpaul2000-11-161-3/+22
| | | | | | | | | | | | | | | 16-bit mode. Technically, pcn_probe() is destructive because once the chip goes into 32-bit mode, the only way to get it out again is a hardware reset. And once the device is in 32-bit mode, the lnc driver won't be able to talk to it. So if pcn_probe() is called before the lnc probe routine, and pcn_probe() rejects the chip as one it doesn't support, the lnc driver will be SOL. I don't like this. I think it's a design flaw that you can't switch the chip out of 32-bit mode once it's selected. The only 'right' solution is for the pcn driver to support all of the PCI devices in 32-bit mode, however I don't have samples of all the PCnet series cards for testing.
* Add support for the Accton EN2242 MiniPCI adapter. This is just anwpaul2000-11-142-0/+4
| | | | | | ADMtek Centaur chip, so all we need is the PCI ID. Submitted by: Scott Lang <scottl@FreeBSD.org>
* Change MEXTADD usage to pass the two new arguments.bmilekic2000-11-113-3/+4
| | | | Reviewed by: jlemon
* Add missing delay after card reset.pb2000-11-091-0/+1
| | | | | | | This fixes randoms lockups when probing the card at boot time, when more than 1 similar card is found in the machine. Reviewed by: semenu
* add a couple ESS Technology products(pci device id only).sanpei2000-11-081-0/+14
| | | | | | FreeBSD src/sys/dev/sound/pcm/solo.c NetBSD syssrc/sys/dev/pci/pcidevs OpenBSD src/sys/dev/pci/pcidevs
* add Texas Instruments TSB12LV22 OHCI IEEE 1394 Host Controllersanpei2000-11-081-0/+2
| | | | Obtained from: OpenBSD src/sys/dev/pci/pcidevs
* add Aureal Inc. AU8820/AU8830 Audio controllersanpei2000-11-081-0/+6
| | | | Obtained from: OpenBSD src/sys/dev/pci/pcidevs
* newbusify the en atm driver.kjc2000-11-071-144/+187
|
* Added used include of <machine/bus.h> -- don't depend on evil namespacebde2000-11-041-1/+2
| | | | | | | | pollution in <sys/mutex.h>. This was half fixed in rev.1.3 of midwayreg.h. The pollution exposed the bug that this driver was using toy versions of the bus space macros under FreeBSD. Disabling the toy versions made this driver compile but dependent on the pollution. There was still a toy version of bus_space_read_1() in unreachable code.
* Create a pcn_setfilt() routine that twiddles the promiscuous modewpaul2000-11-031-17/+29
| | | | | | and nobroadcast bits in the mode register and call it both from pcn_init() and pcn_ioctl(). Sometimes we need to force the state of the nobroadcast bit after switching out of promisc mode.
* Grrrr. Remember to bzero() the mediainfo structures after we allocatewpaul2000-11-031-0/+3
| | | | | | | them. If we leave garbage in them, the dc_apply_fixup() routine may try to follow bogus pointers when applying the reset fixup. Noticed by: Andrew Gallatin
* add support for 3Com 3c575TX Fast Etherlink XL.sanpei2000-11-022-1/+7
| | | | | | | Device information for 3C575-TX is from NetBSD, sys/dev/cardbus/if_ex_cardbus.c file. Reviewed by: wpaul, imp
* Fix a couple of cases where I tried to release the I/O space resource twicewpaul2000-11-023-3/+3
| | | | | (once as as an I/O space resource and once as an IRQ resource). There was a problem with this in if_rl too, which is how I found it.
* Fix 8-bit EEPROM breakage: compare against 0x8129, not 8129.wpaul2000-11-011-6/+6
|
* Convert the de driver into a loadable module. Still missing is anmarkm2000-10-311-72/+14
| | | | | | | | unload method. Lots of old cruft is removed. Thanks to WPaul for large clue-injection and debugging services. Reviewed by: wpaul
* Call dc_apply_fixup() in dc_setcfg() for the MII case.wpaul2000-10-311-0/+4
|
* Grrr. The 'reg' variable in dc_apply_fixup() needs to be a u_int32_t, notwpaul2000-10-301-1/+1
| | | | | a u_int8_t. Pass the conical hat. This should fix certain cardbus 21143 cards that require SROM h0h0magic in order to enable their transceivers.
* Fix support for cardbus cards:wpaul2000-10-302-2/+9
| | | | | | | | | | - Add DRIVER_MODULE() declaration to make this driver a child of cardbus - Handle different width EEPROMs The CIS parser still barfs when scanning this card, but it seems to probe/attach correctly anyway. I can't do a traffic test just yet since I don't have a proper crossover cable handy.
* Unmask cypress ata controllers. This bug was hidden beforegallatin2000-10-291-0/+1
| | | | | the addition of the serverworks isab support because the cypress case was the last one in the switch
* Weaken a bogus dependency on <sys/proc.h> in <sys/buf.h> by #ifdef'ingphk2000-10-292-2/+0
| | | | | | | | | | the offending inline function (BUF_KERNPROC) on it being #included already. I'm not sure BUF_KERNPROC() is even the right thing to do or in the right place or implemented the right way (inline vs normal function). Remove consequently unneeded #includes of <sys/proc.h>
* Remove unneeded #include <sys/proc.h> lines.phk2000-10-291-1/+0
|
* fix warning compile error about unused variabledarrenr2000-10-291-0/+2
|
* Fix params passed to pci_porten() and pci_memen().phk2000-10-291-2/+2
|
* Unconditionally turning on the I/O and memory enable bits in the PCImsmith2000-10-281-1/+14
| | | | | | | command register is too aggressive. Revert to the previous behaviour, but leave the new behaviour available as an undocumented option. It's not clear what the Right, Right Thing is to do here, but the more conservative approach is safer.
* Fix typo s/DE_DEVICEID_FE2500/DC_DEVICEID_FE2500/peter2000-10-281-1/+1
|
* Add PCI IDs for some additional cardbus cards. Yes, there really iswpaul2000-10-284-3/+22
| | | | | | | a RealTek 8139 cardbus device. Unfortunately it doesn't quite work yet because the CIS parser barfs on it. Submitted by msmith, with some small tweaks by me.
* Allow PCI busses to be connected to host bridges detected by ACPI as well.msmith2000-10-281-0/+1
|
* Convert all users of fldoff() to offsetof(). fldoff() is badphk2000-10-271-2/+0
| | | | | | | | | | | | | | | | | | | | | | | because it only takes a struct tag which makes it impossible to use unions, typedefs etc. Define __offsetof() in <machine/ansi.h> Define offsetof() in terms of __offsetof() in <stddef.h> and <sys/types.h> Remove myriad of local offsetof() definitions. Remove includes of <stddef.h> in kernel code. NB: Kernelcode should *never* include from /usr/include ! Make <sys/queue.h> include <machine/ansi.h> to avoid polluting the API. Deprecate <struct.h> with a warning. The warning turns into an error on 01-12-2000 and the file gets removed entirely on 01-01-2001. Paritials reviews by: various. Significant brucifications by: bde
* Yet another bug fix/optimization for the Davicom DM9100/9102: increasewpaul2000-10-271-0/+5
| | | | | | | | | the PCI latency timer value to 0x80. Davicom's Linux driver does this, and it drastically reduces the number of TX underruns in my tests. (Note: this is done only for the Davicom chips. I'm not sure it's a good idea to do it for all of them.) Again, still waiting on confirmation before merging to stable.
* Set the DC_TX_INTR_ALWAYS and DC_TX_STORENFWD flags for the Davicomwpaul2000-10-251-2/+2
| | | | | | | | | | | | | | | | | | | DM9100/DM9102 chips. Do not set DC_TX_ONE. The DC_TX_USE_TX_INTR flag causes dc_encap() to set the 'interrupt on TX completion' bit only once every 64 packets. This is an attempt to reduce the number of interrupts generated by the chip. You're supposed to get a 'no more TX buffers left' interrupt once you hit the last packet whether you ask for one or not, however it seems the Davicom chip doesn't generate this interrupt, or at least it doesn't generate it under the same circumstances. The result is that if you transmit n packets, where n is less than 64, and then wait 5 seconds, you'll get a watchdog timeout whether you want one or not. The DC_TX_INTR_ALWAYS causes dc_encap() to request an interrupt for every frame. I'm still waiting on confirmation from a couple of users to see if this fixes their problems with the Davicom DM9102 before I merge this into -stable, but this fixed the problem for me in my own testing so I'm willing to make the change to -current right away.
* Add a missing SK_UNLOCK() to sk_attach_xmac().wpaul2000-10-251-0/+1
|
* Whoops! Forgot to commit this when I committed the other (turnin on locks)mjacob2000-10-251-13/+26
| | | | change. Sorry about that.
* Make LINT compile again.phk2000-10-221-1/+0
|
* Make usual 1-line cardbus support modification.imp2000-10-221-0/+1
| | | | I'm committing this over an Intel PRO-100 CardBus II card.
* (Introduce something sitting in my repo for 3 weeks now...)bmilekic2000-10-212-24/+11
| | | | | | | | | Have if_ti stop "hiding" the softc pointer in the buffer region. Rather, use the available void * passed to the free routine and pass the softc pointer through there. To note: in MEXTADD(), TI_JUMBO_FRAMELEN should probably be TI_JLEN. I left it unchanged, because this way I'm sure to not damage anything in this respect...
* remove old pccbb bridge code.jon2000-10-203-2701/+0
| | | | (argh, I thought I already did this in the original commmit)
* Add actual URL for XMAC II datasheet in comments.archie2000-10-201-2/+4
|
* Add i815 host to PCI bridge IDache2000-10-201-0/+3
|
* Add i815 IDsache2000-10-201-1/+19
|
* Catch up to moving headers:jhb2000-10-201-1/+1
| | | | | - machine/ipl.h -> sys/ipl.h - machine/mutex.h -> sys/mutex.h
* Remove unnecessary machine/mutex.h include.jhb2000-10-201-1/+0
|
* NEWCARD/Cardbus -jon2000-10-192-9/+207
| | | | | | | | | This commit adds support for Xircom X3201 based cardbus cards. Support for the TDK 78Q2120 MII is also added. IBM Etherjet, Intel and Xircom cards uses these chips. Note that as a result of this commit, some Intel/DEC 21143 based cardbus cards will also attach, but not get link. That is being looked at.
* Write the routed interrupt back to PCI configuration space.msmith2000-10-191-1/+1
|
* This didn't compile. Fix typo: s/rmang_get_start/rman_get_start/peter2000-10-181-1/+1
|
* Use appropriate resource management accessors instead of directlymdodd2000-10-181-2/+1
| | | | | | referencing structure members. Use rman_get_size() instead of end - start + 1.
* Add support for cardbus card's chips. This will make the 3c575 cardsimp2000-10-162-5/+38
| | | | | | work once the rest of the cardbus infrastructure has been committed. Submitted by: Jonathan Chen <jon@spook.org>
* Very early and very *very* lightly tested support for LIVENGOOD chipsetmjacob2000-10-163-30/+198
| | | | | (followon to WISEMAN). Presumably some flavors are also no multimode copper as well.
* When wierdreset flag is set, turn on the DISADVFD flag when we resetimp2000-10-161-1/+2
| | | | | | | | | rather than all the flags. This prevents setting being read from ROM, which is a problem. If this breaks anything, it will only break the 3C556B cards minipci cards, which mainly exist at rpi as far as rpi has been able to tell. Submitted by: Louis Gerbarg <gerbal@rpi.edu>
* Forgot to commit this last night.imp2000-10-161-0/+10
| | | | | | Define interrupt routing method. Submitted by: msmith
* Remove an errant splimp() that I missed when I went through this driverwpaul2000-10-161-3/+0
| | | | the first time.
OpenPOWER on IntegriCloud