Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 18792
b: refs/heads/master
c: 545c67c
h: refs/heads/master
v: v3
  • Loading branch information
Jeff Kirsher authored and Jeff Garzik committed Jan 17, 2006
1 parent fe08acd commit ef975ff
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9a3056da0d7fde1e19e806824c41857b239954ed
refs/heads/master: 545c67c0a3550545fe50d28c874b0664bc5dc882
8 changes: 6 additions & 2 deletions trunk/drivers/net/e1000/e1000.h
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,6 @@ struct e1000_tx_ring {
spinlock_t tx_lock;
uint16_t tdh;
uint16_t tdt;
uint64_t pkt;

boolean_t last_tx_tso;

Expand All @@ -216,9 +215,14 @@ struct e1000_rx_ring {
struct e1000_ps_page *ps_page;
struct e1000_ps_page_dma *ps_page_dma;

struct sk_buff *rx_skb_top;
struct sk_buff *rx_skb_prev;

/* cpu for rx queue */
int cpu;

uint16_t rdh;
uint16_t rdt;
uint64_t pkt;
};

#define E1000_DESC_UNUSED(R) \
Expand Down
14 changes: 9 additions & 5 deletions trunk/drivers/net/e1000/e1000_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2204,7 +2204,7 @@ static void
e1000_watchdog_task(struct e1000_adapter *adapter)
{
struct net_device *netdev = adapter->netdev;
struct e1000_tx_ring *txdr = &adapter->tx_ring[0];
struct e1000_tx_ring *txdr = adapter->tx_ring;
uint32_t link;

e1000_check_for_link(&adapter->hw);
Expand Down Expand Up @@ -2314,6 +2314,7 @@ e1000_tso(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring,
{
#ifdef NETIF_F_TSO
struct e1000_context_desc *context_desc;
struct e1000_buffer *buffer_info;
unsigned int i;
uint32_t cmd_length = 0;
uint16_t ipcse = 0, tucse, mss;
Expand Down Expand Up @@ -2363,6 +2364,7 @@ e1000_tso(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring,

i = tx_ring->next_to_use;
context_desc = E1000_CONTEXT_DESC(*tx_ring, i);
buffer_info = &tx_ring->buffer_info[i];

context_desc->lower_setup.ip_fields.ipcss = ipcss;
context_desc->lower_setup.ip_fields.ipcso = ipcso;
Expand All @@ -2374,6 +2376,8 @@ e1000_tso(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring,
context_desc->tcp_seg_setup.fields.hdr_len = hdr_len;
context_desc->cmd_and_length = cpu_to_le32(cmd_length);

buffer_info->time_stamp = jiffies;

if (++i == tx_ring->count) i = 0;
tx_ring->next_to_use = i;

Expand All @@ -2389,13 +2393,15 @@ e1000_tx_csum(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring,
struct sk_buff *skb)
{
struct e1000_context_desc *context_desc;
struct e1000_buffer *buffer_info;
unsigned int i;
uint8_t css;

if(likely(skb->ip_summed == CHECKSUM_HW)) {
css = skb->h.raw - skb->data;

i = tx_ring->next_to_use;
buffer_info = &tx_ring->buffer_info[i];
context_desc = E1000_CONTEXT_DESC(*tx_ring, i);

context_desc->upper_setup.tcp_fields.tucss = css;
Expand All @@ -2404,6 +2410,8 @@ e1000_tx_csum(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring,
context_desc->tcp_seg_setup.data = 0;
context_desc->cmd_and_length = cpu_to_le32(E1000_TXD_CMD_DEXT);

buffer_info->time_stamp = jiffies;

if (unlikely(++i == tx_ring->count)) i = 0;
tx_ring->next_to_use = i;

Expand Down Expand Up @@ -3255,8 +3263,6 @@ e1000_clean_tx_irq(struct e1000_adapter *adapter,
if(unlikely(++i == tx_ring->count)) i = 0;
}

tx_ring->pkt++;

eop = tx_ring->buffer_info[i].next_to_watch;
eop_desc = E1000_TX_DESC(*tx_ring, eop);
}
Expand Down Expand Up @@ -3461,7 +3467,6 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter,
}
#endif /* CONFIG_E1000_NAPI */
netdev->last_rx = jiffies;
rx_ring->pkt++;

next_desc:
rx_desc->status = 0;
Expand Down Expand Up @@ -3592,7 +3597,6 @@ e1000_clean_rx_irq_ps(struct e1000_adapter *adapter,
}
#endif /* CONFIG_E1000_NAPI */
netdev->last_rx = jiffies;
rx_ring->pkt++;

next_desc:
rx_desc->wb.middle.status_error &= ~0xFF;
Expand Down

0 comments on commit ef975ff

Please sign in to comment.