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: dev@dpdk.org Reporter: solal.pire...@gmail.com 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. -- You are receiving this mail because: You are the assignee for the bug.