diff options
author | Adrian Bunk <bunk@stusta.de> | 2006-02-03 17:49:49 -0500 |
---|---|---|
committer | Adrian Bunk <bunk@r063144.stusta.swh.mhn.de> | 2006-02-03 17:49:49 -0500 |
commit | 01d206a7c1167639f6ca6dac22140fbdca017558 (patch) | |
tree | bc3ccf1a8140a7f787c4728cfa4c30e65ad56eb2 /drivers/net | |
parent | 9c4b562abc9005e4b413de02c85d3d29da707cba (diff) | |
parent | d6c8f6aaa1d7f68c1e6471ab0839d9047cdd159f (diff) |
Merge with git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/3c59x.c | 33 | ||||
-rw-r--r-- | drivers/net/Kconfig | 28 | ||||
-rw-r--r-- | drivers/net/acenic.c | 4 | ||||
-rw-r--r-- | drivers/net/b44.c | 5 | ||||
-rw-r--r-- | drivers/net/bnx2.c | 308 | ||||
-rw-r--r-- | drivers/net/bnx2.h | 34 | ||||
-rw-r--r-- | drivers/net/bnx2_fw.h | 825 | ||||
-rw-r--r-- | drivers/net/bonding/bond_main.c | 2 | ||||
-rw-r--r-- | drivers/net/lp486e.c | 2 | ||||
-rw-r--r-- | drivers/net/mv643xx_eth.c | 108 | ||||
-rw-r--r-- | drivers/net/s2io.c | 2 | ||||
-rw-r--r-- | drivers/net/tg3.c | 30 | ||||
-rw-r--r-- | drivers/net/tg3.h | 1 | ||||
-rw-r--r-- | drivers/net/wireless/hostap/Kconfig | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ipw2100.c | 49 | ||||
-rw-r--r-- | drivers/net/wireless/ipw2200.c | 9 | ||||
-rw-r--r-- | drivers/net/wireless/orinoco_cs.c | 4 |
17 files changed, 809 insertions, 637 deletions
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c index 7488ee7f7caf..7f47124f118d 100644 --- a/drivers/net/3c59x.c +++ b/drivers/net/3c59x.c | |||
@@ -753,9 +753,11 @@ enum tx_desc_status { | |||
753 | enum ChipCaps { CapBusMaster=0x20, CapPwrMgmt=0x2000 }; | 753 | enum ChipCaps { CapBusMaster=0x20, CapPwrMgmt=0x2000 }; |
754 | 754 | ||
755 | struct vortex_extra_stats { | 755 | struct vortex_extra_stats { |
756 | unsigned long tx_deferred; | 756 | unsigned long tx_deferred; |
757 | unsigned long tx_multiple_collisions; | 757 | unsigned long tx_max_collisions; |
758 | unsigned long rx_bad_ssd; | 758 | unsigned long tx_multiple_collisions; |
759 | unsigned long tx_single_collisions; | ||
760 | unsigned long rx_bad_ssd; | ||
759 | }; | 761 | }; |
760 | 762 | ||
761 | struct vortex_private { | 763 | struct vortex_private { |
@@ -863,12 +865,14 @@ static struct { | |||
863 | const char str[ETH_GSTRING_LEN]; | 865 | const char str[ETH_GSTRING_LEN]; |
864 | } ethtool_stats_keys[] = { | 866 | } ethtool_stats_keys[] = { |
865 | { "tx_deferred" }, | 867 | { "tx_deferred" }, |
868 | { "tx_max_collisions" }, | ||
866 | { "tx_multiple_collisions" }, | 869 | { "tx_multiple_collisions" }, |
870 | { "tx_single_collisions" }, | ||
867 | { "rx_bad_ssd" }, | 871 | { "rx_bad_ssd" }, |
868 | }; | 872 | }; |
869 | 873 | ||
870 | /* number of ETHTOOL_GSTATS u64's */ | 874 | /* number of ETHTOOL_GSTATS u64's */ |
871 | #define VORTEX_NUM_STATS 3 | 875 | #define VORTEX_NUM_STATS 5 |
872 | 876 | ||
873 | static int vortex_probe1(struct device *gendev, void __iomem *ioaddr, int irq, | 877 | static int vortex_probe1(struct device *gendev, void __iomem *ioaddr, int irq, |
874 | int chip_idx, int card_idx); | 878 | int chip_idx, int card_idx); |
@@ -2108,9 +2112,12 @@ vortex_error(struct net_device *dev, int status) | |||
2108 | iowrite8(0, ioaddr + TxStatus); | 2112 | iowrite8(0, ioaddr + TxStatus); |
2109 | if (tx_status & 0x30) { /* txJabber or txUnderrun */ | 2113 | if (tx_status & 0x30) { /* txJabber or txUnderrun */ |
2110 | do_tx_reset = 1; | 2114 | do_tx_reset = 1; |
2111 | } else if ((tx_status & 0x08) && (vp->drv_flags & MAX_COLLISION_RESET)) { /* maxCollisions */ | 2115 | } else if (tx_status & 0x08) { /* maxCollisions */ |
2112 | do_tx_reset = 1; | 2116 | vp->xstats.tx_max_collisions++; |
2113 | reset_mask = 0x0108; /* Reset interface logic, but not download logic */ | 2117 | if (vp->drv_flags & MAX_COLLISION_RESET) { |
2118 | do_tx_reset = 1; | ||
2119 | reset_mask = 0x0108; /* Reset interface logic, but not download logic */ | ||
2120 | } | ||
2114 | } else { /* Merely re-enable the transmitter. */ | 2121 | } else { /* Merely re-enable the transmitter. */ |
2115 | iowrite16(TxEnable, ioaddr + EL3_CMD); | 2122 | iowrite16(TxEnable, ioaddr + EL3_CMD); |
2116 | } | 2123 | } |
@@ -2926,7 +2933,6 @@ static void update_stats(void __iomem *ioaddr, struct net_device *dev) | |||
2926 | EL3WINDOW(6); | 2933 | EL3WINDOW(6); |
2927 | vp->stats.tx_carrier_errors += ioread8(ioaddr + 0); | 2934 | vp->stats.tx_carrier_errors += ioread8(ioaddr + 0); |
2928 | vp->stats.tx_heartbeat_errors += ioread8(ioaddr + 1); | 2935 | vp->stats.tx_heartbeat_errors += ioread8(ioaddr + 1); |
2929 | vp->stats.collisions += ioread8(ioaddr + 3); | ||
2930 | vp->stats.tx_window_errors += ioread8(ioaddr + 4); | 2936 | vp->stats.tx_window_errors += ioread8(ioaddr + 4); |
2931 | vp->stats.rx_fifo_errors += ioread8(ioaddr + 5); | 2937 | vp->stats.rx_fifo_errors += ioread8(ioaddr + 5); |
2932 | vp->stats.tx_packets += ioread8(ioaddr + 6); | 2938 | vp->stats.tx_packets += ioread8(ioaddr + 6); |
@@ -2939,10 +2945,15 @@ static void update_stats(void __iomem *ioaddr, struct net_device *dev) | |||
2939 | vp->stats.tx_bytes += ioread16(ioaddr + 12); | 2945 | vp->stats.tx_bytes += ioread16(ioaddr + 12); |
2940 | /* Extra stats for get_ethtool_stats() */ | 2946 | /* Extra stats for get_ethtool_stats() */ |
2941 | vp->xstats.tx_multiple_collisions += ioread8(ioaddr + 2); | 2947 | vp->xstats.tx_multiple_collisions += ioread8(ioaddr + 2); |
2948 | vp->xstats.tx_single_collisions += ioread8(ioaddr + 3); | ||
2942 | vp->xstats.tx_deferred += ioread8(ioaddr + 8); | 2949 | vp->xstats.tx_deferred += ioread8(ioaddr + 8); |
2943 | EL3WINDOW(4); | 2950 | EL3WINDOW(4); |
2944 | vp->xstats.rx_bad_ssd += ioread8(ioaddr + 12); | 2951 | vp->xstats.rx_bad_ssd += ioread8(ioaddr + 12); |
2945 | 2952 | ||
2953 | vp->stats.collisions = vp->xstats.tx_multiple_collisions | ||
2954 | + vp->xstats.tx_single_collisions | ||
2955 | + vp->xstats.tx_max_collisions; | ||
2956 | |||
2946 | { | 2957 | { |
2947 | u8 up = ioread8(ioaddr + 13); | 2958 | u8 up = ioread8(ioaddr + 13); |
2948 | vp->stats.rx_bytes += (up & 0x0f) << 16; | 2959 | vp->stats.rx_bytes += (up & 0x0f) << 16; |
@@ -3036,8 +3047,10 @@ static void vortex_get_ethtool_stats(struct net_device *dev, | |||
3036 | spin_unlock_irqrestore(&vp->lock, flags); | 3047 | spin_unlock_irqrestore(&vp->lock, flags); |
3037 | 3048 | ||
3038 | data[0] = vp->xstats.tx_deferred; | 3049 | data[0] = vp->xstats.tx_deferred; |
3039 | data[1] = vp->xstats.tx_multiple_collisions; | 3050 | data[1] = vp->xstats.tx_max_collisions; |
3040 | data[2] = vp->xstats.rx_bad_ssd; | 3051 | data[2] = vp->xstats.tx_multiple_collisions; |
3052 | data[3] = vp->xstats.tx_single_collisions; | ||
3053 | data[4] = vp->xstats.rx_bad_ssd; | ||
3041 | } | 3054 | } |
3042 | 3055 | ||
3043 | 3056 | ||
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 626508afe1b1..6a6a08441804 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig | |||
@@ -2034,13 +2034,28 @@ config SKGE | |||
2034 | It does not support the link failover and network management | 2034 | It does not support the link failover and network management |
2035 | features that "portable" vendor supplied sk98lin driver does. | 2035 | features that "portable" vendor supplied sk98lin driver does. |
2036 | 2036 | ||
2037 | This driver supports adapters based on the original Yukon chipset: | ||
2038 | Marvell 88E8001, Belkin F5D5005, CNet GigaCard, DLink DGE-530T, | ||
2039 | Linksys EG1032/EG1064, 3Com 3C940/3C940B, SysKonnect SK-9871/9872. | ||
2040 | |||
2041 | It does not support the newer Yukon2 chipset: a separate driver, | ||
2042 | sky2, is provided for Yukon2-based adapters. | ||
2043 | |||
2044 | To compile this driver as a module, choose M here: the module | ||
2045 | will be called skge. This is recommended. | ||
2037 | 2046 | ||
2038 | config SKY2 | 2047 | config SKY2 |
2039 | tristate "SysKonnect Yukon2 support (EXPERIMENTAL)" | 2048 | tristate "SysKonnect Yukon2 support (EXPERIMENTAL)" |
2040 | depends on PCI && EXPERIMENTAL | 2049 | depends on PCI && EXPERIMENTAL |
2041 | select CRC32 | 2050 | select CRC32 |
2042 | ---help--- | 2051 | ---help--- |
2043 | This driver support the Marvell Yukon 2 Gigabit Ethernet adapter. | 2052 | This driver supports Gigabit Ethernet adapters based on the the |
2053 | Marvell Yukon 2 chipset: | ||
2054 | Marvell 88E8021/88E8022/88E8035/88E8036/88E8038/88E8050/88E8052/ | ||
2055 | 88E8053/88E8055/88E8061/88E8062, SysKonnect SK-9E21D/SK-9S21 | ||
2056 | |||
2057 | This driver does not support the original Yukon chipset: a seperate | ||
2058 | driver, skge, is provided for Yukon-based adapters. | ||
2044 | 2059 | ||
2045 | To compile this driver as a module, choose M here: the module | 2060 | To compile this driver as a module, choose M here: the module |
2046 | will be called sky2. This is recommended. | 2061 | will be called sky2. This is recommended. |
@@ -2050,8 +2065,15 @@ config SK98LIN | |||
2050 | depends on PCI | 2065 | depends on PCI |
2051 | ---help--- | 2066 | ---help--- |
2052 | Say Y here if you have a Marvell Yukon or SysKonnect SK-98xx/SK-95xx | 2067 | Say Y here if you have a Marvell Yukon or SysKonnect SK-98xx/SK-95xx |
2053 | compliant Gigabit Ethernet Adapter. The following adapters are supported | 2068 | compliant Gigabit Ethernet Adapter. |
2054 | by this driver: | 2069 | |
2070 | This driver supports the original Yukon chipset. A cleaner driver is | ||
2071 | also available (skge) which seems to work better than this one. | ||
2072 | |||
2073 | This driver does not support the newer Yukon2 chipset. A seperate | ||
2074 | driver, sky2, is provided to support Yukon2-based adapters. | ||
2075 | |||
2076 | The following adapters are supported by this driver: | ||
2055 | - 3Com 3C940 Gigabit LOM Ethernet Adapter | 2077 | - 3Com 3C940 Gigabit LOM Ethernet Adapter |
2056 | - 3Com 3C941 Gigabit LOM Ethernet Adapter | 2078 | - 3Com 3C941 Gigabit LOM Ethernet Adapter |
2057 | - Allied Telesyn AT-2970LX Gigabit Ethernet Adapter | 2079 | - Allied Telesyn AT-2970LX Gigabit Ethernet Adapter |
diff --git a/drivers/net/acenic.c b/drivers/net/acenic.c index b8953de5664a..b508812e97ac 100644 --- a/drivers/net/acenic.c +++ b/drivers/net/acenic.c | |||
@@ -1002,6 +1002,8 @@ static int __devinit ace_init(struct net_device *dev) | |||
1002 | 1002 | ||
1003 | mac1 = 0; | 1003 | mac1 = 0; |
1004 | for(i = 0; i < 4; i++) { | 1004 | for(i = 0; i < 4; i++) { |
1005 | int tmp; | ||
1006 | |||
1005 | mac1 = mac1 << 8; | 1007 | mac1 = mac1 << 8; |
1006 | tmp = read_eeprom_byte(dev, 0x8c+i); | 1008 | tmp = read_eeprom_byte(dev, 0x8c+i); |
1007 | if (tmp < 0) { | 1009 | if (tmp < 0) { |
@@ -1012,6 +1014,8 @@ static int __devinit ace_init(struct net_device *dev) | |||
1012 | } | 1014 | } |
1013 | mac2 = 0; | 1015 | mac2 = 0; |
1014 | for(i = 4; i < 8; i++) { | 1016 | for(i = 4; i < 8; i++) { |
1017 | int tmp; | ||
1018 | |||
1015 | mac2 = mac2 << 8; | 1019 | mac2 = mac2 << 8; |
1016 | tmp = read_eeprom_byte(dev, 0x8c+i); | 1020 | tmp = read_eeprom_byte(dev, 0x8c+i); |
1017 | if (tmp < 0) { | 1021 | if (tmp < 0) { |
diff --git a/drivers/net/b44.c b/drivers/net/b44.c index df9d6e80c4f2..c3267e4e1bb0 100644 --- a/drivers/net/b44.c +++ b/drivers/net/b44.c | |||
@@ -1399,7 +1399,6 @@ static int b44_open(struct net_device *dev) | |||
1399 | b44_init_rings(bp); | 1399 | b44_init_rings(bp); |
1400 | b44_init_hw(bp); | 1400 | b44_init_hw(bp); |
1401 | 1401 | ||
1402 | netif_carrier_off(dev); | ||
1403 | b44_check_phy(bp); | 1402 | b44_check_phy(bp); |
1404 | 1403 | ||
1405 | err = request_irq(dev->irq, b44_interrupt, SA_SHIRQ, dev->name, dev); | 1404 | err = request_irq(dev->irq, b44_interrupt, SA_SHIRQ, dev->name, dev); |
@@ -1464,7 +1463,7 @@ static int b44_close(struct net_device *dev) | |||
1464 | #endif | 1463 | #endif |
1465 | b44_halt(bp); | 1464 | b44_halt(bp); |
1466 | b44_free_rings(bp); | 1465 | b44_free_rings(bp); |
1467 | netif_carrier_off(bp->dev); | 1466 | netif_carrier_off(dev); |
1468 | 1467 | ||
1469 | spin_unlock_irq(&bp->lock); | 1468 | spin_unlock_irq(&bp->lock); |
1470 | 1469 | ||
@@ -2000,6 +1999,8 @@ static int __devinit b44_init_one(struct pci_dev *pdev, | |||
2000 | dev->irq = pdev->irq; | 1999 | dev->irq = pdev->irq; |
2001 | SET_ETHTOOL_OPS(dev, &b44_ethtool_ops); | 2000 | SET_ETHTOOL_OPS(dev, &b44_ethtool_ops); |
2002 | 2001 | ||
2002 | netif_carrier_off(dev); | ||
2003 | |||
2003 | err = b44_get_invariants(bp); | 2004 | err = b44_get_invariants(bp); |
2004 | if (err) { | 2005 | if (err) { |
2005 | printk(KERN_ERR PFX "Problem fetching invariants of chip, " | 2006 | printk(KERN_ERR PFX "Problem fetching invariants of chip, " |
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index 49fa1e4413fa..a24200d0a616 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* bnx2.c: Broadcom NX2 network driver. | 1 | /* bnx2.c: Broadcom NX2 network driver. |
2 | * | 2 | * |
3 | * Copyright (c) 2004, 2005 Broadcom Corporation | 3 | * Copyright (c) 2004, 2005, 2006 Broadcom Corporation |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or modify | 5 | * This program is free software; you can redistribute it and/or modify |
6 | * it under the terms of the GNU General Public License as published by | 6 | * it under the terms of the GNU General Public License as published by |
@@ -14,8 +14,8 @@ | |||
14 | 14 | ||
15 | #define DRV_MODULE_NAME "bnx2" | 15 | #define DRV_MODULE_NAME "bnx2" |
16 | #define PFX DRV_MODULE_NAME ": " | 16 | #define PFX DRV_MODULE_NAME ": " |
17 | #define DRV_MODULE_VERSION "1.4.30" | 17 | #define DRV_MODULE_VERSION "1.4.31" |
18 | #define DRV_MODULE_RELDATE "October 11, 2005" | 18 | #define DRV_MODULE_RELDATE "January 19, 2006" |
19 | 19 | ||
20 | #define RUN_AT(x) (jiffies + (x)) | 20 | #define RUN_AT(x) (jiffies + (x)) |
21 | 21 | ||
@@ -316,6 +316,10 @@ bnx2_enable_int(struct bnx2 *bp) | |||
316 | u32 val; | 316 | u32 val; |
317 | 317 | ||
318 | REG_WR(bp, BNX2_PCICFG_INT_ACK_CMD, | 318 | REG_WR(bp, BNX2_PCICFG_INT_ACK_CMD, |
319 | BNX2_PCICFG_INT_ACK_CMD_INDEX_VALID | | ||
320 | BNX2_PCICFG_INT_ACK_CMD_MASK_INT | bp->last_status_idx); | ||
321 | |||
322 | REG_WR(bp, BNX2_PCICFG_INT_ACK_CMD, | ||
319 | BNX2_PCICFG_INT_ACK_CMD_INDEX_VALID | bp->last_status_idx); | 323 | BNX2_PCICFG_INT_ACK_CMD_INDEX_VALID | bp->last_status_idx); |
320 | 324 | ||
321 | val = REG_RD(bp, BNX2_HC_COMMAND); | 325 | val = REG_RD(bp, BNX2_HC_COMMAND); |
@@ -1171,7 +1175,8 @@ bnx2_init_5708s_phy(struct bnx2 *bp) | |||
1171 | } | 1175 | } |
1172 | 1176 | ||
1173 | if ((CHIP_ID(bp) == CHIP_ID_5708_A0) || | 1177 | if ((CHIP_ID(bp) == CHIP_ID_5708_A0) || |
1174 | (CHIP_ID(bp) == CHIP_ID_5708_B0)) { | 1178 | (CHIP_ID(bp) == CHIP_ID_5708_B0) || |
1179 | (CHIP_ID(bp) == CHIP_ID_5708_B1)) { | ||
1175 | /* increase tx signal amplitude */ | 1180 | /* increase tx signal amplitude */ |
1176 | bnx2_write_phy(bp, BCM5708S_BLK_ADDR, | 1181 | bnx2_write_phy(bp, BCM5708S_BLK_ADDR, |
1177 | BCM5708S_BLK_ADDR_TX_MISC); | 1182 | BCM5708S_BLK_ADDR_TX_MISC); |
@@ -1326,44 +1331,78 @@ bnx2_set_mac_loopback(struct bnx2 *bp) | |||
1326 | return 0; | 1331 | return 0; |
1327 | } | 1332 | } |
1328 | 1333 | ||
1334 | static int bnx2_test_link(struct bnx2 *); | ||
1335 | |||
1336 | static int | ||
1337 | bnx2_set_phy_loopback(struct bnx2 *bp) | ||
1338 | { | ||
1339 | u32 mac_mode; | ||
1340 | int rc, i; | ||
1341 | |||
1342 | spin_lock_bh(&bp->phy_lock); | ||
1343 | rc = bnx2_write_phy(bp, MII_BMCR, BMCR_LOOPBACK | BMCR_FULLDPLX | | ||
1344 | BMCR_SPEED1000); | ||
1345 | spin_unlock_bh(&bp->phy_lock); | ||
1346 | if (rc) | ||
1347 | return rc; | ||
1348 | |||
1349 | for (i = 0; i < 10; i++) { | ||
1350 | if (bnx2_test_link(bp) == 0) | ||
1351 | break; | ||
1352 | udelay(10); | ||
1353 | } | ||
1354 | |||
1355 | mac_mode = REG_RD(bp, BNX2_EMAC_MODE); | ||
1356 | mac_mode &= ~(BNX2_EMAC_MODE_PORT | BNX2_EMAC_MODE_HALF_DUPLEX | | ||
1357 | BNX2_EMAC_MODE_MAC_LOOP | BNX2_EMAC_MODE_FORCE_LINK | | ||
1358 | BNX2_EMAC_MODE_25G); | ||
1359 | |||
1360 | mac_mode |= BNX2_EMAC_MODE_PORT_GMII; | ||
1361 | REG_WR(bp, BNX2_EMAC_MODE, mac_mode); | ||
1362 | bp->link_up = 1; | ||
1363 | return 0; | ||
1364 | } | ||
1365 | |||
1329 | static int | 1366 | static int |
1330 | bnx2_fw_sync(struct bnx2 *bp, u32 msg_data) | 1367 | bnx2_fw_sync(struct bnx2 *bp, u32 msg_data, int silent) |
1331 | { | 1368 | { |
1332 | int i; | 1369 | int i; |
1333 | u32 val; | 1370 | u32 val; |
1334 | 1371 | ||
1335 | if (bp->fw_timed_out) | ||
1336 | return -EBUSY; | ||
1337 | |||
1338 | bp->fw_wr_seq++; | 1372 | bp->fw_wr_seq++; |
1339 | msg_data |= bp->fw_wr_seq; | 1373 | msg_data |= bp->fw_wr_seq; |
1340 | 1374 | ||
1341 | REG_WR_IND(bp, bp->shmem_base + BNX2_DRV_MB, msg_data); | 1375 | REG_WR_IND(bp, bp->shmem_base + BNX2_DRV_MB, msg_data); |
1342 | 1376 | ||
1343 | /* wait for an acknowledgement. */ | 1377 | /* wait for an acknowledgement. */ |
1344 | for (i = 0; i < (FW_ACK_TIME_OUT_MS * 1000)/5; i++) { | 1378 | for (i = 0; i < (FW_ACK_TIME_OUT_MS / 10); i++) { |
1345 | udelay(5); | 1379 | msleep(10); |
1346 | 1380 | ||
1347 | val = REG_RD_IND(bp, bp->shmem_base + BNX2_FW_MB); | 1381 | val = REG_RD_IND(bp, bp->shmem_base + BNX2_FW_MB); |
1348 | 1382 | ||
1349 | if ((val & BNX2_FW_MSG_ACK) == (msg_data & BNX2_DRV_MSG_SEQ)) | 1383 | if ((val & BNX2_FW_MSG_ACK) == (msg_data & BNX2_DRV_MSG_SEQ)) |
1350 | break; | 1384 | break; |
1351 | } | 1385 | } |
1386 | if ((msg_data & BNX2_DRV_MSG_DATA) == BNX2_DRV_MSG_DATA_WAIT0) | ||
1387 | return 0; | ||
1352 | 1388 | ||
1353 | /* If we timed out, inform the firmware that this is the case. */ | 1389 | /* If we timed out, inform the firmware that this is the case. */ |
1354 | if (((val & BNX2_FW_MSG_ACK) != (msg_data & BNX2_DRV_MSG_SEQ)) && | 1390 | if ((val & BNX2_FW_MSG_ACK) != (msg_data & BNX2_DRV_MSG_SEQ)) { |
1355 | ((msg_data & BNX2_DRV_MSG_DATA) != BNX2_DRV_MSG_DATA_WAIT0)) { | 1391 | if (!silent) |
1392 | printk(KERN_ERR PFX "fw sync timeout, reset code = " | ||
1393 | "%x\n", msg_data); | ||
1356 | 1394 | ||
1357 | msg_data &= ~BNX2_DRV_MSG_CODE; | 1395 | msg_data &= ~BNX2_DRV_MSG_CODE; |
1358 | msg_data |= BNX2_DRV_MSG_CODE_FW_TIMEOUT; | 1396 | msg_data |= BNX2_DRV_MSG_CODE_FW_TIMEOUT; |
1359 | 1397 | ||
1360 | REG_WR_IND(bp, bp->shmem_base + BNX2_DRV_MB, msg_data); | 1398 | REG_WR_IND(bp, bp->shmem_base + BNX2_DRV_MB, msg_data); |
1361 | 1399 | ||
1362 | bp->fw_timed_out = 1; | ||
1363 | |||
1364 | return -EBUSY; | 1400 | return -EBUSY; |
1365 | } | 1401 | } |
1366 | 1402 | ||
1403 | if ((val & BNX2_FW_MSG_STATUS_MASK) != BNX2_FW_MSG_STATUS_OK) | ||
1404 | return -EIO; | ||
1405 | |||
1367 | return 0; | 1406 | return 0; |
1368 | } | 1407 | } |
1369 | 1408 | ||
@@ -1657,7 +1696,7 @@ bnx2_rx_int(struct bnx2 *bp, int budget) | |||
1657 | rmb(); | 1696 | rmb(); |
1658 | while (sw_cons != hw_cons) { | 1697 | while (sw_cons != hw_cons) { |
1659 | unsigned int len; | 1698 | unsigned int len; |
1660 | u16 status; | 1699 | u32 status; |
1661 | struct sw_bd *rx_buf; | 1700 | struct sw_bd *rx_buf; |
1662 | struct sk_buff *skb; | 1701 | struct sk_buff *skb; |
1663 | 1702 | ||
@@ -1673,7 +1712,7 @@ bnx2_rx_int(struct bnx2 *bp, int budget) | |||
1673 | rx_hdr = (struct l2_fhdr *) skb->data; | 1712 | rx_hdr = (struct l2_fhdr *) skb->data; |
1674 | len = rx_hdr->l2_fhdr_pkt_len - 4; | 1713 | len = rx_hdr->l2_fhdr_pkt_len - 4; |
1675 | 1714 | ||
1676 | if (rx_hdr->l2_fhdr_errors & | 1715 | if ((status = rx_hdr->l2_fhdr_status) & |
1677 | (L2_FHDR_ERRORS_BAD_CRC | | 1716 | (L2_FHDR_ERRORS_BAD_CRC | |
1678 | L2_FHDR_ERRORS_PHY_DECODE | | 1717 | L2_FHDR_ERRORS_PHY_DECODE | |
1679 | L2_FHDR_ERRORS_ALIGNMENT | | 1718 | L2_FHDR_ERRORS_ALIGNMENT | |
@@ -1732,15 +1771,13 @@ reuse_rx: | |||
1732 | 1771 | ||
1733 | } | 1772 | } |
1734 | 1773 | ||
1735 | status = rx_hdr->l2_fhdr_status; | ||
1736 | skb->ip_summed = CHECKSUM_NONE; | 1774 | skb->ip_summed = CHECKSUM_NONE; |
1737 | if (bp->rx_csum && | 1775 | if (bp->rx_csum && |
1738 | (status & (L2_FHDR_STATUS_TCP_SEGMENT | | 1776 | (status & (L2_FHDR_STATUS_TCP_SEGMENT | |
1739 | L2_FHDR_STATUS_UDP_DATAGRAM))) { | 1777 | L2_FHDR_STATUS_UDP_DATAGRAM))) { |
1740 | 1778 | ||
1741 | u16 cksum = rx_hdr->l2_fhdr_tcp_udp_xsum; | 1779 | if (likely((status & (L2_FHDR_ERRORS_TCP_XSUM | |
1742 | 1780 | L2_FHDR_ERRORS_UDP_XSUM)) == 0)) | |
1743 | if (cksum == 0xffff) | ||
1744 | skb->ip_summed = CHECKSUM_UNNECESSARY; | 1781 | skb->ip_summed = CHECKSUM_UNNECESSARY; |
1745 | } | 1782 | } |
1746 | 1783 | ||
@@ -1794,7 +1831,7 @@ static irqreturn_t | |||
1794 | bnx2_msi(int irq, void *dev_instance, struct pt_regs *regs) | 1831 | bnx2_msi(int irq, void *dev_instance, struct pt_regs *regs) |
1795 | { | 1832 | { |
1796 | struct net_device *dev = dev_instance; | 1833 | struct net_device *dev = dev_instance; |
1797 | struct bnx2 *bp = dev->priv; | 1834 | struct bnx2 *bp = netdev_priv(dev); |
1798 | 1835 | ||
1799 | prefetch(bp->status_blk); | 1836 | prefetch(bp->status_blk); |
1800 | REG_WR(bp, BNX2_PCICFG_INT_ACK_CMD, | 1837 | REG_WR(bp, BNX2_PCICFG_INT_ACK_CMD, |
@@ -1814,7 +1851,7 @@ static irqreturn_t | |||
1814 | bnx2_interrupt(int irq, void *dev_instance, struct pt_regs *regs) | 1851 | bnx2_interrupt(int irq, void *dev_instance, struct pt_regs *regs) |
1815 | { | 1852 | { |
1816 | struct net_device *dev = dev_instance; | 1853 | struct net_device *dev = dev_instance; |
1817 | struct bnx2 *bp = dev->priv; | 1854 | struct bnx2 *bp = netdev_priv(dev); |
1818 | 1855 | ||
1819 | /* When using INTx, it is possible for the interrupt to arrive | 1856 | /* When using INTx, it is possible for the interrupt to arrive |
1820 | * at the CPU before the status block posted prior to the | 1857 | * at the CPU before the status block posted prior to the |
@@ -1859,7 +1896,7 @@ bnx2_has_work(struct bnx2 *bp) | |||
1859 | static int | 1896 | static int |
1860 | bnx2_poll(struct net_device *dev, int *budget) | 1897 | bnx2_poll(struct net_device *dev, int *budget) |
1861 | { | 1898 | { |
1862 | struct bnx2 *bp = dev->priv; | 1899 | struct bnx2 *bp = netdev_priv(dev); |
1863 | 1900 | ||
1864 | if ((bp->status_blk->status_attn_bits & | 1901 | if ((bp->status_blk->status_attn_bits & |
1865 | STATUS_ATTN_BITS_LINK_STATE) != | 1902 | STATUS_ATTN_BITS_LINK_STATE) != |
@@ -1891,9 +1928,20 @@ bnx2_poll(struct net_device *dev, int *budget) | |||
1891 | 1928 | ||
1892 | if (!bnx2_has_work(bp)) { | 1929 | if (!bnx2_has_work(bp)) { |
1893 | netif_rx_complete(dev); | 1930 | netif_rx_complete(dev); |
1931 | if (likely(bp->flags & USING_MSI_FLAG)) { | ||
1932 | REG_WR(bp, BNX2_PCICFG_INT_ACK_CMD, | ||
1933 | BNX2_PCICFG_INT_ACK_CMD_INDEX_VALID | | ||
1934 | bp->last_status_idx); | ||
1935 | return 0; | ||
1936 | } | ||
1937 | REG_WR(bp, BNX2_PCICFG_INT_ACK_CMD, | ||
1938 | BNX2_PCICFG_INT_ACK_CMD_INDEX_VALID | | ||
1939 | BNX2_PCICFG_INT_ACK_CMD_MASK_INT | | ||
1940 | bp->last_status_idx); | ||
1941 | |||
1894 | REG_WR(bp, BNX2_PCICFG_INT_ACK_CMD, | 1942 | REG_WR(bp, BNX2_PCICFG_INT_ACK_CMD, |
1895 | BNX2_PCICFG_INT_ACK_CMD_INDEX_VALID | | 1943 | BNX2_PCICFG_INT_ACK_CMD_INDEX_VALID | |
1896 | bp->last_status_idx); | 1944 | bp->last_status_idx); |
1897 | return 0; | 1945 | return 0; |
1898 | } | 1946 | } |
1899 | 1947 | ||
@@ -1906,7 +1954,7 @@ bnx2_poll(struct net_device *dev, int *budget) | |||
1906 | static void | 1954 | static void |
1907 | bnx2_set_rx_mode(struct net_device *dev) | 1955 | bnx2_set_rx_mode(struct net_device *dev) |
1908 | { | 1956 | { |
1909 | struct bnx2 *bp = dev->priv; | 1957 | struct bnx2 *bp = netdev_priv(dev); |
1910 | u32 rx_mode, sort_mode; | 1958 | u32 rx_mode, sort_mode; |
1911 | int i; | 1959 | int i; |
1912 | 1960 | ||
@@ -1916,11 +1964,11 @@ bnx2_set_rx_mode(struct net_device *dev) | |||
1916 | BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG); | 1964 | BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG); |
1917 | sort_mode = 1 | BNX2_RPM_SORT_USER0_BC_EN; | 1965 | sort_mode = 1 | BNX2_RPM_SORT_USER0_BC_EN; |
1918 | #ifdef BCM_VLAN | 1966 | #ifdef BCM_VLAN |
1919 | if (!bp->vlgrp) { | 1967 | if (!bp->vlgrp && !(bp->flags & ASF_ENABLE_FLAG)) |
1920 | rx_mode |= BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG; | 1968 | rx_mode |= BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG; |
1921 | } | ||
1922 | #else | 1969 | #else |
1923 | rx_mode |= BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG; | 1970 | if (!(bp->flags & ASF_ENABLE_FLAG)) |
1971 | rx_mode |= BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG; | ||
1924 | #endif | 1972 | #endif |
1925 | if (dev->flags & IFF_PROMISC) { | 1973 | if (dev->flags & IFF_PROMISC) { |
1926 | /* Promiscuous mode. */ | 1974 | /* Promiscuous mode. */ |
@@ -2338,7 +2386,6 @@ bnx2_set_power_state(struct bnx2 *bp, pci_power_t state) | |||
2338 | val |= BNX2_EMAC_MODE_PORT_MII | | 2386 | val |= BNX2_EMAC_MODE_PORT_MII | |
2339 | BNX2_EMAC_MODE_MPKT_RCVD | | 2387 | BNX2_EMAC_MODE_MPKT_RCVD | |
2340 | BNX2_EMAC_MODE_ACPI_RCVD | | 2388 | BNX2_EMAC_MODE_ACPI_RCVD | |
2341 | BNX2_EMAC_MODE_FORCE_LINK | | ||
2342 | BNX2_EMAC_MODE_MPKT; | 2389 | BNX2_EMAC_MODE_MPKT; |
2343 | 2390 | ||
2344 | REG_WR(bp, BNX2_EMAC_MODE, val); | 2391 | REG_WR(bp, BNX2_EMAC_MODE, val); |
@@ -2374,7 +2421,8 @@ bnx2_set_power_state(struct bnx2 *bp, pci_power_t state) | |||
2374 | wol_msg = BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL; | 2421 | wol_msg = BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL; |
2375 | } | 2422 | } |
2376 | 2423 | ||
2377 | bnx2_fw_sync(bp, BNX2_DRV_MSG_DATA_WAIT3 | wol_msg); | 2424 | if (!(bp->flags & NO_WOL_FLAG)) |
2425 | bnx2_fw_sync(bp, BNX2_DRV_MSG_DATA_WAIT3 | wol_msg, 0); | ||
2378 | 2426 | ||
2379 | pmcsr &= ~PCI_PM_CTRL_STATE_MASK; | 2427 | pmcsr &= ~PCI_PM_CTRL_STATE_MASK; |
2380 | if ((CHIP_ID(bp) == CHIP_ID_5706_A0) || | 2428 | if ((CHIP_ID(bp) == CHIP_ID_5706_A0) || |
@@ -2708,9 +2756,16 @@ bnx2_init_nvram(struct bnx2 *bp) | |||
2708 | if (j == entry_count) { | 2756 | if (j == entry_count) { |
2709 | bp->flash_info = NULL; | 2757 | bp->flash_info = NULL; |
2710 | printk(KERN_ALERT PFX "Unknown flash/EEPROM type.\n"); | 2758 | printk(KERN_ALERT PFX "Unknown flash/EEPROM type.\n"); |
2711 | rc = -ENODEV; | 2759 | return -ENODEV; |
2712 | } | 2760 | } |
2713 | 2761 | ||
2762 | val = REG_RD_IND(bp, bp->shmem_base + BNX2_SHARED_HW_CFG_CONFIG2); | ||
2763 | val &= BNX2_SHARED_HW_CFG2_NVM_SIZE_MASK; | ||
2764 | if (val) | ||
2765 | bp->flash_size = val; | ||
2766 | else | ||
2767 | bp->flash_size = bp->flash_info->total_size; | ||
2768 | |||
2714 | return rc; | 2769 | return rc; |
2715 | } | 2770 | } |
2716 | 2771 | ||
@@ -3014,16 +3069,14 @@ bnx2_reset_chip(struct bnx2 *bp, u32 reset_code) | |||
3014 | val = REG_RD(bp, BNX2_MISC_ENABLE_CLR_BITS); | 3069 | val = REG_RD(bp, BNX2_MISC_ENABLE_CLR_BITS); |
3015 | udelay(5); | 3070 | udelay(5); |
3016 | 3071 | ||
3072 | /* Wait for the firmware to tell us it is ok to issue a reset. */ | ||
3073 | bnx2_fw_sync(bp, BNX2_DRV_MSG_DATA_WAIT0 | reset_code, 1); | ||
3074 | |||
3017 | /* Deposit a driver reset signature so the firmware knows that | 3075 | /* Deposit a driver reset signature so the firmware knows that |
3018 | * this is a soft reset. */ | 3076 | * this is a soft reset. */ |
3019 | REG_WR_IND(bp, bp->shmem_base + BNX2_DRV_RESET_SIGNATURE, | 3077 | REG_WR_IND(bp, bp->shmem_base + BNX2_DRV_RESET_SIGNATURE, |
3020 | BNX2_DRV_RESET_SIGNATURE_MAGIC); | 3078 | BNX2_DRV_RESET_SIGNATURE_MAGIC); |
3021 | 3079 | ||
3022 | bp->fw_timed_out = 0; | ||
3023 | |||
3024 | /* Wait for the firmware to tell us it is ok to issue a reset. */ | ||
3025 | bnx2_fw_sync(bp, BNX2_DRV_MSG_DATA_WAIT0 | reset_code); | ||
3026 | |||
3027 | /* Do a dummy read to force the chip to complete all current transaction | 3080 | /* Do a dummy read to force the chip to complete all current transaction |
3028 | * before we issue a reset. */ | 3081 | * before we issue a reset. */ |
3029 | val = REG_RD(bp, BNX2_MISC_ID); | 3082 | val = REG_RD(bp, BNX2_MISC_ID); |
@@ -3062,10 +3115,10 @@ bnx2_reset_chip(struct bnx2 *bp, u32 reset_code) | |||
3062 | return -ENODEV; | 3115 | return -ENODEV; |
3063 | } | 3116 | } |
3064 | 3117 | ||
3065 | bp->fw_timed_out = 0; | ||
3066 | |||
3067 | /* Wait for the firmware to finish its initialization. */ | 3118 | /* Wait for the firmware to finish its initialization. */ |
3068 | bnx2_fw_sync(bp, BNX2_DRV_MSG_DATA_WAIT1 | reset_code); | 3119 | rc = bnx2_fw_sync(bp, BNX2_DRV_MSG_DATA_WAIT1 | reset_code, 0); |
3120 | if (rc) | ||
3121 | return rc; | ||
3069 | 3122 | ||
3070 | if (CHIP_ID(bp) == CHIP_ID_5706_A0) { | 3123 | if (CHIP_ID(bp) == CHIP_ID_5706_A0) { |
3071 | /* Adjust the voltage regular to two steps lower. The default | 3124 | /* Adjust the voltage regular to two steps lower. The default |
@@ -3083,6 +3136,7 @@ static int | |||
3083 | bnx2_init_chip(struct bnx2 *bp) | 3136 | bnx2_init_chip(struct bnx2 *bp) |
3084 | { | 3137 | { |
3085 | u32 val; | 3138 | u32 val; |
3139 | int rc; | ||
3086 | 3140 | ||
3087 | /* Make sure the interrupt is not active. */ | 3141 | /* Make sure the interrupt is not active. */ |
3088 | REG_WR(bp, BNX2_PCICFG_INT_ACK_CMD, BNX2_PCICFG_INT_ACK_CMD_MASK_INT); | 3142 | REG_WR(bp, BNX2_PCICFG_INT_ACK_CMD, BNX2_PCICFG_INT_ACK_CMD_MASK_INT); |
@@ -3098,7 +3152,7 @@ bnx2_init_chip(struct bnx2 *bp) | |||
3098 | 3152 | ||
3099 | val |= (0x2 << 20) | (1 << 11); | 3153 | val |= (0x2 << 20) | (1 << 11); |
3100 | 3154 | ||
3101 | if ((bp->flags & PCIX_FLAG) && (bp->bus_speed_mhz = 133)) | 3155 | if ((bp->flags & PCIX_FLAG) && (bp->bus_speed_mhz == 133)) |
3102 | val |= (1 << 23); | 3156 | val |= (1 << 23); |
3103 | 3157 | ||
3104 | if ((CHIP_NUM(bp) == CHIP_NUM_5706) && | 3158 | if ((CHIP_NUM(bp) == CHIP_NUM_5706) && |
@@ -3218,17 +3272,22 @@ bnx2_init_chip(struct bnx2 *bp) | |||
3218 | 3272 | ||
3219 | REG_WR(bp, BNX2_HC_ATTN_BITS_ENABLE, STATUS_ATTN_BITS_LINK_STATE); | 3273 | REG_WR(bp, BNX2_HC_ATTN_BITS_ENABLE, STATUS_ATTN_BITS_LINK_STATE); |
3220 | 3274 | ||
3275 | if (REG_RD_IND(bp, bp->shmem_base + BNX2_PORT_FEATURE) & | ||
3276 | BNX2_PORT_FEATURE_ASF_ENABLED) | ||
3277 | bp->flags |= ASF_ENABLE_FLAG; | ||
3278 | |||
3221 | /* Initialize the receive filter. */ | 3279 | /* Initialize the receive filter. */ |
3222 | bnx2_set_rx_mode(bp->dev); | 3280 | bnx2_set_rx_mode(bp->dev); |
3223 | 3281 | ||
3224 | bnx2_fw_sync(bp, BNX2_DRV_MSG_DATA_WAIT2 | BNX2_DRV_MSG_CODE_RESET); | 3282 | rc = bnx2_fw_sync(bp, BNX2_DRV_MSG_DATA_WAIT2 | BNX2_DRV_MSG_CODE_RESET, |
3283 | 0); | ||
3225 | 3284 | ||
3226 | REG_WR(bp, BNX2_MISC_ENABLE_SET_BITS, 0x5ffffff); | 3285 | REG_WR(bp, BNX2_MISC_ENABLE_SET_BITS, 0x5ffffff); |
3227 | REG_RD(bp, BNX2_MISC_ENABLE_SET_BITS); | 3286 | REG_RD(bp, BNX2_MISC_ENABLE_SET_BITS); |
3228 | 3287 | ||
3229 | udelay(20); | 3288 | udelay(20); |
3230 | 3289 | ||
3231 | return 0; | 3290 | return rc; |
3232 | } | 3291 | } |
3233 | 3292 | ||
3234 | 3293 | ||
@@ -3880,26 +3939,33 @@ bnx2_test_memory(struct bnx2 *bp) | |||
3880 | return ret; | 3939 | return ret; |
3881 | } | 3940 | } |
3882 | 3941 | ||
3942 | #define BNX2_MAC_LOOPBACK 0 | ||
3943 | #define BNX2_PHY_LOOPBACK 1 | ||
3944 | |||
3883 | static int | 3945 | static int |
3884 | bnx2_test_loopback(struct bnx2 *bp) | 3946 | bnx2_run_loopback(struct bnx2 *bp, int loopback_mode) |
3885 | { | 3947 | { |
3886 | unsigned int pkt_size, num_pkts, i; | 3948 | unsigned int pkt_size, num_pkts, i; |
3887 | struct sk_buff *skb, *rx_skb; | 3949 | struct sk_buff *skb, *rx_skb; |
3888 | unsigned char *packet; | 3950 | unsigned char *packet; |
3889 | u16 rx_start_idx, rx_idx, send_idx; | 3951 | u16 rx_start_idx, rx_idx; |
3890 | u32 send_bseq, val; | 3952 | u32 val; |
3891 | dma_addr_t map; | 3953 | dma_addr_t map; |
3892 | struct tx_bd *txbd; | 3954 | struct tx_bd *txbd; |
3893 | struct sw_bd *rx_buf; | 3955 | struct sw_bd *rx_buf; |
3894 | struct l2_fhdr *rx_hdr; | 3956 | struct l2_fhdr *rx_hdr; |
3895 | int ret = -ENODEV; | 3957 | int ret = -ENODEV; |
3896 | 3958 | ||
3897 | if (!netif_running(bp->dev)) | 3959 | if (loopback_mode == BNX2_MAC_LOOPBACK) { |
3898 | return -ENODEV; | 3960 | bp->loopback = MAC_LOOPBACK; |
3899 | 3961 | bnx2_set_mac_loopback(bp); | |
3900 | bp->loopback = MAC_LOOPBACK; | 3962 | } |
3901 | bnx2_reset_nic(bp, BNX2_DRV_MSG_CODE_DIAG); | 3963 | else if (loopback_mode == BNX2_PHY_LOOPBACK) { |
3902 | bnx2_set_mac_loopback(bp); | 3964 | bp->loopback = 0; |
3965 | bnx2_set_phy_loopback(bp); | ||
3966 | } | ||
3967 | else | ||
3968 | return -EINVAL; | ||
3903 | 3969 | ||
3904 | pkt_size = 1514; | 3970 | pkt_size = 1514; |
3905 | skb = dev_alloc_skb(pkt_size); | 3971 | skb = dev_alloc_skb(pkt_size); |
@@ -3921,11 +3987,9 @@ bnx2_test_loopback(struct bnx2 *bp) | |||
3921 | udelay(5); | 3987 | udelay(5); |
3922 | rx_start_idx = bp->status_blk->status_rx_quick_consumer_index0; | 3988 | rx_start_idx = bp->status_blk->status_rx_quick_consumer_index0; |
3923 | 3989 | ||
3924 | send_idx = 0; | ||
3925 | send_bseq = 0; | ||
3926 | num_pkts = 0; | 3990 | num_pkts = 0; |
3927 | 3991 | ||
3928 | txbd = &bp->tx_desc_ring[send_idx]; | 3992 | txbd = &bp->tx_desc_ring[TX_RING_IDX(bp->tx_prod)]; |
3929 | 3993 | ||
3930 | txbd->tx_bd_haddr_hi = (u64) map >> 32; | 3994 | txbd->tx_bd_haddr_hi = (u64) map >> 32; |
3931 | txbd->tx_bd_haddr_lo = (u64) map & 0xffffffff; | 3995 | txbd->tx_bd_haddr_lo = (u64) map & 0xffffffff; |
@@ -3933,13 +3997,11 @@ bnx2_test_loopback(struct bnx2 *bp) | |||
3933 | txbd->tx_bd_vlan_tag_flags = TX_BD_FLAGS_START | TX_BD_FLAGS_END; | 3997 | txbd->tx_bd_vlan_tag_flags = TX_BD_FLAGS_START | TX_BD_FLAGS_END; |
3934 | 3998 | ||
3935 | num_pkts++; | 3999 | num_pkts++; |
3936 | send_idx = NEXT_TX_BD(send_idx); | 4000 | bp->tx_prod = NEXT_TX_BD(bp->tx_prod); |
3937 | 4001 | bp->tx_prod_bseq += pkt_size; | |
3938 | send_bseq += pkt_size; | ||
3939 | |||
3940 | REG_WR16(bp, MB_TX_CID_ADDR + BNX2_L2CTX_TX_HOST_BIDX, send_idx); | ||
3941 | REG_WR(bp, MB_TX_CID_ADDR + BNX2_L2CTX_TX_HOST_BSEQ, send_bseq); | ||
3942 | 4002 | ||
4003 | REG_WR16(bp, MB_TX_CID_ADDR + BNX2_L2CTX_TX_HOST_BIDX, bp->tx_prod); | ||
4004 | REG_WR(bp, MB_TX_CID_ADDR + BNX2_L2CTX_TX_HOST_BSEQ, bp->tx_prod_bseq); | ||
3943 | 4005 | ||
3944 | udelay(100); | 4006 | udelay(100); |
3945 | 4007 | ||
@@ -3952,7 +4014,7 @@ bnx2_test_loopback(struct bnx2 *bp) | |||
3952 | pci_unmap_single(bp->pdev, map, pkt_size, PCI_DMA_TODEVICE); | 4014 | pci_unmap_single(bp->pdev, map, pkt_size, PCI_DMA_TODEVICE); |
3953 | dev_kfree_skb_irq(skb); | 4015 | dev_kfree_skb_irq(skb); |
3954 | 4016 | ||
3955 | if (bp->status_blk->status_tx_quick_consumer_index0 != send_idx) { | 4017 | if (bp->status_blk->status_tx_quick_consumer_index0 != bp->tx_prod) { |
3956 | goto loopback_test_done; | 4018 | goto loopback_test_done; |
3957 | } | 4019 | } |
3958 | 4020 | ||
@@ -3971,7 +4033,7 @@ bnx2_test_loopback(struct bnx2 *bp) | |||
3971 | pci_unmap_addr(rx_buf, mapping), | 4033 | pci_unmap_addr(rx_buf, mapping), |
3972 | bp->rx_buf_size, PCI_DMA_FROMDEVICE); | 4034 | bp->rx_buf_size, PCI_DMA_FROMDEVICE); |
3973 | 4035 | ||
3974 | if (rx_hdr->l2_fhdr_errors & | 4036 | if (rx_hdr->l2_fhdr_status & |
3975 | (L2_FHDR_ERRORS_BAD_CRC | | 4037 | (L2_FHDR_ERRORS_BAD_CRC | |
3976 | L2_FHDR_ERRORS_PHY_DECODE | | 4038 | L2_FHDR_ERRORS_PHY_DECODE | |
3977 | L2_FHDR_ERRORS_ALIGNMENT | | 4039 | L2_FHDR_ERRORS_ALIGNMENT | |
@@ -3998,6 +4060,30 @@ loopback_test_done: | |||
3998 | return ret; | 4060 | return ret; |
3999 | } | 4061 | } |
4000 | 4062 | ||
4063 | #define BNX2_MAC_LOOPBACK_FAILED 1 | ||
4064 | #define BNX2_PHY_LOOPBACK_FAILED 2 | ||
4065 | #define BNX2_LOOPBACK_FAILED (BNX2_MAC_LOOPBACK_FAILED | \ | ||
4066 | BNX2_PHY_LOOPBACK_FAILED) | ||
4067 | |||
4068 | static int | ||
4069 | bnx2_test_loopback(struct bnx2 *bp) | ||
4070 | { | ||
4071 | int rc = 0; | ||
4072 | |||
4073 | if (!netif_running(bp->dev)) | ||
4074 | return BNX2_LOOPBACK_FAILED; | ||
4075 | |||
4076 | bnx2_reset_nic(bp, BNX2_DRV_MSG_CODE_RESET); | ||
4077 | spin_lock_bh(&bp->phy_lock); | ||
4078 | bnx2_init_phy(bp); | ||
4079 | spin_unlock_bh(&bp->phy_lock); | ||
4080 | if (bnx2_run_loopback(bp, BNX2_MAC_LOOPBACK)) | ||
4081 | rc |= BNX2_MAC_LOOPBACK_FAILED; | ||
4082 | if (bnx2_run_loopback(bp, BNX2_PHY_LOOPBACK)) | ||
4083 | rc |= BNX2_PHY_LOOPBACK_FAILED; | ||
4084 | return rc; | ||
4085 | } | ||
4086 | |||
4001 | #define NVRAM_SIZE 0x200 | 4087 | #define NVRAM_SIZE 0x200 |
4002 | #define CRC32_RESIDUAL 0xdebb20e3 | 4088 | #define CRC32_RESIDUAL 0xdebb20e3 |
4003 | 4089 | ||
@@ -4167,7 +4253,7 @@ bnx2_restart_timer: | |||
4167 | static int | 4253 | static int |
4168 | bnx2_open(struct net_device *dev) | 4254 | bnx2_open(struct net_device *dev) |
4169 | { | 4255 | { |
4170 | struct bnx2 *bp = dev->priv; | 4256 | struct bnx2 *bp = netdev_priv(dev); |
4171 | int rc; | 4257 | int rc; |
4172 | 4258 | ||
4173 | bnx2_set_power_state(bp, PCI_D0); | 4259 | bnx2_set_power_state(bp, PCI_D0); |
@@ -4280,7 +4366,7 @@ bnx2_reset_task(void *data) | |||
4280 | static void | 4366 | static void |
4281 | bnx2_tx_timeout(struct net_device *dev) | 4367 | bnx2_tx_timeout(struct net_device *dev) |
4282 | { | 4368 | { |
4283 | struct bnx2 *bp = dev->priv; | 4369 | struct bnx2 *bp = netdev_priv(dev); |
4284 | 4370 | ||
4285 | /* This allows the netif to be shutdown gracefully before resetting */ | 4371 | /* This allows the netif to be shutdown gracefully before resetting */ |
4286 | schedule_work(&bp->reset_task); | 4372 | schedule_work(&bp->reset_task); |
@@ -4291,7 +4377,7 @@ bnx2_tx_timeout(struct net_device *dev) | |||
4291 | static void | 4377 | static void |
4292 | bnx2_vlan_rx_register(struct net_device *dev, struct vlan_group *vlgrp) | 4378 | bnx2_vlan_rx_register(struct net_device *dev, struct vlan_group *vlgrp) |
4293 | { | 4379 | { |
4294 | struct bnx2 *bp = dev->priv; | 4380 | struct bnx2 *bp = netdev_priv(dev); |
4295 | 4381 | ||
4296 | bnx2_netif_stop(bp); | 4382 | bnx2_netif_stop(bp); |
4297 | 4383 | ||
@@ -4305,7 +4391,7 @@ bnx2_vlan_rx_register(struct net_device *dev, struct vlan_group *vlgrp) | |||
4305 | static void | 4391 | static void |
4306 | bnx2_vlan_rx_kill_vid(struct net_device *dev, uint16_t vid) | 4392 | bnx2_vlan_rx_kill_vid(struct net_device *dev, uint16_t vid) |
4307 | { | 4393 | { |
4308 | struct bnx2 *bp = dev->priv; | 4394 | struct bnx2 *bp = netdev_priv(dev); |
4309 | 4395 | ||
4310 | bnx2_netif_stop(bp); | 4396 | bnx2_netif_stop(bp); |
4311 | 4397 | ||
@@ -4326,7 +4412,7 @@ bnx2_vlan_rx_kill_vid(struct net_device *dev, uint16_t vid) | |||
4326 | static int | 4412 | static int |
4327 | bnx2_start_xmit(struct sk_buff *skb, struct net_device *dev) | 4413 | bnx2_start_xmit(struct sk_buff *skb, struct net_device *dev) |
4328 | { | 4414 | { |
4329 | struct bnx2 *bp = dev->priv; | 4415 | struct bnx2 *bp = netdev_priv(dev); |
4330 | dma_addr_t mapping; | 4416 | dma_addr_t mapping; |
4331 | struct tx_bd *txbd; | 4417 | struct tx_bd *txbd; |
4332 | struct sw_bd *tx_buf; | 4418 | struct sw_bd *tx_buf; |
@@ -4455,7 +4541,7 @@ bnx2_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
4455 | static int | 4541 | static int |
4456 | bnx2_close(struct net_device *dev) | 4542 | bnx2_close(struct net_device *dev) |
4457 | { | 4543 | { |
4458 | struct bnx2 *bp = dev->priv; | 4544 | struct bnx2 *bp = netdev_priv(dev); |
4459 | u32 reset_code; | 4545 | u32 reset_code; |
4460 | 4546 | ||
4461 | /* Calling flush_scheduled_work() may deadlock because | 4547 | /* Calling flush_scheduled_work() may deadlock because |
@@ -4467,7 +4553,9 @@ bnx2_close(struct net_device *dev) | |||
4467 | 4553 | ||
4468 | bnx2_netif_stop(bp); | 4554 | bnx2_netif_stop(bp); |
4469 | del_timer_sync(&bp->timer); | 4555 | del_timer_sync(&bp->timer); |
4470 | if (bp->wol) | 4556 | if (bp->flags & NO_WOL_FLAG) |
4557 | reset_code = BNX2_DRV_MSG_CODE_UNLOAD; | ||
4558 | else if (bp->wol) | ||
4471 | reset_code = BNX2_DRV_MSG_CODE_SUSPEND_WOL; | 4559 | reset_code = BNX2_DRV_MSG_CODE_SUSPEND_WOL; |
4472 | else | 4560 | else |
4473 | reset_code = BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL; | 4561 | reset_code = BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL; |
@@ -4501,7 +4589,7 @@ bnx2_close(struct net_device *dev) | |||
4501 | static struct net_device_stats * | 4589 | static struct net_device_stats * |
4502 | bnx2_get_stats(struct net_device *dev) | 4590 | bnx2_get_stats(struct net_device *dev) |
4503 | { | 4591 | { |
4504 | struct bnx2 *bp = dev->priv; | 4592 | struct bnx2 *bp = netdev_priv(dev); |
4505 | struct statistics_block *stats_blk = bp->stats_blk; | 4593 | struct statistics_block *stats_blk = bp->stats_blk; |
4506 | struct net_device_stats *net_stats = &bp->net_stats; | 4594 | struct net_device_stats *net_stats = &bp->net_stats; |
4507 | 4595 | ||
@@ -4575,7 +4663,7 @@ bnx2_get_stats(struct net_device *dev) | |||
4575 | static int | 4663 | static int |
4576 | bnx2_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) | 4664 | bnx2_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) |
4577 | { | 4665 | { |
4578 | struct bnx2 *bp = dev->priv; | 4666 | struct bnx2 *bp = netdev_priv(dev); |
4579 | 4667 | ||
4580 | cmd->supported = SUPPORTED_Autoneg; | 4668 | cmd->supported = SUPPORTED_Autoneg; |
4581 | if (bp->phy_flags & PHY_SERDES_FLAG) { | 4669 | if (bp->phy_flags & PHY_SERDES_FLAG) { |
@@ -4622,7 +4710,7 @@ bnx2_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) | |||
4622 | static int | 4710 | static int |
4623 | bnx2_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) | 4711 | bnx2_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) |
4624 | { | 4712 | { |
4625 | struct bnx2 *bp = dev->priv; | 4713 | struct bnx2 *bp = netdev_priv(dev); |
4626 | u8 autoneg = bp->autoneg; | 4714 | u8 autoneg = bp->autoneg; |
4627 | u8 req_duplex = bp->req_duplex; | 4715 | u8 req_duplex = bp->req_duplex; |
4628 | u16 req_line_speed = bp->req_line_speed; | 4716 | u16 req_line_speed = bp->req_line_speed; |
@@ -4694,7 +4782,7 @@ bnx2_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) | |||
4694 | static void | 4782 | static void |
4695 | bnx2_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info) | 4783 | bnx2_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info) |
4696 | { | 4784 | { |
4697 | struct bnx2 *bp = dev->priv; | 4785 | struct bnx2 *bp = netdev_priv(dev); |
4698 | 4786 | ||
4699 | strcpy(info->driver, DRV_MODULE_NAME); | 4787 | strcpy(info->driver, DRV_MODULE_NAME); |
4700 | strcpy(info->version, DRV_MODULE_VERSION); | 4788 | strcpy(info->version, DRV_MODULE_VERSION); |
@@ -4702,15 +4790,14 @@ bnx2_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info) | |||
4702 | info->fw_version[0] = ((bp->fw_ver & 0xff000000) >> 24) + '0'; | 4790 | info->fw_version[0] = ((bp->fw_ver & 0xff000000) >> 24) + '0'; |
4703 | info->fw_version[2] = ((bp->fw_ver & 0xff0000) >> 16) + '0'; | 4791 | info->fw_version[2] = ((bp->fw_ver & 0xff0000) >> 16) + '0'; |
4704 | info->fw_version[4] = ((bp->fw_ver & 0xff00) >> 8) + '0'; | 4792 | info->fw_version[4] = ((bp->fw_ver & 0xff00) >> 8) + '0'; |
4705 | info->fw_version[6] = (bp->fw_ver & 0xff) + '0'; | 4793 | info->fw_version[1] = info->fw_version[3] = '.'; |
4706 | info->fw_version[1] = info->fw_version[3] = info->fw_version[5] = '.'; | 4794 | info->fw_version[5] = 0; |
4707 | info->fw_version[7] = 0; | ||
4708 | } | 4795 | } |
4709 | 4796 | ||
4710 | static void | 4797 | static void |
4711 | bnx2_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) | 4798 | bnx2_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) |
4712 | { | 4799 | { |
4713 | struct bnx2 *bp = dev->priv; | 4800 | struct bnx2 *bp = netdev_priv(dev); |
4714 | 4801 | ||
4715 | if (bp->flags & NO_WOL_FLAG) { | 4802 | if (bp->flags & NO_WOL_FLAG) { |
4716 | wol->supported = 0; | 4803 | wol->supported = 0; |
@@ -4729,7 +4816,7 @@ bnx2_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) | |||
4729 | static int | 4816 | static int |
4730 | bnx2_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) | 4817 | bnx2_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) |
4731 | { | 4818 | { |
4732 | struct bnx2 *bp = dev->priv; | 4819 | struct bnx2 *bp = netdev_priv(dev); |
4733 | 4820 | ||
4734 | if (wol->wolopts & ~WAKE_MAGIC) | 4821 | if (wol->wolopts & ~WAKE_MAGIC) |
4735 | return -EINVAL; | 4822 | return -EINVAL; |
@@ -4749,7 +4836,7 @@ bnx2_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) | |||
4749 | static int | 4836 | static int |
4750 | bnx2_nway_reset(struct net_device *dev) | 4837 | bnx2_nway_reset(struct net_device *dev) |
4751 | { | 4838 | { |
4752 | struct bnx2 *bp = dev->priv; | 4839 | struct bnx2 *bp = netdev_priv(dev); |
4753 | u32 bmcr; | 4840 | u32 bmcr; |
4754 | 4841 | ||
4755 | if (!(bp->autoneg & AUTONEG_SPEED)) { | 4842 | if (!(bp->autoneg & AUTONEG_SPEED)) { |
@@ -4785,19 +4872,19 @@ bnx2_nway_reset(struct net_device *dev) | |||
4785 | static int | 4872 | static int |
4786 | bnx2_get_eeprom_len(struct net_device *dev) | 4873 | bnx2_get_eeprom_len(struct net_device *dev) |
4787 | { | 4874 | { |
4788 | struct bnx2 *bp = dev->priv; | 4875 | struct bnx2 *bp = netdev_priv(dev); |
4789 | 4876 | ||
4790 | if (bp->flash_info == 0) | 4877 | if (bp->flash_info == NULL) |
4791 | return 0; | 4878 | return 0; |
4792 | 4879 | ||
4793 | return (int) bp->flash_info->total_size; | 4880 | return (int) bp->flash_size; |
4794 | } | 4881 | } |
4795 | 4882 | ||
4796 | static int | 4883 | static int |
4797 | bnx2_get_eeprom(struct net_device *dev, struct ethtool_eeprom *eeprom, | 4884 | bnx2_get_eeprom(struct net_device *dev, struct ethtool_eeprom *eeprom, |
4798 | u8 *eebuf) | 4885 | u8 *eebuf) |
4799 | { | 4886 | { |
4800 | struct bnx2 *bp = dev->priv; | 4887 | struct bnx2 *bp = netdev_priv(dev); |
4801 | int rc; | 4888 | int rc; |
4802 | 4889 | ||
4803 | /* parameters already validated in ethtool_get_eeprom */ | 4890 | /* parameters already validated in ethtool_get_eeprom */ |
@@ -4811,7 +4898,7 @@ static int | |||
4811 | bnx2_set_eeprom(struct net_device *dev, struct ethtool_eeprom *eeprom, | 4898 | bnx2_set_eeprom(struct net_device *dev, struct ethtool_eeprom *eeprom, |
4812 | u8 *eebuf) | 4899 | u8 *eebuf) |
4813 | { | 4900 | { |
4814 | struct bnx2 *bp = dev->priv; | 4901 | struct bnx2 *bp = netdev_priv(dev); |
4815 | int rc; | 4902 | int rc; |
4816 | 4903 | ||
4817 | /* parameters already validated in ethtool_set_eeprom */ | 4904 | /* parameters already validated in ethtool_set_eeprom */ |
@@ -4824,7 +4911,7 @@ bnx2_set_eeprom(struct net_device *dev, struct ethtool_eeprom *eeprom, | |||
4824 | static int | 4911 | static int |
4825 | bnx2_get_coalesce(struct net_device *dev, struct ethtool_coalesce *coal) | 4912 | bnx2_get_coalesce(struct net_device *dev, struct ethtool_coalesce *coal) |
4826 | { | 4913 | { |
4827 | struct bnx2 *bp = dev->priv; | 4914 | struct bnx2 *bp = netdev_priv(dev); |
4828 | 4915 | ||
4829 | memset(coal, 0, sizeof(struct ethtool_coalesce)); | 4916 | memset(coal, 0, sizeof(struct ethtool_coalesce)); |
4830 | 4917 | ||
@@ -4846,7 +4933,7 @@ bnx2_get_coalesce(struct net_device *dev, struct ethtool_coalesce *coal) | |||
4846 | static int | 4933 | static int |
4847 | bnx2_set_coalesce(struct net_device *dev, struct ethtool_coalesce *coal) | 4934 | bnx2_set_coalesce(struct net_device *dev, struct ethtool_coalesce *coal) |
4848 | { | 4935 | { |
4849 | struct bnx2 *bp = dev->priv; | 4936 | struct bnx2 *bp = netdev_priv(dev); |
4850 | 4937 | ||
4851 | bp->rx_ticks = (u16) coal->rx_coalesce_usecs; | 4938 | bp->rx_ticks = (u16) coal->rx_coalesce_usecs; |
4852 | if (bp->rx_ticks > 0x3ff) bp->rx_ticks = 0x3ff; | 4939 | if (bp->rx_ticks > 0x3ff) bp->rx_ticks = 0x3ff; |
@@ -4890,7 +4977,7 @@ bnx2_set_coalesce(struct net_device *dev, struct ethtool_coalesce *coal) | |||
4890 | static void | 4977 | static void |
4891 | bnx2_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ering) | 4978 | bnx2_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ering) |
4892 | { | 4979 | { |
4893 | struct bnx2 *bp = dev->priv; | 4980 | struct bnx2 *bp = netdev_priv(dev); |
4894 | 4981 | ||
4895 | ering->rx_max_pending = MAX_RX_DESC_CNT; | 4982 | ering->rx_max_pending = MAX_RX_DESC_CNT; |
4896 | ering->rx_mini_max_pending = 0; | 4983 | ering->rx_mini_max_pending = 0; |
@@ -4907,7 +4994,7 @@ bnx2_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ering) | |||
4907 | static int | 4994 | static int |
4908 | bnx2_set_ringparam(struct net_device *dev, struct ethtool_ringparam *ering) | 4995 | bnx2_set_ringparam(struct net_device *dev, struct ethtool_ringparam *ering) |
4909 | { | 4996 | { |
4910 | struct bnx2 *bp = dev->priv; | 4997 | struct bnx2 *bp = netdev_priv(dev); |
4911 | 4998 | ||
4912 | if ((ering->rx_pending > MAX_RX_DESC_CNT) || | 4999 | if ((ering->rx_pending > MAX_RX_DESC_CNT) || |
4913 | (ering->tx_pending > MAX_TX_DESC_CNT) || | 5000 | (ering->tx_pending > MAX_TX_DESC_CNT) || |
@@ -4930,7 +5017,7 @@ bnx2_set_ringparam(struct net_device *dev, struct ethtool_ringparam *ering) | |||
4930 | static void | 5017 | static void |
4931 | bnx2_get_pauseparam(struct net_device *dev, struct ethtool_pauseparam *epause) | 5018 | bnx2_get_pauseparam(struct net_device *dev, struct ethtool_pauseparam *epause) |
4932 | { | 5019 | { |
4933 | struct bnx2 *bp = dev->priv; | 5020 | struct bnx2 *bp = netdev_priv(dev); |
4934 | 5021 | ||
4935 | epause->autoneg = ((bp->autoneg & AUTONEG_FLOW_CTRL) != 0); | 5022 | epause->autoneg = ((bp->autoneg & AUTONEG_FLOW_CTRL) != 0); |
4936 | epause->rx_pause = ((bp->flow_ctrl & FLOW_CTRL_RX) != 0); | 5023 | epause->rx_pause = ((bp->flow_ctrl & FLOW_CTRL_RX) != 0); |
@@ -4940,7 +5027,7 @@ bnx2_get_pauseparam(struct net_device *dev, struct ethtool_pauseparam *epause) | |||
4940 | static int | 5027 | static int |
4941 | bnx2_set_pauseparam(struct net_device *dev, struct ethtool_pauseparam *epause) | 5028 | bnx2_set_pauseparam(struct net_device *dev, struct ethtool_pauseparam *epause) |
4942 | { | 5029 | { |
4943 | struct bnx2 *bp = dev->priv; | 5030 | struct bnx2 *bp = netdev_priv(dev); |
4944 | 5031 | ||
4945 | bp->req_flow_ctrl = 0; | 5032 | bp->req_flow_ctrl = 0; |
4946 | if (epause->rx_pause) | 5033 | if (epause->rx_pause) |
@@ -4967,7 +5054,7 @@ bnx2_set_pauseparam(struct net_device *dev, struct ethtool_pauseparam *epause) | |||
4967 | static u32 | 5054 | static u32 |
4968 | bnx2_get_rx_csum(struct net_device *dev) | 5055 | bnx2_get_rx_csum(struct net_device *dev) |
4969 | { | 5056 | { |
4970 | struct bnx2 *bp = dev->priv; | 5057 | struct bnx2 *bp = netdev_priv(dev); |
4971 | 5058 | ||
4972 | return bp->rx_csum; | 5059 | return bp->rx_csum; |
4973 | } | 5060 | } |
@@ -4975,7 +5062,7 @@ bnx2_get_rx_csum(struct net_device *dev) | |||
4975 | static int | 5062 | static int |
4976 | bnx2_set_rx_csum(struct net_device *dev, u32 data) | 5063 | bnx2_set_rx_csum(struct net_device *dev, u32 data) |
4977 | { | 5064 | { |
4978 | struct bnx2 *bp = dev->priv; | 5065 | struct bnx2 *bp = netdev_priv(dev); |
4979 | 5066 | ||
4980 | bp->rx_csum = data; | 5067 | bp->rx_csum = data; |
4981 | return 0; | 5068 | return 0; |
@@ -5124,7 +5211,7 @@ bnx2_self_test_count(struct net_device *dev) | |||
5124 | static void | 5211 | static void |
5125 | bnx2_self_test(struct net_device *dev, struct ethtool_test *etest, u64 *buf) | 5212 | bnx2_self_test(struct net_device *dev, struct ethtool_test *etest, u64 *buf) |
5126 | { | 5213 | { |
5127 | struct bnx2 *bp = dev->priv; | 5214 | struct bnx2 *bp = netdev_priv(dev); |
5128 | 5215 | ||
5129 | memset(buf, 0, sizeof(u64) * BNX2_NUM_TESTS); | 5216 | memset(buf, 0, sizeof(u64) * BNX2_NUM_TESTS); |
5130 | if (etest->flags & ETH_TEST_FL_OFFLINE) { | 5217 | if (etest->flags & ETH_TEST_FL_OFFLINE) { |
@@ -5140,10 +5227,8 @@ bnx2_self_test(struct net_device *dev, struct ethtool_test *etest, u64 *buf) | |||
5140 | buf[1] = 1; | 5227 | buf[1] = 1; |
5141 | etest->flags |= ETH_TEST_FL_FAILED; | 5228 | etest->flags |= ETH_TEST_FL_FAILED; |
5142 | } | 5229 | } |
5143 | if (bnx2_test_loopback(bp) != 0) { | 5230 | if ((buf[2] = bnx2_test_loopback(bp)) != 0) |
5144 | buf[2] = 1; | ||
5145 | etest->flags |= ETH_TEST_FL_FAILED; | 5231 | etest->flags |= ETH_TEST_FL_FAILED; |
5146 | } | ||
5147 | 5232 | ||
5148 | if (!netif_running(bp->dev)) { | 5233 | if (!netif_running(bp->dev)) { |
5149 | bnx2_reset_chip(bp, BNX2_DRV_MSG_CODE_RESET); | 5234 | bnx2_reset_chip(bp, BNX2_DRV_MSG_CODE_RESET); |
@@ -5200,7 +5285,7 @@ static void | |||
5200 | bnx2_get_ethtool_stats(struct net_device *dev, | 5285 | bnx2_get_ethtool_stats(struct net_device *dev, |
5201 | struct ethtool_stats *stats, u64 *buf) | 5286 | struct ethtool_stats *stats, u64 *buf) |
5202 | { | 5287 | { |
5203 | struct bnx2 *bp = dev->priv; | 5288 | struct bnx2 *bp = netdev_priv(dev); |
5204 | int i; | 5289 | int i; |
5205 | u32 *hw_stats = (u32 *) bp->stats_blk; | 5290 | u32 *hw_stats = (u32 *) bp->stats_blk; |
5206 | u8 *stats_len_arr = NULL; | 5291 | u8 *stats_len_arr = NULL; |
@@ -5240,7 +5325,7 @@ bnx2_get_ethtool_stats(struct net_device *dev, | |||
5240 | static int | 5325 | static int |
5241 | bnx2_phys_id(struct net_device *dev, u32 data) | 5326 | bnx2_phys_id(struct net_device *dev, u32 data) |
5242 | { | 5327 | { |
5243 | struct bnx2 *bp = dev->priv; | 5328 | struct bnx2 *bp = netdev_priv(dev); |
5244 | int i; | 5329 | int i; |
5245 | u32 save; | 5330 | u32 save; |
5246 | 5331 | ||
@@ -5312,7 +5397,7 @@ static int | |||
5312 | bnx2_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) | 5397 | bnx2_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) |
5313 | { | 5398 | { |
5314 | struct mii_ioctl_data *data = if_mii(ifr); | 5399 | struct mii_ioctl_data *data = if_mii(ifr); |
5315 | struct bnx2 *bp = dev->priv; | 5400 | struct bnx2 *bp = netdev_priv(dev); |
5316 | int err; | 5401 | int err; |
5317 | 5402 | ||
5318 | switch(cmd) { | 5403 | switch(cmd) { |
@@ -5354,7 +5439,7 @@ static int | |||
5354 | bnx2_change_mac_addr(struct net_device *dev, void *p) | 5439 | bnx2_change_mac_addr(struct net_device *dev, void *p) |
5355 | { | 5440 | { |
5356 | struct sockaddr *addr = p; | 5441 | struct sockaddr *addr = p; |
5357 | struct bnx2 *bp = dev->priv; | 5442 | struct bnx2 *bp = netdev_priv(dev); |
5358 | 5443 | ||
5359 | if (!is_valid_ether_addr(addr->sa_data)) | 5444 | if (!is_valid_ether_addr(addr->sa_data)) |
5360 | return -EINVAL; | 5445 | return -EINVAL; |
@@ -5370,7 +5455,7 @@ bnx2_change_mac_addr(struct net_device *dev, void *p) | |||
5370 | static int | 5455 | static int |
5371 | bnx2_change_mtu(struct net_device *dev, int new_mtu) | 5456 | bnx2_change_mtu(struct net_device *dev, int new_mtu) |
5372 | { | 5457 | { |
5373 | struct bnx2 *bp = dev->priv; | 5458 | struct bnx2 *bp = netdev_priv(dev); |
5374 | 5459 | ||
5375 | if (((new_mtu + ETH_HLEN) > MAX_ETHERNET_JUMBO_PACKET_SIZE) || | 5460 | if (((new_mtu + ETH_HLEN) > MAX_ETHERNET_JUMBO_PACKET_SIZE) || |
5376 | ((new_mtu + ETH_HLEN) < MIN_ETHERNET_PACKET_SIZE)) | 5461 | ((new_mtu + ETH_HLEN) < MIN_ETHERNET_PACKET_SIZE)) |
@@ -5391,7 +5476,7 @@ bnx2_change_mtu(struct net_device *dev, int new_mtu) | |||
5391 | static void | 5476 | static void |
5392 | poll_bnx2(struct net_device *dev) | 5477 | poll_bnx2(struct net_device *dev) |
5393 | { | 5478 | { |
5394 | struct bnx2 *bp = dev->priv; | 5479 | struct bnx2 *bp = netdev_priv(dev); |
5395 | 5480 | ||
5396 | disable_irq(bp->pdev->irq); | 5481 | disable_irq(bp->pdev->irq); |
5397 | bnx2_interrupt(bp->pdev->irq, dev, NULL); | 5482 | bnx2_interrupt(bp->pdev->irq, dev, NULL); |
@@ -5409,7 +5494,7 @@ bnx2_init_board(struct pci_dev *pdev, struct net_device *dev) | |||
5409 | 5494 | ||
5410 | SET_MODULE_OWNER(dev); | 5495 | SET_MODULE_OWNER(dev); |
5411 | SET_NETDEV_DEV(dev, &pdev->dev); | 5496 | SET_NETDEV_DEV(dev, &pdev->dev); |
5412 | bp = dev->priv; | 5497 | bp = netdev_priv(dev); |
5413 | 5498 | ||
5414 | bp->flags = 0; | 5499 | bp->flags = 0; |
5415 | bp->phy_flags = 0; | 5500 | bp->phy_flags = 0; |
@@ -5629,6 +5714,9 @@ bnx2_init_board(struct pci_dev *pdev, struct net_device *dev) | |||
5629 | } | 5714 | } |
5630 | } | 5715 | } |
5631 | 5716 | ||
5717 | if (CHIP_NUM(bp) == CHIP_NUM_5708) | ||
5718 | bp->flags |= NO_WOL_FLAG; | ||
5719 | |||
5632 | if (CHIP_ID(bp) == CHIP_ID_5706_A0) { | 5720 | if (CHIP_ID(bp) == CHIP_ID_5706_A0) { |
5633 | bp->tx_quick_cons_trip_int = | 5721 | bp->tx_quick_cons_trip_int = |
5634 | bp->tx_quick_cons_trip; | 5722 | bp->tx_quick_cons_trip; |
@@ -5725,7 +5813,7 @@ bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
5725 | dev->ethtool_ops = &bnx2_ethtool_ops; | 5813 | dev->ethtool_ops = &bnx2_ethtool_ops; |
5726 | dev->weight = 64; | 5814 | dev->weight = 64; |
5727 | 5815 | ||
5728 | bp = dev->priv; | 5816 | bp = netdev_priv(dev); |
5729 | 5817 | ||
5730 | #if defined(HAVE_POLL_CONTROLLER) || defined(CONFIG_NET_POLL_CONTROLLER) | 5818 | #if defined(HAVE_POLL_CONTROLLER) || defined(CONFIG_NET_POLL_CONTROLLER) |
5731 | dev->poll_controller = poll_bnx2; | 5819 | dev->poll_controller = poll_bnx2; |
@@ -5784,7 +5872,7 @@ static void __devexit | |||
5784 | bnx2_remove_one(struct pci_dev *pdev) | 5872 | bnx2_remove_one(struct pci_dev *pdev) |
5785 | { | 5873 | { |
5786 | struct net_device *dev = pci_get_drvdata(pdev); | 5874 | struct net_device *dev = pci_get_drvdata(pdev); |
5787 | struct bnx2 *bp = dev->priv; | 5875 | struct bnx2 *bp = netdev_priv(dev); |
5788 | 5876 | ||
5789 | flush_scheduled_work(); | 5877 | flush_scheduled_work(); |
5790 | 5878 | ||
@@ -5803,7 +5891,7 @@ static int | |||
5803 | bnx2_suspend(struct pci_dev *pdev, pm_message_t state) | 5891 | bnx2_suspend(struct pci_dev *pdev, pm_message_t state) |
5804 | { | 5892 | { |
5805 | struct net_device *dev = pci_get_drvdata(pdev); | 5893 | struct net_device *dev = pci_get_drvdata(pdev); |
5806 | struct bnx2 *bp = dev->priv; | 5894 | struct bnx2 *bp = netdev_priv(dev); |
5807 | u32 reset_code; | 5895 | u32 reset_code; |
5808 | 5896 | ||
5809 | if (!netif_running(dev)) | 5897 | if (!netif_running(dev)) |
@@ -5812,7 +5900,9 @@ bnx2_suspend(struct pci_dev *pdev, pm_message_t state) | |||
5812 | bnx2_netif_stop(bp); | 5900 | bnx2_netif_stop(bp); |
5813 | netif_device_detach(dev); | 5901 | netif_device_detach(dev); |
5814 | del_timer_sync(&bp->timer); | 5902 | del_timer_sync(&bp->timer); |
5815 | if (bp->wol) | 5903 | if (bp->flags & NO_WOL_FLAG) |
5904 | reset_code = BNX2_DRV_MSG_CODE_UNLOAD; | ||
5905 | else if (bp->wol) | ||
5816 | reset_code = BNX2_DRV_MSG_CODE_SUSPEND_WOL; | 5906 | reset_code = BNX2_DRV_MSG_CODE_SUSPEND_WOL; |
5817 | else | 5907 | else |
5818 | reset_code = BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL; | 5908 | reset_code = BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL; |
@@ -5826,7 +5916,7 @@ static int | |||
5826 | bnx2_resume(struct pci_dev *pdev) | 5916 | bnx2_resume(struct pci_dev *pdev) |
5827 | { | 5917 | { |
5828 | struct net_device *dev = pci_get_drvdata(pdev); | 5918 | struct net_device *dev = pci_get_drvdata(pdev); |
5829 | struct bnx2 *bp = dev->priv; | 5919 | struct bnx2 *bp = netdev_priv(dev); |
5830 | 5920 | ||
5831 | if (!netif_running(dev)) | 5921 | if (!netif_running(dev)) |
5832 | return 0; | 5922 | return 0; |
diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h index 76bb5f1a250b..9f691cbd666b 100644 --- a/drivers/net/bnx2.h +++ b/drivers/net/bnx2.h | |||
@@ -1,6 +1,6 @@ | |||
1 | /* bnx2.h: Broadcom NX2 network driver. | 1 | /* bnx2.h: Broadcom NX2 network driver. |
2 | * | 2 | * |
3 | * Copyright (c) 2004, 2005 Broadcom Corporation | 3 | * Copyright (c) 2004, 2005, 2006 Broadcom Corporation |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or modify | 5 | * This program is free software; you can redistribute it and/or modify |
6 | * it under the terms of the GNU General Public License as published by | 6 | * it under the terms of the GNU General Public License as published by |
@@ -277,19 +277,7 @@ struct statistics_block { | |||
277 | * l2_fhdr definition | 277 | * l2_fhdr definition |
278 | */ | 278 | */ |
279 | struct l2_fhdr { | 279 | struct l2_fhdr { |
280 | #if defined(__BIG_ENDIAN) | 280 | u32 l2_fhdr_status; |
281 | u16 l2_fhdr_errors; | ||
282 | u16 l2_fhdr_status; | ||
283 | #elif defined(__LITTLE_ENDIAN) | ||
284 | u16 l2_fhdr_status; | ||
285 | u16 l2_fhdr_errors; | ||
286 | #endif | ||
287 | #define L2_FHDR_ERRORS_BAD_CRC (1<<1) | ||
288 | #define L2_FHDR_ERRORS_PHY_DECODE (1<<2) | ||
289 | #define L2_FHDR_ERRORS_ALIGNMENT (1<<3) | ||
290 | #define L2_FHDR_ERRORS_TOO_SHORT (1<<4) | ||
291 | #define L2_FHDR_ERRORS_GIANT_FRAME (1<<5) | ||
292 | |||
293 | #define L2_FHDR_STATUS_RULE_CLASS (0x7<<0) | 281 | #define L2_FHDR_STATUS_RULE_CLASS (0x7<<0) |
294 | #define L2_FHDR_STATUS_RULE_P2 (1<<3) | 282 | #define L2_FHDR_STATUS_RULE_P2 (1<<3) |
295 | #define L2_FHDR_STATUS_RULE_P3 (1<<4) | 283 | #define L2_FHDR_STATUS_RULE_P3 (1<<4) |
@@ -301,6 +289,14 @@ struct l2_fhdr { | |||
301 | #define L2_FHDR_STATUS_TCP_SEGMENT (1<<14) | 289 | #define L2_FHDR_STATUS_TCP_SEGMENT (1<<14) |
302 | #define L2_FHDR_STATUS_UDP_DATAGRAM (1<<15) | 290 | #define L2_FHDR_STATUS_UDP_DATAGRAM (1<<15) |
303 | 291 | ||
292 | #define L2_FHDR_ERRORS_BAD_CRC (1<<17) | ||
293 | #define L2_FHDR_ERRORS_PHY_DECODE (1<<18) | ||
294 | #define L2_FHDR_ERRORS_ALIGNMENT (1<<19) | ||
295 | #define L2_FHDR_ERRORS_TOO_SHORT (1<<20) | ||
296 | #define L2_FHDR_ERRORS_GIANT_FRAME (1<<21) | ||
297 | #define L2_FHDR_ERRORS_TCP_XSUM (1<<28) | ||
298 | #define L2_FHDR_ERRORS_UDP_XSUM (1<<31) | ||
299 | |||
304 | u32 l2_fhdr_hash; | 300 | u32 l2_fhdr_hash; |
305 | #if defined(__BIG_ENDIAN) | 301 | #if defined(__BIG_ENDIAN) |
306 | u16 l2_fhdr_pkt_len; | 302 | u16 l2_fhdr_pkt_len; |
@@ -3956,6 +3952,7 @@ struct bnx2 { | |||
3956 | #define NO_WOL_FLAG 8 | 3952 | #define NO_WOL_FLAG 8 |
3957 | #define USING_DAC_FLAG 0x10 | 3953 | #define USING_DAC_FLAG 0x10 |
3958 | #define USING_MSI_FLAG 0x20 | 3954 | #define USING_MSI_FLAG 0x20 |
3955 | #define ASF_ENABLE_FLAG 0x40 | ||
3959 | 3956 | ||
3960 | u32 phy_flags; | 3957 | u32 phy_flags; |
3961 | #define PHY_SERDES_FLAG 1 | 3958 | #define PHY_SERDES_FLAG 1 |
@@ -3986,6 +3983,7 @@ struct bnx2 { | |||
3986 | #define CHIP_ID_5706_A2 0x57060020 | 3983 | #define CHIP_ID_5706_A2 0x57060020 |
3987 | #define CHIP_ID_5708_A0 0x57080000 | 3984 | #define CHIP_ID_5708_A0 0x57080000 |
3988 | #define CHIP_ID_5708_B0 0x57081000 | 3985 | #define CHIP_ID_5708_B0 0x57081000 |
3986 | #define CHIP_ID_5708_B1 0x57081010 | ||
3989 | 3987 | ||
3990 | #define CHIP_BOND_ID(bp) (((bp)->chip_id) & 0xf) | 3988 | #define CHIP_BOND_ID(bp) (((bp)->chip_id) & 0xf) |
3991 | 3989 | ||
@@ -3998,7 +3996,7 @@ struct bnx2 { | |||
3998 | u16 bus_speed_mhz; | 3996 | u16 bus_speed_mhz; |
3999 | u8 wol; | 3997 | u8 wol; |
4000 | 3998 | ||
4001 | u8 fw_timed_out; | 3999 | u8 pad; |
4002 | 4000 | ||
4003 | u16 fw_wr_seq; | 4001 | u16 fw_wr_seq; |
4004 | u16 fw_drv_pulse_wr_seq; | 4002 | u16 fw_drv_pulse_wr_seq; |
@@ -4074,6 +4072,7 @@ struct bnx2 { | |||
4074 | struct net_device_stats net_stats; | 4072 | struct net_device_stats net_stats; |
4075 | 4073 | ||
4076 | struct flash_spec *flash_info; | 4074 | struct flash_spec *flash_info; |
4075 | u32 flash_size; | ||
4077 | }; | 4076 | }; |
4078 | 4077 | ||
4079 | static u32 bnx2_reg_rd_ind(struct bnx2 *bp, u32 offset); | 4078 | static u32 bnx2_reg_rd_ind(struct bnx2 *bp, u32 offset); |
@@ -4172,7 +4171,7 @@ struct fw_info { | |||
4172 | * the firmware has timed out, the driver will assume there is no firmware | 4171 | * the firmware has timed out, the driver will assume there is no firmware |
4173 | * running and there won't be any firmware-driver synchronization during a | 4172 | * running and there won't be any firmware-driver synchronization during a |
4174 | * driver reset. */ | 4173 | * driver reset. */ |
4175 | #define FW_ACK_TIME_OUT_MS 50 | 4174 | #define FW_ACK_TIME_OUT_MS 100 |
4176 | 4175 | ||
4177 | 4176 | ||
4178 | #define BNX2_DRV_RESET_SIGNATURE 0x00000000 | 4177 | #define BNX2_DRV_RESET_SIGNATURE 0x00000000 |
@@ -4275,6 +4274,9 @@ struct fw_info { | |||
4275 | #define BNX2_SHARED_HW_CFG_LED_MODE_GPHY1 0x100 | 4274 | #define BNX2_SHARED_HW_CFG_LED_MODE_GPHY1 0x100 |
4276 | #define BNX2_SHARED_HW_CFG_LED_MODE_GPHY2 0x200 | 4275 | #define BNX2_SHARED_HW_CFG_LED_MODE_GPHY2 0x200 |
4277 | 4276 | ||
4277 | #define BNX2_SHARED_HW_CFG_CONFIG2 0x00000040 | ||
4278 | #define BNX2_SHARED_HW_CFG2_NVM_SIZE_MASK 0x00fff000 | ||
4279 | |||
4278 | #define BNX2_DEV_INFO_BC_REV 0x0000004c | 4280 | #define BNX2_DEV_INFO_BC_REV 0x0000004c |
4279 | 4281 | ||
4280 | #define BNX2_PORT_HW_CFG_MAC_UPPER 0x00000050 | 4282 | #define BNX2_PORT_HW_CFG_MAC_UPPER 0x00000050 |
diff --git a/drivers/net/bnx2_fw.h b/drivers/net/bnx2_fw.h index ab07a4900e9a..0c21bd849814 100644 --- a/drivers/net/bnx2_fw.h +++ b/drivers/net/bnx2_fw.h | |||
@@ -1,6 +1,6 @@ | |||
1 | /* bnx2_fw.h: Broadcom NX2 network driver. | 1 | /* bnx2_fw.h: Broadcom NX2 network driver. |
2 | * | 2 | * |
3 | * Copyright (c) 2004, 2005 Broadcom Corporation | 3 | * Copyright (c) 2004, 2005, 2006 Broadcom Corporation |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or modify | 5 | * This program is free software; you can redistribute it and/or modify |
6 | * it under the terms of the GNU General Public License as published by | 6 | * it under the terms of the GNU General Public License as published by |
@@ -978,20 +978,20 @@ static u32 bnx2_COM_b06FwSbss[(0x1c/4) + 1] = { 0x0 }; | |||
978 | static int bnx2_RXP_b06FwReleaseMajor = 0x1; | 978 | static int bnx2_RXP_b06FwReleaseMajor = 0x1; |
979 | static int bnx2_RXP_b06FwReleaseMinor = 0x0; | 979 | static int bnx2_RXP_b06FwReleaseMinor = 0x0; |
980 | static int bnx2_RXP_b06FwReleaseFix = 0x0; | 980 | static int bnx2_RXP_b06FwReleaseFix = 0x0; |
981 | static u32 bnx2_RXP_b06FwStartAddr = 0x08003104; | 981 | static u32 bnx2_RXP_b06FwStartAddr = 0x08003184; |
982 | static u32 bnx2_RXP_b06FwTextAddr = 0x08000000; | 982 | static u32 bnx2_RXP_b06FwTextAddr = 0x08000000; |
983 | static int bnx2_RXP_b06FwTextLen = 0x562c; | 983 | static int bnx2_RXP_b06FwTextLen = 0x588c; |
984 | static u32 bnx2_RXP_b06FwDataAddr = 0x08005660; | 984 | static u32 bnx2_RXP_b06FwDataAddr = 0x080058e0; |
985 | static int bnx2_RXP_b06FwDataLen = 0x0; | 985 | static int bnx2_RXP_b06FwDataLen = 0x0; |
986 | static u32 bnx2_RXP_b06FwRodataAddr = 0x00000000; | 986 | static u32 bnx2_RXP_b06FwRodataAddr = 0x08005890; |
987 | static int bnx2_RXP_b06FwRodataLen = 0x0; | 987 | static int bnx2_RXP_b06FwRodataLen = 0x28; |
988 | static u32 bnx2_RXP_b06FwBssAddr = 0x08005680; | 988 | static u32 bnx2_RXP_b06FwBssAddr = 0x08005900; |
989 | static int bnx2_RXP_b06FwBssLen = 0x1394; | 989 | static int bnx2_RXP_b06FwBssLen = 0x13a4; |
990 | static u32 bnx2_RXP_b06FwSbssAddr = 0x08005660; | 990 | static u32 bnx2_RXP_b06FwSbssAddr = 0x080058e0; |
991 | static int bnx2_RXP_b06FwSbssLen = 0x18; | 991 | static int bnx2_RXP_b06FwSbssLen = 0x1c; |
992 | static u32 bnx2_RXP_b06FwText[(0x562c/4) + 1] = { | 992 | static u32 bnx2_RXP_b06FwText[(0x588c/4) + 1] = { |
993 | 0x0a000c41, 0x00000000, 0x00000000, 0x0000000d, 0x72787020, 0x322e352e, | 993 | 0x0a000c61, 0x00000000, 0x00000000, 0x0000000d, 0x72787020, 0x322e362e, |
994 | 0x38000000, 0x02050803, 0x00000000, 0x0000000d, 0x00000000, 0x00000000, | 994 | 0x31000000, 0x02060103, 0x00000000, 0x0000000d, 0x00000000, 0x00000000, |
995 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 995 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
996 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 996 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
997 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 997 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
@@ -1513,408 +1513,435 @@ static u32 bnx2_RXP_b06FwText[(0x562c/4) + 1] = { | |||
1513 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 1513 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1514 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 1514 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1515 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 1515 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1516 | 0x10000003, 0x00000000, 0x0000000d, 0x0000000d, 0x3c020800, 0x24425660, | 1516 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1517 | 0x3c030800, 0x24636a14, 0xac400000, 0x0043202b, 0x1480fffd, 0x24420004, | 1517 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1518 | 0x3c1d0800, 0x37bd7ffc, 0x03a0f021, 0x3c100800, 0x26103104, 0x3c1c0800, | 1518 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1519 | 0x279c5660, 0x0e001035, 0x00000000, 0x0000000d, 0x3c080800, 0x8d023100, | 1519 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1520 | 0x2c420080, 0x50400001, 0xad003100, 0x8d073100, 0x3c040800, 0x24840100, | 1520 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1521 | 0x8f460100, 0x00071840, 0x00671821, 0x00031940, 0x00641021, 0xac460000, | 1521 | 0x00000000, 0x00000000, 0x10000003, 0x00000000, 0x0000000d, 0x0000000d, |
1522 | 0x8f450104, 0x00831021, 0xac450004, 0x8f460108, 0xac460008, 0x8f45010c, | 1522 | 0x3c020800, 0x244258e0, 0x3c030800, 0x24636ca4, 0xac400000, 0x0043202b, |
1523 | 0xac45000c, 0x8f460114, 0xac460010, 0x8f450118, 0xac450014, 0x8f460124, | 1523 | 0x1480fffd, 0x24420004, 0x3c1d0800, 0x37bd7ffc, 0x03a0f021, 0x3c100800, |
1524 | 0xac460018, 0x8f450128, 0xac45001c, 0x8f464010, 0xac460020, 0x8f454014, | 1524 | 0x26103184, 0x3c1c0800, 0x279c58e0, 0x0e00104a, 0x00000000, 0x0000000d, |
1525 | 0xac450024, 0x8f464018, 0xac460028, 0x8f45401c, 0xac45002c, 0x8f464020, | 1525 | 0x27bdffe8, 0xafb00010, 0xafbf0014, 0x0e000f1d, 0x00808021, 0x1440000d, |
1526 | 0xac460030, 0x8f454024, 0xac450034, 0x8f464028, 0xac460038, 0x8f45402c, | 1526 | 0x00000000, 0x8f820010, 0x10400005, 0x00000000, 0x9743011c, 0x9742011e, |
1527 | 0xac45003c, 0x8f464030, 0xac460040, 0x8f454034, 0xac450044, 0x8f464038, | 1527 | 0x0a000c89, 0x00021400, 0x9743011e, 0x9742011c, 0x00021400, 0x00621825, |
1528 | 0xac460048, 0x8f45403c, 0xac45004c, 0x8f464040, 0xac460050, 0x8f454044, | 1528 | 0xaf830004, 0x8f840008, 0x3c020020, 0x34424000, 0x00821824, 0x54620004, |
1529 | 0xac450054, 0x8f464048, 0xac460058, 0x8f45404c, 0x24e70001, 0x00402021, | 1529 | 0x3c020020, 0x8f820014, 0x0a000c9a, 0x34421000, 0x34428000, 0x00821824, |
1530 | 0xad073100, 0x03e00008, 0xac85005c, 0x8f820004, 0x9743010c, 0x00804821, | 1530 | 0x14620004, 0x00000000, 0x8f820014, 0x34428000, 0xaf820014, 0x8f820008, |
1531 | 0x00403021, 0x30421000, 0x10400010, 0x306affff, 0x30c20020, 0x1440000e, | 1531 | 0x9743010c, 0x00403021, 0x30421000, 0x10400010, 0x3069ffff, 0x30c20020, |
1532 | 0x24070005, 0x3c021000, 0x00c21024, 0x10400009, 0x3c030dff, 0x3463ffff, | 1532 | 0x1440000e, 0x24070005, 0x3c021000, 0x00c21024, 0x10400009, 0x3c030dff, |
1533 | 0x3c020e00, 0x00c21024, 0x0062182b, 0x50600004, 0x24070001, 0x0a000cb1, | 1533 | 0x3463ffff, 0x3c020e00, 0x00c21024, 0x0062182b, 0x50600004, 0x24070001, |
1534 | 0x3c020800, 0x24070001, 0x3c020800, 0x8c430034, 0x1460001d, 0x00405821, | 1534 | 0x0a000cb2, 0x3c020800, 0x24070001, 0x3c020800, 0x8c430034, 0x1460001d, |
1535 | 0x8f820010, 0x30424000, 0x1440001a, 0x3c020001, 0x3c021f01, 0x00c24024, | 1535 | 0x00405821, 0x8f820014, 0x30424000, 0x1440001a, 0x3c020001, 0x3c021f01, |
1536 | 0x3c031000, 0x15030015, 0x3c020001, 0x31420200, 0x54400012, 0x3c020001, | 1536 | 0x00c24024, 0x3c031000, 0x15030015, 0x3c020001, 0x31220200, 0x14400012, |
1537 | 0x9744010e, 0x24020003, 0xa342018b, 0x97850012, 0x24020002, 0x34e30002, | 1537 | 0x3c020001, 0x9744010e, 0x24020003, 0xa342018b, 0x97850016, 0x24020002, |
1538 | 0xaf400180, 0xa742018c, 0xa7430188, 0x24840004, 0x30a5bfff, 0xa744018e, | 1538 | 0x34e30002, 0xaf400180, 0xa742018c, 0xa7430188, 0x24840004, 0x30a5bfff, |
1539 | 0xa74501a6, 0xaf4801b8, 0x03e00008, 0x00001021, 0x3c020001, 0x00c21024, | 1539 | 0xa744018e, 0xa74501a6, 0xaf4801b8, 0x0a000f19, 0x00001021, 0x3c020001, |
1540 | 0x10400039, 0x00000000, 0x9742010e, 0x3c038000, 0x3046ffff, 0x8f4201b8, | 1540 | 0x00c21024, 0x1040002f, 0x00000000, 0x9742010e, 0x3c038000, 0x3046ffff, |
1541 | 0x00431024, 0x1440fffd, 0x24020003, 0xa342018b, 0x97840006, 0x8f85000c, | 1541 | 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24020003, 0xa342018b, 0x9784000a, |
1542 | 0x24020080, 0x24030002, 0xaf420180, 0xa743018c, 0xa746018e, 0x10a00005, | 1542 | 0x8f850004, 0x8f870014, 0x24020080, 0x24030002, 0xaf420180, 0x24020003, |
1543 | 0xa7440190, 0x9743011c, 0x9742011e, 0x0a000cec, 0x00021400, 0x9743011e, | 1543 | 0xa743018c, 0xa746018e, 0xa7420188, 0x30e28000, 0xa7440190, 0x1040000c, |
1544 | 0x9742011c, 0x00021400, 0x00621825, 0xaf4301a8, 0x8f840010, 0x24020003, | 1544 | 0xaf4501a8, 0x93420116, 0x304200fc, 0x005a1021, 0x24424004, 0x8c430000, |
1545 | 0x30838000, 0x1060000d, 0xa7420188, 0x93420116, 0x304200fc, 0x005a1021, | 1545 | 0x3063ffff, 0x14600004, 0x3c02ffff, 0x34427fff, 0x00e21024, 0xaf820014, |
1546 | 0x24424004, 0x8c430000, 0x3063ffff, 0x14600005, 0x00000000, 0x3c02ffff, | 1546 | 0x97820016, 0x9743010c, 0x8f440104, 0x3042bfff, 0x00031c00, 0x3084ffff, |
1547 | 0x34427fff, 0x00821024, 0xaf820010, 0x97820012, 0x9743010c, 0x8f440104, | 1547 | 0x00641825, 0xa74201a6, 0xaf4301ac, 0x3c021000, 0xaf4201b8, 0x0a000f19, |
1548 | 0x3042bfff, 0x00031c00, 0x3084ffff, 0x00641825, 0xa74201a6, 0xaf4301ac, | 1548 | 0x00001021, 0x8f820014, 0x30434000, 0x10600016, 0x00404021, 0x3c020f00, |
1549 | 0x3c021000, 0xaf4201b8, 0x03e00008, 0x00001021, 0x8f820010, 0x30434000, | 1549 | 0x00c21024, 0x14400012, 0x00000000, 0x93420116, 0x34424000, 0x03421821, |
1550 | 0x10600016, 0x00404021, 0x3c020f00, 0x00c21024, 0x14400012, 0x00000000, | 1550 | 0x94650002, 0x2ca21389, 0x1040000b, 0x3c020800, 0x24425900, 0x00051942, |
1551 | 0x93420116, 0x34424000, 0x03421821, 0x94650002, 0x2ca21389, 0x1040000b, | 1551 | 0x00031880, 0x00621821, 0x30a5001f, 0x8c640000, 0x24020001, 0x00a21004, |
1552 | 0x3c020800, 0x24425680, 0x00051942, 0x00031880, 0x00621821, 0x30a5001f, | 1552 | 0x00822024, 0x02048025, 0x12000030, 0x3c021000, 0x9742010e, 0x34e80002, |
1553 | 0x8c640000, 0x24020001, 0x00a21004, 0x00822024, 0x01244825, 0x11200039, | 1553 | 0x3c038000, 0x24420004, 0x3046ffff, 0x8f4201b8, 0x00431024, 0x1440fffd, |
1554 | 0x3c021000, 0x9742010e, 0x34e70002, 0x3c038000, 0x24420004, 0x3046ffff, | 1554 | 0x24020003, 0xa342018b, 0x9784000a, 0x8f850004, 0x8f870014, 0x24020180, |
1555 | 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24020003, 0xa342018b, 0x97840006, | 1555 | 0x24030002, 0xaf420180, 0xa743018c, 0xa746018e, 0xa7480188, 0x30e28000, |
1556 | 0x8f85000c, 0x24020180, 0x24030002, 0xaf420180, 0xa743018c, 0xa746018e, | 1556 | 0xa7440190, 0x1040000c, 0xaf4501a8, 0x93420116, 0x304200fc, 0x005a1021, |
1557 | 0x10a00005, 0xa7440190, 0x9743011c, 0x9742011e, 0x0a000d41, 0x00021400, | ||
1558 | 0x9743011e, 0x9742011c, 0x00021400, 0x00621825, 0xaf4301a8, 0x8f840010, | ||
1559 | 0x30828000, 0x1040000c, 0xa7470188, 0x93420116, 0x304200fc, 0x005a1021, | ||
1560 | 0x24424004, 0x8c430000, 0x3063ffff, 0x14600004, 0x3c02ffff, 0x34427fff, | 1557 | 0x24424004, 0x8c430000, 0x3063ffff, 0x14600004, 0x3c02ffff, 0x34427fff, |
1561 | 0x00821024, 0xaf820010, 0x97820012, 0x9743010c, 0x8f440104, 0x3042bfff, | 1558 | 0x00e21024, 0xaf820014, 0x97820016, 0x9743010c, 0x8f440104, 0x3042bfff, |
1562 | 0x00031c00, 0x3084ffff, 0x00641825, 0xa74201a6, 0xaf4301ac, 0x3c021000, | 1559 | 0x00031c00, 0x3084ffff, 0x00641825, 0xa74201a6, 0xaf4301ac, 0x3c021000, |
1563 | 0xaf4201b8, 0x03e00008, 0x00001021, 0x00c21024, 0x104000e3, 0x3c020800, | 1560 | 0xaf4201b8, 0x0a000f19, 0x00001021, 0x00c21024, 0x104000c0, 0x3c020800, |
1564 | 0x8c430030, 0x10600040, 0x31024000, 0x1040003e, 0x3c030f00, 0x00c31824, | 1561 | 0x8c430030, 0x10600037, 0x31024000, 0x10400035, 0x3c030f00, 0x00c31824, |
1565 | 0x3c020100, 0x0043102b, 0x1440003a, 0x3c030800, 0x9742010e, 0x34e70002, | 1562 | 0x3c020100, 0x0043102b, 0x14400031, 0x3c030800, 0x9742010e, 0x34e80002, |
1566 | 0x3c038000, 0x24420004, 0x3046ffff, 0x8f4201b8, 0x00431024, 0x1440fffd, | 1563 | 0x3c038000, 0x24420004, 0x3046ffff, 0x8f4201b8, 0x00431024, 0x1440fffd, |
1567 | 0x24020003, 0xa342018b, 0x97840006, 0x8f85000c, 0x24020080, 0x24030002, | 1564 | 0x24020003, 0xa342018b, 0x9784000a, 0x8f850004, 0x8f870014, 0x24020080, |
1568 | 0xaf420180, 0xa743018c, 0xa746018e, 0x10a00005, 0xa7440190, 0x9743011c, | 1565 | 0x24030002, 0xaf420180, 0xa743018c, 0xa746018e, 0xa7480188, 0x30e28000, |
1569 | 0x9742011e, 0x0a000d86, 0x00021400, 0x9743011e, 0x9742011c, 0x00021400, | 1566 | 0xa7440190, 0x1040000c, 0xaf4501a8, 0x93420116, 0x304200fc, 0x005a1021, |
1570 | 0x00621825, 0xaf4301a8, 0x8f840010, 0x30828000, 0x1040000c, 0xa7470188, | 1567 | 0x24424004, 0x8c430000, 0x3063ffff, 0x14600004, 0x3c02ffff, 0x34427fff, |
1568 | 0x00e21024, 0xaf820014, 0x97820016, 0x9743010c, 0x8f440104, 0x3042bfff, | ||
1569 | 0x00031c00, 0x3084ffff, 0x00641825, 0xa74201a6, 0xaf4301ac, 0x3c021000, | ||
1570 | 0xaf4201b8, 0x0a000f19, 0x00001021, 0x3c030800, 0x8c620024, 0x30420008, | ||
1571 | 0x10400035, 0x34ea0002, 0x3c020f00, 0x00c21024, 0x14400032, 0x8d620034, | ||
1572 | 0x31220200, 0x1040002f, 0x8d620034, 0x9742010e, 0x30e8fffb, 0x3c038000, | ||
1573 | 0x24420004, 0x3046ffff, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24020003, | ||
1574 | 0xa342018b, 0x9784000a, 0x8f850004, 0x8f870014, 0x24020180, 0x24030002, | ||
1575 | 0xaf420180, 0xa743018c, 0xa746018e, 0xa7480188, 0x30e28000, 0xa7440190, | ||
1576 | 0x1040000c, 0xaf4501a8, 0x93420116, 0x304200fc, 0x005a1021, 0x24424004, | ||
1577 | 0x8c430000, 0x3063ffff, 0x14600004, 0x3c02ffff, 0x34427fff, 0x00e21024, | ||
1578 | 0xaf820014, 0x97820016, 0x9743010c, 0x8f440104, 0x3042bfff, 0x00031c00, | ||
1579 | 0x3084ffff, 0x00641825, 0xa74201a6, 0xaf4301ac, 0x3c021000, 0xaf4201b8, | ||
1580 | 0x8d620034, 0x8f860008, 0x10400012, 0x30c20100, 0x10400010, 0x3c020f00, | ||
1581 | 0x00c21024, 0x3c030200, 0x1043000c, 0x3c020800, 0x8c430038, 0x8f840004, | ||
1582 | 0x3c020800, 0x2442003c, 0x2463ffff, 0x00832024, 0x00822021, 0x90830000, | ||
1583 | 0x24630004, 0x0a000de1, 0x000329c0, 0x00000000, 0x00061602, 0x3042000f, | ||
1584 | 0x000229c0, 0x3c04fc00, 0x00441021, 0x3c030300, 0x0062182b, 0x50600001, | ||
1585 | 0x24050800, 0x9742010e, 0x3148ffff, 0x3c038000, 0x24420004, 0x3046ffff, | ||
1586 | 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24020003, 0xa342018b, 0x9783000a, | ||
1587 | 0x8f840004, 0x8f870014, 0x24020002, 0xaf450180, 0xa742018c, 0xa746018e, | ||
1588 | 0xa7480188, 0x30e28000, 0xa7430190, 0x1040000c, 0xaf4401a8, 0x93420116, | ||
1589 | 0x304200fc, 0x005a1021, 0x24424004, 0x8c430000, 0x3063ffff, 0x14600004, | ||
1590 | 0x3c02ffff, 0x34427fff, 0x00e21024, 0xaf820014, 0x97820016, 0x9743010c, | ||
1591 | 0x8f440104, 0x3042bfff, 0x00031c00, 0x3084ffff, 0x00641825, 0xa74201a6, | ||
1592 | 0xaf4301ac, 0x3c021000, 0xaf4201b8, 0x0a000f19, 0x00001021, 0x8f424000, | ||
1593 | 0x30420100, 0x104000d5, 0x3c020800, 0x8c440024, 0x24030001, 0x1483002f, | ||
1594 | 0x00405021, 0x9742010e, 0x34e70002, 0x3c038000, 0x24420004, 0x3045ffff, | ||
1595 | 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24020003, 0xa342018b, 0x9783000a, | ||
1596 | 0x8f840004, 0x8f860014, 0x24020002, 0xaf400180, 0xa742018c, 0xa745018e, | ||
1597 | 0xa7470188, 0x30c28000, 0xa7430190, 0x1040000c, 0xaf4401a8, 0x93420116, | ||
1598 | 0x304200fc, 0x005a1021, 0x24424004, 0x8c430000, 0x3063ffff, 0x14600004, | ||
1599 | 0x3c02ffff, 0x34427fff, 0x00c21024, 0xaf820014, 0x97820016, 0x9743010c, | ||
1600 | 0x8f440104, 0x3042bfff, 0x00031c00, 0x3084ffff, 0x00641825, 0xa74201a6, | ||
1601 | 0xaf4301ac, 0x3c021000, 0xaf4201b8, 0x0a000f19, 0x00001021, 0x30820001, | ||
1602 | 0x1040002e, 0x30eb0004, 0x9742010e, 0x30e9fffb, 0x3c038000, 0x24420004, | ||
1603 | 0x3045ffff, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24020003, 0xa342018b, | ||
1604 | 0x9783000a, 0x8f840004, 0x8f860014, 0x24020002, 0xaf400180, 0xa742018c, | ||
1605 | 0xa745018e, 0xa7470188, 0x30c28000, 0xa7430190, 0x1040000c, 0xaf4401a8, | ||
1571 | 0x93420116, 0x304200fc, 0x005a1021, 0x24424004, 0x8c430000, 0x3063ffff, | 1606 | 0x93420116, 0x304200fc, 0x005a1021, 0x24424004, 0x8c430000, 0x3063ffff, |
1572 | 0x14600004, 0x3c02ffff, 0x34427fff, 0x00821024, 0xaf820010, 0x97820012, | 1607 | 0x14600004, 0x3c02ffff, 0x34427fff, 0x00c21024, 0xaf820014, 0x97820016, |
1573 | 0x9743010c, 0x8f440104, 0x3042bfff, 0x00031c00, 0x3084ffff, 0x00641825, | 1608 | 0x9743010c, 0x8f440104, 0x3042bfff, 0x00031c00, 0x3084ffff, 0x00641825, |
1574 | 0xa74201a6, 0xaf4301ac, 0x3c021000, 0xaf4201b8, 0x03e00008, 0x00001021, | 1609 | 0xa74201a6, 0xaf4301ac, 0x3c021000, 0xaf4201b8, 0x3127ffff, 0x8d420024, |
1575 | 0x3c030800, 0x8c620024, 0x30420008, 0x1040003e, 0x34e80002, 0x3c020f00, | 1610 | 0x30420004, 0x10400030, 0x8d420024, 0x9742010e, 0x30e9fffb, 0x3c038000, |
1576 | 0x00c21024, 0x1440003b, 0x8d620034, 0x31420200, 0x10400038, 0x8d620034, | ||
1577 | 0x9742010e, 0x30e7fffb, 0x3c038000, 0x24420004, 0x3046ffff, 0x8f4201b8, | ||
1578 | 0x00431024, 0x1440fffd, 0x24020003, 0xa342018b, 0x97840006, 0x8f85000c, | ||
1579 | 0x24020180, 0x24030002, 0xaf420180, 0xa743018c, 0xa746018e, 0x10a00005, | ||
1580 | 0xa7440190, 0x9743011c, 0x9742011e, 0x0a000dca, 0x00021400, 0x9743011e, | ||
1581 | 0x9742011c, 0x00021400, 0x00621825, 0xaf4301a8, 0x8f840010, 0x30828000, | ||
1582 | 0x1040000c, 0xa7470188, 0x93420116, 0x304200fc, 0x005a1021, 0x24424004, | ||
1583 | 0x8c430000, 0x3063ffff, 0x14600004, 0x3c02ffff, 0x34427fff, 0x00821024, | ||
1584 | 0xaf820010, 0x97820012, 0x9743010c, 0x8f440104, 0x3042bfff, 0x00031c00, | ||
1585 | 0x3084ffff, 0x00641825, 0xa74201a6, 0xaf4301ac, 0x3c021000, 0xaf4201b8, | ||
1586 | 0x8d620034, 0x8f860004, 0x1040001a, 0x30c20100, 0x10400018, 0x3c020f00, | ||
1587 | 0x00c21024, 0x3c030200, 0x10430014, 0x00000000, 0x8f82000c, 0x10400004, | ||
1588 | 0x00000000, 0x9742011c, 0x0a000df8, 0x3044ffff, 0x9742011e, 0x3044ffff, | ||
1589 | 0x3c030800, 0x8c620038, 0x3c030800, 0x2463003c, 0x2442ffff, 0x00822024, | ||
1590 | 0x00831821, 0x90620000, 0x24420004, 0x0a000e0d, 0x000229c0, 0x00000000, | ||
1591 | 0x00061602, 0x3042000f, 0x000229c0, 0x3c04fc00, 0x00441021, 0x3c030300, | ||
1592 | 0x0062182b, 0x50600001, 0x24050800, 0x9742010e, 0x3107ffff, 0x3c038000, | ||
1593 | 0x24420004, 0x3046ffff, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24020003, | 1611 | 0x24420004, 0x3046ffff, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24020003, |
1594 | 0xa342018b, 0x97830006, 0x8f84000c, 0x24020002, 0xaf450180, 0xa742018c, | 1612 | 0xa342018b, 0x9784000a, 0x8f850004, 0x8f880014, 0x24020100, 0x24030002, |
1595 | 0xa746018e, 0x10800005, 0xa7430190, 0x9743011c, 0x9742011e, 0x0a000e26, | 1613 | 0xaf420180, 0xa743018c, 0xa746018e, 0xa7470188, 0x31028000, 0xa7440190, |
1596 | 0x00021400, 0x9743011e, 0x9742011c, 0x00021400, 0x00621825, 0xaf4301a8, | 1614 | 0x1040000c, 0xaf4501a8, 0x93420116, 0x304200fc, 0x005a1021, 0x24424004, |
1597 | 0x8f840010, 0x30828000, 0x1040000c, 0xa7470188, 0x93420116, 0x304200fc, | 1615 | 0x8c430000, 0x3063ffff, 0x14600004, 0x3c02ffff, 0x34427fff, 0x01021024, |
1598 | 0x005a1021, 0x24424004, 0x8c430000, 0x3063ffff, 0x14600004, 0x3c02ffff, | 1616 | 0xaf820014, 0x97820016, 0x9743010c, 0x8f440104, 0x3042bfff, 0x00031c00, |
1599 | 0x34427fff, 0x00821024, 0xaf820010, 0x97820012, 0x9743010c, 0x8f440104, | 1617 | 0x3084ffff, 0x00641825, 0xa74201a6, 0xaf4301ac, 0x3c021000, 0xaf4201b8, |
1600 | 0x3042bfff, 0x00031c00, 0x3084ffff, 0x00641825, 0xa74201a6, 0xaf4301ac, | 1618 | 0x3127ffff, 0x8d420024, 0x30420008, 0x1040002d, 0x00000000, 0x9742010e, |
1601 | 0x3c021000, 0xaf4201b8, 0x03e00008, 0x00001021, 0x8f424000, 0x30420100, | 1619 | 0x3c038000, 0x24420004, 0x3046ffff, 0x8f4201b8, 0x00431024, 0x1440fffd, |
1602 | 0x104000f9, 0x3c020800, 0x8c440024, 0x24030001, 0x14830038, 0x00404821, | 1620 | 0x24020003, 0xa342018b, 0x9784000a, 0x8f850004, 0x8f880014, 0x24020180, |
1603 | 0x9742010e, 0x34e60002, 0x3c038000, 0x24420004, 0x3045ffff, 0x8f4201b8, | 1621 | 0x24030002, 0xaf420180, 0xa743018c, 0xa746018e, 0xa7470188, 0x31028000, |
1604 | 0x00431024, 0x1440fffd, 0x24020003, 0xa342018b, 0x97830006, 0x8f84000c, | 1622 | 0xa7440190, 0x1040000c, 0xaf4501a8, 0x93420116, 0x304200fc, 0x005a1021, |
1605 | 0x24020002, 0xaf400180, 0xa742018c, 0xa745018e, 0x10800005, 0xa7430190, | 1623 | 0x24424004, 0x8c430000, 0x3063ffff, 0x14600004, 0x3c02ffff, 0x34427fff, |
1606 | 0x9743011c, 0x9742011e, 0x0a000e65, 0x00021400, 0x9743011e, 0x9742011c, | 1624 | 0x01021024, 0xaf820014, 0x97820016, 0x9743010c, 0x8f440104, 0x3042bfff, |
1607 | 0x00021400, 0x00621825, 0xaf4301a8, 0x8f840010, 0x30828000, 0x1040000c, | 1625 | 0x00031c00, 0x3084ffff, 0x00641825, 0xa74201a6, 0xaf4301ac, 0x3c021000, |
1608 | 0xa7460188, 0x93420116, 0x304200fc, 0x005a1021, 0x24424004, 0x8c430000, | 1626 | 0xaf4201b8, 0x15600041, 0x00001021, 0x27440180, 0x3c038000, 0x8f4201b8, |
1609 | 0x3063ffff, 0x14600004, 0x3c02ffff, 0x34427fff, 0x00821024, 0xaf820010, | 1627 | 0x00431024, 0x1440fffd, 0x24022000, 0x24030002, 0xa4820008, 0xa083000b, |
1610 | 0x97820012, 0x9743010c, 0x8f440104, 0x3042bfff, 0x00031c00, 0x3084ffff, | 1628 | 0xa4800010, 0x3c021000, 0xaf4201b8, 0x0a000f19, 0x00001021, 0x3c030800, |
1611 | 0x00641825, 0xa74201a6, 0xaf4301ac, 0x3c021000, 0xaf4201b8, 0x03e00008, | 1629 | 0x8c620024, 0x30420001, 0x1040002e, 0x00001021, 0x9742010e, 0x34e70002, |
1612 | 0x00001021, 0x30820001, 0x10400037, 0x30ea0004, 0x9742010e, 0x30e8fffb, | ||
1613 | 0x3c038000, 0x24420004, 0x3045ffff, 0x8f4201b8, 0x00431024, 0x1440fffd, | 1630 | 0x3c038000, 0x24420004, 0x3045ffff, 0x8f4201b8, 0x00431024, 0x1440fffd, |
1614 | 0x24020003, 0xa342018b, 0x97830006, 0x8f84000c, 0x24020002, 0xaf400180, | 1631 | 0x24020003, 0xa342018b, 0x9783000a, 0x8f840004, 0x8f860014, 0x24020002, |
1615 | 0xa742018c, 0xa745018e, 0x10800005, 0xa7430190, 0x9743011c, 0x9742011e, | 1632 | 0xaf400180, 0xa742018c, 0xa745018e, 0xa7470188, 0x30c28000, 0xa7430190, |
1616 | 0x0a000e9f, 0x00021400, 0x9743011e, 0x9742011c, 0x00021400, 0x00621825, | 1633 | 0x1040000c, 0xaf4401a8, 0x93420116, 0x304200fc, 0x005a1021, 0x24424004, |
1617 | 0xaf4301a8, 0x8f840010, 0x30828000, 0x1040000c, 0xa7470188, 0x93420116, | 1634 | 0x8c430000, 0x3063ffff, 0x14600004, 0x3c02ffff, 0x34427fff, 0x00c21024, |
1618 | 0x304200fc, 0x005a1021, 0x24424004, 0x8c430000, 0x3063ffff, 0x14600004, | 1635 | 0xaf820014, 0x97820016, 0x9743010c, 0x8f440104, 0x3042bfff, 0x00031c00, |
1619 | 0x3c02ffff, 0x34427fff, 0x00821024, 0xaf820010, 0x97820012, 0x9743010c, | ||
1620 | 0x8f440104, 0x3042bfff, 0x00031c00, 0x3084ffff, 0x00641825, 0xa74201a6, | ||
1621 | 0xaf4301ac, 0x3c021000, 0xaf4201b8, 0x3107ffff, 0x8d220024, 0x30420004, | ||
1622 | 0x10400039, 0x8d220024, 0x9742010e, 0x30e8fffb, 0x3c038000, 0x24420004, | ||
1623 | 0x3046ffff, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24020003, 0xa342018b, | ||
1624 | 0x97840006, 0x8f85000c, 0x24020100, 0x24030002, 0xaf420180, 0xa743018c, | ||
1625 | 0xa746018e, 0x10a00005, 0xa7440190, 0x9743011c, 0x9742011e, 0x0a000eda, | ||
1626 | 0x00021400, 0x9743011e, 0x9742011c, 0x00021400, 0x00621825, 0xaf4301a8, | ||
1627 | 0x8f840010, 0x30828000, 0x1040000c, 0xa7470188, 0x93420116, 0x304200fc, | ||
1628 | 0x005a1021, 0x24424004, 0x8c430000, 0x3063ffff, 0x14600004, 0x3c02ffff, | ||
1629 | 0x34427fff, 0x00821024, 0xaf820010, 0x97820012, 0x9743010c, 0x8f440104, | ||
1630 | 0x3042bfff, 0x00031c00, 0x3084ffff, 0x00641825, 0xa74201a6, 0xaf4301ac, | ||
1631 | 0x3c021000, 0xaf4201b8, 0x3107ffff, 0x8d220024, 0x30420008, 0x10400036, | ||
1632 | 0x00000000, 0x9742010e, 0x3c038000, 0x24420004, 0x3046ffff, 0x8f4201b8, | ||
1633 | 0x00431024, 0x1440fffd, 0x24020003, 0xa342018b, 0x97840006, 0x8f85000c, | ||
1634 | 0x24020180, 0x24030002, 0xaf420180, 0xa743018c, 0xa746018e, 0x10a00005, | ||
1635 | 0xa7440190, 0x9743011c, 0x9742011e, 0x0a000f14, 0x00021400, 0x9743011e, | ||
1636 | 0x9742011c, 0x00021400, 0x00621825, 0xaf4301a8, 0x8f840010, 0x30828000, | ||
1637 | 0x1040000c, 0xa7470188, 0x93420116, 0x304200fc, 0x005a1021, 0x24424004, | ||
1638 | 0x8c430000, 0x3063ffff, 0x14600004, 0x3c02ffff, 0x34427fff, 0x00821024, | ||
1639 | 0xaf820010, 0x97820012, 0x9743010c, 0x8f440104, 0x3042bfff, 0x00031c00, | ||
1640 | 0x3084ffff, 0x00641825, 0xa74201a6, 0xaf4301ac, 0x3c021000, 0xaf4201b8, | 1636 | 0x3084ffff, 0x00641825, 0xa74201a6, 0xaf4301ac, 0x3c021000, 0xaf4201b8, |
1641 | 0x1540004a, 0x00001021, 0x27440180, 0x3c038000, 0x8f4201b8, 0x00431024, | 1637 | 0x00001021, 0x8fbf0014, 0x8fb00010, 0x03e00008, 0x27bd0018, 0x8f4b0070, |
1642 | 0x1440fffd, 0x24022000, 0x24030002, 0xa4820008, 0xa083000b, 0xa4800010, | 1638 | 0x93420112, 0x8f840008, 0x00022882, 0x30820100, 0x14400003, 0x24a30003, |
1643 | 0x3c021000, 0xaf4201b8, 0x03e00008, 0x00001021, 0x3c030800, 0x8c620024, | 1639 | 0x03e00008, 0x00001021, 0x30824000, 0x10400010, 0x27424000, 0x00031880, |
1644 | 0x30420001, 0x10400037, 0x00001021, 0x9742010e, 0x34e60002, 0x3c038000, | 1640 | 0x00431021, 0x8c470000, 0x24a30004, 0x00031880, 0x27424000, 0x00431021, |
1645 | 0x24420004, 0x3045ffff, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24020003, | 1641 | 0x8c490000, 0x93430116, 0x27424000, 0x306300fc, 0x00431021, 0x8c4a0000, |
1646 | 0xa342018b, 0x97830006, 0x8f84000c, 0x24020002, 0xaf400180, 0xa742018c, | 1642 | 0x0a000f45, 0x3c030800, 0x30822000, 0x1040ffea, 0x00031880, 0x27424000, |
1647 | 0xa745018e, 0x10800005, 0xa7430190, 0x9743011c, 0x9742011e, 0x0a000f5e, | 1643 | 0x00431021, 0x8c470000, 0x24a30004, 0x00031880, 0x27424000, 0x00431021, |
1648 | 0x00021400, 0x9743011e, 0x9742011c, 0x00021400, 0x00621825, 0xaf4301a8, | 1644 | 0x8c490000, 0x00005021, 0x3c030800, 0x24680100, 0x00071602, 0x00021080, |
1649 | 0x8f840010, 0x30828000, 0x1040000c, 0xa7460188, 0x93420116, 0x304200fc, | 1645 | 0x00481021, 0x8c460000, 0x00071b82, 0x306303fc, 0x01031821, 0x8c640400, |
1646 | 0x00071182, 0x304203fc, 0x01021021, 0x8c450800, 0x30e300ff, 0x00031880, | ||
1647 | 0x01031821, 0x00091602, 0x00021080, 0x01021021, 0x00c43026, 0x8c640c00, | ||
1648 | 0x8c431000, 0x00c53026, 0x00091382, 0x304203fc, 0x01021021, 0x8c451400, | ||
1649 | 0x312200ff, 0x00021080, 0x01021021, 0x00c43026, 0x00c33026, 0x00091982, | ||
1650 | 0x306303fc, 0x01031821, 0x8c641800, 0x8c431c00, 0x00c53026, 0x00c43026, | ||
1651 | 0x11400015, 0x00c33026, 0x000a1602, 0x00021080, 0x01021021, 0x8c432000, | ||
1652 | 0x000a1382, 0x304203fc, 0x01021021, 0x8c452400, 0x314200ff, 0x00021080, | ||
1653 | 0x01021021, 0x00c33026, 0x000a1982, 0x306303fc, 0x01031821, 0x8c642800, | ||
1654 | 0x8c432c00, 0x00c53026, 0x00c43026, 0x00c33026, 0x8f430070, 0x3c050800, | ||
1655 | 0x8ca43100, 0x2c820020, 0x10400008, 0x006b5823, 0x3c020800, 0x24423104, | ||
1656 | 0x00041880, 0x00621821, 0x24820001, 0xac6b0000, 0xaca23100, 0xaf860004, | ||
1657 | 0x03e00008, 0x24020001, 0x27bdffe8, 0xafbf0010, 0x8f460128, 0x8f840010, | ||
1658 | 0xaf460020, 0x8f450104, 0x8f420100, 0x24030800, 0xaf850008, 0xaf820014, | ||
1659 | 0xaf4301b8, 0x1080000a, 0x3c020800, 0x8c430034, 0x10600007, 0x30a22000, | ||
1660 | 0x10400005, 0x34a30100, 0x8f82000c, 0xaf830008, 0x24420001, 0xaf82000c, | ||
1661 | 0x3c020800, 0x8c4300c0, 0x10600006, 0x3c030800, 0x8c6200c4, 0x24040001, | ||
1662 | 0x24420001, 0x0a000fd5, 0xac6200c4, 0x8f820008, 0x3c030010, 0x00431024, | ||
1663 | 0x14400009, 0x3c02001f, 0x3c030800, 0x8c620020, 0x00002021, 0x24420001, | ||
1664 | 0x0e000c78, 0xac620020, 0x0a000fd5, 0x00402021, 0x3442ff00, 0x14c20009, | ||
1665 | 0x2403bfff, 0x3c030800, 0x8c620020, 0x24040001, 0x24420001, 0x0e000c78, | ||
1666 | 0xac620020, 0x0a000fd5, 0x00402021, 0x8f820014, 0x00431024, 0x14400006, | ||
1667 | 0x00000000, 0xaf400048, 0x0e0011a9, 0xaf400040, 0x0a000fd5, 0x00402021, | ||
1668 | 0x0e001563, 0x00000000, 0x00402021, 0x10800005, 0x3c024000, 0x8f430124, | ||
1669 | 0x3c026020, 0xac430014, 0x3c024000, 0xaf420138, 0x00000000, 0x8fbf0010, | ||
1670 | 0x03e00008, 0x27bd0018, 0x27bdffe0, 0xafbf0018, 0xafb10014, 0xafb00010, | ||
1671 | 0x8f420140, 0xaf420020, 0x8f430148, 0x3c027000, 0x00621824, 0x3c023000, | ||
1672 | 0x10620021, 0x0043102b, 0x14400006, 0x3c024000, 0x3c022000, 0x10620009, | ||
1673 | 0x3c024000, 0x0a001040, 0x00000000, 0x10620045, 0x3c025000, 0x10620047, | ||
1674 | 0x3c024000, 0x0a001040, 0x00000000, 0x27440180, 0x3c038000, 0x8f4201b8, | ||
1675 | 0x00431024, 0x1440fffd, 0x00000000, 0x8f420148, 0x24030002, 0xa083000b, | ||
1676 | 0x00021402, 0xa4820008, 0x8f430148, 0xa4830010, 0x8f420144, 0x3c031000, | ||
1677 | 0xac820024, 0xaf4301b8, 0x0a001040, 0x3c024000, 0x8f420148, 0x24030002, | ||
1678 | 0x3044ffff, 0x00021402, 0x305000ff, 0x1203000c, 0x27510180, 0x2a020003, | ||
1679 | 0x10400005, 0x24020003, 0x0600001d, 0x36053000, 0x0a001027, 0x3c038000, | ||
1680 | 0x12020007, 0x00000000, 0x0a001034, 0x00000000, 0x0e00112c, 0x00000000, | ||
1681 | 0x0a001025, 0x00402021, 0x0e00113e, 0x00000000, 0x00402021, 0x36053000, | ||
1682 | 0x3c038000, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24020002, 0xa6250008, | ||
1683 | 0xa222000b, 0xa6240010, 0x8f420144, 0x3c031000, 0xae220024, 0xaf4301b8, | ||
1684 | 0x0a001040, 0x3c024000, 0x0000000d, 0x00000000, 0x240002bf, 0x0a001040, | ||
1685 | 0x3c024000, 0x0e001441, 0x00000000, 0x0a001040, 0x3c024000, 0x0e0015ea, | ||
1686 | 0x00000000, 0x3c024000, 0xaf420178, 0x00000000, 0x8fbf0018, 0x8fb10014, | ||
1687 | 0x8fb00010, 0x03e00008, 0x27bd0020, 0x24020800, 0x03e00008, 0xaf4201b8, | ||
1688 | 0x27bdffe8, 0x3c04600c, 0xafbf0014, 0xafb00010, 0x8c825000, 0x3c1a8000, | ||
1689 | 0x2403ff7f, 0x3c106000, 0x00431024, 0x3442380c, 0x24030003, 0xac825000, | ||
1690 | 0x3c020008, 0xaf430008, 0x8e040808, 0x0342d825, 0x8e020808, 0x3c030800, | ||
1691 | 0xac600020, 0x3084fff0, 0x2c840001, 0x3042fff0, 0x38420010, 0x2c420001, | ||
1692 | 0xaf840010, 0xaf820000, 0x0e00160c, 0x00000000, 0x0e001561, 0x00000000, | ||
1693 | 0x3c020400, 0x3442000c, 0x3c03ffff, 0x34630806, 0xae021948, 0xae03194c, | ||
1694 | 0x8e021980, 0x34420200, 0xae021980, 0x8f500000, 0x32020003, 0x1040fffd, | ||
1695 | 0x32020001, 0x10400004, 0x32020002, 0x0e000f92, 0x00000000, 0x32020002, | ||
1696 | 0x1040fff6, 0x00000000, 0x0e000fe0, 0x00000000, 0x0a001071, 0x00000000, | ||
1697 | 0x27bdffe8, 0x3c04600c, 0xafbf0014, 0xafb00010, 0x8c825000, 0x3c1a8000, | ||
1698 | 0x2403ff7f, 0x3c106000, 0x00431024, 0x3442380c, 0x24030003, 0xac825000, | ||
1699 | 0x3c020008, 0xaf430008, 0x8e040808, 0x0342d825, 0x8e020808, 0x3c030800, | ||
1700 | 0xac600020, 0x3084fff0, 0x2c840001, 0x3042fff0, 0x38420010, 0x2c420001, | ||
1701 | 0xaf840010, 0xaf820000, 0x0e00160c, 0x00000000, 0x0e001561, 0x00000000, | ||
1702 | 0x3c020400, 0x3442000c, 0x3c03ffff, 0x34630806, 0xae021948, 0xae03194c, | ||
1703 | 0x8e021980, 0x8fbf0014, 0x34420200, 0xae021980, 0x8fb00010, 0x03e00008, | ||
1704 | 0x27bd0018, 0x00804821, 0x30a5ffff, 0x30c6ffff, 0x30e7ffff, 0x3c038000, | ||
1705 | 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24020003, 0xa342018b, 0x9783000a, | ||
1706 | 0x8f840004, 0x8f880014, 0xaf490180, 0xa745018c, 0xa746018e, 0xa7470188, | ||
1707 | 0x31028000, 0xa7430190, 0x1040000c, 0xaf4401a8, 0x93420116, 0x304200fc, | ||
1650 | 0x005a1021, 0x24424004, 0x8c430000, 0x3063ffff, 0x14600004, 0x3c02ffff, | 1708 | 0x005a1021, 0x24424004, 0x8c430000, 0x3063ffff, 0x14600004, 0x3c02ffff, |
1651 | 0x34427fff, 0x00821024, 0xaf820010, 0x97820012, 0x9743010c, 0x8f440104, | 1709 | 0x34427fff, 0x01021024, 0xaf820014, 0x97820016, 0x9743010c, 0x8f440104, |
1652 | 0x3042bfff, 0x00031c00, 0x3084ffff, 0x00641825, 0xa74201a6, 0xaf4301ac, | 1710 | 0x3042bfff, 0x00031c00, 0x3084ffff, 0x00641825, 0xa74201a6, 0xaf4301ac, |
1653 | 0x3c021000, 0xaf4201b8, 0x00001021, 0x03e00008, 0x00000000, 0x27bdffe8, | 1711 | 0x3c021000, 0xaf4201b8, 0x03e00008, 0x00000000, 0x27440180, 0x3c038000, |
1654 | 0xafbf0010, 0x8f460128, 0x8f84000c, 0xaf460020, 0x8f450104, 0x8f420100, | 1712 | 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24022000, 0x24030002, 0xa4820008, |
1655 | 0x24030800, 0xaf850004, 0xaf820010, 0xaf4301b8, 0x1080000a, 0x3c020800, | 1713 | 0xa083000b, 0xa4800010, 0x3c021000, 0xaf4201b8, 0x03e00008, 0x00000000, |
1656 | 0x8c430034, 0x10600007, 0x30a22000, 0x10400005, 0x34a30100, 0x8f820008, | ||
1657 | 0xaf830004, 0x24420001, 0xaf820008, 0x3c020800, 0x8c4300c0, 0x10600006, | ||
1658 | 0x3c030800, 0x8c6200c4, 0x24040001, 0x24420001, 0x0a000fc0, 0xac6200c4, | ||
1659 | 0x8f820004, 0x3c030010, 0x00431024, 0x14400009, 0x3c02001f, 0x3c030800, | ||
1660 | 0x8c620020, 0x00002021, 0x24420001, 0x0e000c99, 0xac620020, 0x0a000fc0, | ||
1661 | 0x00402021, 0x3442ff00, 0x14c20009, 0x2403bfff, 0x3c030800, 0x8c620020, | ||
1662 | 0x24040001, 0x24420001, 0x0e000c99, 0xac620020, 0x0a000fc0, 0x00402021, | ||
1663 | 0x8f820010, 0x00431024, 0x14400006, 0x00000000, 0xaf400048, 0x0e001144, | ||
1664 | 0xaf400040, 0x0a000fc0, 0x00402021, 0x0e0014c9, 0x00000000, 0x00402021, | ||
1665 | 0x10800005, 0x3c024000, 0x8f430124, 0x3c026020, 0xac430014, 0x3c024000, | ||
1666 | 0xaf420138, 0x00000000, 0x8fbf0010, 0x03e00008, 0x27bd0018, 0x27bdffe0, | ||
1667 | 0xafbf0018, 0xafb10014, 0xafb00010, 0x8f420140, 0xaf420020, 0x8f430148, | ||
1668 | 0x3c027000, 0x00621824, 0x3c023000, 0x10620021, 0x0043102b, 0x14400006, | ||
1669 | 0x3c024000, 0x3c022000, 0x10620009, 0x3c024000, 0x0a00102b, 0x00000000, | ||
1670 | 0x10620045, 0x3c025000, 0x10620047, 0x3c024000, 0x0a00102b, 0x00000000, | ||
1671 | 0x27440180, 0x3c038000, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x00000000, | 1714 | 0x27440180, 0x3c038000, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x00000000, |
1672 | 0x8f420148, 0x24030002, 0xa083000b, 0x00021402, 0xa4820008, 0x8f430148, | 1715 | 0x8f420148, 0x24030002, 0xa083000b, 0x00021402, 0xa4820008, 0x8f430148, |
1673 | 0xa4830010, 0x8f420144, 0x3c031000, 0xac820024, 0xaf4301b8, 0x0a00102b, | 1716 | 0xa4830010, 0x8f420144, 0x3c031000, 0xac820024, 0x03e00008, 0xaf4301b8, |
1674 | 0x3c024000, 0x8f420148, 0x24030002, 0x3044ffff, 0x00021402, 0x305000ff, | 1717 | 0x27bdffe0, 0xafbf0018, 0xafb10014, 0xafb00010, 0x8f420148, 0x24030002, |
1675 | 0x1203000c, 0x27510180, 0x2a020003, 0x10400005, 0x24020003, 0x0600001d, | 1718 | 0x3044ffff, 0x00021402, 0x305000ff, 0x1203000c, 0x27510180, 0x2a020003, |
1676 | 0x36053000, 0x0a001012, 0x3c038000, 0x12020007, 0x00000000, 0x0a00101f, | 1719 | 0x10400005, 0x24020003, 0x0600001d, 0x36053000, 0x0a001117, 0x3c038000, |
1677 | 0x00000000, 0x0e00111f, 0x00000000, 0x0a001010, 0x00402021, 0x0e001131, | 1720 | 0x12020007, 0x00000000, 0x0a001124, 0x00000000, 0x0e00112c, 0x00000000, |
1678 | 0x00000000, 0x00402021, 0x36053000, 0x3c038000, 0x8f4201b8, 0x00431024, | 1721 | 0x0a001115, 0x00402021, 0x0e00113e, 0x00000000, 0x00402021, 0x36053000, |
1679 | 0x1440fffd, 0x24020002, 0xa6250008, 0xa222000b, 0xa6240010, 0x8f420144, | 1722 | 0x3c038000, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24020002, 0xa6250008, |
1680 | 0x3c031000, 0xae220024, 0xaf4301b8, 0x0a00102b, 0x3c024000, 0x0000000d, | 1723 | 0xa222000b, 0xa6240010, 0x8f420144, 0x3c031000, 0xae220024, 0xaf4301b8, |
1681 | 0x00000000, 0x24000295, 0x0a00102b, 0x3c024000, 0x0e0013a7, 0x00000000, | 1724 | 0x0a001128, 0x8fbf0018, 0x0000000d, 0x00000000, 0x240002bf, 0x8fbf0018, |
1682 | 0x0a00102b, 0x3c024000, 0x0e001552, 0x00000000, 0x3c024000, 0xaf420178, | 1725 | 0x8fb10014, 0x8fb00010, 0x03e00008, 0x27bd0020, 0x3084ffff, 0x2c821389, |
1683 | 0x00000000, 0x8fbf0018, 0x8fb10014, 0x8fb00010, 0x03e00008, 0x27bd0020, | 1726 | 0x1040000d, 0x00001021, 0x3c030800, 0x24635900, 0x00042942, 0x00052880, |
1684 | 0x24020800, 0x03e00008, 0xaf4201b8, 0x27bdffe8, 0x3c04600c, 0xafbf0014, | 1727 | 0x00a32821, 0x3086001f, 0x8ca40000, 0x24030001, 0x00c31804, 0x00832025, |
1685 | 0xafb00010, 0x8c825000, 0x3c1a8000, 0x2403ff7f, 0x3c106000, 0x00431024, | 1728 | 0x03e00008, 0xaca40000, 0x03e00008, 0x24020091, 0x3084ffff, 0x2c821389, |
1686 | 0x3442380c, 0x24030003, 0xac825000, 0x3c020008, 0xaf430008, 0x8e040808, | 1729 | 0x1040000e, 0x00001021, 0x3c030800, 0x24635900, 0x00042942, 0x00052880, |
1687 | 0x0342d825, 0x8e020808, 0x3c030800, 0xac600020, 0x3084fff0, 0x2c840001, | 1730 | 0x00a32821, 0x3086001f, 0x24030001, 0x8ca40000, 0x00c31804, 0x00031827, |
1688 | 0x3042fff0, 0x38420010, 0x2c420001, 0xaf84000c, 0xaf820000, 0x0e001574, | 1731 | 0x00832024, 0x03e00008, 0xaca40000, 0x03e00008, 0x24020091, 0x9482000c, |
1689 | 0x00000000, 0x0e0014c7, 0x00000000, 0x3c020400, 0x3442000c, 0x3c03ffff, | 1732 | 0x24870014, 0x00021302, 0x00021080, 0x00824021, 0x00e8182b, 0x1060004f, |
1690 | 0x34630806, 0xae021948, 0xae03194c, 0x8e021980, 0x34420200, 0xae021980, | 1733 | 0x00000000, 0x90e30000, 0x2c620009, 0x10400047, 0x3c020800, 0x24425890, |
1691 | 0x8f500000, 0x32020003, 0x1040fffd, 0x32020001, 0x10400004, 0x32020002, | 1734 | 0x00031880, 0x00621821, 0x8c640000, 0x00800008, 0x00000000, 0x0a0011a4, |
1692 | 0x0e000f7d, 0x00000000, 0x32020002, 0x1040fff6, 0x00000000, 0x0e000fcb, | 1735 | 0x24e70001, 0x90e30001, 0x2402000a, 0x54620024, 0x01003821, 0x01071023, |
1693 | 0x00000000, 0x0a00105c, 0x00000000, 0x27bdffe8, 0x3c04600c, 0xafbf0014, | 1736 | 0x2c42000a, 0x54400020, 0x01003821, 0x3c050800, 0x8ca26c98, 0x24e70002, |
1694 | 0xafb00010, 0x8c825000, 0x3c1a8000, 0x2403ff7f, 0x3c106000, 0x00431024, | 1737 | 0x34420100, 0xaca26c98, 0x90e30000, 0x90e20001, 0x90e40002, 0x90e60003, |
1695 | 0x3442380c, 0x24030003, 0xac825000, 0x3c020008, 0xaf430008, 0x8e040808, | 1738 | 0x24e70004, 0x24a56c98, 0x00031e00, 0x00021400, 0x00621825, 0x00042200, |
1696 | 0x0342d825, 0x8e020808, 0x3c030800, 0xac600020, 0x3084fff0, 0x2c840001, | 1739 | 0x00641825, 0x00661825, 0xaca30004, 0x90e20000, 0x90e30001, 0x90e40002, |
1697 | 0x3042fff0, 0x38420010, 0x2c420001, 0xaf84000c, 0xaf820000, 0x0e001574, | 1740 | 0x90e60003, 0x24e70004, 0x00021600, 0x00031c00, 0x00431025, 0x00042200, |
1698 | 0x00000000, 0x0e0014c7, 0x00000000, 0x3c020400, 0x3442000c, 0x3c03ffff, | 1741 | 0x00441025, 0x00461025, 0x0a0011a4, 0xaca20008, 0x90e30001, 0x24020004, |
1699 | 0x34630806, 0xae021948, 0xae03194c, 0x8e021980, 0x8fbf0014, 0x34420200, | 1742 | 0x1062000e, 0x00601021, 0x0a00119e, 0x01001021, 0x90e30001, 0x24020003, |
1700 | 0xae021980, 0x8fb00010, 0x03e00008, 0x27bd0018, 0x30a5ffff, 0x30c6ffff, | 1743 | 0x10620008, 0x00601021, 0x0a00119e, 0x01001021, 0x90e30001, 0x24020002, |
1701 | 0x30e7ffff, 0x3c038000, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24020003, | 1744 | 0x14620003, 0x01001021, 0x00601021, 0x00e21021, 0x0a0011a4, 0x00403821, |
1702 | 0xa342018b, 0x97830006, 0x8f82000c, 0xaf440180, 0xa745018c, 0xa746018e, | 1745 | 0x90e20001, 0x0a0011a4, 0x00e23821, 0x01003821, 0x00e8102b, 0x5440ffb4, |
1703 | 0x10400005, 0xa7430190, 0x9743011c, 0x9742011e, 0x0a0010ad, 0x00021400, | 1746 | 0x90e30000, 0x03e00008, 0x24020001, 0x27bdff90, 0x3c030800, 0xafbf006c, |
1704 | 0x9743011e, 0x9742011c, 0x00021400, 0x00621825, 0xaf4301a8, 0x8f840010, | 1747 | 0xafbe0068, 0xafb70064, 0xafb60060, 0xafb5005c, 0xafb40058, 0xafb30054, |
1705 | 0x30828000, 0x1040000c, 0xa7470188, 0x93420116, 0x304200fc, 0x005a1021, | 1748 | 0xafb20050, 0xafb1004c, 0xafb00048, 0xac606c98, 0x93620023, 0x30420010, |
1706 | 0x24424004, 0x8c430000, 0x3063ffff, 0x14600004, 0x3c02ffff, 0x34427fff, | 1749 | 0x1440027c, 0x24020001, 0x93420116, 0x93630005, 0x34424000, 0x30630001, |
1707 | 0x00821024, 0xaf820010, 0x97820012, 0x9743010c, 0x8f440104, 0x3042bfff, | 1750 | 0x14600005, 0x0342b021, 0x0e0015e0, 0x00000000, 0x0a001436, 0x8fbf006c, |
1708 | 0x00031c00, 0x3084ffff, 0x00641825, 0xa74201a6, 0xaf4301ac, 0x3c021000, | 1751 | 0x93420112, 0x8f430104, 0x3c040020, 0x34424000, 0x00641824, 0x10600012, |
1709 | 0xaf4201b8, 0x03e00008, 0x00000000, 0x27440180, 0x3c038000, 0x8f4201b8, | 1752 | 0x03422821, 0x27450180, 0x3c038000, 0x8f4201b8, 0x00431024, 0x1440fffd, |
1710 | 0x00431024, 0x1440fffd, 0x24022000, 0x24030002, 0xa4820008, 0xa083000b, | 1753 | 0x00000000, 0x8f420128, 0xaca20000, 0x8f640040, 0x24030008, 0x240240c1, |
1711 | 0xa4800010, 0x3c021000, 0xaf4201b8, 0x03e00008, 0x00000000, 0x27440180, | 1754 | 0xa4a20008, 0x24020002, 0xa0a2000b, 0x3c021000, 0x0a0011f1, 0xa0a3000a, |
1712 | 0x3c038000, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x00000000, 0x8f420148, | 1755 | 0x8f420104, 0x3c030040, 0x00431024, 0x1040001d, 0x3c038000, 0x27450180, |
1713 | 0x24030002, 0xa083000b, 0x00021402, 0xa4820008, 0x8f430148, 0xa4830010, | 1756 | 0x8f4201b8, 0x00431024, 0x1440fffd, 0x00000000, 0x8f420128, 0xaca20000, |
1714 | 0x8f420144, 0x3c031000, 0xac820024, 0x03e00008, 0xaf4301b8, 0x27bdffe0, | 1757 | 0x8f640040, 0x24030010, 0x240240c1, 0xa4a20008, 0x24020002, 0xa0a3000a, |
1715 | 0xafbf0018, 0xafb10014, 0xafb00010, 0x8f420148, 0x24030002, 0x3044ffff, | 1758 | 0x24030008, 0xa0a2000b, 0x3c021000, 0xa4a30010, 0xa0a00012, 0xa0a00013, |
1716 | 0x00021402, 0x305000ff, 0x1203000c, 0x27510180, 0x2a020003, 0x10400005, | 1759 | 0xaca00014, 0xaca00024, 0xaca00028, 0xaca0002c, 0xaca40018, 0x0e0015e0, |
1717 | 0x24020003, 0x0600001d, 0x36053000, 0x0a00110a, 0x3c038000, 0x12020007, | 1760 | 0xaf4201b8, 0x0a001436, 0x8fbf006c, 0x8f820000, 0x10400016, 0x00000000, |
1718 | 0x00000000, 0x0a001117, 0x00000000, 0x0e00111f, 0x00000000, 0x0a001108, | 1761 | 0x8f420104, 0x3c030001, 0x00431024, 0x10400011, 0x00000000, 0x8ca3000c, |
1719 | 0x00402021, 0x0e001131, 0x00000000, 0x00402021, 0x36053000, 0x3c038000, | 1762 | 0x8f620030, 0x1462022d, 0x24020001, 0x8ca30010, 0x8f62002c, 0x14620229, |
1720 | 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24020002, 0xa6250008, 0xa222000b, | 1763 | 0x24020001, 0x9763003a, 0x96c20000, 0x14430225, 0x24020001, 0x97630038, |
1721 | 0xa6240010, 0x8f420144, 0x3c031000, 0xae220024, 0xaf4301b8, 0x0a00111b, | 1764 | 0x96c20002, 0x14430221, 0x24020001, 0xaf400048, 0xaf400054, 0xaf400040, |
1722 | 0x8fbf0018, 0x0000000d, 0x00000000, 0x24000295, 0x8fbf0018, 0x8fb10014, | 1765 | 0x8f740040, 0x8f650048, 0x00b43023, 0x04c10004, 0x00000000, 0x0000000d, |
1723 | 0x8fb00010, 0x03e00008, 0x27bd0020, 0x3084ffff, 0x2c821389, 0x1040000d, | 1766 | 0x00000000, 0x240001af, 0x9742011a, 0x3052ffff, 0x12400004, 0x8ed30004, |
1724 | 0x00001021, 0x3c030800, 0x24635680, 0x00042942, 0x00052880, 0x00a32821, | 1767 | 0x02721021, 0x0a001228, 0x2451ffff, 0x02608821, 0x92d7000d, 0xa7a00020, |
1725 | 0x3086001f, 0x8ca40000, 0x24030001, 0x00c31804, 0x00832025, 0x03e00008, | 1768 | 0xa3a0001a, 0xafa00028, 0x9362003f, 0x32e30004, 0x1060003a, 0x305000ff, |
1726 | 0xaca40000, 0x03e00008, 0x24020091, 0x3084ffff, 0x2c821389, 0x1040000e, | 1769 | 0x24040012, 0x16040006, 0x24020001, 0x3c040800, 0x8c830028, 0x24630001, |
1727 | 0x00001021, 0x3c030800, 0x24635680, 0x00042942, 0x00052880, 0x00a32821, | 1770 | 0x0a001328, 0xac830028, 0x8f620044, 0x16620010, 0x27a60010, 0x27450180, |
1728 | 0x3086001f, 0x24030001, 0x8ca40000, 0x00c31804, 0x00031827, 0x00832024, | 1771 | 0x3c038000, 0x2402001a, 0xa7a20020, 0x24020020, 0xafb40028, 0xa3b00022, |
1729 | 0x03e00008, 0xaca40000, 0x03e00008, 0x24020091, 0x27bdffb0, 0xafbf0048, | 1772 | 0xa3a40023, 0xa3a2001a, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x00000000, |
1730 | 0x93620023, 0x30420010, 0x1440025b, 0x24020001, 0x93420116, 0x93630005, | 1773 | 0x0a00130d, 0x00000000, 0x8f620044, 0x02621023, 0x0440001a, 0x02651023, |
1731 | 0x34424000, 0x30630001, 0x14600005, 0x03425821, 0x0e001548, 0x00000000, | 1774 | 0x044100d9, 0x24020001, 0x3c020800, 0x8c4300d8, 0x10600004, 0x24020001, |
1732 | 0x0a0013a5, 0x8fbf0048, 0x93420112, 0x8f430104, 0x3c040020, 0x34424000, | 1775 | 0xa7a20020, 0x0a00125e, 0xafb40028, 0x2402001a, 0xa7a20020, 0x24020020, |
1733 | 0x00641824, 0x10600012, 0x03422821, 0x27450180, 0x3c038000, 0x8f4201b8, | 1776 | 0xafb40028, 0xa3b00022, 0xa3a40023, 0xa3a2001a, 0x27a60010, 0x27450180, |
1777 | 0x3c038000, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x00000000, 0x0a00130d, | ||
1778 | 0x00000000, 0x0a001328, 0x24020001, 0x0293f023, 0x1bc00016, 0x025e102a, | ||
1779 | 0x54400007, 0x32f700fe, 0x57d2000f, 0x027e9821, 0x32e20001, 0x5440000c, | ||
1780 | 0x027e9821, 0x32f700fe, 0x0240f021, 0x3c040800, 0x8c8300c8, 0x00009021, | ||
1781 | 0x24020001, 0xa7a20020, 0xafb40028, 0x24630001, 0x0a001282, 0xac8300c8, | ||
1782 | 0x025e1023, 0x0a001282, 0x3052ffff, 0x0000f021, 0x24a2ffff, 0x02221823, | ||
1783 | 0x1860001f, 0x0072102a, 0x54400019, 0x00a08821, 0x97a20020, 0x3c040800, | ||
1784 | 0x8c8300cc, 0xafb40028, 0x34420001, 0x24630001, 0xa7a20020, 0x02741026, | ||
1785 | 0x2c420001, 0xac8300cc, 0x2cc30001, 0x00431024, 0x1440000a, 0x02401821, | ||
1786 | 0x27a60010, 0x27450180, 0x3c038000, 0x8f4201b8, 0x00431024, 0x1440fffd, | ||
1787 | 0x00000000, 0x0a00130d, 0x00000000, 0x00a08821, 0x02431023, 0x3052ffff, | ||
1788 | 0x0a0012ae, 0x32f700f6, 0x02741023, 0x18400008, 0x97a20020, 0x3c040800, | ||
1789 | 0x8c8300d4, 0xafb30028, 0x34420400, 0x24630001, 0xa7a20020, 0xac8300d4, | ||
1790 | 0x32e20002, 0x1040001c, 0x32e20010, 0x8f620044, 0x1662000d, 0x27a60010, | ||
1791 | 0x97a20020, 0x27450180, 0x3c038000, 0xafb40028, 0x34420001, 0xa7a20020, | ||
1792 | 0x8f4201b8, 0x00431024, 0x1440fffd, 0x00000000, 0x0a00130d, 0x00000000, | ||
1793 | 0x97a20020, 0x27450180, 0x3c038000, 0xafb40028, 0x34420001, 0xa7a20020, | ||
1794 | 0x8f4201b8, 0x00431024, 0x1440fffd, 0x00000000, 0x0a00130d, 0x00000000, | ||
1795 | 0x54400003, 0x8ed50008, 0x0a001328, 0x24020001, 0x8f630054, 0x26a2ffff, | ||
1796 | 0x00431023, 0x18400011, 0x27a60010, 0x97a20020, 0x3c040800, 0x8c8300d0, | ||
1797 | 0x27450180, 0x3c078000, 0xafb40028, 0x34420001, 0x24630001, 0xa7a20020, | ||
1798 | 0xac8300d0, 0x8f4201b8, 0x00471024, 0x1440fffd, 0x00000000, 0x0a00130d, | ||
1799 | 0x00000000, 0x32e20020, 0x10400011, 0x00000000, 0x96c20012, 0x0052102b, | ||
1800 | 0x10400008, 0x97a20020, 0x96d20012, 0x12400003, 0x02721021, 0x0a0012f2, | ||
1801 | 0x2451ffff, 0x02608821, 0x97a20020, 0x93a3001a, 0x34420008, 0x34630004, | ||
1802 | 0xa7a20020, 0xa3a3001a, 0x8f420104, 0x3c030080, 0x00431024, 0x10400037, | ||
1803 | 0x3a03000a, 0x0e001151, 0x02c02021, 0x24030002, 0x1443002b, 0x3c030800, | ||
1804 | 0x27a60010, 0x97a20020, 0x27450180, 0x3c038000, 0xafb40028, 0x34420001, | ||
1805 | 0xa7a20020, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x00000000, 0x8f420128, | ||
1806 | 0xaca20000, 0x8cc30018, 0x240240c1, 0xa4a20008, 0xaca30018, 0x90c4000a, | ||
1807 | 0x24020002, 0xa0a2000b, 0xa0a4000a, 0x94c20010, 0xa4a20010, 0x90c30012, | ||
1808 | 0xa0a30012, 0x90c20013, 0xa0a20013, 0x8cc30014, 0xaca30014, 0x8cc20024, | ||
1809 | 0xaca20024, 0x8cc30028, 0xaca30028, 0x8cc4002c, 0x24020001, 0x3c031000, | ||
1810 | 0xaca4002c, 0xaf4301b8, 0xaf400044, 0xaf400050, 0x0a001436, 0x8fbf006c, | ||
1811 | 0x8c626c98, 0x30420100, 0x10400003, 0x24636c98, 0x8c620004, 0xaf62017c, | ||
1812 | 0x3a03000a, 0x2c630001, 0x3a02000c, 0x2c420001, 0x00621825, 0x14600003, | ||
1813 | 0x2402000e, 0x56020030, 0x00009021, 0x52400008, 0x96c4000e, 0x12400004, | ||
1814 | 0xa7b20040, 0x02721021, 0x0a001343, 0x2451ffff, 0x02608821, 0x96c4000e, | ||
1815 | 0x93630035, 0x8f62004c, 0x00642004, 0x00952021, 0x00821023, 0x18400015, | ||
1816 | 0x00000000, 0x8f620018, 0x02621023, 0x1c400015, 0x97a20020, 0x8f620018, | ||
1817 | 0x1662001c, 0x00000000, 0x8f62001c, 0x02a21023, 0x1c40000e, 0x97a20020, | ||
1818 | 0x8f62001c, 0x16a20015, 0x00000000, 0x8f620058, 0x00821023, 0x18400011, | ||
1819 | 0x97a20020, 0x0a001364, 0xafb10028, 0x8f620058, 0x00821023, 0x0441000b, | ||
1820 | 0x97a20020, 0xafb10028, 0xafb30034, 0xafb50038, 0xafa4003c, 0x34420020, | ||
1821 | 0x0a00136d, 0xa7a20020, 0x02809821, 0x02608821, 0x8f640058, 0x8f62004c, | ||
1822 | 0x02a21023, 0x18400009, 0x00000000, 0x8f620054, 0x02a21023, 0x1c400005, | ||
1823 | 0x97a20020, 0xafb10028, 0xafb50024, 0x0a001385, 0x34420040, 0x9742011a, | ||
1824 | 0x1440000c, 0x24020014, 0x8f620058, 0x14820009, 0x24020014, 0x8f63004c, | ||
1825 | 0x8f620054, 0x10620004, 0x97a20020, 0xafb10028, 0x34420080, 0xa7a20020, | ||
1826 | 0x24020014, 0x1202000a, 0x2a020015, 0x10400005, 0x2402000c, 0x12020006, | ||
1827 | 0x32e20001, 0x0a0013c6, 0x00000000, 0x24020016, 0x16020035, 0x32e20001, | ||
1828 | 0x8f620084, 0x24420001, 0x16a20031, 0x32e20001, 0x24020014, 0x12020021, | ||
1829 | 0x2a020015, 0x10400005, 0x2402000c, 0x12020008, 0x32e20001, 0x0a0013c6, | ||
1830 | 0x00000000, 0x24020016, 0x1202000c, 0x32e20001, 0x0a0013c6, 0x00000000, | ||
1831 | 0x97a30020, 0x2402000e, 0xafb10028, 0xa3b00022, 0xa3a20023, 0xafb50024, | ||
1832 | 0x34630054, 0x0a0013c5, 0xa7a30020, 0x97a20020, 0x93a4001a, 0x24030010, | ||
1833 | 0xafb10028, 0xa3b00022, 0xa3a30023, 0xafb50024, 0x3442005d, 0x34840002, | ||
1834 | 0xa7a20020, 0x0a0013c5, 0xa3a4001a, 0x97a20020, 0x24030012, 0xa3a30023, | ||
1835 | 0x93a3001a, 0xafb10028, 0xa3b00022, 0xafb50024, 0x3042fffe, 0x3442005c, | ||
1836 | 0x34630002, 0xa7a20020, 0xa3a3001a, 0x32e20001, 0x10400030, 0x2402000c, | ||
1837 | 0x12020013, 0x2a02000d, 0x10400005, 0x2402000a, 0x12020008, 0x97a20020, | ||
1838 | 0x0a0013f8, 0x32e20009, 0x2402000e, 0x1202001b, 0x32e20009, 0x0a0013f9, | ||
1839 | 0x0002102b, 0x93a4001a, 0x24030008, 0xafb10028, 0xa3b00022, 0xa3a30023, | ||
1840 | 0x0a0013f4, 0x34420013, 0x97a30020, 0x30620004, 0x14400005, 0x93a2001a, | ||
1841 | 0x3463001b, 0xa7a30020, 0x0a0013e7, 0x24030016, 0x3463001b, 0xa7a30020, | ||
1842 | 0x24030010, 0xafb10028, 0xa3b00022, 0xa3a30023, 0x34420002, 0x0a0013f7, | ||
1843 | 0xa3a2001a, 0x97a20020, 0x93a4001a, 0x24030010, 0xafb10028, 0xa3b00022, | ||
1844 | 0xa3a30023, 0x3442001b, 0x34840002, 0xa7a20020, 0xa3a4001a, 0x32e20009, | ||
1845 | 0x0002102b, 0x00021023, 0x30420007, 0x12400015, 0x34450003, 0x8f820018, | ||
1846 | 0x24030800, 0x27440180, 0x24420001, 0xaf820018, 0x24020004, 0xaf4301b8, | ||
1847 | 0xa4850008, 0xa082000b, 0x93430120, 0x00003021, 0x3c021000, 0xa492000e, | ||
1848 | 0xac950024, 0xac930028, 0x007e1821, 0xa483000c, 0xaf4201b8, 0x0a001413, | ||
1849 | 0x97a20020, 0x24060001, 0x97a20020, 0x10400020, 0x27450180, 0x3c038000, | ||
1850 | 0x8f4201b8, 0x00431024, 0x1440fffd, 0x00000000, 0x8f420128, 0xaca20000, | ||
1851 | 0x8fa30028, 0x240240c1, 0xa4a20008, 0xaca30018, 0x93a4001a, 0x24020002, | ||
1852 | 0xa0a2000b, 0xa0a4000a, 0x97a20020, 0xa4a20010, 0x93a30022, 0xa0a30012, | ||
1853 | 0x93a20023, 0xa0a20013, 0x8fa30024, 0xaca30014, 0x8fa20034, 0xaca20024, | ||
1854 | 0x8fa30038, 0xaca30028, 0x8fa2003c, 0x3c031000, 0xaca2002c, 0xaf4301b8, | ||
1855 | 0x00c01021, 0x8fbf006c, 0x8fbe0068, 0x8fb70064, 0x8fb60060, 0x8fb5005c, | ||
1856 | 0x8fb40058, 0x8fb30054, 0x8fb20050, 0x8fb1004c, 0x8fb00048, 0x03e00008, | ||
1857 | 0x27bd0070, 0x8f470140, 0x8f460148, 0x3c028000, 0x00c24024, 0x00062c02, | ||
1858 | 0x30a300ff, 0x24020019, 0x106200e7, 0x27440180, 0x2862001a, 0x1040001f, | ||
1859 | 0x24020008, 0x106200be, 0x28620009, 0x1040000d, 0x24020001, 0x10620046, | ||
1860 | 0x28620002, 0x50400005, 0x24020006, 0x1060002e, 0x00a01821, 0x0a00155e, | ||
1861 | 0x00000000, 0x1062005b, 0x00a01821, 0x0a00155e, 0x00000000, 0x2402000b, | ||
1862 | 0x10620084, 0x2862000c, 0x10400005, 0x24020009, 0x106200bc, 0x00061c02, | ||
1863 | 0x0a00155e, 0x00000000, 0x2402000e, 0x106200b7, 0x00061c02, 0x0a00155e, | ||
1864 | 0x00000000, 0x28620021, 0x10400009, 0x2862001f, 0x104000c1, 0x2402001b, | ||
1865 | 0x106200bf, 0x2402001c, 0x1062009a, 0x00061c02, 0x0a00155e, 0x00000000, | ||
1866 | 0x240200c2, 0x106200ca, 0x286200c3, 0x10400005, 0x24020080, 0x1062005a, | ||
1867 | 0x00a01821, 0x0a00155e, 0x00000000, 0x240200c9, 0x106200cd, 0x30c5ffff, | ||
1868 | 0x0a00155e, 0x00000000, 0x3c058000, 0x8f4201b8, 0x00451024, 0x1440fffd, | ||
1869 | 0x24020001, 0xa4830008, 0x24030002, 0xac870000, 0xac800004, 0xa082000a, | ||
1870 | 0xa083000b, 0xa4860010, 0x8f430144, 0x3c021000, 0xac800028, 0xac830024, | ||
1871 | 0x3c036000, 0xaf4201b8, 0x03e00008, 0xac600808, 0x11000009, 0x00a01821, | ||
1872 | 0x3c020800, 0x24030002, 0xa0436c88, 0x24426c88, 0xac470008, 0x8f430144, | ||
1873 | 0x03e00008, 0xac430004, 0x3c058000, 0x8f4201b8, 0x00451024, 0x1440fffd, | ||
1874 | 0x24020002, 0xac800000, 0xac870004, 0xa4830008, 0xa082000a, 0xa082000b, | ||
1875 | 0xa4860010, 0xac800024, 0x8f420144, 0x3c031000, 0xac820028, 0x3c026000, | ||
1876 | 0xaf4301b8, 0x03e00008, 0xac400808, 0x3c080800, 0x3c058000, 0x8f4201b8, | ||
1877 | 0x00451024, 0x1440fffd, 0x00000000, 0xac870000, 0x91026c88, 0x00002821, | ||
1878 | 0x10400002, 0x25076c88, 0x8ce50008, 0xac850004, 0xa4830008, 0x91036c88, | ||
1879 | 0x24020002, 0xa082000b, 0xa4860010, 0x34630001, 0xa083000a, 0x8f420144, | ||
1880 | 0xac820024, 0x91036c88, 0x10600002, 0x00001021, 0x8ce20004, 0xac820028, | ||
1881 | 0x3c021000, 0xaf4201b8, 0x3c026000, 0xa1006c88, 0x03e00008, 0xac400808, | ||
1882 | 0x3c058000, 0x8f4201b8, 0x00451024, 0x1440fffd, 0x24020002, 0xa082000b, | ||
1883 | 0xa4830008, 0xa4860010, 0x8f420144, 0x3c031000, 0xa4820012, 0x03e00008, | ||
1884 | 0xaf4301b8, 0x30c2ffff, 0x14400028, 0x00061c02, 0x93620005, 0x30420004, | ||
1885 | 0x14400020, 0x3c029000, 0x34420001, 0x00e21025, 0xaf420020, 0x3c038000, | ||
1886 | 0x8f420020, 0x00431024, 0x1440fffd, 0x00000000, 0x93620005, 0x3c038000, | ||
1887 | 0x34630001, 0x00e31825, 0x34420004, 0xa3620005, 0xaf430020, 0x93620005, | ||
1888 | 0x30420004, 0x14400003, 0x3c038000, 0x0000000d, 0x3c038000, 0x8f4201b8, | ||
1889 | 0x00431024, 0x1440fffd, 0x24020005, 0x3c031000, 0xac870000, 0xa082000b, | ||
1890 | 0xaf4301b8, 0x0a00150d, 0x00061c02, 0x0000000d, 0x03e00008, 0x00000000, | ||
1891 | 0x00061c02, 0x3c058000, 0x8f4201b8, 0x00451024, 0x1440fffd, 0x24020001, | ||
1892 | 0xa4830008, 0x24030002, 0xac870000, 0xac800004, 0xa082000a, 0xa083000b, | ||
1893 | 0xa4860010, 0x8f430144, 0x3c021000, 0xac800028, 0xac830024, 0x03e00008, | ||
1894 | 0xaf4201b8, 0x3c058000, 0x8f4201b8, 0x00451024, 0x1440fffd, 0x24020002, | ||
1895 | 0xac800000, 0xac870004, 0xa4830008, 0xa082000a, 0xa082000b, 0xa4860010, | ||
1896 | 0xac800024, 0x8f420144, 0x3c031000, 0xac820028, 0x03e00008, 0xaf4301b8, | ||
1897 | 0x00061c02, 0x3c058000, 0x8f4201b8, 0x00451024, 0x1440fffd, 0x24020001, | ||
1898 | 0xa4830008, 0x24030002, 0xa082000a, 0x3c021000, 0xac870000, 0xac800004, | ||
1899 | 0xa083000b, 0xa4860010, 0xac800024, 0xac800028, 0x03e00008, 0xaf4201b8, | ||
1900 | 0x00a01821, 0x3c058000, 0x8f4201b8, 0x00451024, 0x1440fffd, 0x24020002, | ||
1901 | 0xac870000, 0xac800004, 0xa4830008, 0xa080000a, 0x0a001518, 0xa082000b, | ||
1902 | 0x8f440144, 0x3c038000, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24020002, | ||
1903 | 0x240340c9, 0xaf470180, 0xa342018b, 0x3c021000, 0xa7430188, 0xaf4401a4, | ||
1904 | 0xaf4501a8, 0xaf4001ac, 0x03e00008, 0xaf4201b8, 0x0000000d, 0x03e00008, | ||
1905 | 0x00000000, 0x03e00008, 0x00000000, 0x8f420100, 0x3042003e, 0x14400011, | ||
1906 | 0x24020001, 0xaf400048, 0x8f420100, 0x304207c0, 0x10400005, 0x00000000, | ||
1907 | 0xaf40004c, 0xaf400050, 0x03e00008, 0x24020001, 0xaf400054, 0xaf400040, | ||
1908 | 0x8f420100, 0x30423800, 0x54400001, 0xaf400044, 0x24020001, 0x03e00008, | ||
1909 | 0x00000000, 0x3c038000, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24020002, | ||
1910 | 0x240340c9, 0xaf440180, 0xa342018b, 0x3c021000, 0xa7430188, 0xaf4501a4, | ||
1911 | 0xaf4601a8, 0xaf4701ac, 0x03e00008, 0xaf4201b8, 0x3c029000, 0x34420001, | ||
1912 | 0x00822025, 0xaf440020, 0x3c038000, 0x8f420020, 0x00431024, 0x1440fffd, | ||
1913 | 0x00000000, 0x03e00008, 0x00000000, 0x3c028000, 0x34420001, 0x00822025, | ||
1914 | 0x03e00008, 0xaf440020, 0x308600ff, 0x27450180, 0x3c038000, 0x8f4201b8, | ||
1734 | 0x00431024, 0x1440fffd, 0x00000000, 0x8f420128, 0xaca20000, 0x8f640040, | 1915 | 0x00431024, 0x1440fffd, 0x00000000, 0x8f420128, 0xaca20000, 0x8f640040, |
1735 | 0x24030008, 0x240240c1, 0xa4a20008, 0x24020002, 0xa0a2000b, 0x3c021000, | 1916 | 0x24030008, 0x240240c1, 0xa4a20008, 0x24020002, 0xa0a2000b, 0x3c021000, |
1736 | 0x0a001181, 0xa0a3000a, 0x8f420104, 0x3c030040, 0x00431024, 0x1040001d, | 1917 | 0xa0a6000a, 0xa4a30010, 0xa0a00012, 0xa0a00013, 0xaca00014, 0xaca00024, |
1737 | 0x3c038000, 0x27450180, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x00000000, | 1918 | 0xaca00028, 0xaca0002c, 0xaca40018, 0x03e00008, 0xaf4201b8, 0x24020001, |
1738 | 0x8f420128, 0xaca20000, 0x8f640040, 0x24030010, 0x240240c1, 0xa4a20008, | 1919 | 0xacc40000, 0x03e00008, 0xa4e50000, 0x24020001, 0xaf400044, 0x03e00008, |
1739 | 0x24020002, 0xa0a3000a, 0x24030008, 0xa0a2000b, 0x3c021000, 0xa4a30010, | 1920 | 0xaf400050, 0x00803021, 0x27450180, 0x3c038000, 0x8f4201b8, 0x00431024, |
1740 | 0xa0a00012, 0xa0a00013, 0xaca00014, 0xaca00024, 0xaca00028, 0xaca0002c, | 1921 | 0x1440fffd, 0x00000000, 0x8f420128, 0xaca20000, 0x8cc30018, 0x240240c1, |
1741 | 0xaca40018, 0x0e001548, 0xaf4201b8, 0x0a0013a5, 0x8fbf0048, 0x8f820000, | 1922 | 0xa4a20008, 0xaca30018, 0x90c4000a, 0x24020002, 0xa0a2000b, 0xa0a4000a, |
1742 | 0x10400016, 0x00000000, 0x8f420104, 0x3c030001, 0x00431024, 0x10400011, | 1923 | 0x94c20010, 0xa4a20010, 0x90c30012, 0xa0a30012, 0x90c20013, 0xa0a20013, |
1743 | 0x00000000, 0x8ca3000c, 0x8f620030, 0x1462020c, 0x24020001, 0x8ca30010, | 1924 | 0x8cc30014, 0xaca30014, 0x8cc20024, 0xaca20024, 0x8cc30028, 0xaca30028, |
1744 | 0x8f62002c, 0x14620208, 0x24020001, 0x9763003a, 0x95620000, 0x14430204, | 1925 | 0x8cc2002c, 0x3c031000, 0xaca2002c, 0x24020001, 0xaf4301b8, 0xaf400044, |
1745 | 0x24020001, 0x97630038, 0x95620002, 0x14430200, 0x24020001, 0xaf400048, | 1926 | 0x03e00008, 0xaf400050, 0x27bdffe8, 0xafbf0010, 0x0e001047, 0x00000000, |
1746 | 0xaf400054, 0xaf400040, 0x8f690040, 0x8f6a0048, 0x01497023, 0x05c10004, | 1927 | 0x00002021, 0x0e000c78, 0xaf400180, 0x8fbf0010, 0x03e00008, 0x27bd0018, |
1747 | 0x00000000, 0x0000000d, 0x00000000, 0x24000169, 0x9742011a, 0x3046ffff, | 1928 | 0x8f460148, 0x27450180, 0x3c038000, 0x00061402, 0x304700ff, 0x8f4201b8, |
1748 | 0x10c00004, 0x8d680004, 0x01061021, 0x0a0011b8, 0x2445ffff, 0x01002821, | 1929 | 0x00431024, 0x1440fffd, 0x00000000, 0x8f440140, 0x00061202, 0x304200ff, |
1749 | 0x916c000d, 0xa7a00020, 0xa3a0001a, 0xafa00028, 0x9362003f, 0x31830004, | 1930 | 0x00061c02, 0xaca20004, 0x24020002, 0xa4a30008, 0x30c300ff, 0xa0a2000b, |
1750 | 0x1060003a, 0x304700ff, 0x24040012, 0x14e40006, 0x24020001, 0x3c040800, | 1931 | 0xaca30024, 0x10e0000a, 0xaca40000, 0x28e20004, 0x14400005, 0x24020001, |
1751 | 0x8c830028, 0x24630001, 0x0a00128d, 0xac830028, 0x8f620044, 0x15020010, | 1932 | 0x24020005, 0x54e20005, 0xa0a0000a, 0x24020001, 0x0a001609, 0xa0a2000a, |
1752 | 0x27a60010, 0x27450180, 0x3c038000, 0x2402001a, 0xa7a20020, 0x24020020, | 1933 | 0xa0a0000a, 0x3c021000, 0x03e00008, 0xaf4201b8, 0x03e00008, 0x00001021, |
1753 | 0xafa90028, 0xa3a70022, 0xa3a40023, 0xa3a2001a, 0x8f4201b8, 0x00431024, | 1934 | 0x10c00007, 0x00000000, 0x8ca20000, 0x24c6ffff, 0x24a50004, 0xac820000, |
1754 | 0x1440fffd, 0x00000000, 0x0a001272, 0x00000000, 0x8f620044, 0x01021023, | 1935 | 0x14c0fffb, 0x24840004, 0x03e00008, 0x00000000, 0x0a00161f, 0x00a01021, |
1755 | 0x0440001a, 0x010a1023, 0x044100ae, 0x24020001, 0x3c020800, 0x8c4300d8, | 1936 | 0xac860000, 0x00000000, 0x00000000, 0x24840004, 0x00a01021, 0x1440fffa, |
1756 | 0x10600004, 0x24020001, 0xa7a20020, 0x0a0011ee, 0xafa90028, 0x2402001a, | 1937 | 0x24a5ffff, 0x03e00008, 0x00000000, 0x00000000 }; |
1757 | 0xa7a20020, 0x24020020, 0xafa90028, 0xa3a70022, 0xa3a40023, 0xa3a2001a, | ||
1758 | 0x27a60010, 0x27450180, 0x3c038000, 0x8f4201b8, 0x00431024, 0x1440fffd, | ||
1759 | 0x00000000, 0x0a001272, 0x00000000, 0x0a00128d, 0x24020001, 0x01286823, | ||
1760 | 0x19a00016, 0x00cd102a, 0x54400007, 0x318c00fe, 0x55a6000f, 0x010d4021, | ||
1761 | 0x31820001, 0x5440000c, 0x010d4021, 0x318c00fe, 0x00c06821, 0x3c040800, | ||
1762 | 0x8c8300c8, 0x00003021, 0x24020001, 0xa7a20020, 0xafa90028, 0x24630001, | ||
1763 | 0x0a001212, 0xac8300c8, 0x00cd1023, 0x0a001212, 0x3046ffff, 0x00006821, | ||
1764 | 0x2542ffff, 0x00a21823, 0x1860001e, 0x0066102a, 0x14400018, 0x01402821, | ||
1765 | 0x97a20020, 0x3c040800, 0x8c8300cc, 0xafa90028, 0x34420001, 0x24630001, | ||
1766 | 0xa7a20020, 0x01091026, 0x2c420001, 0xac8300cc, 0x2dc30001, 0x00431024, | ||
1767 | 0x1440000a, 0x00c01821, 0x27a60010, 0x27450180, 0x3c038000, 0x8f4201b8, | ||
1768 | 0x00431024, 0x1440fffd, 0x00000000, 0x0a001272, 0x00000000, 0x00c31023, | ||
1769 | 0x3046ffff, 0x0a00123d, 0x318c00f6, 0x01091023, 0x18400008, 0x97a20020, | ||
1770 | 0x3c040800, 0x8c8300d4, 0xafa80028, 0x34420400, 0x24630001, 0xa7a20020, | ||
1771 | 0xac8300d4, 0x31820002, 0x1040001c, 0x31820010, 0x8f620044, 0x1502000d, | ||
1772 | 0x27a60010, 0x97a20020, 0x27450180, 0x3c038000, 0xafa90028, 0x34420001, | ||
1773 | 0xa7a20020, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x00000000, 0x0a001272, | ||
1774 | 0x00000000, 0x97a20020, 0x27450180, 0x3c038000, 0xafa90028, 0x34420001, | ||
1775 | 0xa7a20020, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x00000000, 0x0a001272, | ||
1776 | 0x00000000, 0x54400003, 0x8d6a0008, 0x0a00128d, 0x24020001, 0x8f630054, | ||
1777 | 0x2542ffff, 0x00431023, 0x1840002e, 0x97a20020, 0x27a60010, 0x3c040800, | ||
1778 | 0x8c8300d0, 0x27450180, 0x3c078000, 0xafa90028, 0x34420001, 0x24630001, | ||
1779 | 0xa7a20020, 0xac8300d0, 0x8f4201b8, 0x00471024, 0x1440fffd, 0x00000000, | ||
1780 | 0x8f420128, 0xaca20000, 0x8cc30018, 0x240240c1, 0xa4a20008, 0xaca30018, | ||
1781 | 0x90c4000a, 0x24020002, 0xa0a2000b, 0xa0a4000a, 0x94c20010, 0xa4a20010, | ||
1782 | 0x90c30012, 0xa0a30012, 0x90c20013, 0xa0a20013, 0x8cc30014, 0xaca30014, | ||
1783 | 0x8cc20024, 0xaca20024, 0x8cc30028, 0xaca30028, 0x8cc4002c, 0x24020001, | ||
1784 | 0x3c031000, 0xaca4002c, 0xaf4301b8, 0xaf400044, 0xaf400050, 0x0a0013a5, | ||
1785 | 0x8fbf0048, 0x31820020, 0x10400011, 0x00000000, 0x95620012, 0x0046102b, | ||
1786 | 0x10400008, 0x97a20020, 0x95660012, 0x10c00003, 0x01061021, 0x0a00129e, | ||
1787 | 0x2445ffff, 0x01002821, 0x97a20020, 0x93a3001a, 0x34420008, 0x34630004, | ||
1788 | 0xa7a20020, 0xa3a3001a, 0x8f420104, 0x38e3000a, 0x2c630001, 0x38e2000c, | ||
1789 | 0x2c420001, 0x00621825, 0x14600003, 0x2402000e, 0x54e2002a, 0x00003021, | ||
1790 | 0x50c00008, 0x9564000e, 0x10c00004, 0xa7a60040, 0x01061021, 0x0a0012b6, | ||
1791 | 0x2445ffff, 0x01002821, 0x9564000e, 0x93630035, 0x8f62004c, 0x00642004, | ||
1792 | 0x008a2021, 0x00821023, 0x1840001d, 0x00000000, 0x8f620018, 0x01021023, | ||
1793 | 0x1c40000f, 0x97a20020, 0x8f620018, 0x15020016, 0x00000000, 0x8f62001c, | ||
1794 | 0x01421023, 0x1c400008, 0x97a20020, 0x8f62001c, 0x1542000f, 0x00000000, | ||
1795 | 0x8f620058, 0x00821023, 0x1840000b, 0x97a20020, 0xafa50028, 0xafa80034, | ||
1796 | 0xafaa0038, 0xafa4003c, 0x34420020, 0x0a0012da, 0xa7a20020, 0x01204021, | ||
1797 | 0x01002821, 0x8f640058, 0x8f62004c, 0x01421023, 0x18400009, 0x00000000, | ||
1798 | 0x8f620054, 0x01421023, 0x1c400005, 0x97a20020, 0xafa50028, 0xafaa0024, | ||
1799 | 0x0a0012f2, 0x34420040, 0x9742011a, 0x1440000c, 0x24020014, 0x8f620058, | ||
1800 | 0x14820009, 0x24020014, 0x8f63004c, 0x8f620054, 0x10620004, 0x97a20020, | ||
1801 | 0xafa50028, 0x34420080, 0xa7a20020, 0x24020014, 0x10e2000a, 0x28e20015, | ||
1802 | 0x10400005, 0x2402000c, 0x10e20006, 0x31820001, 0x0a001333, 0x00000000, | ||
1803 | 0x24020016, 0x14e20035, 0x31820001, 0x8f620084, 0x24420001, 0x15420031, | ||
1804 | 0x31820001, 0x24020014, 0x10e20021, 0x28e20015, 0x10400005, 0x2402000c, | ||
1805 | 0x10e20008, 0x31820001, 0x0a001333, 0x00000000, 0x24020016, 0x10e2000c, | ||
1806 | 0x31820001, 0x0a001333, 0x00000000, 0x97a30020, 0x2402000e, 0xafa50028, | ||
1807 | 0xa3a70022, 0xa3a20023, 0xafaa0024, 0x34630054, 0x0a001332, 0xa7a30020, | ||
1808 | 0x97a20020, 0x93a4001a, 0x24030010, 0xafa50028, 0xa3a70022, 0xa3a30023, | ||
1809 | 0xafaa0024, 0x3442005d, 0x34840002, 0xa7a20020, 0x0a001332, 0xa3a4001a, | ||
1810 | 0x97a20020, 0x24030012, 0xa3a30023, 0x93a3001a, 0xafa50028, 0xa3a70022, | ||
1811 | 0xafaa0024, 0x3042fffe, 0x3442005c, 0x34630002, 0xa7a20020, 0xa3a3001a, | ||
1812 | 0x31820001, 0x10400030, 0x2402000c, 0x10e20013, 0x28e2000d, 0x10400005, | ||
1813 | 0x2402000a, 0x10e20008, 0x97a20020, 0x0a001365, 0x31820009, 0x2402000e, | ||
1814 | 0x10e2001b, 0x31820009, 0x0a001366, 0x0002102b, 0x93a4001a, 0x24030008, | ||
1815 | 0xafa50028, 0xa3a70022, 0xa3a30023, 0x0a001361, 0x34420013, 0x97a30020, | ||
1816 | 0x30620004, 0x14400005, 0x93a2001a, 0x3463001b, 0xa7a30020, 0x0a001354, | ||
1817 | 0x24030016, 0x3463001b, 0xa7a30020, 0x24030010, 0xafa50028, 0xa3a70022, | ||
1818 | 0xa3a30023, 0x34420002, 0x0a001364, 0xa3a2001a, 0x97a20020, 0x93a4001a, | ||
1819 | 0x24030010, 0xafa50028, 0xa3a70022, 0xa3a30023, 0x3442001b, 0x34840002, | ||
1820 | 0xa7a20020, 0xa3a4001a, 0x31820009, 0x0002102b, 0x00021023, 0x30420007, | ||
1821 | 0x10c00017, 0x34440003, 0x8f820014, 0x24030800, 0x27450180, 0x24420001, | ||
1822 | 0xaf820014, 0x24020004, 0xaf4301b8, 0xa4a40008, 0xa0a2000b, 0x93440120, | ||
1823 | 0x3c031000, 0xa4a6000e, 0xacaa0024, 0xaca80028, 0x008d2021, 0xa4a4000c, | ||
1824 | 0xaf4301b8, 0x97a20020, 0x00003021, 0x3042ffbf, 0x0a001381, 0xa7a20020, | ||
1825 | 0x24060001, 0x97a20020, 0x10400020, 0x27450180, 0x3c038000, 0x8f4201b8, | ||
1826 | 0x00431024, 0x1440fffd, 0x00000000, 0x8f420128, 0xaca20000, 0x8fa30028, | ||
1827 | 0x240240c1, 0xa4a20008, 0xaca30018, 0x93a4001a, 0x24020002, 0xa0a2000b, | ||
1828 | 0xa0a4000a, 0x97a20020, 0xa4a20010, 0x93a30022, 0xa0a30012, 0x93a20023, | ||
1829 | 0xa0a20013, 0x8fa30024, 0xaca30014, 0x8fa20034, 0xaca20024, 0x8fa30038, | ||
1830 | 0xaca30028, 0x8fa2003c, 0x3c031000, 0xaca2002c, 0xaf4301b8, 0x00c01021, | ||
1831 | 0x8fbf0048, 0x03e00008, 0x27bd0050, 0x8f470140, 0x8f460148, 0x3c028000, | ||
1832 | 0x00c24024, 0x00062c02, 0x30a300ff, 0x24020019, 0x106200e7, 0x27440180, | ||
1833 | 0x2862001a, 0x1040001f, 0x24020008, 0x106200be, 0x28620009, 0x1040000d, | ||
1834 | 0x24020001, 0x10620046, 0x28620002, 0x50400005, 0x24020006, 0x1060002e, | ||
1835 | 0x00a01821, 0x0a0014c4, 0x00000000, 0x1062005b, 0x00a01821, 0x0a0014c4, | ||
1836 | 0x00000000, 0x2402000b, 0x10620084, 0x2862000c, 0x10400005, 0x24020009, | ||
1837 | 0x106200bc, 0x00061c02, 0x0a0014c4, 0x00000000, 0x2402000e, 0x106200b7, | ||
1838 | 0x00061c02, 0x0a0014c4, 0x00000000, 0x28620021, 0x10400009, 0x2862001f, | ||
1839 | 0x104000c1, 0x2402001b, 0x106200bf, 0x2402001c, 0x1062009a, 0x00061c02, | ||
1840 | 0x0a0014c4, 0x00000000, 0x240200c2, 0x106200ca, 0x286200c3, 0x10400005, | ||
1841 | 0x24020080, 0x1062005a, 0x00a01821, 0x0a0014c4, 0x00000000, 0x240200c9, | ||
1842 | 0x106200cd, 0x30c5ffff, 0x0a0014c4, 0x00000000, 0x3c058000, 0x8f4201b8, | ||
1843 | 0x00451024, 0x1440fffd, 0x24020001, 0xa4830008, 0x24030002, 0xac870000, | ||
1844 | 0xac800004, 0xa082000a, 0xa083000b, 0xa4860010, 0x8f430144, 0x3c021000, | ||
1845 | 0xac800028, 0xac830024, 0x3c036000, 0xaf4201b8, 0x03e00008, 0xac600808, | ||
1846 | 0x11000009, 0x00a01821, 0x3c020800, 0x24030002, 0xa0436a08, 0x24426a08, | ||
1847 | 0xac470008, 0x8f430144, 0x03e00008, 0xac430004, 0x3c058000, 0x8f4201b8, | ||
1848 | 0x00451024, 0x1440fffd, 0x24020002, 0xac800000, 0xac870004, 0xa4830008, | ||
1849 | 0xa082000a, 0xa082000b, 0xa4860010, 0xac800024, 0x8f420144, 0x3c031000, | ||
1850 | 0xac820028, 0x3c026000, 0xaf4301b8, 0x03e00008, 0xac400808, 0x3c080800, | ||
1851 | 0x3c058000, 0x8f4201b8, 0x00451024, 0x1440fffd, 0x00000000, 0xac870000, | ||
1852 | 0x91026a08, 0x00002821, 0x10400002, 0x25076a08, 0x8ce50008, 0xac850004, | ||
1853 | 0xa4830008, 0x91036a08, 0x24020002, 0xa082000b, 0xa4860010, 0x34630001, | ||
1854 | 0xa083000a, 0x8f420144, 0xac820024, 0x91036a08, 0x10600002, 0x00001021, | ||
1855 | 0x8ce20004, 0xac820028, 0x3c021000, 0xaf4201b8, 0x3c026000, 0xa1006a08, | ||
1856 | 0x03e00008, 0xac400808, 0x3c058000, 0x8f4201b8, 0x00451024, 0x1440fffd, | ||
1857 | 0x24020002, 0xa082000b, 0xa4830008, 0xa4860010, 0x8f420144, 0x3c031000, | ||
1858 | 0xa4820012, 0x03e00008, 0xaf4301b8, 0x30c2ffff, 0x14400028, 0x00061c02, | ||
1859 | 0x93620005, 0x30420004, 0x14400020, 0x3c029000, 0x34420001, 0x00e21025, | ||
1860 | 0xaf420020, 0x3c038000, 0x8f420020, 0x00431024, 0x1440fffd, 0x00000000, | ||
1861 | 0x93620005, 0x3c038000, 0x34630001, 0x00e31825, 0x34420004, 0xa3620005, | ||
1862 | 0xaf430020, 0x93620005, 0x30420004, 0x14400003, 0x3c038000, 0x0000000d, | ||
1863 | 0x3c038000, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x24020005, 0x3c031000, | ||
1864 | 0xac870000, 0xa082000b, 0xaf4301b8, 0x0a001473, 0x00061c02, 0x0000000d, | ||
1865 | 0x03e00008, 0x00000000, 0x00061c02, 0x3c058000, 0x8f4201b8, 0x00451024, | ||
1866 | 0x1440fffd, 0x24020001, 0xa4830008, 0x24030002, 0xac870000, 0xac800004, | ||
1867 | 0xa082000a, 0xa083000b, 0xa4860010, 0x8f430144, 0x3c021000, 0xac800028, | ||
1868 | 0xac830024, 0x03e00008, 0xaf4201b8, 0x3c058000, 0x8f4201b8, 0x00451024, | ||
1869 | 0x1440fffd, 0x24020002, 0xac800000, 0xac870004, 0xa4830008, 0xa082000a, | ||
1870 | 0xa082000b, 0xa4860010, 0xac800024, 0x8f420144, 0x3c031000, 0xac820028, | ||
1871 | 0x03e00008, 0xaf4301b8, 0x00061c02, 0x3c058000, 0x8f4201b8, 0x00451024, | ||
1872 | 0x1440fffd, 0x24020001, 0xa4830008, 0x24030002, 0xa082000a, 0x3c021000, | ||
1873 | 0xac870000, 0xac800004, 0xa083000b, 0xa4860010, 0xac800024, 0xac800028, | ||
1874 | 0x03e00008, 0xaf4201b8, 0x00a01821, 0x3c058000, 0x8f4201b8, 0x00451024, | ||
1875 | 0x1440fffd, 0x24020002, 0xac870000, 0xac800004, 0xa4830008, 0xa080000a, | ||
1876 | 0x0a00147e, 0xa082000b, 0x8f440144, 0x3c038000, 0x8f4201b8, 0x00431024, | ||
1877 | 0x1440fffd, 0x24020002, 0x240340c9, 0xaf470180, 0xa342018b, 0x3c021000, | ||
1878 | 0xa7430188, 0xaf4401a4, 0xaf4501a8, 0xaf4001ac, 0x03e00008, 0xaf4201b8, | ||
1879 | 0x0000000d, 0x03e00008, 0x00000000, 0x03e00008, 0x00000000, 0x8f420100, | ||
1880 | 0x3042003e, 0x14400011, 0x24020001, 0xaf400048, 0x8f420100, 0x304207c0, | ||
1881 | 0x10400005, 0x00000000, 0xaf40004c, 0xaf400050, 0x03e00008, 0x24020001, | ||
1882 | 0xaf400054, 0xaf400040, 0x8f420100, 0x30423800, 0x54400001, 0xaf400044, | ||
1883 | 0x24020001, 0x03e00008, 0x00000000, 0x3c038000, 0x8f4201b8, 0x00431024, | ||
1884 | 0x1440fffd, 0x24020002, 0x240340c9, 0xaf440180, 0xa342018b, 0x3c021000, | ||
1885 | 0xa7430188, 0xaf4501a4, 0xaf4601a8, 0xaf4701ac, 0x03e00008, 0xaf4201b8, | ||
1886 | 0x3c029000, 0x34420001, 0x00822025, 0xaf440020, 0x3c038000, 0x8f420020, | ||
1887 | 0x00431024, 0x1440fffd, 0x00000000, 0x03e00008, 0x00000000, 0x3c028000, | ||
1888 | 0x34420001, 0x00822025, 0x03e00008, 0xaf440020, 0x308600ff, 0x27450180, | ||
1889 | 0x3c038000, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x00000000, 0x8f420128, | ||
1890 | 0xaca20000, 0x8f640040, 0x24030008, 0x240240c1, 0xa4a20008, 0x24020002, | ||
1891 | 0xa0a2000b, 0x3c021000, 0xa0a6000a, 0xa4a30010, 0xa0a00012, 0xa0a00013, | ||
1892 | 0xaca00014, 0xaca00024, 0xaca00028, 0xaca0002c, 0xaca40018, 0x03e00008, | ||
1893 | 0xaf4201b8, 0x24020001, 0xacc40000, 0x03e00008, 0xa4e50000, 0x03e00008, | ||
1894 | 0x24020001, 0x24020001, 0xaf400044, 0x03e00008, 0xaf400050, 0x00803021, | ||
1895 | 0x27450180, 0x3c038000, 0x8f4201b8, 0x00431024, 0x1440fffd, 0x00000000, | ||
1896 | 0x8f420128, 0xaca20000, 0x8cc30018, 0x240240c1, 0xa4a20008, 0xaca30018, | ||
1897 | 0x90c4000a, 0x24020002, 0xa0a2000b, 0xa0a4000a, 0x94c20010, 0xa4a20010, | ||
1898 | 0x90c30012, 0xa0a30012, 0x90c20013, 0xa0a20013, 0x8cc30014, 0xaca30014, | ||
1899 | 0x8cc20024, 0xaca20024, 0x8cc30028, 0xaca30028, 0x8cc2002c, 0x3c031000, | ||
1900 | 0xaca2002c, 0x24020001, 0xaf4301b8, 0xaf400044, 0x03e00008, 0xaf400050, | ||
1901 | 0x27bdffe8, 0xafbf0010, 0x0e001032, 0x00000000, 0x00002021, 0x0e000c99, | ||
1902 | 0xaf400180, 0x8fbf0010, 0x03e00008, 0x27bd0018, 0x8f460148, 0x27450180, | ||
1903 | 0x3c038000, 0x00061402, 0x304700ff, 0x8f4201b8, 0x00431024, 0x1440fffd, | ||
1904 | 0x00000000, 0x8f440140, 0x00061202, 0x304200ff, 0x00061c02, 0xaca20004, | ||
1905 | 0x24020002, 0xa4a30008, 0x30c300ff, 0xa0a2000b, 0xaca30024, 0x10e0000a, | ||
1906 | 0xaca40000, 0x28e20004, 0x14400005, 0x24020001, 0x24020005, 0x54e20005, | ||
1907 | 0xa0a0000a, 0x24020001, 0x0a001571, 0xa0a2000a, 0xa0a0000a, 0x3c021000, | ||
1908 | 0x03e00008, 0xaf4201b8, 0x03e00008, 0x00001021, 0x10c00007, 0x00000000, | ||
1909 | 0x8ca20000, 0x24c6ffff, 0x24a50004, 0xac820000, 0x14c0fffb, 0x24840004, | ||
1910 | 0x03e00008, 0x00000000, 0x0a001587, 0x00a01021, 0xac860000, 0x00000000, | ||
1911 | 0x00000000, 0x24840004, 0x00a01021, 0x1440fffa, 0x24a5ffff, 0x03e00008, | ||
1912 | 0x00000000, 0x00000000 }; | ||
1913 | 1938 | ||
1914 | static u32 bnx2_RXP_b06FwData[(0x0/4) + 1] = { 0x0 }; | 1939 | static u32 bnx2_RXP_b06FwData[(0x0/4) + 1] = { 0x0 }; |
1915 | static u32 bnx2_RXP_b06FwRodata[(0x0/4) + 1] = { 0x0 }; | 1940 | static u32 bnx2_RXP_b06FwRodata[(0x28/4) + 1] = { |
1916 | static u32 bnx2_RXP_b06FwBss[(0x1394/4) + 1] = { 0x0 }; | 1941 | 0x0800468c, 0x0800458c, 0x08004630, 0x08004648, 0x08004660, 0x08004680, |
1917 | static u32 bnx2_RXP_b06FwSbss[(0x18/4) + 1] = { 0x0 }; | 1942 | 0x0800468c, 0x0800468c, 0x08004594, 0x00000000, 0x00000000 }; |
1943 | static u32 bnx2_RXP_b06FwBss[(0x13a4/4) + 1] = { 0x0 }; | ||
1944 | static u32 bnx2_RXP_b06FwSbss[(0x1c/4) + 1] = { 0x0 }; | ||
1918 | 1945 | ||
1919 | static u32 bnx2_rv2p_proc1[] = { | 1946 | static u32 bnx2_rv2p_proc1[] = { |
1920 | 0x00000008, 0xac000001, 0x0000000c, 0x2f800001, 0x00000010, 0x213f0004, | 1947 | 0x00000008, 0xac000001, 0x0000000c, 0x2f800001, 0x00000010, 0x213f0004, |
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 2582d98ef5c3..4ff006c37626 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
@@ -576,7 +576,7 @@ static int bond_update_speed_duplex(struct slave *slave) | |||
576 | slave->duplex = DUPLEX_FULL; | 576 | slave->duplex = DUPLEX_FULL; |
577 | 577 | ||
578 | if (slave_dev->ethtool_ops) { | 578 | if (slave_dev->ethtool_ops) { |
579 | u32 res; | 579 | int res; |
580 | 580 | ||
581 | if (!slave_dev->ethtool_ops->get_settings) { | 581 | if (!slave_dev->ethtool_ops->get_settings) { |
582 | return -1; | 582 | return -1; |
diff --git a/drivers/net/lp486e.c b/drivers/net/lp486e.c index 6139f06d7d2b..94d5ea1ce8bd 100644 --- a/drivers/net/lp486e.c +++ b/drivers/net/lp486e.c | |||
@@ -56,8 +56,6 @@ PORT SIZE ACTION MEANING | |||
56 | All other communication is through memory! | 56 | All other communication is through memory! |
57 | */ | 57 | */ |
58 | 58 | ||
59 | #define SLOW_DOWN_IO udelay(5) | ||
60 | |||
61 | #include <linux/module.h> | 59 | #include <linux/module.h> |
62 | #include <linux/init.h> | 60 | #include <linux/init.h> |
63 | #include <linux/delay.h> | 61 | #include <linux/delay.h> |
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c index 40ae36b20c9d..7ef4b0434a3f 100644 --- a/drivers/net/mv643xx_eth.c +++ b/drivers/net/mv643xx_eth.c | |||
@@ -444,6 +444,7 @@ static int mv643xx_eth_receive_queue(struct net_device *dev) | |||
444 | netif_rx(skb); | 444 | netif_rx(skb); |
445 | #endif | 445 | #endif |
446 | } | 446 | } |
447 | dev->last_rx = jiffies; | ||
447 | } | 448 | } |
448 | 449 | ||
449 | return received_packets; | 450 | return received_packets; |
@@ -461,7 +462,7 @@ static int mv643xx_eth_receive_queue(struct net_device *dev) | |||
461 | */ | 462 | */ |
462 | 463 | ||
463 | static irqreturn_t mv643xx_eth_int_handler(int irq, void *dev_id, | 464 | static irqreturn_t mv643xx_eth_int_handler(int irq, void *dev_id, |
464 | struct pt_regs *regs) | 465 | struct pt_regs *regs) |
465 | { | 466 | { |
466 | struct net_device *dev = (struct net_device *)dev_id; | 467 | struct net_device *dev = (struct net_device *)dev_id; |
467 | struct mv643xx_private *mp = netdev_priv(dev); | 468 | struct mv643xx_private *mp = netdev_priv(dev); |
@@ -1047,16 +1048,15 @@ static int mv643xx_poll(struct net_device *dev, int *budget) | |||
1047 | 1048 | ||
1048 | static inline unsigned int has_tiny_unaligned_frags(struct sk_buff *skb) | 1049 | static inline unsigned int has_tiny_unaligned_frags(struct sk_buff *skb) |
1049 | { | 1050 | { |
1050 | unsigned int frag; | 1051 | unsigned int frag; |
1051 | skb_frag_t *fragp; | 1052 | skb_frag_t *fragp; |
1052 | 1053 | ||
1053 | for (frag = 0; frag < skb_shinfo(skb)->nr_frags; frag++) { | 1054 | for (frag = 0; frag < skb_shinfo(skb)->nr_frags; frag++) { |
1054 | fragp = &skb_shinfo(skb)->frags[frag]; | 1055 | fragp = &skb_shinfo(skb)->frags[frag]; |
1055 | if (fragp->size <= 8 && fragp->page_offset & 0x7) | 1056 | if (fragp->size <= 8 && fragp->page_offset & 0x7) |
1056 | return 1; | 1057 | return 1; |
1057 | 1058 | } | |
1058 | } | 1059 | return 0; |
1059 | return 0; | ||
1060 | } | 1060 | } |
1061 | 1061 | ||
1062 | 1062 | ||
@@ -2137,26 +2137,26 @@ static void eth_port_set_multicast_list(struct net_device *dev) | |||
2137 | */ | 2137 | */ |
2138 | if ((dev->flags & IFF_PROMISC) || (dev->flags & IFF_ALLMULTI)) { | 2138 | if ((dev->flags & IFF_PROMISC) || (dev->flags & IFF_ALLMULTI)) { |
2139 | for (table_index = 0; table_index <= 0xFC; table_index += 4) { | 2139 | for (table_index = 0; table_index <= 0xFC; table_index += 4) { |
2140 | /* Set all entries in DA filter special multicast | 2140 | /* Set all entries in DA filter special multicast |
2141 | * table (Ex_dFSMT) | 2141 | * table (Ex_dFSMT) |
2142 | * Set for ETH_Q0 for now | 2142 | * Set for ETH_Q0 for now |
2143 | * Bits | 2143 | * Bits |
2144 | * 0 Accept=1, Drop=0 | 2144 | * 0 Accept=1, Drop=0 |
2145 | * 3-1 Queue ETH_Q0=0 | 2145 | * 3-1 Queue ETH_Q0=0 |
2146 | * 7-4 Reserved = 0; | 2146 | * 7-4 Reserved = 0; |
2147 | */ | 2147 | */ |
2148 | mv_write(MV643XX_ETH_DA_FILTER_SPECIAL_MULTICAST_TABLE_BASE(eth_port_num) + table_index, 0x01010101); | 2148 | mv_write(MV643XX_ETH_DA_FILTER_SPECIAL_MULTICAST_TABLE_BASE(eth_port_num) + table_index, 0x01010101); |
2149 | 2149 | ||
2150 | /* Set all entries in DA filter other multicast | 2150 | /* Set all entries in DA filter other multicast |
2151 | * table (Ex_dFOMT) | 2151 | * table (Ex_dFOMT) |
2152 | * Set for ETH_Q0 for now | 2152 | * Set for ETH_Q0 for now |
2153 | * Bits | 2153 | * Bits |
2154 | * 0 Accept=1, Drop=0 | 2154 | * 0 Accept=1, Drop=0 |
2155 | * 3-1 Queue ETH_Q0=0 | 2155 | * 3-1 Queue ETH_Q0=0 |
2156 | * 7-4 Reserved = 0; | 2156 | * 7-4 Reserved = 0; |
2157 | */ | 2157 | */ |
2158 | mv_write(MV643XX_ETH_DA_FILTER_OTHER_MULTICAST_TABLE_BASE(eth_port_num) + table_index, 0x01010101); | 2158 | mv_write(MV643XX_ETH_DA_FILTER_OTHER_MULTICAST_TABLE_BASE(eth_port_num) + table_index, 0x01010101); |
2159 | } | 2159 | } |
2160 | return; | 2160 | return; |
2161 | } | 2161 | } |
2162 | 2162 | ||
@@ -2617,7 +2617,6 @@ static ETH_FUNC_RET_STATUS eth_port_send(struct mv643xx_private *mp, | |||
2617 | struct eth_tx_desc *current_descriptor; | 2617 | struct eth_tx_desc *current_descriptor; |
2618 | struct eth_tx_desc *first_descriptor; | 2618 | struct eth_tx_desc *first_descriptor; |
2619 | u32 command; | 2619 | u32 command; |
2620 | unsigned long flags; | ||
2621 | 2620 | ||
2622 | /* Do not process Tx ring in case of Tx ring resource error */ | 2621 | /* Do not process Tx ring in case of Tx ring resource error */ |
2623 | if (mp->tx_resource_err) | 2622 | if (mp->tx_resource_err) |
@@ -2634,8 +2633,6 @@ static ETH_FUNC_RET_STATUS eth_port_send(struct mv643xx_private *mp, | |||
2634 | return ETH_ERROR; | 2633 | return ETH_ERROR; |
2635 | } | 2634 | } |
2636 | 2635 | ||
2637 | spin_lock_irqsave(&mp->lock, flags); | ||
2638 | |||
2639 | mp->tx_ring_skbs++; | 2636 | mp->tx_ring_skbs++; |
2640 | BUG_ON(mp->tx_ring_skbs > mp->tx_ring_size); | 2637 | BUG_ON(mp->tx_ring_skbs > mp->tx_ring_size); |
2641 | 2638 | ||
@@ -2685,15 +2682,11 @@ static ETH_FUNC_RET_STATUS eth_port_send(struct mv643xx_private *mp, | |||
2685 | mp->tx_resource_err = 1; | 2682 | mp->tx_resource_err = 1; |
2686 | mp->tx_curr_desc_q = tx_first_desc; | 2683 | mp->tx_curr_desc_q = tx_first_desc; |
2687 | 2684 | ||
2688 | spin_unlock_irqrestore(&mp->lock, flags); | ||
2689 | |||
2690 | return ETH_QUEUE_LAST_RESOURCE; | 2685 | return ETH_QUEUE_LAST_RESOURCE; |
2691 | } | 2686 | } |
2692 | 2687 | ||
2693 | mp->tx_curr_desc_q = tx_next_desc; | 2688 | mp->tx_curr_desc_q = tx_next_desc; |
2694 | 2689 | ||
2695 | spin_unlock_irqrestore(&mp->lock, flags); | ||
2696 | |||
2697 | return ETH_OK; | 2690 | return ETH_OK; |
2698 | } | 2691 | } |
2699 | #else | 2692 | #else |
@@ -2704,14 +2697,11 @@ static ETH_FUNC_RET_STATUS eth_port_send(struct mv643xx_private *mp, | |||
2704 | int tx_desc_used; | 2697 | int tx_desc_used; |
2705 | struct eth_tx_desc *current_descriptor; | 2698 | struct eth_tx_desc *current_descriptor; |
2706 | unsigned int command_status; | 2699 | unsigned int command_status; |
2707 | unsigned long flags; | ||
2708 | 2700 | ||
2709 | /* Do not process Tx ring in case of Tx ring resource error */ | 2701 | /* Do not process Tx ring in case of Tx ring resource error */ |
2710 | if (mp->tx_resource_err) | 2702 | if (mp->tx_resource_err) |
2711 | return ETH_QUEUE_FULL; | 2703 | return ETH_QUEUE_FULL; |
2712 | 2704 | ||
2713 | spin_lock_irqsave(&mp->lock, flags); | ||
2714 | |||
2715 | mp->tx_ring_skbs++; | 2705 | mp->tx_ring_skbs++; |
2716 | BUG_ON(mp->tx_ring_skbs > mp->tx_ring_size); | 2706 | BUG_ON(mp->tx_ring_skbs > mp->tx_ring_size); |
2717 | 2707 | ||
@@ -2742,12 +2732,9 @@ static ETH_FUNC_RET_STATUS eth_port_send(struct mv643xx_private *mp, | |||
2742 | /* Check for ring index overlap in the Tx desc ring */ | 2732 | /* Check for ring index overlap in the Tx desc ring */ |
2743 | if (tx_desc_curr == tx_desc_used) { | 2733 | if (tx_desc_curr == tx_desc_used) { |
2744 | mp->tx_resource_err = 1; | 2734 | mp->tx_resource_err = 1; |
2745 | |||
2746 | spin_unlock_irqrestore(&mp->lock, flags); | ||
2747 | return ETH_QUEUE_LAST_RESOURCE; | 2735 | return ETH_QUEUE_LAST_RESOURCE; |
2748 | } | 2736 | } |
2749 | 2737 | ||
2750 | spin_unlock_irqrestore(&mp->lock, flags); | ||
2751 | return ETH_OK; | 2738 | return ETH_OK; |
2752 | } | 2739 | } |
2753 | #endif | 2740 | #endif |
@@ -2898,8 +2885,10 @@ static ETH_FUNC_RET_STATUS eth_port_receive(struct mv643xx_private *mp, | |||
2898 | p_pkt_info->return_info = mp->rx_skb[rx_curr_desc]; | 2885 | p_pkt_info->return_info = mp->rx_skb[rx_curr_desc]; |
2899 | p_pkt_info->l4i_chk = p_rx_desc->buf_size; | 2886 | p_pkt_info->l4i_chk = p_rx_desc->buf_size; |
2900 | 2887 | ||
2901 | /* Clean the return info field to indicate that the packet has been */ | 2888 | /* |
2902 | /* moved to the upper layers */ | 2889 | * Clean the return info field to indicate that the |
2890 | * packet has been moved to the upper layers | ||
2891 | */ | ||
2903 | mp->rx_skb[rx_curr_desc] = NULL; | 2892 | mp->rx_skb[rx_curr_desc] = NULL; |
2904 | 2893 | ||
2905 | /* Update current index in data structure */ | 2894 | /* Update current index in data structure */ |
@@ -2980,7 +2969,7 @@ struct mv643xx_stats { | |||
2980 | }; | 2969 | }; |
2981 | 2970 | ||
2982 | #define MV643XX_STAT(m) sizeof(((struct mv643xx_private *)0)->m), \ | 2971 | #define MV643XX_STAT(m) sizeof(((struct mv643xx_private *)0)->m), \ |
2983 | offsetof(struct mv643xx_private, m) | 2972 | offsetof(struct mv643xx_private, m) |
2984 | 2973 | ||
2985 | static const struct mv643xx_stats mv643xx_gstrings_stats[] = { | 2974 | static const struct mv643xx_stats mv643xx_gstrings_stats[] = { |
2986 | { "rx_packets", MV643XX_STAT(stats.rx_packets) }, | 2975 | { "rx_packets", MV643XX_STAT(stats.rx_packets) }, |
@@ -3131,9 +3120,8 @@ mv643xx_get_settings(struct net_device *netdev, struct ethtool_cmd *ecmd) | |||
3131 | return 0; | 3120 | return 0; |
3132 | } | 3121 | } |
3133 | 3122 | ||
3134 | static void | 3123 | static void mv643xx_get_drvinfo(struct net_device *netdev, |
3135 | mv643xx_get_drvinfo(struct net_device *netdev, | 3124 | struct ethtool_drvinfo *drvinfo) |
3136 | struct ethtool_drvinfo *drvinfo) | ||
3137 | { | 3125 | { |
3138 | strncpy(drvinfo->driver, mv643xx_driver_name, 32); | 3126 | strncpy(drvinfo->driver, mv643xx_driver_name, 32); |
3139 | strncpy(drvinfo->version, mv643xx_driver_version, 32); | 3127 | strncpy(drvinfo->version, mv643xx_driver_version, 32); |
@@ -3142,39 +3130,37 @@ mv643xx_get_drvinfo(struct net_device *netdev, | |||
3142 | drvinfo->n_stats = MV643XX_STATS_LEN; | 3130 | drvinfo->n_stats = MV643XX_STATS_LEN; |
3143 | } | 3131 | } |
3144 | 3132 | ||
3145 | static int | 3133 | static int mv643xx_get_stats_count(struct net_device *netdev) |
3146 | mv643xx_get_stats_count(struct net_device *netdev) | ||
3147 | { | 3134 | { |
3148 | return MV643XX_STATS_LEN; | 3135 | return MV643XX_STATS_LEN; |
3149 | } | 3136 | } |
3150 | 3137 | ||
3151 | static void | 3138 | static void mv643xx_get_ethtool_stats(struct net_device *netdev, |
3152 | mv643xx_get_ethtool_stats(struct net_device *netdev, | 3139 | struct ethtool_stats *stats, uint64_t *data) |
3153 | struct ethtool_stats *stats, uint64_t *data) | ||
3154 | { | 3140 | { |
3155 | struct mv643xx_private *mp = netdev->priv; | 3141 | struct mv643xx_private *mp = netdev->priv; |
3156 | int i; | 3142 | int i; |
3157 | 3143 | ||
3158 | eth_update_mib_counters(mp); | 3144 | eth_update_mib_counters(mp); |
3159 | 3145 | ||
3160 | for(i = 0; i < MV643XX_STATS_LEN; i++) { | 3146 | for (i = 0; i < MV643XX_STATS_LEN; i++) { |
3161 | char *p = (char *)mp+mv643xx_gstrings_stats[i].stat_offset; | 3147 | char *p = (char *)mp+mv643xx_gstrings_stats[i].stat_offset; |
3162 | data[i] = (mv643xx_gstrings_stats[i].sizeof_stat == | 3148 | data[i] = (mv643xx_gstrings_stats[i].sizeof_stat == |
3163 | sizeof(uint64_t)) ? *(uint64_t *)p : *(uint32_t *)p; | 3149 | sizeof(uint64_t)) ? *(uint64_t *)p : *(uint32_t *)p; |
3164 | } | 3150 | } |
3165 | } | 3151 | } |
3166 | 3152 | ||
3167 | static void | 3153 | static void mv643xx_get_strings(struct net_device *netdev, uint32_t stringset, |
3168 | mv643xx_get_strings(struct net_device *netdev, uint32_t stringset, uint8_t *data) | 3154 | uint8_t *data) |
3169 | { | 3155 | { |
3170 | int i; | 3156 | int i; |
3171 | 3157 | ||
3172 | switch(stringset) { | 3158 | switch(stringset) { |
3173 | case ETH_SS_STATS: | 3159 | case ETH_SS_STATS: |
3174 | for (i=0; i < MV643XX_STATS_LEN; i++) { | 3160 | for (i=0; i < MV643XX_STATS_LEN; i++) { |
3175 | memcpy(data + i * ETH_GSTRING_LEN, | 3161 | memcpy(data + i * ETH_GSTRING_LEN, |
3176 | mv643xx_gstrings_stats[i].stat_string, | 3162 | mv643xx_gstrings_stats[i].stat_string, |
3177 | ETH_GSTRING_LEN); | 3163 | ETH_GSTRING_LEN); |
3178 | } | 3164 | } |
3179 | break; | 3165 | break; |
3180 | } | 3166 | } |
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c index 89c46787676c..49b597cbc19a 100644 --- a/drivers/net/s2io.c +++ b/drivers/net/s2io.c | |||
@@ -3586,7 +3586,7 @@ static int s2io_xmit(struct sk_buff *skb, struct net_device *dev) | |||
3586 | txdp->Buffer_Pointer = (u64) pci_map_page | 3586 | txdp->Buffer_Pointer = (u64) pci_map_page |
3587 | (sp->pdev, frag->page, frag->page_offset, | 3587 | (sp->pdev, frag->page, frag->page_offset, |
3588 | frag->size, PCI_DMA_TODEVICE); | 3588 | frag->size, PCI_DMA_TODEVICE); |
3589 | txdp->Control_1 |= TXD_BUFFER0_SIZE(frag->size); | 3589 | txdp->Control_1 = TXD_BUFFER0_SIZE(frag->size); |
3590 | if (skb_shinfo(skb)->ufo_size) | 3590 | if (skb_shinfo(skb)->ufo_size) |
3591 | txdp->Control_1 |= TXD_UFO_EN; | 3591 | txdp->Control_1 |= TXD_UFO_EN; |
3592 | } | 3592 | } |
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index f2d1dafde087..e7dc653d5bd6 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
@@ -69,8 +69,8 @@ | |||
69 | 69 | ||
70 | #define DRV_MODULE_NAME "tg3" | 70 | #define DRV_MODULE_NAME "tg3" |
71 | #define PFX DRV_MODULE_NAME ": " | 71 | #define PFX DRV_MODULE_NAME ": " |
72 | #define DRV_MODULE_VERSION "3.48" | 72 | #define DRV_MODULE_VERSION "3.49" |
73 | #define DRV_MODULE_RELDATE "Jan 16, 2006" | 73 | #define DRV_MODULE_RELDATE "Feb 2, 2006" |
74 | 74 | ||
75 | #define TG3_DEF_MAC_MODE 0 | 75 | #define TG3_DEF_MAC_MODE 0 |
76 | #define TG3_DEF_RX_MODE 0 | 76 | #define TG3_DEF_RX_MODE 0 |
@@ -3482,6 +3482,17 @@ static void tg3_reset_task(void *_data) | |||
3482 | struct tg3 *tp = _data; | 3482 | struct tg3 *tp = _data; |
3483 | unsigned int restart_timer; | 3483 | unsigned int restart_timer; |
3484 | 3484 | ||
3485 | tg3_full_lock(tp, 0); | ||
3486 | tp->tg3_flags |= TG3_FLAG_IN_RESET_TASK; | ||
3487 | |||
3488 | if (!netif_running(tp->dev)) { | ||
3489 | tp->tg3_flags &= ~TG3_FLAG_IN_RESET_TASK; | ||
3490 | tg3_full_unlock(tp); | ||
3491 | return; | ||
3492 | } | ||
3493 | |||
3494 | tg3_full_unlock(tp); | ||
3495 | |||
3485 | tg3_netif_stop(tp); | 3496 | tg3_netif_stop(tp); |
3486 | 3497 | ||
3487 | tg3_full_lock(tp, 1); | 3498 | tg3_full_lock(tp, 1); |
@@ -3494,10 +3505,12 @@ static void tg3_reset_task(void *_data) | |||
3494 | 3505 | ||
3495 | tg3_netif_start(tp); | 3506 | tg3_netif_start(tp); |
3496 | 3507 | ||
3497 | tg3_full_unlock(tp); | ||
3498 | |||
3499 | if (restart_timer) | 3508 | if (restart_timer) |
3500 | mod_timer(&tp->timer, jiffies + 1); | 3509 | mod_timer(&tp->timer, jiffies + 1); |
3510 | |||
3511 | tp->tg3_flags &= ~TG3_FLAG_IN_RESET_TASK; | ||
3512 | |||
3513 | tg3_full_unlock(tp); | ||
3501 | } | 3514 | } |
3502 | 3515 | ||
3503 | static void tg3_tx_timeout(struct net_device *dev) | 3516 | static void tg3_tx_timeout(struct net_device *dev) |
@@ -6786,6 +6799,13 @@ static int tg3_close(struct net_device *dev) | |||
6786 | { | 6799 | { |
6787 | struct tg3 *tp = netdev_priv(dev); | 6800 | struct tg3 *tp = netdev_priv(dev); |
6788 | 6801 | ||
6802 | /* Calling flush_scheduled_work() may deadlock because | ||
6803 | * linkwatch_event() may be on the workqueue and it will try to get | ||
6804 | * the rtnl_lock which we are holding. | ||
6805 | */ | ||
6806 | while (tp->tg3_flags & TG3_FLAG_IN_RESET_TASK) | ||
6807 | msleep(1); | ||
6808 | |||
6789 | netif_stop_queue(dev); | 6809 | netif_stop_queue(dev); |
6790 | 6810 | ||
6791 | del_timer_sync(&tp->timer); | 6811 | del_timer_sync(&tp->timer); |
@@ -10880,6 +10900,7 @@ static void __devexit tg3_remove_one(struct pci_dev *pdev) | |||
10880 | if (dev) { | 10900 | if (dev) { |
10881 | struct tg3 *tp = netdev_priv(dev); | 10901 | struct tg3 *tp = netdev_priv(dev); |
10882 | 10902 | ||
10903 | flush_scheduled_work(); | ||
10883 | unregister_netdev(dev); | 10904 | unregister_netdev(dev); |
10884 | if (tp->regs) { | 10905 | if (tp->regs) { |
10885 | iounmap(tp->regs); | 10906 | iounmap(tp->regs); |
@@ -10901,6 +10922,7 @@ static int tg3_suspend(struct pci_dev *pdev, pm_message_t state) | |||
10901 | if (!netif_running(dev)) | 10922 | if (!netif_running(dev)) |
10902 | return 0; | 10923 | return 0; |
10903 | 10924 | ||
10925 | flush_scheduled_work(); | ||
10904 | tg3_netif_stop(tp); | 10926 | tg3_netif_stop(tp); |
10905 | 10927 | ||
10906 | del_timer_sync(&tp->timer); | 10928 | del_timer_sync(&tp->timer); |
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h index e8243305f0e8..7f4b7f6ac40d 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h | |||
@@ -2162,6 +2162,7 @@ struct tg3 { | |||
2162 | #define TG3_FLAG_JUMBO_RING_ENABLE 0x00800000 | 2162 | #define TG3_FLAG_JUMBO_RING_ENABLE 0x00800000 |
2163 | #define TG3_FLAG_10_100_ONLY 0x01000000 | 2163 | #define TG3_FLAG_10_100_ONLY 0x01000000 |
2164 | #define TG3_FLAG_PAUSE_AUTONEG 0x02000000 | 2164 | #define TG3_FLAG_PAUSE_AUTONEG 0x02000000 |
2165 | #define TG3_FLAG_IN_RESET_TASK 0x04000000 | ||
2165 | #define TG3_FLAG_BROKEN_CHECKSUMS 0x10000000 | 2166 | #define TG3_FLAG_BROKEN_CHECKSUMS 0x10000000 |
2166 | #define TG3_FLAG_GOT_SERDES_FLOWCTL 0x20000000 | 2167 | #define TG3_FLAG_GOT_SERDES_FLOWCTL 0x20000000 |
2167 | #define TG3_FLAG_SPLIT_MODE 0x40000000 | 2168 | #define TG3_FLAG_SPLIT_MODE 0x40000000 |
diff --git a/drivers/net/wireless/hostap/Kconfig b/drivers/net/wireless/hostap/Kconfig index c8f6286dd35f..308f773ad566 100644 --- a/drivers/net/wireless/hostap/Kconfig +++ b/drivers/net/wireless/hostap/Kconfig | |||
@@ -75,7 +75,7 @@ config HOSTAP_PCI | |||
75 | 75 | ||
76 | config HOSTAP_CS | 76 | config HOSTAP_CS |
77 | tristate "Host AP driver for Prism2/2.5/3 PC Cards" | 77 | tristate "Host AP driver for Prism2/2.5/3 PC Cards" |
78 | depends on PCMCIA!=n && HOSTAP | 78 | depends on PCMCIA && HOSTAP |
79 | ---help--- | 79 | ---help--- |
80 | Host AP driver's version for Prism2/2.5/3 PC Cards. | 80 | Host AP driver's version for Prism2/2.5/3 PC Cards. |
81 | 81 | ||
diff --git a/drivers/net/wireless/ipw2100.c b/drivers/net/wireless/ipw2100.c index 8bf02763b5c7..6290c9f7e939 100644 --- a/drivers/net/wireless/ipw2100.c +++ b/drivers/net/wireless/ipw2100.c | |||
@@ -2201,6 +2201,17 @@ static int ipw2100_alloc_skb(struct ipw2100_priv *priv, | |||
2201 | #define SEARCH_SNAPSHOT 1 | 2201 | #define SEARCH_SNAPSHOT 1 |
2202 | 2202 | ||
2203 | #define SNAPSHOT_ADDR(ofs) (priv->snapshot[((ofs) >> 12) & 0xff] + ((ofs) & 0xfff)) | 2203 | #define SNAPSHOT_ADDR(ofs) (priv->snapshot[((ofs) >> 12) & 0xff] + ((ofs) & 0xfff)) |
2204 | static void ipw2100_snapshot_free(struct ipw2100_priv *priv) | ||
2205 | { | ||
2206 | int i; | ||
2207 | if (!priv->snapshot[0]) | ||
2208 | return; | ||
2209 | for (i = 0; i < 0x30; i++) | ||
2210 | kfree(priv->snapshot[i]); | ||
2211 | priv->snapshot[0] = NULL; | ||
2212 | } | ||
2213 | |||
2214 | #ifdef CONFIG_IPW2100_DEBUG_C3 | ||
2204 | static int ipw2100_snapshot_alloc(struct ipw2100_priv *priv) | 2215 | static int ipw2100_snapshot_alloc(struct ipw2100_priv *priv) |
2205 | { | 2216 | { |
2206 | int i; | 2217 | int i; |
@@ -2221,16 +2232,6 @@ static int ipw2100_snapshot_alloc(struct ipw2100_priv *priv) | |||
2221 | return 1; | 2232 | return 1; |
2222 | } | 2233 | } |
2223 | 2234 | ||
2224 | static void ipw2100_snapshot_free(struct ipw2100_priv *priv) | ||
2225 | { | ||
2226 | int i; | ||
2227 | if (!priv->snapshot[0]) | ||
2228 | return; | ||
2229 | for (i = 0; i < 0x30; i++) | ||
2230 | kfree(priv->snapshot[i]); | ||
2231 | priv->snapshot[0] = NULL; | ||
2232 | } | ||
2233 | |||
2234 | static u32 ipw2100_match_buf(struct ipw2100_priv *priv, u8 * in_buf, | 2235 | static u32 ipw2100_match_buf(struct ipw2100_priv *priv, u8 * in_buf, |
2235 | size_t len, int mode) | 2236 | size_t len, int mode) |
2236 | { | 2237 | { |
@@ -2269,6 +2270,7 @@ static u32 ipw2100_match_buf(struct ipw2100_priv *priv, u8 * in_buf, | |||
2269 | 2270 | ||
2270 | return ret; | 2271 | return ret; |
2271 | } | 2272 | } |
2273 | #endif | ||
2272 | 2274 | ||
2273 | /* | 2275 | /* |
2274 | * | 2276 | * |
@@ -7112,11 +7114,17 @@ static int ipw2100_wx_set_txpow(struct net_device *dev, | |||
7112 | { | 7114 | { |
7113 | struct ipw2100_priv *priv = ieee80211_priv(dev); | 7115 | struct ipw2100_priv *priv = ieee80211_priv(dev); |
7114 | int err = 0, value; | 7116 | int err = 0, value; |
7117 | |||
7118 | if (ipw_radio_kill_sw(priv, wrqu->txpower.disabled)) | ||
7119 | return -EINPROGRESS; | ||
7115 | 7120 | ||
7116 | if (priv->ieee->iw_mode != IW_MODE_ADHOC) | 7121 | if (priv->ieee->iw_mode != IW_MODE_ADHOC) |
7122 | return 0; | ||
7123 | |||
7124 | if ((wrqu->txpower.flags & IW_TXPOW_TYPE) != IW_TXPOW_DBM) | ||
7117 | return -EINVAL; | 7125 | return -EINVAL; |
7118 | 7126 | ||
7119 | if (wrqu->txpower.disabled == 1 || wrqu->txpower.fixed == 0) | 7127 | if (wrqu->txpower.fixed == 0) |
7120 | value = IPW_TX_POWER_DEFAULT; | 7128 | value = IPW_TX_POWER_DEFAULT; |
7121 | else { | 7129 | else { |
7122 | if (wrqu->txpower.value < IPW_TX_POWER_MIN_DBM || | 7130 | if (wrqu->txpower.value < IPW_TX_POWER_MIN_DBM || |
@@ -7151,24 +7159,19 @@ static int ipw2100_wx_get_txpow(struct net_device *dev, | |||
7151 | 7159 | ||
7152 | struct ipw2100_priv *priv = ieee80211_priv(dev); | 7160 | struct ipw2100_priv *priv = ieee80211_priv(dev); |
7153 | 7161 | ||
7154 | if (priv->ieee->iw_mode != IW_MODE_ADHOC) { | 7162 | wrqu->txpower.disabled = (priv->status & STATUS_RF_KILL_MASK) ? 1 : 0; |
7155 | wrqu->power.disabled = 1; | ||
7156 | return 0; | ||
7157 | } | ||
7158 | 7163 | ||
7159 | if (priv->tx_power == IPW_TX_POWER_DEFAULT) { | 7164 | if (priv->tx_power == IPW_TX_POWER_DEFAULT) { |
7160 | wrqu->power.fixed = 0; | 7165 | wrqu->txpower.fixed = 0; |
7161 | wrqu->power.value = IPW_TX_POWER_MAX_DBM; | 7166 | wrqu->txpower.value = IPW_TX_POWER_MAX_DBM; |
7162 | wrqu->power.disabled = 1; | ||
7163 | } else { | 7167 | } else { |
7164 | wrqu->power.disabled = 0; | 7168 | wrqu->txpower.fixed = 1; |
7165 | wrqu->power.fixed = 1; | 7169 | wrqu->txpower.value = priv->tx_power; |
7166 | wrqu->power.value = priv->tx_power; | ||
7167 | } | 7170 | } |
7168 | 7171 | ||
7169 | wrqu->power.flags = IW_TXPOW_DBM; | 7172 | wrqu->txpower.flags = IW_TXPOW_DBM; |
7170 | 7173 | ||
7171 | IPW_DEBUG_WX("GET TX Power -> %d \n", wrqu->power.value); | 7174 | IPW_DEBUG_WX("GET TX Power -> %d \n", wrqu->txpower.value); |
7172 | 7175 | ||
7173 | return 0; | 7176 | return 0; |
7174 | } | 7177 | } |
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c index 4c28e332ecc3..14beab4bc91c 100644 --- a/drivers/net/wireless/ipw2200.c +++ b/drivers/net/wireless/ipw2200.c | |||
@@ -2456,7 +2456,7 @@ static void ipw_eeprom_init_sram(struct ipw_priv *priv) | |||
2456 | copy. Otherwise let the firmware know to perform the operation | 2456 | copy. Otherwise let the firmware know to perform the operation |
2457 | on it's own | 2457 | on it's own |
2458 | */ | 2458 | */ |
2459 | if ((priv->eeprom + EEPROM_VERSION) != 0) { | 2459 | if (priv->eeprom[EEPROM_VERSION] != 0) { |
2460 | IPW_DEBUG_INFO("Writing EEPROM data into SRAM\n"); | 2460 | IPW_DEBUG_INFO("Writing EEPROM data into SRAM\n"); |
2461 | 2461 | ||
2462 | /* write the eeprom data to sram */ | 2462 | /* write the eeprom data to sram */ |
@@ -8012,6 +8012,10 @@ static int ipw_sw_reset(struct ipw_priv *priv, int init) | |||
8012 | else | 8012 | else |
8013 | IPW_DEBUG_INFO("Auto adhoc creation disabled.\n"); | 8013 | IPW_DEBUG_INFO("Auto adhoc creation disabled.\n"); |
8014 | 8014 | ||
8015 | priv->config &= ~CFG_STATIC_ESSID; | ||
8016 | priv->essid_len = 0; | ||
8017 | memset(priv->essid, 0, IW_ESSID_MAX_SIZE); | ||
8018 | |||
8015 | if (disable) { | 8019 | if (disable) { |
8016 | priv->status |= STATUS_RF_KILL_SW; | 8020 | priv->status |= STATUS_RF_KILL_SW; |
8017 | IPW_DEBUG_INFO("Radio disabled.\n"); | 8021 | IPW_DEBUG_INFO("Radio disabled.\n"); |
@@ -11035,7 +11039,6 @@ static int ipw_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
11035 | net_dev->set_multicast_list = ipw_net_set_multicast_list; | 11039 | net_dev->set_multicast_list = ipw_net_set_multicast_list; |
11036 | net_dev->set_mac_address = ipw_net_set_mac_address; | 11040 | net_dev->set_mac_address = ipw_net_set_mac_address; |
11037 | priv->wireless_data.spy_data = &priv->ieee->spy_data; | 11041 | priv->wireless_data.spy_data = &priv->ieee->spy_data; |
11038 | priv->wireless_data.ieee80211 = priv->ieee; | ||
11039 | net_dev->wireless_data = &priv->wireless_data; | 11042 | net_dev->wireless_data = &priv->wireless_data; |
11040 | net_dev->wireless_handlers = &ipw_wx_handler_def; | 11043 | net_dev->wireless_handlers = &ipw_wx_handler_def; |
11041 | net_dev->ethtool_ops = &ipw_ethtool_ops; | 11044 | net_dev->ethtool_ops = &ipw_ethtool_ops; |
@@ -11121,8 +11124,8 @@ static void ipw_pci_remove(struct pci_dev *pdev) | |||
11121 | /* Free MAC hash list for ADHOC */ | 11124 | /* Free MAC hash list for ADHOC */ |
11122 | for (i = 0; i < IPW_IBSS_MAC_HASH_SIZE; i++) { | 11125 | for (i = 0; i < IPW_IBSS_MAC_HASH_SIZE; i++) { |
11123 | list_for_each_safe(p, q, &priv->ibss_mac_hash[i]) { | 11126 | list_for_each_safe(p, q, &priv->ibss_mac_hash[i]) { |
11124 | kfree(list_entry(p, struct ipw_ibss_seq, list)); | ||
11125 | list_del(p); | 11127 | list_del(p); |
11128 | kfree(list_entry(p, struct ipw_ibss_seq, list)); | ||
11126 | } | 11129 | } |
11127 | } | 11130 | } |
11128 | 11131 | ||
diff --git a/drivers/net/wireless/orinoco_cs.c b/drivers/net/wireless/orinoco_cs.c index b664708481cc..3c128b692bce 100644 --- a/drivers/net/wireless/orinoco_cs.c +++ b/drivers/net/wireless/orinoco_cs.c | |||
@@ -261,13 +261,13 @@ orinoco_cs_config(dev_link_t *link) | |||
261 | /* Note that the CIS values need to be rescaled */ | 261 | /* Note that the CIS values need to be rescaled */ |
262 | if (cfg->vcc.present & (1 << CISTPL_POWER_VNOM)) { | 262 | if (cfg->vcc.present & (1 << CISTPL_POWER_VNOM)) { |
263 | if (conf.Vcc != cfg->vcc.param[CISTPL_POWER_VNOM] / 10000) { | 263 | if (conf.Vcc != cfg->vcc.param[CISTPL_POWER_VNOM] / 10000) { |
264 | DEBUG(2, "orinoco_cs_config: Vcc mismatch (conf.Vcc = %d, CIS = %d)\n", conf.Vcc, cfg->vcc.param[CISTPL_POWER_VNOM] / 10000); | 264 | DEBUG(2, "orinoco_cs_config: Vcc mismatch (conf.Vcc = %d, cfg CIS = %d)\n", conf.Vcc, cfg->vcc.param[CISTPL_POWER_VNOM] / 10000); |
265 | if (!ignore_cis_vcc) | 265 | if (!ignore_cis_vcc) |
266 | goto next_entry; | 266 | goto next_entry; |
267 | } | 267 | } |
268 | } else if (dflt.vcc.present & (1 << CISTPL_POWER_VNOM)) { | 268 | } else if (dflt.vcc.present & (1 << CISTPL_POWER_VNOM)) { |
269 | if (conf.Vcc != dflt.vcc.param[CISTPL_POWER_VNOM] / 10000) { | 269 | if (conf.Vcc != dflt.vcc.param[CISTPL_POWER_VNOM] / 10000) { |
270 | DEBUG(2, "orinoco_cs_config: Vcc mismatch (conf.Vcc = %d, CIS = %d)\n", conf.Vcc, dflt.vcc.param[CISTPL_POWER_VNOM] / 10000); | 270 | DEBUG(2, "orinoco_cs_config: Vcc mismatch (conf.Vcc = %d, dflt CIS = %d)\n", conf.Vcc, dflt.vcc.param[CISTPL_POWER_VNOM] / 10000); |
271 | if(!ignore_cis_vcc) | 271 | if(!ignore_cis_vcc) |
272 | goto next_entry; | 272 | goto next_entry; |
273 | } | 273 | } |