Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
5e42488f
Commit
5e42488f
authored
Jul 27, 2004
by
Jeff Garzik
Browse files
Options
Browse Files
Download
Plain Diff
Merge pobox.com:/spare/repo/netdev-2.6/e100
into pobox.com:/spare/repo/netdev-2.6/ALL
parents
8396c851
85dc189b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
3 additions
and
45 deletions
+3
-45
drivers/net/8390.c
drivers/net/8390.c
+2
-34
drivers/net/8390.h
drivers/net/8390.h
+1
-11
No files found.
drivers/net/8390.c
View file @
5e42488f
...
...
@@ -41,6 +41,7 @@
module by all drivers that require it.
Alan Cox : Spinlocking work, added 'BUG_83C690'
Paul Gortmaker : Separate out Tx timeout code from Tx path.
Paul Gortmaker : Remove old unused single Tx buffer code.
Sources:
The National Semiconductor LAN Databook, and the 3Com 3c503 databook.
...
...
@@ -289,8 +290,6 @@ static int ei_start_xmit(struct sk_buff *skb, struct net_device *dev)
send_length
=
ETH_ZLEN
<
length
?
length
:
ETH_ZLEN
;
#ifdef EI_PINGPONG
/*
* We have two Tx slots available for use. Find the first free
* slot, and then perform some sanity checks. With two Tx bufs,
...
...
@@ -309,7 +308,7 @@ static int ei_start_xmit(struct sk_buff *skb, struct net_device *dev)
}
else
if
(
ei_local
->
tx2
==
0
)
{
output_page
=
ei_local
->
tx_start_page
+
TX_
1X_PAGES
;
output_page
=
ei_local
->
tx_start_page
+
TX_
PAGES
/
2
;
ei_local
->
tx2
=
send_length
;
if
(
ei_debug
&&
ei_local
->
tx1
>
0
)
printk
(
KERN_DEBUG
"%s: idle transmitter, tx1=%d, lasttx=%d, txing=%d.
\n
"
,
...
...
@@ -366,28 +365,6 @@ static int ei_start_xmit(struct sk_buff *skb, struct net_device *dev)
else
netif_start_queue
(
dev
);
#else
/* EI_PINGPONG */
/*
* Only one Tx buffer in use. You need two Tx bufs to come close to
* back-to-back transmits. Expect a 20 -> 25% performance hit on
* reasonable hardware if you only use one Tx buffer.
*/
if
(
length
==
send_length
)
ei_block_output
(
dev
,
length
,
skb
->
data
,
ei_local
->
tx_start_page
);
else
{
memset
(
scratch
,
0
,
ETH_ZLEN
);
memcpy
(
scratch
,
skb
->
data
,
skb
->
len
);
ei_block_output
(
dev
,
ETH_ZLEN
,
scratch
,
ei_local
->
tx_start_page
);
}
ei_local
->
txing
=
1
;
NS8390_trigger_send
(
dev
,
send_length
,
ei_local
->
tx_start_page
);
dev
->
trans_start
=
jiffies
;
netif_stop_queue
(
dev
);
#endif
/* EI_PINGPONG */
/* Turn 8390 interrupts back on. */
ei_local
->
irqlock
=
0
;
outb_p
(
ENISR_ALL
,
e8390_base
+
EN0_IMR
);
...
...
@@ -590,8 +567,6 @@ static void ei_tx_intr(struct net_device *dev)
outb_p
(
ENISR_TX
,
e8390_base
+
EN0_ISR
);
/* Ack intr. */
#ifdef EI_PINGPONG
/*
* There are two Tx buffers, see which one finished, and trigger
* the send of another one if it exists.
...
...
@@ -634,13 +609,6 @@ static void ei_tx_intr(struct net_device *dev)
// else printk(KERN_WARNING "%s: unexpected TX-done interrupt, lasttx=%d.\n",
// dev->name, ei_local->lasttx);
#else
/* EI_PINGPONG */
/*
* Single Tx buffer: mark it free so another packet can be loaded.
*/
ei_local
->
txing
=
0
;
#endif
/* Minimize Tx latency: update the statistics after we restart TXing. */
if
(
status
&
ENTSR_COL
)
ei_local
->
stat
.
collisions
++
;
...
...
drivers/net/8390.h
View file @
5e42488f
...
...
@@ -12,17 +12,7 @@
#include <linux/ioport.h>
#include <linux/skbuff.h>
#define TX_2X_PAGES 12
#define TX_1X_PAGES 6
/* Should always use two Tx slots to get back-to-back transmits. */
#define EI_PINGPONG
#ifdef EI_PINGPONG
#define TX_PAGES TX_2X_PAGES
#else
#define TX_PAGES TX_1X_PAGES
#endif
#define TX_PAGES 12
/* Two Tx slots */
#define ETHER_ADDR_LEN 6
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment