HomeFreeBSD

Remove some redundant debugging info from the watchdog function and ensure

Description

Remove some redundant debugging info from the watchdog function and ensure
that we know which queue is firing the timeout watchdog. This seems to stabilize
the TX behavior for MQ.

Setup TXDCTL to mimic the linux driver configuration settings.

  • Clear txdctl.
  • Set a Prefetch Threshold o.f 31
  • Set a Host Threshold of 1.
  • Set a WriteBack Threshold of 1.
  • Do not set E1000_TXDCTL_QUEUE_ENABLE, which apparently isn't needed.
  • Set bit 22 as it is required to be set.
  • Set Granulatiry to Descriptors.
  • Set TX Descriptor Low Threshold to 1.
  • Section 10.2.6.11 of 82574 Datasheet.

Read RFCTL and bitwise OR E1000_RFCTL_ACK_DIS before writing it back.

Setup RXDCTL for the 82574 only, to mimic the linux driver configuration settings.

  • Set a Prefetch Threshold of 32.
  • Set a Host Threshold of 4.
  • Set a WriteBack threshold of 4.
  • Set Granularity to Descriptors.
  • Section 10.2.5.11 of 82574 Datasheet

Details

Provenance
sbrunoAuthored on
Parents
rS281664: Did not mean to commit the diff to bsd.prog.mk to this branch...
Branches
Unknown
Tags
Unknown

Event Timeline