Age | Commit message (Collapse) | Author |
|
eeproms was backwards. This resulted in a bogus MAC address being
read from the eeprom on certain cards. From FreeBSD. OK pvalchev@
|
|
|
|
- Rename the existing 8110SC revision to 8110SCd to be consistent
info from the linux driver via Brad
|
|
|
|
ok reyk@
|
|
From brad@, tested by brad on i386/amd64/sparc64 and by maja@ and ian@
on i386.
|
|
the locators are printed by the bus drivers, rest by the device's driver.
|
|
looks like realtek reversed the order of multicast stuff on the PCI-E cards
|
|
TX descriptors. Further down the road re_encap() will bail if there
aren't at least 4 free TX descriptors, causing re_start() to abort
and set IFF_OACTIVE again.
From marius@FreeBSD
Tested by me, brad@, otto@ and Emilio Parea.
|
|
config register 1 is only valid with the 8129 chipset.
The rtl81x9reg.h header has this bit marked with a comment indicating
it is for the 8129 chipset and the 8168/8169 datasheets confirm that
this bit is not valid for the newer chipsets.
From yongari@FreeBSD via brad. Tested by brad, kettenis and otto.
|
|
print the register number, so that someone gets a chance to investigate the
problem.
|
|
|
|
From tsutsui@NetBSD over brad, some corrections by claudio@, tested
by brad on sparc64 and otto@ on landisk.
OK claudio@
|
|
ok brad@
|
|
address, thus slowing down the driver on __STRICT_ALIGN archs, remove. ok deraadt@
|
|
|
|
hardware checksum could be mangled with 28 byte or less IP packets.
>From tsutsui@NetBSD
Tested by otto@ brad@ and Han Boetes <han at mijncomputer dot nl>
Tested by maja@ with the 8139C+ chipset
Tested on amd64/i386/sparc64
ok mglocker@ brad@ otto@
|
|
chip id from Linux r8169 driver
from brad@
|
|
|
|
|
|
From tsutsui@NetBSD
|
|
- set RL_EARLY_TX_THRESH before starting TX and RX
- clear a TX timeout only if all queued packets are handled
- declare struct rl_txq separately
- minor style tweaks in re_txeof()
From tsutsui@NetBSD
Tested by brad@, maja@ and kettenis@
Tested on amd64/armish/i386/sparc64
|
|
From tsutsui@NetBSD
Tested by brad@ otto@
Tested on amd64/i386/sparc64
|
|
- Rename RL_[TR]X_DESC_INC() macro to RL_NEXT_[TR]X_DESC() and
change them to return rvalues to avoid possible side effects.
- Also define RL_NEXT_TXQ() for rl_txq index and use it as well.
From tsutsui@NetBSD
|
|
- Remove usage of BUS_DMA_ALLOCNOW with bus_dmamap_create
- Use BUS_DMA_COHERENT on mapping DMA memory for TX/RX descriptors
- Adjust m_data and m_len directly rather than calling m_adj
- Proper use of bus_dmamap_sync against DMA descriptors
From tsutsui@NetBSD
Tested by kettenis@ brad@ otto@
Tested on armish/amd64/i386/sparc64
|
|
not RE_ETHER_ALIGN.
From tsutsui@NetBSD
Tested on alpha/amd64/armish/i386/sparc64
|
|
From wpaul@FreeBSD
ok kettenis@
|
|
the 8169 chipset, it is disabled by default anyway.
Reset the TX interrupt mitigation counter in re_start() if no packets
were queued and there are still TX descriptors in use.
Write to the ISR and clear the link state in re_init().
From wpaul@FreeBSD
|
|
wrong arguments, causing uvm_fault on halt/reboot, with a cardbus re
inserted. While here, cleanup prototypes and use revar.h everywhere.
ok brad@
|
|
removed in rev 1.43 just before release, as a workaround for a link state
issue found with the 8139C+ chips. Due to the different bit layout used by
the 8139C+ chips rlphy(4) was not reporting the correct link status.
Fix from yongary@FreeBSD
Tested by maja@
|
|
if the hardware mac is a specific number (hardware doesn't provide
unique mac addresses except in redboot fconfig data). yes deraadt@
|
|
based adapters to work again.
Issue reported by and workaround tested by maja@
|
|
From yongari@FreeBSD
|
|
From wpaul@FreeBSD
|
|
there is already a transmission in progress has no effect. In other
words, if you send two packets in rapid succession, the second one may
end up sitting in the TX DMA ring until another transmit command is
issued later in the future. Basically, if re_txeof() sees that there
are still descriptors outstanding, it needs to manually resume the
TX DMA channel by issuing another TX command to make sure all
transmissions are flushed out. (The PCI devices seem to keep the
TX channel moving until all descriptors have been consumed. I'm not
sure why the PCIe devices behave differently.)
From wpaul@FreeBSD
|
|
- have the NIC track the state and only set the promisc filter
if IFF_PROMISC is adjusted, otherwise only init the NIC if it
is not already running.
|
|
number of TX descriptors, the number of RX descriptors, and
the number of mbufs.
- bump the number of TX descriptors for the rtl8169 chipset.
From yamt@NetBSD
|
|
|
|
|
|
- re_attach(): Free bus_dma* resources if attach fails.
- re_newbuf(): Remove unnecessary error check.
- re_encap(): Better error handling.
- re_start(): Drop the packet if there are not enough TX descriptors.
From NetBSD
|
|
|
|
|
|
- call mii_down in re_stop.
|
|
devices. In order to access the EEPROM, we must select 'EEPROM programming'
mode, and then set the EEPROM chip select bit. Previously, we were setting
both bits simultaneously, which doesn't work: they must be set in the
right sequence.
Always obtain the station address from the EEPROM, now that EEPROM
reading works correctly.
Have re_tick() check for link state and set rl_link appropriately, if
there is a link then also check if the send queue is empty and if
not then try to send any queued packets.
Have re_start() check for the lack of link state or if OACTIVE is set,
if so then return.
From FreeBSD
|
|
- Update comment to mention newer chip revisions.
From wpaul FreeBSD
|
|
- add a workaround for reception of Jumbo frames.
- don't try to adjust alignment on non-strict alignment architectures,
this resolves an issue with the PCI Express adapters.
From FreeBSD
ok drahn@
|
|
|
|
From FreeBSD
|
|
|
|
a Realtek 8169 found in a Thecus N2100, tested jsg, ok pval
|