From: Auke Kok <auke-jan.h.kok@intel.com>
To: jeff@garzik.org
Cc: netdev@vger.kernel.org, john.ronciak@intel.com,
akpm@linux-foundation.org
Subject: [PATCH 1/3] e1000e: retire last_tx_tso workaround
Date: Wed, 22 Aug 2007 08:08:39 -0700 [thread overview]
Message-ID: <20070822150839.19918.86665.stgit@localhost.localdomain> (raw)
This TSO-related workaround is no longer needed since it's only
applicable for 8254x silicon.
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---
drivers/net/e1000e/e1000.h | 15 +++------------
drivers/net/e1000e/netdev.c | 20 ++------------------
2 files changed, 5 insertions(+), 30 deletions(-)
diff --git a/drivers/net/e1000e/e1000.h b/drivers/net/e1000e/e1000.h
index e3cd877..bbe5faf 100644
--- a/drivers/net/e1000e/e1000.h
+++ b/drivers/net/e1000e/e1000.h
@@ -142,18 +142,9 @@ struct e1000_ring {
/* array of buffer information structs */
struct e1000_buffer *buffer_info;
- union {
- /* for TX */
- struct {
- bool last_tx_tso; /* used to mark tso desc. */
- };
- /* for RX */
- struct {
- /* arrays of page information for packet split */
- struct e1000_ps_page *ps_pages;
- struct sk_buff *rx_skb_top;
- };
- };
+ /* arrays of page information for packet split */
+ struct e1000_ps_page *ps_pages;
+ struct sk_buff *rx_skb_top;
struct e1000_queue_stats stats;
};
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 8ebe238..4916f7c 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -1483,7 +1483,6 @@ static void e1000_clean_tx_ring(struct e1000_adapter *adapter)
tx_ring->next_to_use = 0;
tx_ring->next_to_clean = 0;
- tx_ring->last_tx_tso = 0;
writel(0, adapter->hw.hw_addr + tx_ring->head);
writel(0, adapter->hw.hw_addr + tx_ring->tail);
@@ -3216,15 +3215,6 @@ static int e1000_tx_map(struct e1000_adapter *adapter,
while (len) {
buffer_info = &tx_ring->buffer_info[i];
size = min(len, max_per_txd);
- /* Workaround for Controller erratum --
- * descriptor for non-tso packet in a linear SKB that follows a
- * tso gets written back prematurely before the data is fully
- * DMA'd to the controller */
- if (tx_ring->last_tx_tso && !skb_is_gso(skb)) {
- tx_ring->last_tx_tso = 0;
- if (!skb->data_len)
- size -= 4;
- }
/* Workaround for premature desc write-backs
* in TSO mode. Append 4-byte sentinel desc */
@@ -3497,10 +3487,6 @@ static int e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
count++;
count++;
- /* Controller Erratum workaround */
- if (!skb->data_len && tx_ring->last_tx_tso && !skb_is_gso(skb))
- count++;
-
count += TXD_USE_COUNT(len, max_txd_pwr);
nr_frags = skb_shinfo(skb)->nr_frags;
@@ -3536,12 +3522,10 @@ static int e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
return NETDEV_TX_OK;
}
- if (tso) {
- tx_ring->last_tx_tso = 1;
+ if (tso)
tx_flags |= E1000_TX_FLAGS_TSO;
- } else if (e1000_tx_csum(adapter, skb)) {
+ else if (e1000_tx_csum(adapter, skb))
tx_flags |= E1000_TX_FLAGS_CSUM;
- }
/* Old method was to assume IPv4 packet by default if TSO was enabled.
* 82571 hardware supports TSO capabilities for IPv6 as well...
next reply other threads:[~2007-08-22 15:08 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-22 15:08 Auke Kok [this message]
2007-08-22 15:08 ` [PATCH 2/3] e1000e: Add read code and printout of PBA number (board identifier) Auke Kok
2007-08-22 15:08 ` [PATCH 3/3] e1000e: Remove conditional packet split disable flag Auke Kok
2007-08-25 7:49 ` [PATCH 1/3] e1000e: retire last_tx_tso workaround Jeff Garzik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070822150839.19918.86665.stgit@localhost.localdomain \
--to=auke-jan.h.kok@intel.com \
--cc=akpm@linux-foundation.org \
--cc=jeff@garzik.org \
--cc=john.ronciak@intel.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.