[dpdk-dev] [Bug 25] Ixgbe driver sets TDH register after TXDCTL.ENABLE is set

bugzilla at dpdk.org bugzilla at dpdk.org
Sun Apr 1 14:59:49 CEST 2018


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 at dpdk.org
          Reporter: solal.pirelli at 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.


More information about the dev mailing list