diff options
Diffstat (limited to 'drivers/net/tlan.c')
-rw-r--r-- | drivers/net/tlan.c | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/drivers/net/tlan.c b/drivers/net/tlan.c index 3d31b47332bb..390540c101c7 100644 --- a/drivers/net/tlan.c +++ b/drivers/net/tlan.c | |||
@@ -254,7 +254,7 @@ static struct board { | |||
254 | { "Compaq NetFlex-3/E", TLAN_ADAPTER_ACTIVITY_LED, 0x83 }, /* EISA card */ | 254 | { "Compaq NetFlex-3/E", TLAN_ADAPTER_ACTIVITY_LED, 0x83 }, /* EISA card */ |
255 | }; | 255 | }; |
256 | 256 | ||
257 | static struct pci_device_id tlan_pci_tbl[] = { | 257 | static DEFINE_PCI_DEVICE_TABLE(tlan_pci_tbl) = { |
258 | { PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL10, | 258 | { PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL10, |
259 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, | 259 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, |
260 | { PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100, | 260 | { PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100, |
@@ -338,7 +338,7 @@ static int TLan_PhyInternalService( struct net_device * ); | |||
338 | static int TLan_PhyDp83840aCheck( struct net_device * ); | 338 | static int TLan_PhyDp83840aCheck( struct net_device * ); |
339 | */ | 339 | */ |
340 | 340 | ||
341 | static int TLan_MiiReadReg( struct net_device *, u16, u16, u16 * ); | 341 | static bool TLan_MiiReadReg( struct net_device *, u16, u16, u16 * ); |
342 | static void TLan_MiiSendData( u16, u32, unsigned ); | 342 | static void TLan_MiiSendData( u16, u32, unsigned ); |
343 | static void TLan_MiiSync( u16 ); | 343 | static void TLan_MiiSync( u16 ); |
344 | static void TLan_MiiWriteReg( struct net_device *, u16, u16, u16 ); | 344 | static void TLan_MiiWriteReg( struct net_device *, u16, u16, u16 ); |
@@ -1314,7 +1314,7 @@ static struct net_device_stats *TLan_GetStats( struct net_device *dev ) | |||
1314 | 1314 | ||
1315 | static void TLan_SetMulticastList( struct net_device *dev ) | 1315 | static void TLan_SetMulticastList( struct net_device *dev ) |
1316 | { | 1316 | { |
1317 | struct dev_mc_list *dmi = dev->mc_list; | 1317 | struct dev_mc_list *dmi; |
1318 | u32 hash1 = 0; | 1318 | u32 hash1 = 0; |
1319 | u32 hash2 = 0; | 1319 | u32 hash2 = 0; |
1320 | int i; | 1320 | int i; |
@@ -1335,7 +1335,8 @@ static void TLan_SetMulticastList( struct net_device *dev ) | |||
1335 | TLan_DioWrite32( dev->base_addr, TLAN_HASH_1, 0xFFFFFFFF ); | 1335 | TLan_DioWrite32( dev->base_addr, TLAN_HASH_1, 0xFFFFFFFF ); |
1336 | TLan_DioWrite32( dev->base_addr, TLAN_HASH_2, 0xFFFFFFFF ); | 1336 | TLan_DioWrite32( dev->base_addr, TLAN_HASH_2, 0xFFFFFFFF ); |
1337 | } else { | 1337 | } else { |
1338 | for ( i = 0; i < dev->mc_count; i++ ) { | 1338 | i = 0; |
1339 | netdev_for_each_mc_addr(dmi, dev) { | ||
1339 | if ( i < 3 ) { | 1340 | if ( i < 3 ) { |
1340 | TLan_SetMac( dev, i + 1, | 1341 | TLan_SetMac( dev, i + 1, |
1341 | (char *) &dmi->dmi_addr ); | 1342 | (char *) &dmi->dmi_addr ); |
@@ -1346,7 +1347,7 @@ static void TLan_SetMulticastList( struct net_device *dev ) | |||
1346 | else | 1347 | else |
1347 | hash2 |= ( 1 << ( offset - 32 ) ); | 1348 | hash2 |= ( 1 << ( offset - 32 ) ); |
1348 | } | 1349 | } |
1349 | dmi = dmi->next; | 1350 | i++; |
1350 | } | 1351 | } |
1351 | for ( ; i < 3; i++ ) | 1352 | for ( ; i < 3; i++ ) |
1352 | TLan_SetMac( dev, i + 1, NULL ); | 1353 | TLan_SetMac( dev, i + 1, NULL ); |
@@ -1549,7 +1550,8 @@ static u32 TLan_HandleRxEOF( struct net_device *dev, u16 host_int ) | |||
1549 | if (tmpCStat & TLAN_CSTAT_EOC) | 1550 | if (tmpCStat & TLAN_CSTAT_EOC) |
1550 | eoc = 1; | 1551 | eoc = 1; |
1551 | 1552 | ||
1552 | new_skb = netdev_alloc_skb(dev, TLAN_MAX_FRAME_SIZE + 7 ); | 1553 | new_skb = netdev_alloc_skb_ip_align(dev, |
1554 | TLAN_MAX_FRAME_SIZE + 5); | ||
1553 | if ( !new_skb ) | 1555 | if ( !new_skb ) |
1554 | goto drop_and_reuse; | 1556 | goto drop_and_reuse; |
1555 | 1557 | ||
@@ -1563,7 +1565,6 @@ static u32 TLan_HandleRxEOF( struct net_device *dev, u16 host_int ) | |||
1563 | skb->protocol = eth_type_trans( skb, dev ); | 1565 | skb->protocol = eth_type_trans( skb, dev ); |
1564 | netif_rx( skb ); | 1566 | netif_rx( skb ); |
1565 | 1567 | ||
1566 | skb_reserve( new_skb, NET_IP_ALIGN ); | ||
1567 | head_list->buffer[0].address = pci_map_single(priv->pciDev, | 1568 | head_list->buffer[0].address = pci_map_single(priv->pciDev, |
1568 | new_skb->data, | 1569 | new_skb->data, |
1569 | TLAN_MAX_FRAME_SIZE, | 1570 | TLAN_MAX_FRAME_SIZE, |
@@ -1755,8 +1756,8 @@ static u32 TLan_HandleStatusCheck( struct net_device *dev, u16 host_int ) | |||
1755 | ! ( tlphy_ctl & TLAN_TC_SWAPOL ) ) { | 1756 | ! ( tlphy_ctl & TLAN_TC_SWAPOL ) ) { |
1756 | tlphy_ctl |= TLAN_TC_SWAPOL; | 1757 | tlphy_ctl |= TLAN_TC_SWAPOL; |
1757 | TLan_MiiWriteReg( dev, phy, TLAN_TLPHY_CTL, tlphy_ctl); | 1758 | TLan_MiiWriteReg( dev, phy, TLAN_TLPHY_CTL, tlphy_ctl); |
1758 | } else if ( ( tlphy_sts & TLAN_TS_POLOK ) | 1759 | } else if ( ( tlphy_sts & TLAN_TS_POLOK ) && |
1759 | && ( tlphy_ctl & TLAN_TC_SWAPOL ) ) { | 1760 | ( tlphy_ctl & TLAN_TC_SWAPOL ) ) { |
1760 | tlphy_ctl &= ~TLAN_TC_SWAPOL; | 1761 | tlphy_ctl &= ~TLAN_TC_SWAPOL; |
1761 | TLan_MiiWriteReg( dev, phy, TLAN_TLPHY_CTL, tlphy_ctl); | 1762 | TLan_MiiWriteReg( dev, phy, TLAN_TLPHY_CTL, tlphy_ctl); |
1762 | } | 1763 | } |
@@ -1967,13 +1968,12 @@ static void TLan_ResetLists( struct net_device *dev ) | |||
1967 | list->cStat = TLAN_CSTAT_READY; | 1968 | list->cStat = TLAN_CSTAT_READY; |
1968 | list->frameSize = TLAN_MAX_FRAME_SIZE; | 1969 | list->frameSize = TLAN_MAX_FRAME_SIZE; |
1969 | list->buffer[0].count = TLAN_MAX_FRAME_SIZE | TLAN_LAST_BUFFER; | 1970 | list->buffer[0].count = TLAN_MAX_FRAME_SIZE | TLAN_LAST_BUFFER; |
1970 | skb = netdev_alloc_skb(dev, TLAN_MAX_FRAME_SIZE + 7 ); | 1971 | skb = netdev_alloc_skb_ip_align(dev, TLAN_MAX_FRAME_SIZE + 5); |
1971 | if ( !skb ) { | 1972 | if ( !skb ) { |
1972 | pr_err("TLAN: out of memory for received data.\n" ); | 1973 | pr_err("TLAN: out of memory for received data.\n" ); |
1973 | break; | 1974 | break; |
1974 | } | 1975 | } |
1975 | 1976 | ||
1976 | skb_reserve( skb, NET_IP_ALIGN ); | ||
1977 | list->buffer[0].address = pci_map_single(priv->pciDev, | 1977 | list->buffer[0].address = pci_map_single(priv->pciDev, |
1978 | skb->data, | 1978 | skb->data, |
1979 | TLAN_MAX_FRAME_SIZE, | 1979 | TLAN_MAX_FRAME_SIZE, |
@@ -2205,7 +2205,7 @@ TLan_ResetAdapter( struct net_device *dev ) | |||
2205 | u32 data; | 2205 | u32 data; |
2206 | u8 data8; | 2206 | u8 data8; |
2207 | 2207 | ||
2208 | priv->tlanFullDuplex = FALSE; | 2208 | priv->tlanFullDuplex = false; |
2209 | priv->phyOnline=0; | 2209 | priv->phyOnline=0; |
2210 | netif_carrier_off(dev); | 2210 | netif_carrier_off(dev); |
2211 | 2211 | ||
@@ -2260,7 +2260,7 @@ TLan_ResetAdapter( struct net_device *dev ) | |||
2260 | TLan_DioWrite8( dev->base_addr, TLAN_ACOMMIT, 0x0a ); | 2260 | TLan_DioWrite8( dev->base_addr, TLAN_ACOMMIT, 0x0a ); |
2261 | } else if ( priv->duplex == TLAN_DUPLEX_FULL ) { | 2261 | } else if ( priv->duplex == TLAN_DUPLEX_FULL ) { |
2262 | TLan_DioWrite8( dev->base_addr, TLAN_ACOMMIT, 0x00 ); | 2262 | TLan_DioWrite8( dev->base_addr, TLAN_ACOMMIT, 0x00 ); |
2263 | priv->tlanFullDuplex = TRUE; | 2263 | priv->tlanFullDuplex = true; |
2264 | } else { | 2264 | } else { |
2265 | TLan_DioWrite8( dev->base_addr, TLAN_ACOMMIT, 0x08 ); | 2265 | TLan_DioWrite8( dev->base_addr, TLAN_ACOMMIT, 0x08 ); |
2266 | } | 2266 | } |
@@ -2652,14 +2652,14 @@ static void TLan_PhyStartLink( struct net_device *dev ) | |||
2652 | TLan_MiiWriteReg( dev, phy, MII_GEN_CTL, 0x0000); | 2652 | TLan_MiiWriteReg( dev, phy, MII_GEN_CTL, 0x0000); |
2653 | } else if ( priv->speed == TLAN_SPEED_10 && | 2653 | } else if ( priv->speed == TLAN_SPEED_10 && |
2654 | priv->duplex == TLAN_DUPLEX_FULL) { | 2654 | priv->duplex == TLAN_DUPLEX_FULL) { |
2655 | priv->tlanFullDuplex = TRUE; | 2655 | priv->tlanFullDuplex = true; |
2656 | TLan_MiiWriteReg( dev, phy, MII_GEN_CTL, 0x0100); | 2656 | TLan_MiiWriteReg( dev, phy, MII_GEN_CTL, 0x0100); |
2657 | } else if ( priv->speed == TLAN_SPEED_100 && | 2657 | } else if ( priv->speed == TLAN_SPEED_100 && |
2658 | priv->duplex == TLAN_DUPLEX_HALF) { | 2658 | priv->duplex == TLAN_DUPLEX_HALF) { |
2659 | TLan_MiiWriteReg( dev, phy, MII_GEN_CTL, 0x2000); | 2659 | TLan_MiiWriteReg( dev, phy, MII_GEN_CTL, 0x2000); |
2660 | } else if ( priv->speed == TLAN_SPEED_100 && | 2660 | } else if ( priv->speed == TLAN_SPEED_100 && |
2661 | priv->duplex == TLAN_DUPLEX_FULL) { | 2661 | priv->duplex == TLAN_DUPLEX_FULL) { |
2662 | priv->tlanFullDuplex = TRUE; | 2662 | priv->tlanFullDuplex = true; |
2663 | TLan_MiiWriteReg( dev, phy, MII_GEN_CTL, 0x2100); | 2663 | TLan_MiiWriteReg( dev, phy, MII_GEN_CTL, 0x2100); |
2664 | } else { | 2664 | } else { |
2665 | 2665 | ||
@@ -2696,7 +2696,7 @@ static void TLan_PhyStartLink( struct net_device *dev ) | |||
2696 | tctl &= ~TLAN_TC_AUISEL; | 2696 | tctl &= ~TLAN_TC_AUISEL; |
2697 | if ( priv->duplex == TLAN_DUPLEX_FULL ) { | 2697 | if ( priv->duplex == TLAN_DUPLEX_FULL ) { |
2698 | control |= MII_GC_DUPLEX; | 2698 | control |= MII_GC_DUPLEX; |
2699 | priv->tlanFullDuplex = TRUE; | 2699 | priv->tlanFullDuplex = true; |
2700 | } | 2700 | } |
2701 | if ( priv->speed == TLAN_SPEED_100 ) { | 2701 | if ( priv->speed == TLAN_SPEED_100 ) { |
2702 | control |= MII_GC_SPEEDSEL; | 2702 | control |= MII_GC_SPEEDSEL; |
@@ -2751,9 +2751,9 @@ static void TLan_PhyFinishAutoNeg( struct net_device *dev ) | |||
2751 | TLan_MiiReadReg( dev, phy, MII_AN_LPA, &an_lpa ); | 2751 | TLan_MiiReadReg( dev, phy, MII_AN_LPA, &an_lpa ); |
2752 | mode = an_adv & an_lpa & 0x03E0; | 2752 | mode = an_adv & an_lpa & 0x03E0; |
2753 | if ( mode & 0x0100 ) { | 2753 | if ( mode & 0x0100 ) { |
2754 | priv->tlanFullDuplex = TRUE; | 2754 | priv->tlanFullDuplex = true; |
2755 | } else if ( ! ( mode & 0x0080 ) && ( mode & 0x0040 ) ) { | 2755 | } else if ( ! ( mode & 0x0080 ) && ( mode & 0x0040 ) ) { |
2756 | priv->tlanFullDuplex = TRUE; | 2756 | priv->tlanFullDuplex = true; |
2757 | } | 2757 | } |
2758 | 2758 | ||
2759 | if ( ( ! ( mode & 0x0180 ) ) && | 2759 | if ( ( ! ( mode & 0x0180 ) ) && |
@@ -2856,8 +2856,8 @@ void TLan_PhyMonitor( struct net_device *dev ) | |||
2856 | * TLan_MiiReadReg | 2856 | * TLan_MiiReadReg |
2857 | * | 2857 | * |
2858 | * Returns: | 2858 | * Returns: |
2859 | * 0 if ack received ok | 2859 | * false if ack received ok |
2860 | * 1 otherwise. | 2860 | * true if no ack received or other error |
2861 | * | 2861 | * |
2862 | * Parms: | 2862 | * Parms: |
2863 | * dev The device structure containing | 2863 | * dev The device structure containing |
@@ -2876,17 +2876,17 @@ void TLan_PhyMonitor( struct net_device *dev ) | |||
2876 | * | 2876 | * |
2877 | **************************************************************/ | 2877 | **************************************************************/ |
2878 | 2878 | ||
2879 | static int TLan_MiiReadReg( struct net_device *dev, u16 phy, u16 reg, u16 *val ) | 2879 | static bool TLan_MiiReadReg( struct net_device *dev, u16 phy, u16 reg, u16 *val ) |
2880 | { | 2880 | { |
2881 | u8 nack; | 2881 | u8 nack; |
2882 | u16 sio, tmp; | 2882 | u16 sio, tmp; |
2883 | u32 i; | 2883 | u32 i; |
2884 | int err; | 2884 | bool err; |
2885 | int minten; | 2885 | int minten; |
2886 | TLanPrivateInfo *priv = netdev_priv(dev); | 2886 | TLanPrivateInfo *priv = netdev_priv(dev); |
2887 | unsigned long flags = 0; | 2887 | unsigned long flags = 0; |
2888 | 2888 | ||
2889 | err = FALSE; | 2889 | err = false; |
2890 | outw(TLAN_NET_SIO, dev->base_addr + TLAN_DIO_ADR); | 2890 | outw(TLAN_NET_SIO, dev->base_addr + TLAN_DIO_ADR); |
2891 | sio = dev->base_addr + TLAN_DIO_DATA + TLAN_NET_SIO; | 2891 | sio = dev->base_addr + TLAN_DIO_DATA + TLAN_NET_SIO; |
2892 | 2892 | ||
@@ -2919,7 +2919,7 @@ static int TLan_MiiReadReg( struct net_device *dev, u16 phy, u16 reg, u16 *val ) | |||
2919 | TLan_SetBit(TLAN_NET_SIO_MCLK, sio); | 2919 | TLan_SetBit(TLAN_NET_SIO_MCLK, sio); |
2920 | } | 2920 | } |
2921 | tmp = 0xffff; | 2921 | tmp = 0xffff; |
2922 | err = TRUE; | 2922 | err = true; |
2923 | } else { /* ACK, so read data */ | 2923 | } else { /* ACK, so read data */ |
2924 | for (tmp = 0, i = 0x8000; i; i >>= 1) { | 2924 | for (tmp = 0, i = 0x8000; i; i >>= 1) { |
2925 | TLan_ClearBit(TLAN_NET_SIO_MCLK, sio); | 2925 | TLan_ClearBit(TLAN_NET_SIO_MCLK, sio); |