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
Kirill Smelkov
linux
Commits
598cb23f
Commit
598cb23f
authored
Oct 24, 2004
by
Jeff Garzik
Browse files
Options
Browse Files
Download
Plain Diff
Merge pobox.com:/garz/repo/netdev-2.6/acenic
into pobox.com:/garz/repo/net-drivers-2.6
parents
90babff0
3d4303d6
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
82 additions
and
114 deletions
+82
-114
drivers/net/acenic.c
drivers/net/acenic.c
+75
-96
drivers/net/acenic.h
drivers/net/acenic.h
+6
-17
drivers/net/acenic_firmware.h
drivers/net/acenic_firmware.h
+1
-1
No files found.
drivers/net/acenic.c
View file @
598cb23f
...
...
@@ -443,7 +443,7 @@ MODULE_PARM_DESC(max_rx_desc, "AceNIC/3C985/GA620 max number of receive descript
MODULE_PARM_DESC
(
tx_ratio
,
"AceNIC/3C985/GA620 ratio of NIC memory used for TX/RX descriptors (range 0-63)"
);
static
char
version
[]
__initdata
=
static
char
version
[]
__
dev
initdata
=
"acenic.c: v0.92 08/05/2002 Jes Sorensen, linux-acenic@SunSITE.dk
\n
"
" http://home.cern.ch/~jes/gige/acenic.html
\n
"
;
...
...
@@ -538,7 +538,7 @@ static int __devinit acenic_probe_one(struct pci_dev *pdev,
* addresses but who gives a damn.
*/
dev
->
base_addr
=
pci_resource_start
(
pdev
,
0
);
ap
->
regs
=
(
struct
ace_regs
*
)
ioremap
(
dev
->
base_addr
,
0x4000
);
ap
->
regs
=
ioremap
(
dev
->
base_addr
,
0x4000
);
if
(
!
ap
->
regs
)
{
printk
(
KERN_ERR
"%s: Unable to map I/O register, "
"AceNIC %i will be disabled.
\n
"
,
...
...
@@ -631,7 +631,7 @@ static void __devexit acenic_remove_one(struct pci_dev *pdev)
{
struct
net_device
*
dev
=
pci_get_drvdata
(
pdev
);
struct
ace_private
*
ap
=
netdev_priv
(
dev
);
struct
ace_regs
*
regs
=
ap
->
regs
;
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
short
i
;
unregister_netdev
(
dev
);
...
...
@@ -884,7 +884,7 @@ static void ace_init_cleanup(struct net_device *dev)
/*
* Commands are considered to be slow.
*/
static
inline
void
ace_issue_cmd
(
struct
ace_regs
*
regs
,
struct
cmd
*
cmd
)
static
inline
void
ace_issue_cmd
(
struct
ace_regs
__iomem
*
regs
,
struct
cmd
*
cmd
)
{
u32
idx
;
...
...
@@ -897,10 +897,10 @@ static inline void ace_issue_cmd(struct ace_regs *regs, struct cmd *cmd)
}
static
int
__init
ace_init
(
struct
net_device
*
dev
)
static
int
__
dev
init
ace_init
(
struct
net_device
*
dev
)
{
struct
ace_private
*
ap
;
struct
ace_regs
*
regs
;
struct
ace_regs
__iomem
*
regs
;
struct
ace_info
*
info
=
NULL
;
struct
pci_dev
*
pdev
;
unsigned
long
myjif
;
...
...
@@ -1318,11 +1318,10 @@ static int __init ace_init(struct net_device *dev)
writel
(
TX_RING_BASE
,
&
regs
->
WinBase
);
if
(
ACE_IS_TIGON_I
(
ap
))
{
ap
->
tx_ring
=
(
struct
tx_desc
*
)
regs
->
Window
;
for
(
i
=
0
;
i
<
(
TIGON_I_TX_RING_ENTRIES
*
sizeof
(
struct
tx_desc
)
/
4
);
i
++
)
{
writel
(
0
,
(
unsigned
long
)
ap
->
tx_ring
+
i
*
4
);
}
ap
->
tx_ring
=
(
struct
tx_desc
*
)
regs
->
Window
;
for
(
i
=
0
;
i
<
(
TIGON_I_TX_RING_ENTRIES
*
sizeof
(
struct
tx_desc
))
/
sizeof
(
u32
);
i
++
)
writel
(
0
,
(
void
__iomem
*
)
ap
->
tx_ring
+
i
*
4
);
set_aceaddr
(
&
info
->
tx_ctrl
.
rngptr
,
TX_RING_BASE
);
}
else
{
...
...
@@ -1549,14 +1548,9 @@ static int __init ace_init(struct net_device *dev)
static
void
ace_set_rxtx_parms
(
struct
net_device
*
dev
,
int
jumbo
)
{
struct
ace_private
*
ap
;
struct
ace_regs
*
regs
;
int
board_idx
;
ap
=
netdev_priv
(
dev
);
regs
=
ap
->
regs
;
board_idx
=
ap
->
board_idx
;
struct
ace_private
*
ap
=
netdev_priv
(
dev
);
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
int
board_idx
=
ap
->
board_idx
;
if
(
board_idx
>=
0
)
{
if
(
!
jumbo
)
{
...
...
@@ -1594,7 +1588,7 @@ static void ace_watchdog(struct net_device *data)
{
struct
net_device
*
dev
=
data
;
struct
ace_private
*
ap
=
netdev_priv
(
dev
);
struct
ace_regs
*
regs
=
ap
->
regs
;
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
/*
* We haven't received a stats update event for more than 2.5
...
...
@@ -1617,7 +1611,7 @@ static void ace_watchdog(struct net_device *data)
static
void
ace_tasklet
(
unsigned
long
dev
)
{
struct
ace_private
*
ap
=
((
struct
net_device
*
)
dev
)
->
priv
;
struct
ace_private
*
ap
=
netdev_priv
((
struct
net_device
*
)
dev
)
;
int
cur_size
;
cur_size
=
atomic_read
(
&
ap
->
cur_rx_bufs
);
...
...
@@ -1675,10 +1669,9 @@ static void ace_dump_trace(struct ace_private *ap)
*/
static
void
ace_load_std_rx_ring
(
struct
ace_private
*
ap
,
int
nr_bufs
)
{
struct
ace_regs
*
regs
;
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
short
i
,
idx
;
regs
=
ap
->
regs
;
prefetchw
(
&
ap
->
cur_rx_bufs
);
...
...
@@ -1739,11 +1732,9 @@ static void ace_load_std_rx_ring(struct ace_private *ap, int nr_bufs)
static
void
ace_load_mini_rx_ring
(
struct
ace_private
*
ap
,
int
nr_bufs
)
{
struct
ace_regs
*
regs
;
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
short
i
,
idx
;
regs
=
ap
->
regs
;
prefetchw
(
&
ap
->
cur_mini_bufs
);
idx
=
ap
->
rx_mini_skbprd
;
...
...
@@ -1798,11 +1789,9 @@ static void ace_load_mini_rx_ring(struct ace_private *ap, int nr_bufs)
*/
static
void
ace_load_jumbo_rx_ring
(
struct
ace_private
*
ap
,
int
nr_bufs
)
{
struct
ace_regs
*
regs
;
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
short
i
,
idx
;
regs
=
ap
->
regs
;
idx
=
ap
->
rx_jumbo_skbprd
;
for
(
i
=
0
;
i
<
nr_bufs
;
i
++
)
{
...
...
@@ -2082,8 +2071,7 @@ static void ace_rx_int(struct net_device *dev, u32 rxretprd, u32 rxretcsm)
* the 12.3.x Firmware - my Tigon I NICs seem to disagree!
*/
if
(
ACE_IS_TIGON_I
(
ap
))
{
struct
ace_regs
*
regs
=
ap
->
regs
;
writel
(
idx
,
&
regs
->
RxRetCsm
);
writel
(
idx
,
&
ap
->
regs
->
RxRetCsm
);
}
ap
->
cur_rx
=
idx
;
...
...
@@ -2163,16 +2151,13 @@ static inline void ace_tx_int(struct net_device *dev,
static
irqreturn_t
ace_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
ptregs
)
{
struct
ace_private
*
ap
;
struct
ace_regs
*
regs
;
struct
net_device
*
dev
=
(
struct
net_device
*
)
dev_id
;
struct
ace_private
*
ap
=
netdev_priv
(
dev
);
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
u32
idx
;
u32
txcsm
,
rxretcsm
,
rxretprd
;
u32
evtcsm
,
evtprd
;
ap
=
netdev_priv
(
dev
);
regs
=
ap
->
regs
;
/*
* In case of PCI shared interrupts or spurious interrupts,
* we want to make sure it is actually our interrupt before
...
...
@@ -2325,13 +2310,10 @@ static void ace_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid)
static
int
ace_open
(
struct
net_device
*
dev
)
{
struct
ace_private
*
ap
;
struct
ace_regs
*
regs
;
struct
ace_private
*
ap
=
netdev_priv
(
dev
)
;
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
struct
cmd
cmd
;
ap
=
netdev_priv
(
dev
);
regs
=
ap
->
regs
;
if
(
!
(
ap
->
fw_running
))
{
printk
(
KERN_WARNING
"%s: Firmware not running!
\n
"
,
dev
->
name
);
return
-
EBUSY
;
...
...
@@ -2383,8 +2365,8 @@ static int ace_open(struct net_device *dev)
static
int
ace_close
(
struct
net_device
*
dev
)
{
struct
ace_private
*
ap
;
struct
ace_regs
*
regs
;
struct
ace_private
*
ap
=
netdev_priv
(
dev
)
;
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
struct
cmd
cmd
;
unsigned
long
flags
;
short
i
;
...
...
@@ -2396,9 +2378,7 @@ static int ace_close(struct net_device *dev)
*/
netif_stop_queue
(
dev
);
ap
=
netdev_priv
(
dev
);
regs
=
ap
->
regs
;
if
(
ap
->
promisc
)
{
cmd
.
evt
=
C_SET_PROMISC_MODE
;
cmd
.
code
=
C_C_PROMISC_DISABLE
;
...
...
@@ -2433,9 +2413,11 @@ static int ace_close(struct net_device *dev)
if
(
mapping
)
{
if
(
ACE_IS_TIGON_I
(
ap
))
{
writel
(
0
,
&
ap
->
tx_ring
[
i
].
addr
.
addrhi
);
writel
(
0
,
&
ap
->
tx_ring
[
i
].
addr
.
addrlo
);
writel
(
0
,
&
ap
->
tx_ring
[
i
].
flagsize
);
struct
tx_desc
__iomem
*
tx
=
(
struct
tx_desc
__iomem
*
)
&
ap
->
tx_ring
[
i
];
writel
(
0
,
&
tx
->
addr
.
addrhi
);
writel
(
0
,
&
tx
->
addr
.
addrlo
);
writel
(
0
,
&
tx
->
flagsize
);
}
else
memset
(
ap
->
tx_ring
+
i
,
0
,
sizeof
(
struct
tx_desc
));
...
...
@@ -2492,11 +2474,12 @@ ace_load_tx_bd(struct ace_private *ap, struct tx_desc *desc, u64 addr,
#endif
if
(
ACE_IS_TIGON_I
(
ap
))
{
writel
(
addr
>>
32
,
&
desc
->
addr
.
addrhi
);
writel
(
addr
&
0xffffffff
,
&
desc
->
addr
.
addrlo
);
writel
(
flagsize
,
&
desc
->
flagsize
);
struct
tx_desc
__iomem
*
io
=
(
struct
tx_desc
__iomem
*
)
desc
;
writel
(
addr
>>
32
,
&
io
->
addr
.
addrhi
);
writel
(
addr
&
0xffffffff
,
&
io
->
addr
.
addrlo
);
writel
(
flagsize
,
&
io
->
flagsize
);
#if ACENIC_DO_VLAN
writel
(
vlan_tag
,
&
desc
->
vlanres
);
writel
(
vlan_tag
,
&
io
->
vlanres
);
#endif
}
else
{
desc
->
addr
.
addrhi
=
addr
>>
32
;
...
...
@@ -2512,9 +2495,10 @@ ace_load_tx_bd(struct ace_private *ap, struct tx_desc *desc, u64 addr,
static
int
ace_start_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
)
{
struct
ace_private
*
ap
=
netdev_priv
(
dev
);
struct
ace_regs
*
regs
=
ap
->
regs
;
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
struct
tx_desc
*
desc
;
u32
idx
,
flagsize
;
unsigned
long
maxjiff
=
jiffies
+
3
*
HZ
;
restart:
idx
=
ap
->
tx_prd
;
...
...
@@ -2522,10 +2506,7 @@ static int ace_start_xmit(struct sk_buff *skb, struct net_device *dev)
if
(
tx_ring_full
(
ap
,
ap
->
tx_ret_csm
,
idx
))
goto
overflow
;
#if MAX_SKB_FRAGS
if
(
!
skb_shinfo
(
skb
)
->
nr_frags
)
#endif
{
if
(
!
skb_shinfo
(
skb
)
->
nr_frags
)
{
dma_addr_t
mapping
;
u32
vlan_tag
=
0
;
...
...
@@ -2547,9 +2528,7 @@ static int ace_start_xmit(struct sk_buff *skb, struct net_device *dev)
flagsize
|=
BD_FLG_COAL_NOW
;
ace_load_tx_bd
(
ap
,
desc
,
mapping
,
flagsize
,
vlan_tag
);
}
#if MAX_SKB_FRAGS
else
{
}
else
{
dma_addr_t
mapping
;
u32
vlan_tag
=
0
;
int
i
,
len
=
0
;
...
...
@@ -2604,7 +2583,6 @@ static int ace_start_xmit(struct sk_buff *skb, struct net_device *dev)
ace_load_tx_bd
(
ap
,
desc
,
mapping
,
flagsize
,
vlan_tag
);
}
}
#endif
wmb
();
ap
->
tx_prd
=
idx
;
...
...
@@ -2624,7 +2602,7 @@ static int ace_start_xmit(struct sk_buff *skb, struct net_device *dev)
}
dev
->
trans_start
=
jiffies
;
return
0
;
return
NETDEV_TX_OK
;
overflow:
/*
...
...
@@ -2643,15 +2621,22 @@ static int ace_start_xmit(struct sk_buff *skb, struct net_device *dev)
* Alternative is to return with 1 not throttling queue. In this
* case loop becomes longer, no more useful effects.
*/
barrier
();
goto
restart
;
if
(
time_before
(
jiffies
,
maxjiff
))
{
barrier
();
cpu_relax
();
goto
restart
;
}
/* The ring is stuck full. */
printk
(
KERN_WARNING
"%s: Transmit ring stuck full
\n
"
,
dev
->
name
);
return
NETDEV_TX_BUSY
;
}
static
int
ace_change_mtu
(
struct
net_device
*
dev
,
int
new_mtu
)
{
struct
ace_private
*
ap
=
netdev_priv
(
dev
);
struct
ace_regs
*
regs
=
ap
->
regs
;
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
if
(
new_mtu
>
ACE_JUMBO_MTU
)
return
-
EINVAL
;
...
...
@@ -2688,7 +2673,7 @@ static int ace_change_mtu(struct net_device *dev, int new_mtu)
static
int
ace_get_settings
(
struct
net_device
*
dev
,
struct
ethtool_cmd
*
ecmd
)
{
struct
ace_private
*
ap
=
netdev_priv
(
dev
);
struct
ace_regs
*
regs
=
ap
->
regs
;
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
u32
link
;
memset
(
ecmd
,
0
,
sizeof
(
struct
ethtool_cmd
));
...
...
@@ -2741,7 +2726,7 @@ static int ace_get_settings(struct net_device *dev, struct ethtool_cmd *ecmd)
static
int
ace_set_settings
(
struct
net_device
*
dev
,
struct
ethtool_cmd
*
ecmd
)
{
struct
ace_private
*
ap
=
netdev_priv
(
dev
);
struct
ace_regs
*
regs
=
ap
->
regs
;
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
u32
link
,
speed
;
link
=
readl
(
&
regs
->
GigLnkState
);
...
...
@@ -2821,8 +2806,9 @@ static void ace_get_drvinfo(struct net_device *dev,
*/
static
int
ace_set_mac_addr
(
struct
net_device
*
dev
,
void
*
p
)
{
struct
ace_private
*
ap
=
netdev_priv
(
dev
);
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
struct
sockaddr
*
addr
=
p
;
struct
ace_regs
*
regs
;
u8
*
da
;
struct
cmd
cmd
;
...
...
@@ -2833,7 +2819,6 @@ static int ace_set_mac_addr(struct net_device *dev, void *p)
da
=
(
u8
*
)
dev
->
dev_addr
;
regs
=
((
struct
ace_private
*
)
netdev_priv
(
dev
))
->
regs
;
writel
(
da
[
0
]
<<
8
|
da
[
1
],
&
regs
->
MacAddrHi
);
writel
((
da
[
2
]
<<
24
)
|
(
da
[
3
]
<<
16
)
|
(
da
[
4
]
<<
8
)
|
da
[
5
],
&
regs
->
MacAddrLo
);
...
...
@@ -2850,7 +2835,7 @@ static int ace_set_mac_addr(struct net_device *dev, void *p)
static
void
ace_set_multicast_list
(
struct
net_device
*
dev
)
{
struct
ace_private
*
ap
=
netdev_priv
(
dev
);
struct
ace_regs
*
regs
=
ap
->
regs
;
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
struct
cmd
cmd
;
if
((
dev
->
flags
&
IFF_ALLMULTI
)
&&
!
(
ap
->
mcast_all
))
{
...
...
@@ -2904,8 +2889,8 @@ static void ace_set_multicast_list(struct net_device *dev)
static
struct
net_device_stats
*
ace_get_stats
(
struct
net_device
*
dev
)
{
struct
ace_private
*
ap
=
netdev_priv
(
dev
);
struct
ace_mac_stats
*
mac_stats
=
(
struct
ace_mac_stats
*
)
ap
->
regs
->
Stats
;
struct
ace_mac_stats
__iomem
*
mac_stats
=
(
struct
ace_mac_stats
__iomem
*
)
ap
->
regs
->
Stats
;
ap
->
stats
.
rx_missed_errors
=
readl
(
&
mac_stats
->
drop_space
);
ap
->
stats
.
multicast
=
readl
(
&
mac_stats
->
kept_mc
);
...
...
@@ -2915,10 +2900,10 @@ static struct net_device_stats *ace_get_stats(struct net_device *dev)
}
static
void
__
init
ace_copy
(
struct
ace_regs
*
regs
,
void
*
src
,
static
void
__
devinit
ace_copy
(
struct
ace_regs
__iomem
*
regs
,
void
*
src
,
u32
dest
,
int
size
)
{
unsigned
long
tdest
;
void
__iomem
*
tdest
;
u32
*
wsrc
;
short
tsize
,
i
;
...
...
@@ -2928,7 +2913,7 @@ static void __init ace_copy(struct ace_regs *regs, void *src,
while
(
size
>
0
)
{
tsize
=
min_t
(
u32
,
((
~
dest
&
(
ACE_WINDOW_SIZE
-
1
))
+
1
),
min_t
(
u32
,
size
,
ACE_WINDOW_SIZE
));
tdest
=
(
unsigned
long
)
&
regs
->
Window
+
tdest
=
(
void
__iomem
*
)
&
regs
->
Window
+
(
dest
&
(
ACE_WINDOW_SIZE
-
1
));
writel
(
dest
&
~
(
ACE_WINDOW_SIZE
-
1
),
&
regs
->
WinBase
);
/*
...
...
@@ -2948,9 +2933,9 @@ static void __init ace_copy(struct ace_regs *regs, void *src,
}
static
void
__
init
ace_clear
(
struct
ace_regs
*
regs
,
u32
dest
,
int
size
)
static
void
__
devinit
ace_clear
(
struct
ace_regs
__iomem
*
regs
,
u32
dest
,
int
size
)
{
unsigned
long
tdest
;
void
__iomem
*
tdest
;
short
tsize
=
0
,
i
;
if
(
size
<=
0
)
...
...
@@ -2959,7 +2944,7 @@ static void __init ace_clear(struct ace_regs *regs, u32 dest, int size)
while
(
size
>
0
)
{
tsize
=
min_t
(
u32
,
((
~
dest
&
(
ACE_WINDOW_SIZE
-
1
))
+
1
),
min_t
(
u32
,
size
,
ACE_WINDOW_SIZE
));
tdest
=
(
unsigned
long
)
&
regs
->
Window
+
tdest
=
(
void
__iomem
*
)
&
regs
->
Window
+
(
dest
&
(
ACE_WINDOW_SIZE
-
1
));
writel
(
dest
&
~
(
ACE_WINDOW_SIZE
-
1
),
&
regs
->
WinBase
);
...
...
@@ -2981,13 +2966,10 @@ static void __init ace_clear(struct ace_regs *regs, u32 dest, int size)
* This operation requires the NIC to be halted and is performed with
* interrupts disabled and with the spinlock hold.
*/
int
__init
ace_load_firmware
(
struct
net_device
*
dev
)
int
__
dev
init
ace_load_firmware
(
struct
net_device
*
dev
)
{
struct
ace_private
*
ap
;
struct
ace_regs
*
regs
;
ap
=
netdev_priv
(
dev
);
regs
=
ap
->
regs
;
struct
ace_private
*
ap
=
netdev_priv
(
dev
);
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
if
(
!
(
readl
(
&
regs
->
CpuCtrl
)
&
CPU_HALTED
))
{
printk
(
KERN_ERR
"%s: trying to download firmware while the "
...
...
@@ -3035,7 +3017,7 @@ int __init ace_load_firmware(struct net_device *dev)
* Thanks to Stevarino Webinski for helping tracking down the bugs in the
* code i2c readout code by beta testing all my hacks.
*/
static
void
__
init
eeprom_start
(
struct
ace_regs
*
regs
)
static
void
__
devinit
eeprom_start
(
struct
ace_regs
__iomem
*
regs
)
{
u32
local
;
...
...
@@ -3064,7 +3046,7 @@ static void __init eeprom_start(struct ace_regs *regs)
}
static
void
__
init
eeprom_prep
(
struct
ace_regs
*
regs
,
u8
magic
)
static
void
__
devinit
eeprom_prep
(
struct
ace_regs
__iomem
*
regs
,
u8
magic
)
{
short
i
;
u32
local
;
...
...
@@ -3101,7 +3083,7 @@ static void __init eeprom_prep(struct ace_regs *regs, u8 magic)
}
static
int
__
init
eeprom_check_ack
(
struct
ace_regs
*
regs
)
static
int
__
devinit
eeprom_check_ack
(
struct
ace_regs
__iomem
*
regs
)
{
int
state
;
u32
local
;
...
...
@@ -3129,7 +3111,7 @@ static int __init eeprom_check_ack(struct ace_regs *regs)
}
static
void
__
init
eeprom_stop
(
struct
ace_regs
*
regs
)
static
void
__
devinit
eeprom_stop
(
struct
ace_regs
__iomem
*
regs
)
{
u32
local
;
...
...
@@ -3164,11 +3146,11 @@ static void __init eeprom_stop(struct ace_regs *regs)
/*
* Read a whole byte from the EEPROM.
*/
static
int
__init
read_eeprom_byte
(
struct
net_device
*
dev
,
static
int
__
dev
init
read_eeprom_byte
(
struct
net_device
*
dev
,
unsigned
long
offset
)
{
struct
ace_private
*
ap
;
struct
ace_regs
*
regs
;
struct
ace_private
*
ap
=
netdev_priv
(
dev
)
;
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
unsigned
long
flags
;
u32
local
;
int
result
=
0
;
...
...
@@ -3180,9 +3162,6 @@ static int __init read_eeprom_byte(struct net_device *dev,
goto
out
;
}
ap
=
netdev_priv
(
dev
);
regs
=
ap
->
regs
;
/*
* Don't take interrupts on this CPU will bit banging
* the %#%#@$ I2C device
...
...
drivers/net/acenic.h
View file @
598cb23f
...
...
@@ -10,11 +10,6 @@
*/
#define USE_TX_COAL_NOW 0
#ifndef MAX_SKB_FRAGS
#define MAX_SKB_FRAGS 0
#endif
/*
* Addressing:
*
...
...
@@ -638,7 +633,7 @@ struct ace_skb
struct
ace_private
{
struct
ace_info
*
info
;
struct
ace_regs
*
regs
;
/* register base */
struct
ace_regs
__iomem
*
regs
;
/* register base */
struct
ace_skb
*
skb
;
dma_addr_t
info_dma
;
/* 32/64 bit */
...
...
@@ -712,13 +707,7 @@ static inline int tx_space (struct ace_private *ap, u32 csm, u32 prd)
}
#define tx_free(ap) tx_space((ap)->tx_ret_csm, (ap)->tx_prd, ap)
#if MAX_SKB_FRAGS
#define tx_ring_full(ap, csm, prd) (tx_space(ap, csm, prd) <= TX_RESERVED)
#else
#define tx_ring_full 0
#endif
static
inline
void
set_aceaddr
(
aceaddr
*
aa
,
dma_addr_t
addr
)
{
...
...
@@ -729,7 +718,7 @@ static inline void set_aceaddr(aceaddr *aa, dma_addr_t addr)
}
static
inline
void
ace_set_txprd
(
struct
ace_regs
*
regs
,
static
inline
void
ace_set_txprd
(
struct
ace_regs
__iomem
*
regs
,
struct
ace_private
*
ap
,
u32
value
)
{
#ifdef INDEX_DEBUG
...
...
@@ -750,8 +739,8 @@ static inline void ace_set_txprd(struct ace_regs *regs,
static
inline
void
ace_mask_irq
(
struct
net_device
*
dev
)
{
struct
ace_private
*
ap
=
dev
->
priv
;
struct
ace_regs
*
regs
=
ap
->
regs
;
struct
ace_private
*
ap
=
netdev_priv
(
dev
)
;
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
if
(
ACE_IS_TIGON_I
(
ap
))
writel
(
1
,
&
regs
->
MaskInt
);
...
...
@@ -764,8 +753,8 @@ static inline void ace_mask_irq(struct net_device *dev)
static
inline
void
ace_unmask_irq
(
struct
net_device
*
dev
)
{
struct
ace_private
*
ap
=
dev
->
priv
;
struct
ace_regs
*
regs
=
ap
->
regs
;
struct
ace_private
*
ap
=
netdev_priv
(
dev
)
;
struct
ace_regs
__iomem
*
regs
=
ap
->
regs
;
if
(
ACE_IS_TIGON_I
(
ap
))
writel
(
0
,
&
regs
->
MaskInt
);
...
...
drivers/net/acenic_firmware.h
View file @
598cb23f
...
...
@@ -23,7 +23,7 @@
#define tigonFwRodata NULL
#else
/* Generated by genfw.c */
static
u32
tigonFwText
[(
MAX_TEXT_LEN
/
4
)
+
1
]
__initdata
=
{
static
u32
tigonFwText
[(
MAX_TEXT_LEN
/
4
)
+
1
]
__
dev
initdata
=
{
0x10000003
,
0x0
,
0xd
,
0xd
,
0x3c1d0001
,
0x8fbd5c54
,
0x3a0f021
,
0x3c100000
,
0x26104000
,
...
...
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