aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2x_main.c
diff options
context:
space:
mode:
authorEilon Greenstein <eilong@broadcom.com>2009-03-02 02:59:31 -0500
committerDavid S. Miller <davem@davemloft.net>2009-03-03 01:32:39 -0500
commit7961f79123604a395dc467c605a94bbaed74df83 (patch)
tree542c3a9062596ebe69f68edeb3817655cfeda0f0 /drivers/net/bnx2x_main.c
parent161197853de91eb1eebdde05f13223c377cf3be0 (diff)
bnx2x: Unlimited Tx interrupt work
The Tx interrupt is very short and there is no need to limit it to a budget Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x_main.c')
-rw-r--r--drivers/net/bnx2x_main.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c
index e4d54e14fd53..a66536ec10a4 100644
--- a/drivers/net/bnx2x_main.c
+++ b/drivers/net/bnx2x_main.c
@@ -874,7 +874,7 @@ static inline u16 bnx2x_tx_avail(struct bnx2x_fastpath *fp)
874 return (s16)(fp->bp->tx_ring_size) - used; 874 return (s16)(fp->bp->tx_ring_size) - used;
875} 875}
876 876
877static void bnx2x_tx_int(struct bnx2x_fastpath *fp, int work) 877static void bnx2x_tx_int(struct bnx2x_fastpath *fp)
878{ 878{
879 struct bnx2x *bp = fp->bp; 879 struct bnx2x *bp = fp->bp;
880 struct netdev_queue *txq; 880 struct netdev_queue *txq;
@@ -908,9 +908,6 @@ static void bnx2x_tx_int(struct bnx2x_fastpath *fp, int work)
908 bd_cons = bnx2x_free_tx_pkt(bp, fp, pkt_cons); 908 bd_cons = bnx2x_free_tx_pkt(bp, fp, pkt_cons);
909 sw_cons++; 909 sw_cons++;
910 done++; 910 done++;
911
912 if (done == work)
913 break;
914 } 911 }
915 912
916 fp->tx_pkt_cons = sw_cons; 913 fp->tx_pkt_cons = sw_cons;
@@ -4177,7 +4174,7 @@ static void bnx2x_timer(unsigned long data)
4177 struct bnx2x_fastpath *fp = &bp->fp[0]; 4174 struct bnx2x_fastpath *fp = &bp->fp[0];
4178 int rc; 4175 int rc;
4179 4176
4180 bnx2x_tx_int(fp, 1000); 4177 bnx2x_tx_int(fp);
4181 rc = bnx2x_rx_int(fp, 1000); 4178 rc = bnx2x_rx_int(fp, 1000);
4182 } 4179 }
4183 4180
@@ -7217,7 +7214,7 @@ static int bnx2x_nic_unload(struct bnx2x *bp, int unload_mode)
7217 cnt = 1000; 7214 cnt = 1000;
7218 while (bnx2x_has_tx_work_unload(fp)) { 7215 while (bnx2x_has_tx_work_unload(fp)) {
7219 7216
7220 bnx2x_tx_int(fp, 1000); 7217 bnx2x_tx_int(fp);
7221 if (!cnt) { 7218 if (!cnt) {
7222 BNX2X_ERR("timeout waiting for queue[%d]\n", 7219 BNX2X_ERR("timeout waiting for queue[%d]\n",
7223 i); 7220 i);
@@ -10069,7 +10066,7 @@ static int bnx2x_poll(struct napi_struct *napi, int budget)
10069 bnx2x_update_fpsb_idx(fp); 10066 bnx2x_update_fpsb_idx(fp);
10070 10067
10071 if (bnx2x_has_tx_work(fp)) 10068 if (bnx2x_has_tx_work(fp))
10072 bnx2x_tx_int(fp, budget); 10069 bnx2x_tx_int(fp);
10073 10070
10074 if (bnx2x_has_rx_work(fp)) 10071 if (bnx2x_has_rx_work(fp))
10075 work_done = bnx2x_rx_int(fp, budget); 10072 work_done = bnx2x_rx_int(fp, budget);