Skip to contentSkip to conversation

Ixgbe driver sets TDH register after TXDCTL.ENABLE is set

Bug 25 [email protected] 1 participant 1 message Apr 1, 2018

lore
Share & tools
lore
#0 lore raw

https://dpdk.org/tracker/show_bug.cgi?id=25

Bug ID: 25
Summary: Ixgbe driver sets TDH register after TXDCTL.ENABLE is
set
Product: DPDK
Version: unspecified
Hardware: All
OS: All
Status: CONFIRMED
Severity: normal
Priority: Normal
Component: ethdev
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---

The Intel 82599 data sheet
(https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/82599-10-gbe-controller-datasheet.pdf,
§8.2.3.9.8) states that "The only time that software should write to [the TDH] register is after a reset (hardware reset or CTRL.RST) and before enabling the transmit function (TXDCTL.ENABLE). If software were to write to this register while the transmit function was enabled, the on-chip descriptor buffers might be invalidated and the hardware could become confused".

The ixgbe driver's ixgbe_dev_tx_queue_start function
(http://dpdk.org/browse/dpdk/tree/drivers/net/ixgbe/ixgbe_rxtx.c?h=v18.02#n5148)
first enables TXDCTL.ENABLE, then performs some admirable efforts to make sure it is truly enabled, and then changes TDH, ensuring that hardware confusion can happen.

Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.