HomeFreeBSD

Get 82574 tx queues working reliably via a few bits of stolen errata and

Description

Get 82574 tx queues working reliably via a few bits of stolen errata and
a few bits of stolen igb(4) code.

  • Bind interrupts to specific CPUs (stolen from igb).
  • Don't ever let em_mq_start() have a negative value for its tx queue.
  • Allow the interrupt for the link status to be shareable.
  • Setup 2nd queue TXDCTL bits to enable it fully, without this, it times out. Values derived from linux e1000e driver, netdev.c. Committed due to apparent erratum.
  • When configuring RSS, use a modulo of the num_rx_queues, instead of magic number 2
  • Add premptive comment when configuring RXDCTL indicating why the 2nd queue is not being configured here.
  • Revert enhanced queue status handling, from svn revision 281045 as it fails to handle watchdog events at all in this driver.

Details

Provenance
sbrunoAuthored on
Parents
rS281589: Fix warnings
Branches
Unknown
Tags
Unknown

Event Timeline