DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [Bug 25] Ixgbe driver sets TDH register after TXDCTL.ENABLE is set
@ 2018-04-01 12:59 bugzilla
  0 siblings, 0 replies; only message in thread
From: bugzilla @ 2018-04-01 12:59 UTC (permalink / raw)
  To: dev

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.pirelli@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.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2018-04-01 12:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-01 12:59 [dpdk-dev] [Bug 25] Ixgbe driver sets TDH register after TXDCTL.ENABLE is set bugzilla

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).