Ixgbe driver sets TDH register after TXDCTL.ENABLE is set
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.