All of lore.kernel.org
 help / color / mirror / Atom feed
* [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 [Bug 25] Ixgbe driver sets TDH register after TXDCTL.ENABLE is set bugzilla

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.