summaryrefslogtreecommitdiffstats
path: root/sys/pci
Commit message (Collapse)AuthorAgeFilesLines
...
* Update intpm driver.nsouch1999-07-241-6/+17
| | | | | PR: kern/12631 Submitted by: Takanori Watanabe <takawata@shidahara1.planet.sci.kobe-u.ac.jp>
* Clean up the buffer allocation code a bit. Make sure to initialize certainwpaul1999-07-232-29/+32
| | | | | | | | | | | critical mbuf fields to sane values. Simplify the use of ETHER_ALIGN to enforce payload alignment, and turn it on on the x86 as well as alpha since it helps with NFS which wants the payload to be longword aligned even though the hardware doesn't require it. This fixes a problem with the ti driver causing an unaligned access trap on the Alpha due to m_adj() sometimes not setting the alignment correctly because of incomplete mbuf initialization.
* Grrr. Return the rman_get_bustag()/rman_get_bushandle() lines to theirwpaul1999-07-231-2/+5
| | | | | proper place in ti_attach(). I'm positive I typed them in there, but they must have fallen victim to a drive-by cut & pasting.
* One last tweak before I turn in for the evening: the driver name inwpaul1999-07-231-3/+3
| | | | | | the driver_t declaration should be "skc" not "sk". Technically, "skc" is the parent PCI device (the SysKonnect GEnesis controller) and "sk0" and "sk1" are the network interfaces that get attached to it.
* Dangit. Somehow the pmap_kextract hack for alpha snuck back into thesewpaul1999-07-234-13/+9
| | | | | | files. Change them back to alpha_XXX_dmamap(). Pointed out by: Andrew Gallatin
* Convert the Alteon Tigon gigabit ethernet driver to newbus. Also upgradewpaul1999-07-234-3292/+3340
| | | | to the latest firmware release from Alteon (12.3.12).
* Some more small newbus cleanups. Remember to free all resources in casewpaul1999-07-233-58/+69
| | | | of failures in foo_attach(), simplify iospace/memspace things a little.
* Revert out part of the last patch that can be done better elsewhere.julian1999-07-221-8/+4
| | | | The complexity added isn't worth it.
* Remove the definitions for the SiS 900 chip. This is not a RealTekwpaul1999-07-222-17/+4
| | | | | clone after all. I have the datasheets for this part; hopefully I can write a proper driver soon.
* fix braino..julian1999-07-221-2/+2
| | | | | | accidentally replaced PAGE_MASK with PAGE_SIZE. (PAGE_MASK is PAGE_SIZE - 1) bug does not manifest itself on our hardware.....
* Well, it seems that loading a PCI driver module after the system haswpaul1999-07-222-3/+12
| | | | | | | | | been booted works too -- very neat. However I don't want the system to stop for 5 seconds when the MII autoprobe is triggered in the xl and tl drivers since that's lame. Instead, only use the hard delay when we've been cold booted. If not, use the timeout mechanism instead. (The SysKonnect driver doesn't use the same autonegotiation scheme, so no change is required there.)
* Convert the ThunderLAN driver to newbus. Also add splimp() protection towpaul1999-07-222-82/+166
| | | | tl_stats_update().
* Fix a small mind-o: one instance of SYS_RES_IOPORT should have beenwpaul1999-07-221-3/+3
| | | | SYS_RES_MEMOTY in sk_detatch().
* Convert the SysKonnect gigabit ethernet driver to newbus.wpaul1999-07-222-77/+131
|
* Small tweak to newbus changes: return error status on failure correctlywpaul1999-07-221-2/+2
| | | | | in xl_attach() (not a problem if the attach never fails, but if it does the function would still return 0, which is wrong).
* Hopefully make the CMD640B workaround actually work.peter1999-07-211-9/+6
|
* Slight cleanups of the Cyrix 5530 UDMA code.julian1999-07-201-100/+125
| | | | | | Also includes a workaround fro an apparent chip bug where UDMA mode 2 can overpower the UDMA engine enough that it will hog the PCI bus to the exclusion of the processor.
* Convert the xl driver to newbus. It is now possible to make this driverwpaul1999-07-202-88/+127
| | | | | | | | | | into a loadable module, and all of the platform dependencies are gone (except for the alpha_XXX_dmamap() thing, which is another issue -- I still don't know how to use the busdma stuff with a network driver). Also increase the delay in xl_reset(); testing on a 486/66 with a 3c905C shows that reading the EEPROM fails immediately after a reset. Waiting a little longer after the reset completes seems to fix it.
* Add support for multiple PCI busses directly connected to the nexus.msmith1999-07-161-96/+12
| | | | | | | This is only partially complete, but allows 450NX-based systems with more than one PCI bus to be used again. Submitted by: dfr
* Make a few other cleanups while I'm in the area. Typo in comment, unusedwpaul1999-07-142-10/+4
| | | | structure members, etc. No functional changes.
* Revert some changes I had made to try and cut down on the number of TX EOFwpaul1999-07-141-11/+9
| | | | | | | | | | | | interrupts that were scheduled. Testing shows it didn't really do very much and it makes the code a little more complicated (which is never a good thing). Also fix the rambuffer offset initialization for the 512K/64K SRAM case (512K total using 64K chips). It should be 0. The only case with a non-standard rambuffer offset address is 1024K/64K according to the SysKonnect manual. (My card has the 1024/64 configuration and I don't know which card uses the 512/64 configuration, if any, so I'm not sure that this was really a problem for anyone.)
* dont allow open if no device was found.phk1999-07-131-1/+5
|
* Bug fixesroger1999-07-122-627/+1296
| | | | | | | | | | | | | | | | | | | | | | | | | Change number of VBI lines from 16 to 12 for NTSC formats. Juha.Nurmela@quicknet.inet.fi found/fixed bug in VBI_SLEEP. New features MSP3430G DBX initialisation from Matt Brown <matt@dqc.org> STB Bt878 card identification. Hauppauge Model Number identification. Changes to probeCard() for better eeprom identification. Experimental TDA9850 initialisation code, from Linux bttv. Cross Platform Changes The driver has been reorgainsed based ideas from Brad Parker's port to Linux to seperate OS Dependant and Independant sections. I have backends for FreeBSD 2.2.x/3.x and 4.x newbus, BSDI, OpenBSD and NetBSD. This commit has FreeBSD 2.2.8/2.2-stable/3.x and FreeBSD 4.x newbus backends. Some code submitted by: Juha.Nurmela@quicknet.inet.fi Matt Brown <matt@dqc.org> Brad Parker <brad@parker.boston.ma.us> Some code obtained from: Linux bttv driver
* Make the Winbond ethernet driver work on FreeBSD/alpha. Also addedwpaul1999-07-112-51/+78
| | | | bridging support while I was in the area.
* if_sk.c: use pci_port_t instead of u_shortwpaul1999-07-092-6/+5
| | | | | if_skreg.h: use alpha_XXX_dmamap() instead of pmap_kextract hackery on alpha platform
* This commit adds driver support for the SysKonnect SK-984x serieswpaul1999-07-093-0/+3481
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gigabit ethernet adapters. This includes two single port cards (single mode and multimode fiber) and two dual port cards (also single mode and multimode fiber). SysKonnect is currently the only vendor with a dual port gigabit ethernet NIC. The ports on dual port adapters are treated as separate network interfaces. Thus, if you have an SK-9844 dual port SX card, you should have both sk0 and sk1 interfaces attached. Dual port cards are implemented using two XMAC II chips connected to a single SysKonnect GEnesis controller. Hence, dual port cards are really one PCI device, as opposed to two separate PCI devices connected through a PCI to PCI bridge. Note that SysKonnect's drivers use the two ports for failover purposes rather that as two separate interfaces, plus they don't support jumbo frames. This applies to their Linux driver too. :) Support is provided for hardware multicast filtering, BPF and jumbo frames. The SysKonnect cards support TCP checksum offload however this feature is not currently enabled (hopefully it will be once we get checksum offload support). There are still a few things that need to be implemeted, like the ability to communicate with the on-board LM80 voltage/temperature monitor, but I wanted to get the driver under CVS control and into -current so people could bang on it. A big thanks for SysKonnect for making all their programming info for these cards (and for their FDDI and token ring cards) available without NDA (see www.syskonnect.com).
* Grrr.... forgot one line from the previous fix.wpaul1999-07-081-3/+3
|
* Fix a potential race condition that can occur in xl_start(). If the NICwpaul1999-07-071-3/+5
| | | | | | | | | | clears out the transmit queue and zeroes the downlist pointer register, but xl_txeof() isn't called before xl_start() tries to queue more packets, xl_start() will think that the DMA is still in progress and not update the downlist register again, thus causing packets to sit in the transmit queue forever. Patch provided by: Russell T Hunt <alaric@MIT.EDU>
* Rename bpfilter to bpf.des1999-07-0614-99/+99
|
* add in a boot environment isp_disable flagmjacob1999-07-061-1/+11
|
* Wow- too much breakage..wait until you compile it, buckwheat...mjacob1999-07-051-2/+2
|
* Oops- got sense of ifdef wrongmjacob1999-07-051-2/+2
|
* add ISP_DISABLE_2200_SUPPORT defines; Add reference to 2200 F/Wmjacob1999-07-051-8/+14
|
* Remove ti_refill_rx_rings() and associated stuff; replace dirty RX bufferswpaul1999-07-052-77/+29
| | | | | | in ti_rxeof() instead. This doesn't really seem to provide much in the way of a performance boost, and I'm pretty sure it can cause mbuf leakage in some extreme cases.
* Remove cmaj and bmaj args from DEV_DRIVER_MODULE.phk1999-07-041-3/+2
|
* Minor nit - pn_cachesize is not a PN_RX_BUG_WAR varible.peter1999-07-041-3/+3
| | | | Also, a minor tweak to get better struct packing.
* Eliminate a bunch of #include "pci.h" and #if NPCI > 0 around entirepeter1999-07-0321-110/+21
| | | | files. config will leave the whole file out if configured to do so.
* Only have the pci component compiled if pci is specified at config.peter1999-07-032-10/+2
| | | | Remove #if NPCI > 0 as a result.
* Bail after 5 attempts to read very noisy signals.phk1999-07-031-4/+6
|
* Remove pre-CAM code. Add in getenv_int calls for variables isp_mem_map,mjacob1999-07-021-325/+235
| | | | | | | | | | | | isp_io_map, isp_no_fwload, isp_fwload, isp_no_nvram, isp_fcduplex which are all bitmaps of isp instances that should or shouldn't map memory space, I/O space, not load f/w, load f/w, ignore nvram, not ignore nvarm, set full duplex mode. Also have an isp_seed value that we can use to generate a pseudo seed for a synthetic WWN. Other minor cosmetic cleanup. Add in support for the Qlogic ISP 2200. Very important change where we actually check now to see whether we were successful in mapping request and response queues (and fibre channel scratch space).
* Change the cast in pci_map_port() from u_short * to pci_port_t * so itpeter1999-07-029-33/+33
| | | | | | | compiles cleanly on the Alpha. (On the alpha, the port type is an int, not a short). Cast a couple of pointers to ints via 'uintptr_t' rather than 'unsigned int' since uintptr_t is long (64 bit) on Alpha, as are pointers.
* #include <machine/md_var.h> to bring the prototype forpeter1999-07-011-1/+2
| | | | alpha_platform_assign_pciintr() into scope (!).
* #include <machine/md_var.h> to get prototype for alpha_register_pci_scsi().peter1999-07-011-2/+3
|
* Stop signals being generated after meteor_close.roger1999-06-291-1/+6
| | | | | | | Update METEORSSIGNAL to disable signals by setting the signal to 0. PR: i386/10533 Submitted by: Frode Vatvedt Fjeld <frodef@dslab7.cs.uit.no>
* (corrections for type change in softc)mjacob1999-06-241-3/+3
|
* Allow the Ross host to PCI bridge to appear as a PCI bus. This permitsjlemon1999-06-241-9/+9
| | | | my Compaq 3000 to recognize the secondary bus.
* Compaq Smart RAID driver for -current. Based on the original ida.cjlemon1999-06-241-0/+199
| | | | | driver by Mark Dawson. This probably needs some work, but is stable enough to boot a RAID-only configuration, and survive `make world'.
* Pass the current timecounter to pps_event().phk1999-06-221-3/+3
|
* Tweak FIFO and DMA thresholds to improve performance and reduce likelyhoodwpaul1999-06-201-5/+5
| | | | | | of RX FIFO overruns. Submitted by: bde
* Fix up the RealTek 8139 driver to work on FreeBSD/alpha. This involves awpaul1999-06-192-9/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | few changes: - there was a bug in rl_list_tx_init(): it was calculating the registers to initialize incorrectly. Not a problem on the x86 where unaligned access are allowed, but a problem on the alpha. - set rl_btag accordingly depending on the machine type - rl_rxeof() needs to be sure to longword-align the packet data. This is a little tricky since we copy the data out of the receive buffer using m_devget(), however there's no way to tell m_devget() to fill in the mbufs starting at a particular offset. To get around this, we tell m_devget to copy bytes+2 bytes starting at offset offset-2. This results in the proper alignment, and we can trim off the two leading bytes afterwards with m_adj(). We also allocate some extra space before the start of the receive buffer so that we don't get into trouble in the case where offset == 0. - redefine vtophys() in if_rlreg.h for the alpha. Making this chipset work on the alpha is sort of the inverse of putting a jet engine on a rowboat (putting a propeller on a 747?) but when you can get these things for $5 a pop, it's hard to stop people from buying them.
OpenPOWER on IntegriCloud