patch-2.4.26 linux-2.4.26/drivers/net/e1000/e1000_ethtool.c
Next file: linux-2.4.26/drivers/net/e1000/e1000_hw.c
Previous file: linux-2.4.26/drivers/net/e1000/e1000.h
Back to the patch index
Back to the overall index
- Lines: 62
- Date:
2004-04-14 06:05:30.000000000 -0700
- Orig file:
linux-2.4.25/drivers/net/e1000/e1000_ethtool.c
- Orig date:
2003-11-28 10:26:20.000000000 -0800
diff -urN linux-2.4.25/drivers/net/e1000/e1000_ethtool.c linux-2.4.26/drivers/net/e1000/e1000_ethtool.c
@@ -1,7 +1,7 @@
/*******************************************************************************
- Copyright(c) 1999 - 2003 Intel Corporation. All rights reserved.
+ Copyright(c) 1999 - 2004 Intel Corporation. All rights reserved.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
@@ -39,6 +39,11 @@
extern void e1000_down(struct e1000_adapter *adapter);
extern void e1000_reset(struct e1000_adapter *adapter);
extern int e1000_set_spd_dplx(struct e1000_adapter *adapter, uint16_t spddplx);
+extern int e1000_setup_rx_resources(struct e1000_adapter *adapter);
+extern int e1000_setup_tx_resources(struct e1000_adapter *adapter);
+extern void e1000_free_rx_resources(struct e1000_adapter *adapter);
+extern void e1000_free_tx_resources(struct e1000_adapter *adapter);
+extern void e1000_update_stats(struct e1000_adapter *adapter);
struct e1000_stats {
char stat_string[ETH_GSTRING_LEN];
@@ -579,8 +584,8 @@
*data = 0;
/* Hook up test interrupt handler just for this test */
- if(request_irq
- (netdev->irq, &e1000_test_intr, SA_SHIRQ, netdev->name, netdev)) {
+ if(request_irq(adapter->pdev->irq, &e1000_test_intr, SA_SHIRQ,
+ netdev->name, netdev)) {
*data = 1;
return -1;
}
@@ -664,7 +669,7 @@
msec_delay(10);
/* Unhook test interrupt handler */
- free_irq(netdev->irq, netdev);
+ free_irq(adapter->pdev->irq, netdev);
return *data;
}
@@ -770,9 +775,9 @@
PCI_DMA_TODEVICE);
tx_desc->buffer_addr = cpu_to_le64(txdr->buffer_info[i].dma);
tx_desc->lower.data = cpu_to_le32(skb->len);
- tx_desc->lower.data |= E1000_TXD_CMD_EOP;
- tx_desc->lower.data |= E1000_TXD_CMD_IFCS;
- tx_desc->lower.data |= E1000_TXD_CMD_RPS;
+ tx_desc->lower.data |= cpu_to_le32(E1000_TXD_CMD_EOP |
+ E1000_TXD_CMD_IFCS |
+ E1000_TXD_CMD_RPS);
tx_desc->upper.data = 0;
}
@@ -1522,6 +1527,7 @@
} stats = { {ETHTOOL_GSTATS, E1000_STATS_LEN} };
int i;
+ e1000_update_stats(adapter);
for(i = 0; i < E1000_STATS_LEN; i++)
stats.data[i] = (e1000_gstrings_stats[i].sizeof_stat ==
sizeof(uint64_t)) ?
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)