diff options
author | Don Skidmore <donald.c.skidmore@intel.com> | 2009-01-20 00:54:13 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-20 00:54:13 (GMT) |
commit | 15005a320473b8d3676b878deb29bbe738ef9027 (patch) | |
tree | e451ad3d95824833b09bd45bf6b7ea8f2e3f0a30 /drivers/net/ixgbe/ixgbe_main.c | |
parent | 67fd1a731ff1a990d4da7689909317756e50cb4d (diff) | |
download | linux-fsl-qoriq-15005a320473b8d3676b878deb29bbe738ef9027.tar.xz |
ixgbe: fix dca issue with relaxed ordering turned on
The is an issue where setting Relaxed Ordering (RO) bit
(in a PCI-E write transaction) on 82598 causing the chipset
to drop DCA hints. This patch forces RO not to be set for
descriptors as well as payload. This will only be in effect
while DCA is enabled and no performance difference was
noticed in testing.
Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ixgbe/ixgbe_main.c')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_main.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c index acef3c6..92d9b17 100644 --- a/drivers/net/ixgbe/ixgbe_main.c +++ b/drivers/net/ixgbe/ixgbe_main.c @@ -318,6 +318,9 @@ static void ixgbe_update_rx_dca(struct ixgbe_adapter *adapter, rxctrl |= dca3_get_tag(&adapter->pdev->dev, cpu); rxctrl |= IXGBE_DCA_RXCTRL_DESC_DCA_EN; rxctrl |= IXGBE_DCA_RXCTRL_HEAD_DCA_EN; + rxctrl &= ~(IXGBE_DCA_RXCTRL_DESC_RRO_EN); + rxctrl &= ~(IXGBE_DCA_RXCTRL_DESC_WRO_EN | + IXGBE_DCA_RXCTRL_DESC_HSRO_EN); IXGBE_WRITE_REG(&adapter->hw, IXGBE_DCA_RXCTRL(q), rxctrl); rx_ring->cpu = cpu; } |