diff options
author | Jesse Huang <jesse@icplus.com.tw> | 2006-10-20 17:42:05 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-12-02 00:12:02 -0500 |
commit | e242040df1da94a9a3daa98ea5539e2b52502bb4 (patch) | |
tree | ae88045a97ceeb75a031754a9de8e01d62b71b4d /drivers/net/sundance.c | |
parent | ac7468e923278cdcb202f8aa992d8f2776f8344c (diff) |
[PATCH] sundance: remove TxStartThresh and RxEarlyThresh
For patent issue need to remove TxStartThresh and RxEarlyThresh. This patent
is cut-through patent. If use this function, Tx will start to transmit after
few data be move in to Tx FIFO. We are not allow to use those function in
DFE530/DFE550/DFE580/DL10050/IP100/IP100A. It will decrease a little
performance.
Signed-off-by: Jesse Huang <jesse@icplus.com.tw>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/sundance.c')
-rw-r--r-- | drivers/net/sundance.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c index 41c503d8bac4..be1faa020392 100644 --- a/drivers/net/sundance.c +++ b/drivers/net/sundance.c | |||
@@ -264,8 +264,6 @@ enum alta_offsets { | |||
264 | ASICCtrl = 0x30, | 264 | ASICCtrl = 0x30, |
265 | EEData = 0x34, | 265 | EEData = 0x34, |
266 | EECtrl = 0x36, | 266 | EECtrl = 0x36, |
267 | TxStartThresh = 0x3c, | ||
268 | RxEarlyThresh = 0x3e, | ||
269 | FlashAddr = 0x40, | 267 | FlashAddr = 0x40, |
270 | FlashData = 0x44, | 268 | FlashData = 0x44, |
271 | TxStatus = 0x46, | 269 | TxStatus = 0x46, |
@@ -1111,6 +1109,7 @@ static irqreturn_t intr_handler(int irq, void *dev_instance) | |||
1111 | int tx_cnt; | 1109 | int tx_cnt; |
1112 | int tx_status; | 1110 | int tx_status; |
1113 | int handled = 0; | 1111 | int handled = 0; |
1112 | int i; | ||
1114 | 1113 | ||
1115 | 1114 | ||
1116 | do { | 1115 | do { |
@@ -1153,17 +1152,14 @@ static irqreturn_t intr_handler(int irq, void *dev_instance) | |||
1153 | np->stats.tx_fifo_errors++; | 1152 | np->stats.tx_fifo_errors++; |
1154 | if (tx_status & 0x02) | 1153 | if (tx_status & 0x02) |
1155 | np->stats.tx_window_errors++; | 1154 | np->stats.tx_window_errors++; |
1155 | |||
1156 | /* | 1156 | /* |
1157 | ** This reset has been verified on | 1157 | ** This reset has been verified on |
1158 | ** DFE-580TX boards ! phdm@macqel.be. | 1158 | ** DFE-580TX boards ! phdm@macqel.be. |
1159 | */ | 1159 | */ |
1160 | if (tx_status & 0x10) { /* TxUnderrun */ | 1160 | if (tx_status & 0x10) { /* TxUnderrun */ |
1161 | unsigned short txthreshold; | ||
1162 | |||
1163 | txthreshold = ioread16 (ioaddr + TxStartThresh); | ||
1164 | /* Restart Tx FIFO and transmitter */ | 1161 | /* Restart Tx FIFO and transmitter */ |
1165 | sundance_reset(dev, (NetworkReset|FIFOReset|TxReset) << 16); | 1162 | sundance_reset(dev, (NetworkReset|FIFOReset|TxReset) << 16); |
1166 | iowrite16 (txthreshold, ioaddr + TxStartThresh); | ||
1167 | /* No need to reset the Tx pointer here */ | 1163 | /* No need to reset the Tx pointer here */ |
1168 | } | 1164 | } |
1169 | /* Restart the Tx. */ | 1165 | /* Restart the Tx. */ |