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
96e0ee07
Commit
96e0ee07
authored
Dec 26, 2004
by
Jeff Garzik
Browse files
Options
Browse Files
Download
Plain Diff
Merge pobox.com:/garz/repo/netdev-2.6/tlan
into pobox.com:/garz/repo/net-drivers-2.6
parents
7bedd791
1d947228
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
62 additions
and
98 deletions
+62
-98
drivers/net/tlan.c
drivers/net/tlan.c
+35
-37
drivers/net/tlan.h
drivers/net/tlan.h
+27
-61
No files found.
drivers/net/tlan.c
View file @
96e0ee07
...
@@ -223,13 +223,11 @@ static const char tlan_banner[] = "ThunderLAN driver v1.15\n";
...
@@ -223,13 +223,11 @@ static const char tlan_banner[] = "ThunderLAN driver v1.15\n";
static
int
tlan_have_pci
;
static
int
tlan_have_pci
;
static
int
tlan_have_eisa
;
static
int
tlan_have_eisa
;
const
char
*
media
[]
=
{
static
const
char
*
media
[]
=
{
"10BaseT-HD "
,
"10BaseT-FD "
,
"100baseTx-HD "
,
"10BaseT-HD "
,
"10BaseT-FD "
,
"100baseTx-HD "
,
"100baseTx-FD"
,
"100baseT4"
,
NULL
"100baseTx-FD"
,
"100baseT4"
,
NULL
};
};
int
media_map
[]
=
{
0x0020
,
0x0040
,
0x0080
,
0x0100
,
0x0200
,};
static
struct
board
{
static
struct
board
{
const
char
*
deviceLabel
;
const
char
*
deviceLabel
;
u32
flags
;
u32
flags
;
...
@@ -382,7 +380,7 @@ static TLanIntVectorFunc *TLanIntVector[TLAN_INT_NUMBER_OF_INTS] = {
...
@@ -382,7 +380,7 @@ static TLanIntVectorFunc *TLanIntVector[TLAN_INT_NUMBER_OF_INTS] = {
static
inline
void
static
inline
void
TLan_SetTimer
(
struct
net_device
*
dev
,
u32
ticks
,
u32
type
)
TLan_SetTimer
(
struct
net_device
*
dev
,
u32
ticks
,
u32
type
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
unsigned
long
flags
=
0
;
unsigned
long
flags
=
0
;
if
(
!
in_irq
())
if
(
!
in_irq
())
...
@@ -438,7 +436,7 @@ TLan_SetTimer( struct net_device *dev, u32 ticks, u32 type )
...
@@ -438,7 +436,7 @@ TLan_SetTimer( struct net_device *dev, u32 ticks, u32 type )
static
void
__devexit
tlan_remove_one
(
struct
pci_dev
*
pdev
)
static
void
__devexit
tlan_remove_one
(
struct
pci_dev
*
pdev
)
{
{
struct
net_device
*
dev
=
pci_get_drvdata
(
pdev
);
struct
net_device
*
dev
=
pci_get_drvdata
(
pdev
);
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
unregister_netdev
(
dev
);
unregister_netdev
(
dev
);
...
@@ -557,7 +555,7 @@ static int __devinit TLan_probe1(struct pci_dev *pdev,
...
@@ -557,7 +555,7 @@ static int __devinit TLan_probe1(struct pci_dev *pdev,
SET_MODULE_OWNER
(
dev
);
SET_MODULE_OWNER
(
dev
);
SET_NETDEV_DEV
(
dev
,
&
pdev
->
dev
);
SET_NETDEV_DEV
(
dev
,
&
pdev
->
dev
);
priv
=
dev
->
priv
;
priv
=
netdev_priv
(
dev
)
;
priv
->
pciDev
=
pdev
;
priv
->
pciDev
=
pdev
;
...
@@ -693,7 +691,7 @@ static void TLan_Eisa_Cleanup(void)
...
@@ -693,7 +691,7 @@ static void TLan_Eisa_Cleanup(void)
while
(
tlan_have_eisa
)
{
while
(
tlan_have_eisa
)
{
dev
=
TLan_Eisa_Devices
;
dev
=
TLan_Eisa_Devices
;
priv
=
dev
->
priv
;
priv
=
netdev_priv
(
dev
)
;
if
(
priv
->
dmaStorage
)
{
if
(
priv
->
dmaStorage
)
{
pci_free_consistent
(
priv
->
pciDev
,
priv
->
dmaSize
,
priv
->
dmaStorage
,
priv
->
dmaStorageDMA
);
pci_free_consistent
(
priv
->
pciDev
,
priv
->
dmaSize
,
priv
->
dmaStorage
,
priv
->
dmaStorageDMA
);
}
}
...
@@ -854,7 +852,7 @@ static int TLan_Init( struct net_device *dev )
...
@@ -854,7 +852,7 @@ static int TLan_Init( struct net_device *dev )
int
i
;
int
i
;
TLanPrivateInfo
*
priv
;
TLanPrivateInfo
*
priv
;
priv
=
dev
->
priv
;
priv
=
netdev_priv
(
dev
)
;
if
(
bbuf
)
{
if
(
bbuf
)
{
dma_size
=
(
TLAN_NUM_RX_LISTS
+
TLAN_NUM_TX_LISTS
)
dma_size
=
(
TLAN_NUM_RX_LISTS
+
TLAN_NUM_TX_LISTS
)
...
@@ -937,7 +935,7 @@ static int TLan_Init( struct net_device *dev )
...
@@ -937,7 +935,7 @@ static int TLan_Init( struct net_device *dev )
static
int
TLan_Open
(
struct
net_device
*
dev
)
static
int
TLan_Open
(
struct
net_device
*
dev
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
int
err
;
int
err
;
priv
->
tlanRev
=
TLan_DioRead8
(
dev
->
base_addr
,
TLAN_DEF_REVISION
);
priv
->
tlanRev
=
TLan_DioRead8
(
dev
->
base_addr
,
TLAN_DEF_REVISION
);
...
@@ -983,7 +981,7 @@ static int TLan_Open( struct net_device *dev )
...
@@ -983,7 +981,7 @@ static int TLan_Open( struct net_device *dev )
static
int
TLan_ioctl
(
struct
net_device
*
dev
,
struct
ifreq
*
rq
,
int
cmd
)
static
int
TLan_ioctl
(
struct
net_device
*
dev
,
struct
ifreq
*
rq
,
int
cmd
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
struct
mii_ioctl_data
*
data
=
if_mii
(
rq
);
struct
mii_ioctl_data
*
data
=
if_mii
(
rq
);
u32
phy
=
priv
->
phy
[
priv
->
phyNum
];
u32
phy
=
priv
->
phy
[
priv
->
phyNum
];
...
@@ -1062,7 +1060,7 @@ static void TLan_tx_timeout(struct net_device *dev)
...
@@ -1062,7 +1060,7 @@ static void TLan_tx_timeout(struct net_device *dev)
static
int
TLan_StartTx
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
)
static
int
TLan_StartTx
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
TLanList
*
tail_list
;
TLanList
*
tail_list
;
dma_addr_t
tail_list_phys
;
dma_addr_t
tail_list_phys
;
u8
*
tail_buffer
;
u8
*
tail_buffer
;
...
@@ -1170,7 +1168,7 @@ static irqreturn_t TLan_HandleInterrupt(int irq, void *dev_id, struct pt_regs *r
...
@@ -1170,7 +1168,7 @@ static irqreturn_t TLan_HandleInterrupt(int irq, void *dev_id, struct pt_regs *r
TLanPrivateInfo
*
priv
;
TLanPrivateInfo
*
priv
;
dev
=
dev_id
;
dev
=
dev_id
;
priv
=
dev
->
priv
;
priv
=
netdev_priv
(
dev
)
;
spin_lock
(
&
priv
->
lock
);
spin_lock
(
&
priv
->
lock
);
...
@@ -1211,7 +1209,7 @@ static irqreturn_t TLan_HandleInterrupt(int irq, void *dev_id, struct pt_regs *r
...
@@ -1211,7 +1209,7 @@ static irqreturn_t TLan_HandleInterrupt(int irq, void *dev_id, struct pt_regs *r
static
int
TLan_Close
(
struct
net_device
*
dev
)
static
int
TLan_Close
(
struct
net_device
*
dev
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
netif_stop_queue
(
dev
);
netif_stop_queue
(
dev
);
priv
->
neg_be_verbose
=
0
;
priv
->
neg_be_verbose
=
0
;
...
@@ -1251,7 +1249,7 @@ static int TLan_Close(struct net_device *dev)
...
@@ -1251,7 +1249,7 @@ static int TLan_Close(struct net_device *dev)
static
struct
net_device_stats
*
TLan_GetStats
(
struct
net_device
*
dev
)
static
struct
net_device_stats
*
TLan_GetStats
(
struct
net_device
*
dev
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
int
i
;
int
i
;
/* Should only read stats if open ? */
/* Should only read stats if open ? */
...
@@ -1270,7 +1268,7 @@ static struct net_device_stats *TLan_GetStats( struct net_device *dev )
...
@@ -1270,7 +1268,7 @@ static struct net_device_stats *TLan_GetStats( struct net_device *dev )
TLan_PrintList
(
priv
->
txList
+
i
,
"TX"
,
i
);
TLan_PrintList
(
priv
->
txList
+
i
,
"TX"
,
i
);
}
}
return
(
&
(
(
TLanPrivateInfo
*
)
dev
->
priv
)
->
stats
);
return
(
&
(
(
TLanPrivateInfo
*
)
netdev_priv
(
dev
)
)
->
stats
);
}
/* TLan_GetStats */
}
/* TLan_GetStats */
...
@@ -1405,7 +1403,7 @@ u32 TLan_HandleInvalid( struct net_device *dev, u16 host_int )
...
@@ -1405,7 +1403,7 @@ u32 TLan_HandleInvalid( struct net_device *dev, u16 host_int )
u32
TLan_HandleTxEOF
(
struct
net_device
*
dev
,
u16
host_int
)
u32
TLan_HandleTxEOF
(
struct
net_device
*
dev
,
u16
host_int
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
int
eoc
=
0
;
int
eoc
=
0
;
TLanList
*
head_list
;
TLanList
*
head_list
;
dma_addr_t
head_list_phys
;
dma_addr_t
head_list_phys
;
...
@@ -1527,7 +1525,7 @@ u32 TLan_HandleStatOverflow( struct net_device *dev, u16 host_int )
...
@@ -1527,7 +1525,7 @@ u32 TLan_HandleStatOverflow( struct net_device *dev, u16 host_int )
u32
TLan_HandleRxEOF
(
struct
net_device
*
dev
,
u16
host_int
)
u32
TLan_HandleRxEOF
(
struct
net_device
*
dev
,
u16
host_int
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
u32
ack
=
0
;
u32
ack
=
0
;
int
eoc
=
0
;
int
eoc
=
0
;
u8
*
head_buffer
;
u8
*
head_buffer
;
...
@@ -1694,7 +1692,7 @@ u32 TLan_HandleDummy( struct net_device *dev, u16 host_int )
...
@@ -1694,7 +1692,7 @@ u32 TLan_HandleDummy( struct net_device *dev, u16 host_int )
u32
TLan_HandleTxEOC
(
struct
net_device
*
dev
,
u16
host_int
)
u32
TLan_HandleTxEOC
(
struct
net_device
*
dev
,
u16
host_int
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
TLanList
*
head_list
;
TLanList
*
head_list
;
dma_addr_t
head_list_phys
;
dma_addr_t
head_list_phys
;
u32
ack
=
1
;
u32
ack
=
1
;
...
@@ -1742,7 +1740,7 @@ u32 TLan_HandleTxEOC( struct net_device *dev, u16 host_int )
...
@@ -1742,7 +1740,7 @@ u32 TLan_HandleTxEOC( struct net_device *dev, u16 host_int )
u32
TLan_HandleStatusCheck
(
struct
net_device
*
dev
,
u16
host_int
)
u32
TLan_HandleStatusCheck
(
struct
net_device
*
dev
,
u16
host_int
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
u32
ack
;
u32
ack
;
u32
error
;
u32
error
;
u8
net_sts
;
u8
net_sts
;
...
@@ -1817,7 +1815,7 @@ u32 TLan_HandleStatusCheck( struct net_device *dev, u16 host_int )
...
@@ -1817,7 +1815,7 @@ u32 TLan_HandleStatusCheck( struct net_device *dev, u16 host_int )
u32
TLan_HandleRxEOC
(
struct
net_device
*
dev
,
u16
host_int
)
u32
TLan_HandleRxEOC
(
struct
net_device
*
dev
,
u16
host_int
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
dma_addr_t
head_list_phys
;
dma_addr_t
head_list_phys
;
u32
ack
=
1
;
u32
ack
=
1
;
...
@@ -1878,7 +1876,7 @@ u32 TLan_HandleRxEOC( struct net_device *dev, u16 host_int )
...
@@ -1878,7 +1876,7 @@ u32 TLan_HandleRxEOC( struct net_device *dev, u16 host_int )
void
TLan_Timer
(
unsigned
long
data
)
void
TLan_Timer
(
unsigned
long
data
)
{
{
struct
net_device
*
dev
=
(
struct
net_device
*
)
data
;
struct
net_device
*
dev
=
(
struct
net_device
*
)
data
;
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
u32
elapsed
;
u32
elapsed
;
unsigned
long
flags
=
0
;
unsigned
long
flags
=
0
;
...
@@ -1958,7 +1956,7 @@ void TLan_Timer( unsigned long data )
...
@@ -1958,7 +1956,7 @@ void TLan_Timer( unsigned long data )
void
TLan_ResetLists
(
struct
net_device
*
dev
)
void
TLan_ResetLists
(
struct
net_device
*
dev
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
int
i
;
int
i
;
TLanList
*
list
;
TLanList
*
list
;
dma_addr_t
list_phys
;
dma_addr_t
list_phys
;
...
@@ -2018,7 +2016,7 @@ void TLan_ResetLists( struct net_device *dev )
...
@@ -2018,7 +2016,7 @@ void TLan_ResetLists( struct net_device *dev )
void
TLan_FreeLists
(
struct
net_device
*
dev
)
void
TLan_FreeLists
(
struct
net_device
*
dev
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
int
i
;
int
i
;
TLanList
*
list
;
TLanList
*
list
;
struct
sk_buff
*
skb
;
struct
sk_buff
*
skb
;
...
@@ -2138,7 +2136,7 @@ void TLan_PrintList( TLanList *list, char *type, int num)
...
@@ -2138,7 +2136,7 @@ void TLan_PrintList( TLanList *list, char *type, int num)
void
TLan_ReadAndClearStats
(
struct
net_device
*
dev
,
int
record
)
void
TLan_ReadAndClearStats
(
struct
net_device
*
dev
,
int
record
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
u32
tx_good
,
tx_under
;
u32
tx_good
,
tx_under
;
u32
rx_good
,
rx_over
;
u32
rx_good
,
rx_over
;
u32
def_tx
,
crc
,
code
;
u32
def_tx
,
crc
,
code
;
...
@@ -2214,7 +2212,7 @@ void TLan_ReadAndClearStats( struct net_device *dev, int record )
...
@@ -2214,7 +2212,7 @@ void TLan_ReadAndClearStats( struct net_device *dev, int record )
void
void
TLan_ResetAdapter
(
struct
net_device
*
dev
)
TLan_ResetAdapter
(
struct
net_device
*
dev
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
int
i
;
int
i
;
u32
addr
;
u32
addr
;
u32
data
;
u32
data
;
...
@@ -2300,7 +2298,7 @@ TLan_ResetAdapter( struct net_device *dev )
...
@@ -2300,7 +2298,7 @@ TLan_ResetAdapter( struct net_device *dev )
void
void
TLan_FinishReset
(
struct
net_device
*
dev
)
TLan_FinishReset
(
struct
net_device
*
dev
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
u8
data
;
u8
data
;
u32
phy
;
u32
phy
;
u8
sio
;
u8
sio
;
...
@@ -2464,7 +2462,7 @@ void TLan_SetMac( struct net_device *dev, int areg, char *mac )
...
@@ -2464,7 +2462,7 @@ void TLan_SetMac( struct net_device *dev, int areg, char *mac )
void
TLan_PhyPrint
(
struct
net_device
*
dev
)
void
TLan_PhyPrint
(
struct
net_device
*
dev
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
u16
i
,
data0
,
data1
,
data2
,
data3
,
phy
;
u16
i
,
data0
,
data1
,
data2
,
data3
,
phy
;
phy
=
priv
->
phy
[
priv
->
phyNum
];
phy
=
priv
->
phy
[
priv
->
phyNum
];
...
@@ -2513,7 +2511,7 @@ void TLan_PhyPrint( struct net_device *dev )
...
@@ -2513,7 +2511,7 @@ void TLan_PhyPrint( struct net_device *dev )
void
TLan_PhyDetect
(
struct
net_device
*
dev
)
void
TLan_PhyDetect
(
struct
net_device
*
dev
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
u16
control
;
u16
control
;
u16
hi
;
u16
hi
;
u16
lo
;
u16
lo
;
...
@@ -2560,7 +2558,7 @@ void TLan_PhyDetect( struct net_device *dev )
...
@@ -2560,7 +2558,7 @@ void TLan_PhyDetect( struct net_device *dev )
void
TLan_PhyPowerDown
(
struct
net_device
*
dev
)
void
TLan_PhyPowerDown
(
struct
net_device
*
dev
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
u16
value
;
u16
value
;
TLAN_DBG
(
TLAN_DEBUG_GNRL
,
"%s: Powering down PHY(s).
\n
"
,
dev
->
name
);
TLAN_DBG
(
TLAN_DEBUG_GNRL
,
"%s: Powering down PHY(s).
\n
"
,
dev
->
name
);
...
@@ -2585,7 +2583,7 @@ void TLan_PhyPowerDown( struct net_device *dev )
...
@@ -2585,7 +2583,7 @@ void TLan_PhyPowerDown( struct net_device *dev )
void
TLan_PhyPowerUp
(
struct
net_device
*
dev
)
void
TLan_PhyPowerUp
(
struct
net_device
*
dev
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
u16
value
;
u16
value
;
TLAN_DBG
(
TLAN_DEBUG_GNRL
,
"%s: Powering up PHY.
\n
"
,
dev
->
name
);
TLAN_DBG
(
TLAN_DEBUG_GNRL
,
"%s: Powering up PHY.
\n
"
,
dev
->
name
);
...
@@ -2606,7 +2604,7 @@ void TLan_PhyPowerUp( struct net_device *dev )
...
@@ -2606,7 +2604,7 @@ void TLan_PhyPowerUp( struct net_device *dev )
void
TLan_PhyReset
(
struct
net_device
*
dev
)
void
TLan_PhyReset
(
struct
net_device
*
dev
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
u16
phy
;
u16
phy
;
u16
value
;
u16
value
;
...
@@ -2634,7 +2632,7 @@ void TLan_PhyReset( struct net_device *dev )
...
@@ -2634,7 +2632,7 @@ void TLan_PhyReset( struct net_device *dev )
void
TLan_PhyStartLink
(
struct
net_device
*
dev
)
void
TLan_PhyStartLink
(
struct
net_device
*
dev
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
u16
ability
;
u16
ability
;
u16
control
;
u16
control
;
u16
data
;
u16
data
;
...
@@ -2721,7 +2719,7 @@ void TLan_PhyStartLink( struct net_device *dev )
...
@@ -2721,7 +2719,7 @@ void TLan_PhyStartLink( struct net_device *dev )
void
TLan_PhyFinishAutoNeg
(
struct
net_device
*
dev
)
void
TLan_PhyFinishAutoNeg
(
struct
net_device
*
dev
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
u16
an_adv
;
u16
an_adv
;
u16
an_lpa
;
u16
an_lpa
;
u16
data
;
u16
data
;
...
@@ -2805,7 +2803,7 @@ void TLan_PhyFinishAutoNeg( struct net_device *dev )
...
@@ -2805,7 +2803,7 @@ void TLan_PhyFinishAutoNeg( struct net_device *dev )
void
TLan_PhyMonitor
(
struct
net_device
*
dev
)
void
TLan_PhyMonitor
(
struct
net_device
*
dev
)
{
{
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
u16
phy
;
u16
phy
;
u16
phy_status
;
u16
phy_status
;
...
@@ -2882,7 +2880,7 @@ int TLan_MiiReadReg( struct net_device *dev, u16 phy, u16 reg, u16 *val )
...
@@ -2882,7 +2880,7 @@ int TLan_MiiReadReg( struct net_device *dev, u16 phy, u16 reg, u16 *val )
u32
i
;
u32
i
;
int
err
;
int
err
;
int
minten
;
int
minten
;
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
unsigned
long
flags
=
0
;
unsigned
long
flags
=
0
;
err
=
FALSE
;
err
=
FALSE
;
...
@@ -3051,7 +3049,7 @@ void TLan_MiiWriteReg( struct net_device *dev, u16 phy, u16 reg, u16 val )
...
@@ -3051,7 +3049,7 @@ void TLan_MiiWriteReg( struct net_device *dev, u16 phy, u16 reg, u16 val )
u16
sio
;
u16
sio
;
int
minten
;
int
minten
;
unsigned
long
flags
=
0
;
unsigned
long
flags
=
0
;
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
outw
(
TLAN_NET_SIO
,
dev
->
base_addr
+
TLAN_DIO_ADR
);
outw
(
TLAN_NET_SIO
,
dev
->
base_addr
+
TLAN_DIO_ADR
);
sio
=
dev
->
base_addr
+
TLAN_DIO_DATA
+
TLAN_NET_SIO
;
sio
=
dev
->
base_addr
+
TLAN_DIO_DATA
+
TLAN_NET_SIO
;
...
@@ -3278,7 +3276,7 @@ void TLan_EeReceiveByte( u16 io_base, u8 *data, int stop )
...
@@ -3278,7 +3276,7 @@ void TLan_EeReceiveByte( u16 io_base, u8 *data, int stop )
int
TLan_EeReadByte
(
struct
net_device
*
dev
,
u8
ee_addr
,
u8
*
data
)
int
TLan_EeReadByte
(
struct
net_device
*
dev
,
u8
ee_addr
,
u8
*
data
)
{
{
int
err
;
int
err
;
TLanPrivateInfo
*
priv
=
dev
->
priv
;
TLanPrivateInfo
*
priv
=
netdev_priv
(
dev
)
;
unsigned
long
flags
=
0
;
unsigned
long
flags
=
0
;
int
ret
=
0
;
int
ret
=
0
;
...
...
drivers/net/tlan.h
View file @
96e0ee07
...
@@ -443,7 +443,7 @@ typedef struct tlan_private_tag {
...
@@ -443,7 +443,7 @@ typedef struct tlan_private_tag {
/* Routines to access internal registers. */
/* Routines to access internal registers. */
inline
u8
TLan_DioRead8
(
u16
base_addr
,
u16
internal_addr
)
static
inline
u8
TLan_DioRead8
(
u16
base_addr
,
u16
internal_addr
)
{
{
outw
(
internal_addr
,
base_addr
+
TLAN_DIO_ADR
);
outw
(
internal_addr
,
base_addr
+
TLAN_DIO_ADR
);
return
(
inb
((
base_addr
+
TLAN_DIO_DATA
)
+
(
internal_addr
&
0x3
)));
return
(
inb
((
base_addr
+
TLAN_DIO_DATA
)
+
(
internal_addr
&
0x3
)));
...
@@ -453,7 +453,7 @@ inline u8 TLan_DioRead8(u16 base_addr, u16 internal_addr)
...
@@ -453,7 +453,7 @@ inline u8 TLan_DioRead8(u16 base_addr, u16 internal_addr)
inline
u16
TLan_DioRead16
(
u16
base_addr
,
u16
internal_addr
)
static
inline
u16
TLan_DioRead16
(
u16
base_addr
,
u16
internal_addr
)
{
{
outw
(
internal_addr
,
base_addr
+
TLAN_DIO_ADR
);
outw
(
internal_addr
,
base_addr
+
TLAN_DIO_ADR
);
return
(
inw
((
base_addr
+
TLAN_DIO_DATA
)
+
(
internal_addr
&
0x2
)));
return
(
inw
((
base_addr
+
TLAN_DIO_DATA
)
+
(
internal_addr
&
0x2
)));
...
@@ -463,7 +463,7 @@ inline u16 TLan_DioRead16(u16 base_addr, u16 internal_addr)
...
@@ -463,7 +463,7 @@ inline u16 TLan_DioRead16(u16 base_addr, u16 internal_addr)
inline
u32
TLan_DioRead32
(
u16
base_addr
,
u16
internal_addr
)
static
inline
u32
TLan_DioRead32
(
u16
base_addr
,
u16
internal_addr
)
{
{
outw
(
internal_addr
,
base_addr
+
TLAN_DIO_ADR
);
outw
(
internal_addr
,
base_addr
+
TLAN_DIO_ADR
);
return
(
inl
(
base_addr
+
TLAN_DIO_DATA
));
return
(
inl
(
base_addr
+
TLAN_DIO_DATA
));
...
@@ -473,7 +473,7 @@ inline u32 TLan_DioRead32(u16 base_addr, u16 internal_addr)
...
@@ -473,7 +473,7 @@ inline u32 TLan_DioRead32(u16 base_addr, u16 internal_addr)
inline
void
TLan_DioWrite8
(
u16
base_addr
,
u16
internal_addr
,
u8
data
)
static
inline
void
TLan_DioWrite8
(
u16
base_addr
,
u16
internal_addr
,
u8
data
)
{
{
outw
(
internal_addr
,
base_addr
+
TLAN_DIO_ADR
);
outw
(
internal_addr
,
base_addr
+
TLAN_DIO_ADR
);
outb
(
data
,
base_addr
+
TLAN_DIO_DATA
+
(
internal_addr
&
0x3
));
outb
(
data
,
base_addr
+
TLAN_DIO_DATA
+
(
internal_addr
&
0x3
));
...
@@ -483,7 +483,7 @@ inline void TLan_DioWrite8(u16 base_addr, u16 internal_addr, u8 data)
...
@@ -483,7 +483,7 @@ inline void TLan_DioWrite8(u16 base_addr, u16 internal_addr, u8 data)
inline
void
TLan_DioWrite16
(
u16
base_addr
,
u16
internal_addr
,
u16
data
)
static
inline
void
TLan_DioWrite16
(
u16
base_addr
,
u16
internal_addr
,
u16
data
)
{
{
outw
(
internal_addr
,
base_addr
+
TLAN_DIO_ADR
);
outw
(
internal_addr
,
base_addr
+
TLAN_DIO_ADR
);
outw
(
data
,
base_addr
+
TLAN_DIO_DATA
+
(
internal_addr
&
0x2
));
outw
(
data
,
base_addr
+
TLAN_DIO_DATA
+
(
internal_addr
&
0x2
));
...
@@ -493,46 +493,38 @@ inline void TLan_DioWrite16(u16 base_addr, u16 internal_addr, u16 data)
...
@@ -493,46 +493,38 @@ inline void TLan_DioWrite16(u16 base_addr, u16 internal_addr, u16 data)
inline
void
TLan_DioWrite32
(
u16
base_addr
,
u16
internal_addr
,
u32
data
)
static
inline
void
TLan_DioWrite32
(
u16
base_addr
,
u16
internal_addr
,
u32
data
)
{
{
outw
(
internal_addr
,
base_addr
+
TLAN_DIO_ADR
);
outw
(
internal_addr
,
base_addr
+
TLAN_DIO_ADR
);
outl
(
data
,
base_addr
+
TLAN_DIO_DATA
+
(
internal_addr
&
0x2
));
outl
(
data
,
base_addr
+
TLAN_DIO_DATA
+
(
internal_addr
&
0x2
));
}
}
#if 0
inline void TLan_ClearBit(u8 bit, u16 port)
{
outb_p(inb_p(port) & ~bit, port);
}
inline int TLan_GetBit(u8 bit, u16 port)
{
return ((int) (inb_p(port) & bit));
}
inline void TLan_SetBit(u8 bit, u16 port)
{
outb_p(inb_p(port) | bit, port);
}
#endif
#define TLan_ClearBit( bit, port ) outb_p(inb_p(port) & ~bit, port)
#define TLan_ClearBit( bit, port ) outb_p(inb_p(port) & ~bit, port)
#define TLan_GetBit( bit, port ) ((int) (inb_p(port) & bit))
#define TLan_GetBit( bit, port ) ((int) (inb_p(port) & bit))
#define TLan_SetBit( bit, port ) outb_p(inb_p(port) | bit, port)
#define TLan_SetBit( bit, port ) outb_p(inb_p(port) | bit, port)
#ifdef I_LIKE_A_FAST_HASH_FUNCTION
/*
/* given 6 bytes, view them as 8 6-bit numbers and return the XOR of those */
* given 6 bytes, view them as 8 6-bit numbers and return the XOR of those
/* the code below is about seven times as fast as the original code */
* the code below is about seven times as fast as the original code
inline
u32
TLan_HashFunc
(
u8
*
a
)
*
* The original code was:
*
* u32 xor( u32 a, u32 b ) { return ( ( a && ! b ) || ( ! a && b ) ); }
*
* #define XOR8( a, b, c, d, e, f, g, h ) \
* xor( a, xor( b, xor( c, xor( d, xor( e, xor( f, xor( g, h ) ) ) ) ) ) )
* #define DA( a, bit ) ( ( (u8) a[bit/8] ) & ( (u8) ( 1 << bit%8 ) ) )
*
* hash = XOR8( DA(a,0), DA(a, 6), DA(a,12), DA(a,18), DA(a,24), DA(a,30), DA(a,36), DA(a,42) );
* hash |= XOR8( DA(a,1), DA(a, 7), DA(a,13), DA(a,19), DA(a,25), DA(a,31), DA(a,37), DA(a,43) ) << 1;
* hash |= XOR8( DA(a,2), DA(a, 8), DA(a,14), DA(a,20), DA(a,26), DA(a,32), DA(a,38), DA(a,44) ) << 2;
* hash |= XOR8( DA(a,3), DA(a, 9), DA(a,15), DA(a,21), DA(a,27), DA(a,33), DA(a,39), DA(a,45) ) << 3;
* hash |= XOR8( DA(a,4), DA(a,10), DA(a,16), DA(a,22), DA(a,28), DA(a,34), DA(a,40), DA(a,46) ) << 4;
* hash |= XOR8( DA(a,5), DA(a,11), DA(a,17), DA(a,23), DA(a,29), DA(a,35), DA(a,41), DA(a,47) ) << 5;
*
*/
static
inline
u32
TLan_HashFunc
(
const
u8
*
a
)
{
{
u8
hash
;
u8
hash
;
...
@@ -545,30 +537,4 @@ inline u32 TLan_HashFunc( u8 *a )
...
@@ -545,30 +537,4 @@ inline u32 TLan_HashFunc( u8 *a )
return
(
hash
&
077
);
return
(
hash
&
077
);
}
}
#else
/* original code */
inline
u32
xor
(
u32
a
,
u32
b
)
{
return
(
(
a
&&
!
b
)
||
(
!
a
&&
b
)
);
}
#define XOR8( a, b, c, d, e, f, g, h ) xor( a, xor( b, xor( c, xor( d, xor( e, xor( f, xor( g, h ) ) ) ) ) ) )
#define DA( a, bit ) ( ( (u8) a[bit/8] ) & ( (u8) ( 1 << bit%8 ) ) )
inline
u32
TLan_HashFunc
(
u8
*
a
)
{
u32
hash
;
hash
=
XOR8
(
DA
(
a
,
0
),
DA
(
a
,
6
),
DA
(
a
,
12
),
DA
(
a
,
18
),
DA
(
a
,
24
),
DA
(
a
,
30
),
DA
(
a
,
36
),
DA
(
a
,
42
)
);
hash
|=
XOR8
(
DA
(
a
,
1
),
DA
(
a
,
7
),
DA
(
a
,
13
),
DA
(
a
,
19
),
DA
(
a
,
25
),
DA
(
a
,
31
),
DA
(
a
,
37
),
DA
(
a
,
43
)
)
<<
1
;
hash
|=
XOR8
(
DA
(
a
,
2
),
DA
(
a
,
8
),
DA
(
a
,
14
),
DA
(
a
,
20
),
DA
(
a
,
26
),
DA
(
a
,
32
),
DA
(
a
,
38
),
DA
(
a
,
44
)
)
<<
2
;
hash
|=
XOR8
(
DA
(
a
,
3
),
DA
(
a
,
9
),
DA
(
a
,
15
),
DA
(
a
,
21
),
DA
(
a
,
27
),
DA
(
a
,
33
),
DA
(
a
,
39
),
DA
(
a
,
45
)
)
<<
3
;
hash
|=
XOR8
(
DA
(
a
,
4
),
DA
(
a
,
10
),
DA
(
a
,
16
),
DA
(
a
,
22
),
DA
(
a
,
28
),
DA
(
a
,
34
),
DA
(
a
,
40
),
DA
(
a
,
46
)
)
<<
4
;
hash
|=
XOR8
(
DA
(
a
,
5
),
DA
(
a
,
11
),
DA
(
a
,
17
),
DA
(
a
,
23
),
DA
(
a
,
29
),
DA
(
a
,
35
),
DA
(
a
,
41
),
DA
(
a
,
47
)
)
<<
5
;
return
hash
;
}
#endif
/* I_LIKE_A_FAST_HASH_FUNCTION */
#endif
#endif
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