aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Sinkovsky <msink@permonline.ru>2012-04-11 16:14:48 -0400
committerDavid S. Miller <davem@davemloft.net>2012-04-12 15:45:29 -0400
commit376b16f409232385db0f80faa0711b03fe404616 (patch)
tree3204474f3f2235592857ab8320266dd6de6ddf78
parentcade455596504fae8e134a27189713ddf7c6d04d (diff)
drivers/net: Remove CONFIG_WIZNET_TX_FLOW option
This option was there for debugging race conditions, just remove it, and assume TX_FLOW is always enabled. Signed-off-by: Mike Sinkovsky <msink@permonline.ru> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/wiznet/Kconfig8
-rw-r--r--drivers/net/ethernet/wiznet/w5100.c5
-rw-r--r--drivers/net/ethernet/wiznet/w5300.c9
3 files changed, 5 insertions, 17 deletions
diff --git a/drivers/net/ethernet/wiznet/Kconfig b/drivers/net/ethernet/wiznet/Kconfig
index c8291bf905a7..cb18043f5830 100644
--- a/drivers/net/ethernet/wiznet/Kconfig
+++ b/drivers/net/ethernet/wiznet/Kconfig
@@ -70,12 +70,4 @@ config WIZNET_BUS_ANY
70 Performance may decrease compared to explicitly selected bus mode. 70 Performance may decrease compared to explicitly selected bus mode.
71endchoice 71endchoice
72 72
73config WIZNET_TX_FLOW
74 bool "Use transmit flow control"
75 depends on WIZNET_W5100 || WIZNET_W5300
76 default y
77 help
78 This enables transmit flow control for WIZnet chips.
79 If unsure, say Y.
80
81endif # NET_VENDOR_WIZNET 73endif # NET_VENDOR_WIZNET
diff --git a/drivers/net/ethernet/wiznet/w5100.c b/drivers/net/ethernet/wiznet/w5100.c
index c28e1d57b02d..a4079d7d1af0 100644
--- a/drivers/net/ethernet/wiznet/w5100.c
+++ b/drivers/net/ethernet/wiznet/w5100.c
@@ -441,8 +441,7 @@ static int w5100_start_tx(struct sk_buff *skb, struct net_device *ndev)
441 struct w5100_priv *priv = netdev_priv(ndev); 441 struct w5100_priv *priv = netdev_priv(ndev);
442 u16 offset; 442 u16 offset;
443 443
444 if (IS_ENABLED(CONFIG_WIZNET_TX_FLOW)) 444 netif_stop_queue(ndev);
445 netif_stop_queue(ndev);
446 445
447 offset = w5100_read16(priv, W5100_S0_TX_WR); 446 offset = w5100_read16(priv, W5100_S0_TX_WR);
448 w5100_writebuf(priv, offset, skb->data, skb->len); 447 w5100_writebuf(priv, offset, skb->data, skb->len);
@@ -517,7 +516,7 @@ static irqreturn_t w5100_interrupt(int irq, void *ndev_instance)
517 w5100_write(priv, W5100_S0_IR, ir); 516 w5100_write(priv, W5100_S0_IR, ir);
518 mmiowb(); 517 mmiowb();
519 518
520 if (IS_ENABLED(CONFIG_WIZNET_TX_FLOW) && (ir & S0_IR_SENDOK)) { 519 if (ir & S0_IR_SENDOK) {
521 netif_dbg(priv, tx_done, ndev, "tx done\n"); 520 netif_dbg(priv, tx_done, ndev, "tx done\n");
522 netif_wake_queue(ndev); 521 netif_wake_queue(ndev);
523 } 522 }
diff --git a/drivers/net/ethernet/wiznet/w5300.c b/drivers/net/ethernet/wiznet/w5300.c
index 88afde99de8d..7bede7f5defa 100644
--- a/drivers/net/ethernet/wiznet/w5300.c
+++ b/drivers/net/ethernet/wiznet/w5300.c
@@ -273,9 +273,7 @@ static void w5300_hw_start(struct w5300_priv *priv)
273 S0_MR_MACRAW : S0_MR_MACRAW_MF); 273 S0_MR_MACRAW : S0_MR_MACRAW_MF);
274 mmiowb(); 274 mmiowb();
275 w5300_command(priv, S0_CR_OPEN); 275 w5300_command(priv, S0_CR_OPEN);
276 w5300_write(priv, W5300_S0_IMR, IS_ENABLED(CONFIG_WIZNET_TX_FLOW) ? 276 w5300_write(priv, W5300_S0_IMR, S0_IR_RECV | S0_IR_SENDOK);
277 S0_IR_RECV | S0_IR_SENDOK :
278 S0_IR_RECV);
279 w5300_write(priv, W5300_IMR, IR_S0); 277 w5300_write(priv, W5300_IMR, IR_S0);
280 mmiowb(); 278 mmiowb();
281} 279}
@@ -371,8 +369,7 @@ static int w5300_start_tx(struct sk_buff *skb, struct net_device *ndev)
371{ 369{
372 struct w5300_priv *priv = netdev_priv(ndev); 370 struct w5300_priv *priv = netdev_priv(ndev);
373 371
374 if (IS_ENABLED(CONFIG_WIZNET_TX_FLOW)) 372 netif_stop_queue(ndev);
375 netif_stop_queue(ndev);
376 373
377 w5300_write_frame(priv, skb->data, skb->len); 374 w5300_write_frame(priv, skb->data, skb->len);
378 mmiowb(); 375 mmiowb();
@@ -439,7 +436,7 @@ static irqreturn_t w5300_interrupt(int irq, void *ndev_instance)
439 w5300_write(priv, W5300_S0_IR, ir); 436 w5300_write(priv, W5300_S0_IR, ir);
440 mmiowb(); 437 mmiowb();
441 438
442 if (IS_ENABLED(CONFIG_WIZNET_TX_FLOW) && (ir & S0_IR_SENDOK)) { 439 if (ir & S0_IR_SENDOK) {
443 netif_dbg(priv, tx_done, ndev, "tx done\n"); 440 netif_dbg(priv, tx_done, ndev, "tx done\n");
444 netif_wake_queue(ndev); 441 netif_wake_queue(ndev);
445 } 442 }