summaryrefslogtreecommitdiff
path: root/sys/dev/ic/re.c
AgeCommit message (Collapse)Author
2015-01-08Use the correct config registers for the RTL8139 family. Unlike the RTL8169Brad Smith
and RTL8168 family, the RTL8139 has different register map for config registers. From FreeBSD WoL bits reviewed and tested by stsp@
2015-01-04Fix error handling for re_encap() within re_start() and some tidying up.Brad Smith
2014-12-22unifdef INETTed Unangst
2014-12-19Make use of m_defrag() in re_encap().Brad Smith
2014-11-24rxr ioctl handling.Brad Smith
2014-11-24use the correct capitalization for Realtek.Brad Smith
2014-11-23Move link state handling into re_miibus_statchg().Brad Smith
From FreeBSD Tested with 8168D / 8168G.
2014-11-19Add support for stopping the operation of the chipset within re_stop()Brad Smith
for newer generations of chipsets. From FreeBSD Tested with 8169, 8168C, 8168D, 8168G and by stsp@ with WOL.
2014-10-24Always put controller into known state before device intialization.Brad Smith
From FreeBSD ok sthen@ chris@
2014-10-08Restrict what RL_MAXRXPKTLEN is being set to for any of the PCIe chipsets.Brad Smith
The driver currently doesn't implement jumbo frames for the newer chipsets and it doesn't make sense allowing for a jumbo frame with a Fast Ethernet chipset either. In theory its possible to do bad things with the driver as is according to the FreeBSD/Linux drivers under the right conditions. ok sthen@
2014-09-21add a missing break statement in the RL_HWREV_8168E_VL caseJonathan Gray
ok brad@
2014-09-06Various changes to the re(4) feature flags..Brad Smith
Changed RL_FLAG_MACLDPS to RL_FLAG_MACRESET. Removed RL_FLAG_INVMAR and RL_FLAG_NOJUMBO. Added RL_FLAG_FASTETHER, RL_FLAG_CMDSTOP_WAIT_TXQ, RL_FLAG_JUMBOV2, RL_FLAG_WOL_MANLINK, RL_FLAG_WAIT_TXPOLL, RL_FLAG_WOLRXENB. Also set in the softc the maximum MTU for the various generations of chips. Input from and Ok jsg@
2014-07-22Fewer <netinet/in_systm.h>Martin Pieuchot
2014-07-08cut things that relied on mclgeti for rx ring accounting/restriction overDavid Gwynne
to using if_rxr. cut the reporting systat did over to the rxr ioctl. tested as much as i can on alpha, amd64, and sparc64. mpi@ has run it on macppc. ok mpi@
2014-04-23rename some hardware revisions to match FreeBSDJonathan Gray
2014-04-23add support for RTL8168EPJonathan Gray
From Edward O'Callaghan via FreeBSD
2014-04-23While we always mask the revision with 0x7c800000 linux uses a tableJonathan Gray
that masks with either 0x7c800000 or 0x7cf00000 depending on the chip. Some of the hardware revisions I previously added can't be matched with the current mask, these are already handled by other revision defines so remove them. When masking the revision defines with 0x7c800000: RL_HWREV_8106E_SPIN1 is the same as RL_HWREV_8106E RL_HWREV_8168G_SPIN1 is the same as RL_HWREV_8168G RL_HWREV_8168G_SPIN2 is the same as RL_HWREV_8168GU
2014-04-23Add support for RTL8168GUJonathan Gray
from Rafael Neves
2014-03-13Missed removing some bits with rev 1.147.Brad Smith
ok sthen@
2014-03-08Add the RX earlyoff support for older chips (8168{E-VL,EP, F}) and RXDV GATEDBrad Smith
bits for the 8168G controller. This fixes operation of the 8168G controllers. This makes reception of packets work with the 8168G controllers in the Shuttle DS47 and other systems. From FreeBSD, based on the Realtek Linux driver. ok sthen@ giovani@
2013-12-31tedu the diagnostic code to detect the presence of the defective Xterasys XN-152Brad Smith
32-bit PCI NIC in a 64-bit PCI slot. The code has never been enabled, never will be and is unused / unmaintained. Update the man page to not indicate there is a possibility of the driver detecting this hardware issue. Input about the man page and Ok chris@
2013-10-25Fix/re-enable RX checksum offload for 8168C/8168CP revisions after revision ↵Brad Smith
rev 1.140. The relevant code for enabling the HW's RX checksum offload support was checking for the TX feature flag to know when to enable RX checksum offload but that flag was removed/disabled with rev 1.140 which resulted in the RX checksum offload support inadvertently being disabled. ok naddy@
2013-10-11Add initial RTL8106E and RTL8168G/8111G support.Jonathan Gray
An earlier version didn't seem to work on a machine bmercer@ had access to a few months ago but this seems to work with the onboard Ethernet in an ASUS Z87 board RD Thrush has.
2013-10-05Disable interrupts in the interrupt handler. This is what FreeBSD does, andMark Kettenis
it seems to fix the occasional watchdog timeout when using MSI. tested by many
2013-08-07Most network drivers include netinet/in_var.h, but apparently theyAlexander Bluhm
don't have to. Just remove these include lines. Compiled on amd64 i386 sparc64; OK henning@ mikeb@
2013-03-17- Remove the reserved number of TX descriptors. No limitation is mentioned inBrad Smith
the 8139C+/8169/8110/8168/8101/8111 datasheets and it seems to work ok without reserving the descriptors. - Change allowable number of TX DMA segments to 32. From FreeBSD ok chris@
2013-03-11Separate out the common capabilities flags from the switch statementBrad Smith
added in the last commit. No functional change. ok sthen@
2013-03-09Calculating the IP header checksum on Realtek 8168 is broken if theAlexander Bluhm
packet has IP options. Disable IP checksum offloading for the affected revisions. From FreeBSD; OK sthen@ brad@
2012-05-098401E/8402/8105E/8105E_SPIN1 don't support jumbo framesJonathan Gray
from Brad
2012-05-09The 8168D chipset needs to have the PHY wake PM flag set to ensureJonathan Gray
the PHY is woken up upon attachment. From FreeBSD via Brad.
2012-04-08additional adapter types from FreeBSDJonathan Gray
2011-06-15Set RL_FLAG_INVMAR for RTL8105E/RTL8401E/RTL8168E VL so multicastJonathan Gray
will work and add PHY wake up code for RTL8401E. From brad
2011-04-14Add several additional adapter types and correct definition ofJonathan Gray
RTL8103E, from FreeBSD. ok sthen@
2011-04-05mechanic rename M_{TCP|UDP}V4_CSUM_OUT -> M_{TCP|UDP}_CSUM_OUTHenning Brauer
ok claudio krw
2011-03-13Wake On LAN support for re(4).Stefan Sperling
ok deraadt
2010-11-28Get rid of "forever" loop in the interrupt handler such that we drop out of theMark Kettenis
interrupt handler if the "Rx Descriptor Unavailable" bit is set and no new mbufs are available to populate descriptors. Fixes hangs seen with MCLGETI. ok sthen@, deraadt@
2010-11-28Bring back MCLGETI; a fix for the issue that was the reason for its previousMark Kettenis
backout will be committed shortly. ok sthen@
2010-11-12revert MCLGETI for re(4) for now, it is causing hangs (in some casesStuart Henderson
temporary, in others apparently permanent) with high rates of input packets. ok deraadt@
2010-10-05add missing splx in the debug codepath. nevertheless thatMike Belopuhov
doesn't mean it should be wrong. ok blambert, jsg
2010-08-27remove the unused if_init callback in struct ifnetJonathan Gray
ok deraadt@ henning@ claudio@
2010-08-08Fix re_stop() invocation (normally #ifdef'd out) to use new parameterKenneth R Westerback
list. ok deraadt@
2010-08-07Revert 1.123. Hangs RTL8168C/8111C (0x3c00) afterChristian Weisgerber
ifconfig re0 up ifconfig re0 down dhclient re0 ok krw@, deraadt@
2010-08-07No "\n" needed at the end of panic() strings.Kenneth R Westerback
Bogus chunks pointed out by matthew@ and miod@. No cookies for marco@ and jasper@. ok deraadt@ miod@ matthew@ jasper@ macro@
2010-07-27Make sure we stop DMA before we suspend. Remove unused argument to re_stop()Mark Kettenis
to avoid the dilemma what meaningless value to pass. ok deraadt@
2010-07-14Newer 8168x and 810x chipsets have a different way of stopping the chipset.Christian Weisgerber
From FreeBSD via Brad.
2010-07-10Reduce the delays a bit in the miibus read/write routines.Christian Weisgerber
Although with aditional 20us delays added just before returning from miibus read/writes as required by the hardware. Based on the Linux r8169 driver; from Brad.
2010-06-28fix typo; from BradChristian Weisgerber
2010-06-28Add initial support for RTL8168E, brokenness reported by Joe Gidi.Stuart Henderson
With help from Brad, ok jsg@, closes system/6402
2010-05-19BUS_DMA_ZERO instead of alloc, map, bzero.Owain Ainsworth
ok krw@
2010-04-03Set the RL_FLAG_MACSLEEP flag for the RTL8103E chipset.Stuart Henderson
Currently a noop as the code for RL_FLAG_MACSLEEP hasn't been added yet. From FreeBSD via Brad.