summaryrefslogtreecommitdiffstats
path: root/sys/pci/if_rlreg.h
Commit message (Collapse)AuthorAgeFilesLines
* Make some tweaks to the RealTek driver:wpaul1999-10-211-1/+3
| | | | | | | | | | | | | | | | | | - Fix a bug in rl_rxeof() handler: in the case where the packet wraps from the end of the receive buffer back to the beginning, we need to insure that at least sizeof(ether_header) bytes make it into the first mbuf. If we don't, then doing eh = mtod(m, struct ether_header *) loses. To avoid this, we use m_pullup() to suck at least MHLEN - RL_ETHER_ALIGN bytes into the first mbuf, which should also help small packets fit into a single mbuf. Pointed out by: Philip A. Prindeville <philipp@zembu.com> - Make the transmit threshold autotuning: start off with a small value and jack it up when TX underruns are detected. - Also improve TX error recovery: kick the chip in the head with a reset/init sequence to make sure it recovers afer a transmit error.
* Convert the RealTek 8139 driver to newbus and miibus in one swell foop.wpaul1999-08-311-145/+8
| | | | Also set it up to be compiled as a module.
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Fix power management register definitions.wpaul1999-08-211-5/+5
|
* Remove the definitions for the SiS 900 chip. This is not a RealTekwpaul1999-07-221-11/+1
| | | | | clone after all. I have the datasheets for this part; hopefully I can write a proper driver soon.
* 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-191-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add support for SiS 900 chipset (PCI ID 0x1039/0x0900), which appears towpaul1999-05-301-1/+11
| | | | be yet another rebadged RealTek 8139.
* Merge in some updates for the RealTek driver, mainly:wpaul1999-04-121-27/+53
| | | | | | - 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.
* Add support for still more cheapo 10/100 cards: Delta Electronics andwpaul1999-02-231-6/+26
| | | | | | | | | | Addtron appear to have their own VIA Rhine II and RealTek 8139 boards with custom PCI vendor and device IDs. This commit updates the PCI vendor and device lists in the vr and rl drivers so that we can probe the additional devices. Found by: nosing around the PCI vendor and device code list at: http://www.halcyon.com/scripts/jboemler/pci/pcicode
* if_rl.c: make a small tweak to properly handle the Accton MPX 5030/5038wpaul1998-12-071-31/+13
| | | | | | | | as a RealTek 8139 if_rlreg.h: use bus_space_read_X() in CSR_READ_X() macros instead of directly calling inb()/outb() etc... rl.4 + RELNOTES.TXT: mention that SMC EtherEZ PCI 1211-TX is supported by the RealTek driver
* The Accton 1207D adapter uses a chip called the MXP 5030 (or 5038)wpaul1998-11-181-3/+11
| | | | | | | | | | | | | | which is either a RealTek 8139 in disguise or a RealTek workalike. This commit fixes the PCI vendor/device ID for this device and updates the description string to reflect the actual identity of the device. I also changed the transmit encapsulation routine to always to buffer copies on transmit. We end up doing this 99% of the time anyway. I also tweaked the code that pads packets out to the minimum length (60) bytes. I was fixing up the m_pkthdr.len value but not m_len. I don't think this makes that much difference in the grand scheme of things, but it makes me feel better.
* Add driver support for PCI fast ethernet adapters based on thewpaul1998-10-181-0/+564
RealTek 8129/8139 chipset like I've been threatening. Update kernel configs, userconfig.c, relnotes and sysinstall. No man page yet; comming soon. I consider this driver stable enough that I want to give it some exposure in -current.
OpenPOWER on IntegriCloud