diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/tg3.c | 270 |
1 files changed, 109 insertions, 161 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index ddf66155f5e..f204f73c4f9 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
@@ -67,7 +67,6 @@ | |||
67 | #include "tg3.h" | 67 | #include "tg3.h" |
68 | 68 | ||
69 | #define DRV_MODULE_NAME "tg3" | 69 | #define DRV_MODULE_NAME "tg3" |
70 | #define PFX DRV_MODULE_NAME ": " | ||
71 | #define DRV_MODULE_VERSION "3.108" | 70 | #define DRV_MODULE_VERSION "3.108" |
72 | #define DRV_MODULE_RELDATE "February 17, 2010" | 71 | #define DRV_MODULE_RELDATE "February 17, 2010" |
73 | 72 | ||
@@ -158,7 +157,7 @@ | |||
158 | #define FIRMWARE_TG3TSO5 "tigon/tg3_tso5.bin" | 157 | #define FIRMWARE_TG3TSO5 "tigon/tg3_tso5.bin" |
159 | 158 | ||
160 | static char version[] __devinitdata = | 159 | static char version[] __devinitdata = |
161 | DRV_MODULE_NAME ".c:v" DRV_MODULE_VERSION " (" DRV_MODULE_RELDATE ")\n"; | 160 | DRV_MODULE_NAME ".c:v" DRV_MODULE_VERSION " (" DRV_MODULE_RELDATE ")"; |
162 | 161 | ||
163 | MODULE_AUTHOR("David S. Miller (davem@redhat.com) and Jeff Garzik (jgarzik@pobox.com)"); | 162 | MODULE_AUTHOR("David S. Miller (davem@redhat.com) and Jeff Garzik (jgarzik@pobox.com)"); |
164 | MODULE_DESCRIPTION("Broadcom Tigon3 ethernet driver"); | 163 | MODULE_DESCRIPTION("Broadcom Tigon3 ethernet driver"); |
@@ -1099,8 +1098,7 @@ static int tg3_mdio_init(struct tg3 *tp) | |||
1099 | 1098 | ||
1100 | i = mdiobus_register(tp->mdio_bus); | 1099 | i = mdiobus_register(tp->mdio_bus); |
1101 | if (i) { | 1100 | if (i) { |
1102 | printk(KERN_WARNING "%s: mdiobus_reg failed (0x%x)\n", | 1101 | netdev_warn(tp->dev, "mdiobus_reg failed (0x%x)\n", i); |
1103 | tp->dev->name, i); | ||
1104 | mdiobus_free(tp->mdio_bus); | 1102 | mdiobus_free(tp->mdio_bus); |
1105 | return i; | 1103 | return i; |
1106 | } | 1104 | } |
@@ -1108,7 +1106,7 @@ static int tg3_mdio_init(struct tg3 *tp) | |||
1108 | phydev = tp->mdio_bus->phy_map[TG3_PHY_MII_ADDR]; | 1106 | phydev = tp->mdio_bus->phy_map[TG3_PHY_MII_ADDR]; |
1109 | 1107 | ||
1110 | if (!phydev || !phydev->drv) { | 1108 | if (!phydev || !phydev->drv) { |
1111 | printk(KERN_WARNING "%s: No PHY devices\n", tp->dev->name); | 1109 | netdev_warn(tp->dev, "No PHY devices\n"); |
1112 | mdiobus_unregister(tp->mdio_bus); | 1110 | mdiobus_unregister(tp->mdio_bus); |
1113 | mdiobus_free(tp->mdio_bus); | 1111 | mdiobus_free(tp->mdio_bus); |
1114 | return -ENODEV; | 1112 | return -ENODEV; |
@@ -1252,27 +1250,22 @@ static void tg3_ump_link_report(struct tg3 *tp) | |||
1252 | static void tg3_link_report(struct tg3 *tp) | 1250 | static void tg3_link_report(struct tg3 *tp) |
1253 | { | 1251 | { |
1254 | if (!netif_carrier_ok(tp->dev)) { | 1252 | if (!netif_carrier_ok(tp->dev)) { |
1255 | if (netif_msg_link(tp)) | 1253 | netif_info(tp, link, tp->dev, "Link is down\n"); |
1256 | printk(KERN_INFO PFX "%s: Link is down.\n", | ||
1257 | tp->dev->name); | ||
1258 | tg3_ump_link_report(tp); | 1254 | tg3_ump_link_report(tp); |
1259 | } else if (netif_msg_link(tp)) { | 1255 | } else if (netif_msg_link(tp)) { |
1260 | printk(KERN_INFO PFX "%s: Link is up at %d Mbps, %s duplex.\n", | 1256 | netdev_info(tp->dev, "Link is up at %d Mbps, %s duplex\n", |
1261 | tp->dev->name, | 1257 | (tp->link_config.active_speed == SPEED_1000 ? |
1262 | (tp->link_config.active_speed == SPEED_1000 ? | 1258 | 1000 : |
1263 | 1000 : | 1259 | (tp->link_config.active_speed == SPEED_100 ? |
1264 | (tp->link_config.active_speed == SPEED_100 ? | 1260 | 100 : 10)), |
1265 | 100 : 10)), | 1261 | (tp->link_config.active_duplex == DUPLEX_FULL ? |
1266 | (tp->link_config.active_duplex == DUPLEX_FULL ? | 1262 | "full" : "half")); |
1267 | "full" : "half")); | 1263 | |
1268 | 1264 | netdev_info(tp->dev, "Flow control is %s for TX and %s for RX\n", | |
1269 | printk(KERN_INFO PFX | 1265 | (tp->link_config.active_flowctrl & FLOW_CTRL_TX) ? |
1270 | "%s: Flow control is %s for TX and %s for RX.\n", | 1266 | "on" : "off", |
1271 | tp->dev->name, | 1267 | (tp->link_config.active_flowctrl & FLOW_CTRL_RX) ? |
1272 | (tp->link_config.active_flowctrl & FLOW_CTRL_TX) ? | 1268 | "on" : "off"); |
1273 | "on" : "off", | ||
1274 | (tp->link_config.active_flowctrl & FLOW_CTRL_RX) ? | ||
1275 | "on" : "off"); | ||
1276 | tg3_ump_link_report(tp); | 1269 | tg3_ump_link_report(tp); |
1277 | } | 1270 | } |
1278 | } | 1271 | } |
@@ -1471,7 +1464,7 @@ static int tg3_phy_init(struct tg3 *tp) | |||
1471 | phydev = phy_connect(tp->dev, dev_name(&phydev->dev), tg3_adjust_link, | 1464 | phydev = phy_connect(tp->dev, dev_name(&phydev->dev), tg3_adjust_link, |
1472 | phydev->dev_flags, phydev->interface); | 1465 | phydev->dev_flags, phydev->interface); |
1473 | if (IS_ERR(phydev)) { | 1466 | if (IS_ERR(phydev)) { |
1474 | printk(KERN_ERR "%s: Could not attach to PHY\n", tp->dev->name); | 1467 | netdev_err(tp->dev, "Could not attach to PHY\n"); |
1475 | return PTR_ERR(phydev); | 1468 | return PTR_ERR(phydev); |
1476 | } | 1469 | } |
1477 | 1470 | ||
@@ -2500,8 +2493,8 @@ static int tg3_set_power_state(struct tg3 *tp, pci_power_t state) | |||
2500 | break; | 2493 | break; |
2501 | 2494 | ||
2502 | default: | 2495 | default: |
2503 | printk(KERN_ERR PFX "%s: Invalid power state (D%d) requested\n", | 2496 | netdev_err(tp->dev, "Invalid power state (D%d) requested\n", |
2504 | tp->dev->name, state); | 2497 | state); |
2505 | return -EINVAL; | 2498 | return -EINVAL; |
2506 | } | 2499 | } |
2507 | 2500 | ||
@@ -4342,10 +4335,8 @@ static void tg3_tx_recover(struct tg3 *tp) | |||
4342 | BUG_ON((tp->tg3_flags & TG3_FLAG_MBOX_WRITE_REORDER) || | 4335 | BUG_ON((tp->tg3_flags & TG3_FLAG_MBOX_WRITE_REORDER) || |
4343 | tp->write32_tx_mbox == tg3_write_indirect_mbox); | 4336 | tp->write32_tx_mbox == tg3_write_indirect_mbox); |
4344 | 4337 | ||
4345 | printk(KERN_WARNING PFX "%s: The system may be re-ordering memory-" | 4338 | netdev_warn(tp->dev, "The system may be re-ordering memory-mapped I/O cycles to the network device, attempting to recover\n" |
4346 | "mapped I/O cycles to the network device, attempting to " | 4339 | "Please report the problem to the driver maintainer and include system chipset information.\n"); |
4347 | "recover. Please report the problem to the driver maintainer " | ||
4348 | "and include system chipset information.\n", tp->dev->name); | ||
4349 | 4340 | ||
4350 | spin_lock(&tp->lock); | 4341 | spin_lock(&tp->lock); |
4351 | tp->tg3_flags |= TG3_FLAG_TX_RECOVERY_PENDING; | 4342 | tp->tg3_flags |= TG3_FLAG_TX_RECOVERY_PENDING; |
@@ -5269,8 +5260,7 @@ static int tg3_restart_hw(struct tg3 *tp, int reset_phy) | |||
5269 | 5260 | ||
5270 | err = tg3_init_hw(tp, reset_phy); | 5261 | err = tg3_init_hw(tp, reset_phy); |
5271 | if (err) { | 5262 | if (err) { |
5272 | printk(KERN_ERR PFX "%s: Failed to re-initialize device, " | 5263 | netdev_err(tp->dev, "Failed to re-initialize device, aborting\n"); |
5273 | "aborting.\n", tp->dev->name); | ||
5274 | tg3_halt(tp, RESET_KIND_SHUTDOWN, 1); | 5264 | tg3_halt(tp, RESET_KIND_SHUTDOWN, 1); |
5275 | tg3_full_unlock(tp); | 5265 | tg3_full_unlock(tp); |
5276 | del_timer_sync(&tp->timer); | 5266 | del_timer_sync(&tp->timer); |
@@ -5343,10 +5333,10 @@ out: | |||
5343 | 5333 | ||
5344 | static void tg3_dump_short_state(struct tg3 *tp) | 5334 | static void tg3_dump_short_state(struct tg3 *tp) |
5345 | { | 5335 | { |
5346 | printk(KERN_ERR PFX "DEBUG: MAC_TX_STATUS[%08x] MAC_RX_STATUS[%08x]\n", | 5336 | netdev_err(tp->dev, "DEBUG: MAC_TX_STATUS[%08x] MAC_RX_STATUS[%08x]\n", |
5347 | tr32(MAC_TX_STATUS), tr32(MAC_RX_STATUS)); | 5337 | tr32(MAC_TX_STATUS), tr32(MAC_RX_STATUS)); |
5348 | printk(KERN_ERR PFX "DEBUG: RDMAC_STATUS[%08x] WDMAC_STATUS[%08x]\n", | 5338 | netdev_err(tp->dev, "DEBUG: RDMAC_STATUS[%08x] WDMAC_STATUS[%08x]\n", |
5349 | tr32(RDMAC_STATUS), tr32(WDMAC_STATUS)); | 5339 | tr32(RDMAC_STATUS), tr32(WDMAC_STATUS)); |
5350 | } | 5340 | } |
5351 | 5341 | ||
5352 | static void tg3_tx_timeout(struct net_device *dev) | 5342 | static void tg3_tx_timeout(struct net_device *dev) |
@@ -5354,8 +5344,7 @@ static void tg3_tx_timeout(struct net_device *dev) | |||
5354 | struct tg3 *tp = netdev_priv(dev); | 5344 | struct tg3 *tp = netdev_priv(dev); |
5355 | 5345 | ||
5356 | if (netif_msg_tx_err(tp)) { | 5346 | if (netif_msg_tx_err(tp)) { |
5357 | printk(KERN_ERR PFX "%s: transmit timed out, resetting\n", | 5347 | netdev_err(dev, "transmit timed out, resetting\n"); |
5358 | dev->name); | ||
5359 | tg3_dump_short_state(tp); | 5348 | tg3_dump_short_state(tp); |
5360 | } | 5349 | } |
5361 | 5350 | ||
@@ -5519,8 +5508,7 @@ static netdev_tx_t tg3_start_xmit(struct sk_buff *skb, | |||
5519 | netif_tx_stop_queue(txq); | 5508 | netif_tx_stop_queue(txq); |
5520 | 5509 | ||
5521 | /* This is a hard error, log it. */ | 5510 | /* This is a hard error, log it. */ |
5522 | printk(KERN_ERR PFX "%s: BUG! Tx Ring full when " | 5511 | netdev_err(dev, "BUG! Tx Ring full when queue awake!\n"); |
5523 | "queue awake!\n", dev->name); | ||
5524 | } | 5512 | } |
5525 | return NETDEV_TX_BUSY; | 5513 | return NETDEV_TX_BUSY; |
5526 | } | 5514 | } |
@@ -5723,8 +5711,7 @@ static netdev_tx_t tg3_start_xmit_dma_bug(struct sk_buff *skb, | |||
5723 | netif_tx_stop_queue(txq); | 5711 | netif_tx_stop_queue(txq); |
5724 | 5712 | ||
5725 | /* This is a hard error, log it. */ | 5713 | /* This is a hard error, log it. */ |
5726 | printk(KERN_ERR PFX "%s: BUG! Tx Ring full when " | 5714 | netdev_err(dev, "BUG! Tx Ring full when queue awake!\n"); |
5727 | "queue awake!\n", dev->name); | ||
5728 | } | 5715 | } |
5729 | return NETDEV_TX_BUSY; | 5716 | return NETDEV_TX_BUSY; |
5730 | } | 5717 | } |
@@ -6071,11 +6058,8 @@ static int tg3_rx_prodring_alloc(struct tg3 *tp, | |||
6071 | /* Now allocate fresh SKBs for each rx ring. */ | 6058 | /* Now allocate fresh SKBs for each rx ring. */ |
6072 | for (i = 0; i < tp->rx_pending; i++) { | 6059 | for (i = 0; i < tp->rx_pending; i++) { |
6073 | if (tg3_alloc_rx_skb(tp, tpr, RXD_OPAQUE_RING_STD, i) < 0) { | 6060 | if (tg3_alloc_rx_skb(tp, tpr, RXD_OPAQUE_RING_STD, i) < 0) { |
6074 | printk(KERN_WARNING PFX | 6061 | netdev_warn(tp->dev, "Using a smaller RX standard ring, only %d out of %d buffers were allocated successfully\n", |
6075 | "%s: Using a smaller RX standard ring, " | 6062 | i, tp->rx_pending); |
6076 | "only %d out of %d buffers were allocated " | ||
6077 | "successfully.\n", | ||
6078 | tp->dev->name, i, tp->rx_pending); | ||
6079 | if (i == 0) | 6063 | if (i == 0) |
6080 | goto initfail; | 6064 | goto initfail; |
6081 | tp->rx_pending = i; | 6065 | tp->rx_pending = i; |
@@ -6104,11 +6088,8 @@ static int tg3_rx_prodring_alloc(struct tg3 *tp, | |||
6104 | 6088 | ||
6105 | for (i = 0; i < tp->rx_jumbo_pending; i++) { | 6089 | for (i = 0; i < tp->rx_jumbo_pending; i++) { |
6106 | if (tg3_alloc_rx_skb(tp, tpr, RXD_OPAQUE_RING_JUMBO, i) < 0) { | 6090 | if (tg3_alloc_rx_skb(tp, tpr, RXD_OPAQUE_RING_JUMBO, i) < 0) { |
6107 | printk(KERN_WARNING PFX | 6091 | netdev_warn(tp->dev, "Using a smaller RX jumbo ring, only %d out of %d buffers were allocated successfully\n", |
6108 | "%s: Using a smaller RX jumbo ring, " | 6092 | i, tp->rx_jumbo_pending); |
6109 | "only %d out of %d buffers were " | ||
6110 | "allocated successfully.\n", | ||
6111 | tp->dev->name, i, tp->rx_jumbo_pending); | ||
6112 | if (i == 0) | 6093 | if (i == 0) |
6113 | goto initfail; | 6094 | goto initfail; |
6114 | tp->rx_jumbo_pending = i; | 6095 | tp->rx_jumbo_pending = i; |
@@ -6452,8 +6433,7 @@ static int tg3_stop_block(struct tg3 *tp, unsigned long ofs, u32 enable_bit, int | |||
6452 | } | 6433 | } |
6453 | 6434 | ||
6454 | if (i == MAX_WAIT_CNT && !silent) { | 6435 | if (i == MAX_WAIT_CNT && !silent) { |
6455 | printk(KERN_ERR PFX "tg3_stop_block timed out, " | 6436 | pr_err("tg3_stop_block timed out, ofs=%lx enable_bit=%x\n", |
6456 | "ofs=%lx enable_bit=%x\n", | ||
6457 | ofs, enable_bit); | 6437 | ofs, enable_bit); |
6458 | return -ENODEV; | 6438 | return -ENODEV; |
6459 | } | 6439 | } |
@@ -6500,9 +6480,8 @@ static int tg3_abort_hw(struct tg3 *tp, int silent) | |||
6500 | break; | 6480 | break; |
6501 | } | 6481 | } |
6502 | if (i >= MAX_WAIT_CNT) { | 6482 | if (i >= MAX_WAIT_CNT) { |
6503 | printk(KERN_ERR PFX "tg3_abort_hw timed out for %s, " | 6483 | netdev_err(tp->dev, "%s timed out, TX_MODE_ENABLE will not clear MAC_TX_MODE=%08x\n", |
6504 | "TX_MODE_ENABLE will not clear MAC_TX_MODE=%08x\n", | 6484 | __func__, tr32(MAC_TX_MODE)); |
6505 | tp->dev->name, tr32(MAC_TX_MODE)); | ||
6506 | err |= -ENODEV; | 6485 | err |= -ENODEV; |
6507 | } | 6486 | } |
6508 | 6487 | ||
@@ -6723,8 +6702,7 @@ static int tg3_poll_fw(struct tg3 *tp) | |||
6723 | !(tp->tg3_flags2 & TG3_FLG2_NO_FWARE_REPORTED)) { | 6702 | !(tp->tg3_flags2 & TG3_FLG2_NO_FWARE_REPORTED)) { |
6724 | tp->tg3_flags2 |= TG3_FLG2_NO_FWARE_REPORTED; | 6703 | tp->tg3_flags2 |= TG3_FLG2_NO_FWARE_REPORTED; |
6725 | 6704 | ||
6726 | printk(KERN_INFO PFX "%s: No firmware running.\n", | 6705 | netdev_info(tp->dev, "No firmware running\n"); |
6727 | tp->dev->name); | ||
6728 | } | 6706 | } |
6729 | 6707 | ||
6730 | if (tp->pci_chip_rev_id == CHIPREV_ID_57765_A0) { | 6708 | if (tp->pci_chip_rev_id == CHIPREV_ID_57765_A0) { |
@@ -7152,10 +7130,8 @@ static int tg3_halt_cpu(struct tg3 *tp, u32 offset) | |||
7152 | } | 7130 | } |
7153 | 7131 | ||
7154 | if (i >= 10000) { | 7132 | if (i >= 10000) { |
7155 | printk(KERN_ERR PFX "tg3_reset_cpu timed out for %s, " | 7133 | netdev_err(tp->dev, "%s timed out, %s CPU\n", |
7156 | "and %s CPU\n", | 7134 | __func__, offset == RX_CPU_BASE ? "RX" : "TX"); |
7157 | tp->dev->name, | ||
7158 | (offset == RX_CPU_BASE ? "RX" : "TX")); | ||
7159 | return -ENODEV; | 7135 | return -ENODEV; |
7160 | } | 7136 | } |
7161 | 7137 | ||
@@ -7180,9 +7156,8 @@ static int tg3_load_firmware_cpu(struct tg3 *tp, u32 cpu_base, u32 cpu_scratch_b | |||
7180 | 7156 | ||
7181 | if (cpu_base == TX_CPU_BASE && | 7157 | if (cpu_base == TX_CPU_BASE && |
7182 | (tp->tg3_flags2 & TG3_FLG2_5705_PLUS)) { | 7158 | (tp->tg3_flags2 & TG3_FLG2_5705_PLUS)) { |
7183 | printk(KERN_ERR PFX "tg3_load_firmware_cpu: Trying to load " | 7159 | netdev_err(tp->dev, "%s: Trying to load TX cpu firmware which is 5705\n", |
7184 | "TX cpu firmware on %s which is 5705.\n", | 7160 | __func__); |
7185 | tp->dev->name); | ||
7186 | return -EINVAL; | 7161 | return -EINVAL; |
7187 | } | 7162 | } |
7188 | 7163 | ||
@@ -7261,10 +7236,8 @@ static int tg3_load_5701_a0_firmware_fix(struct tg3 *tp) | |||
7261 | udelay(1000); | 7236 | udelay(1000); |
7262 | } | 7237 | } |
7263 | if (i >= 5) { | 7238 | if (i >= 5) { |
7264 | printk(KERN_ERR PFX "tg3_load_firmware fails for %s " | 7239 | netdev_err(tp->dev, "tg3_load_firmware fails to set RX CPU PC, is %08x should be %08x\n", |
7265 | "to set RX CPU PC, is %08x should be %08x\n", | 7240 | tr32(RX_CPU_BASE + CPU_PC), info.fw_base); |
7266 | tp->dev->name, tr32(RX_CPU_BASE + CPU_PC), | ||
7267 | info.fw_base); | ||
7268 | return -ENODEV; | 7241 | return -ENODEV; |
7269 | } | 7242 | } |
7270 | tw32(RX_CPU_BASE + CPU_STATE, 0xffffffff); | 7243 | tw32(RX_CPU_BASE + CPU_STATE, 0xffffffff); |
@@ -7327,10 +7300,8 @@ static int tg3_load_tso_firmware(struct tg3 *tp) | |||
7327 | udelay(1000); | 7300 | udelay(1000); |
7328 | } | 7301 | } |
7329 | if (i >= 5) { | 7302 | if (i >= 5) { |
7330 | printk(KERN_ERR PFX "tg3_load_tso_firmware fails for %s " | 7303 | netdev_err(tp->dev, "%s fails to set CPU PC, is %08x should be %08x\n", |
7331 | "to set CPU PC, is %08x should be %08x\n", | 7304 | __func__, tr32(cpu_base + CPU_PC), info.fw_base); |
7332 | tp->dev->name, tr32(cpu_base + CPU_PC), | ||
7333 | info.fw_base); | ||
7334 | return -ENODEV; | 7305 | return -ENODEV; |
7335 | } | 7306 | } |
7336 | tw32(cpu_base + CPU_STATE, 0xffffffff); | 7307 | tw32(cpu_base + CPU_STATE, 0xffffffff); |
@@ -7791,8 +7762,7 @@ static int tg3_reset_hw(struct tg3 *tp, int reset_phy) | |||
7791 | udelay(10); | 7762 | udelay(10); |
7792 | } | 7763 | } |
7793 | if (i >= 2000) { | 7764 | if (i >= 2000) { |
7794 | printk(KERN_ERR PFX "tg3_reset_hw cannot enable BUFMGR for %s.\n", | 7765 | netdev_err(tp->dev, "%s cannot enable BUFMGR\n", __func__); |
7795 | tp->dev->name); | ||
7796 | return -ENODEV; | 7766 | return -ENODEV; |
7797 | } | 7767 | } |
7798 | 7768 | ||
@@ -8655,10 +8625,8 @@ static int tg3_test_msi(struct tg3 *tp) | |||
8655 | return err; | 8625 | return err; |
8656 | 8626 | ||
8657 | /* MSI test failed, go back to INTx mode */ | 8627 | /* MSI test failed, go back to INTx mode */ |
8658 | printk(KERN_WARNING PFX "%s: No interrupt was generated using MSI, " | 8628 | netdev_warn(tp->dev, "No interrupt was generated using MSI, switching to INTx mode\n" |
8659 | "switching to INTx mode. Please report this failure to " | 8629 | "Please report this failure to the PCI maintainer and include system chipset information\n"); |
8660 | "the PCI maintainer and include system chipset information.\n", | ||
8661 | tp->dev->name); | ||
8662 | 8630 | ||
8663 | free_irq(tp->napi[0].irq_vec, &tp->napi[0]); | 8631 | free_irq(tp->napi[0].irq_vec, &tp->napi[0]); |
8664 | 8632 | ||
@@ -8691,8 +8659,8 @@ static int tg3_request_firmware(struct tg3 *tp) | |||
8691 | const __be32 *fw_data; | 8659 | const __be32 *fw_data; |
8692 | 8660 | ||
8693 | if (request_firmware(&tp->fw, tp->fw_needed, &tp->pdev->dev)) { | 8661 | if (request_firmware(&tp->fw, tp->fw_needed, &tp->pdev->dev)) { |
8694 | printk(KERN_ERR "%s: Failed to load firmware \"%s\"\n", | 8662 | netdev_err(tp->dev, "Failed to load firmware \"%s\"\n", |
8695 | tp->dev->name, tp->fw_needed); | 8663 | tp->fw_needed); |
8696 | return -ENOENT; | 8664 | return -ENOENT; |
8697 | } | 8665 | } |
8698 | 8666 | ||
@@ -8705,8 +8673,8 @@ static int tg3_request_firmware(struct tg3 *tp) | |||
8705 | 8673 | ||
8706 | tp->fw_len = be32_to_cpu(fw_data[2]); /* includes bss */ | 8674 | tp->fw_len = be32_to_cpu(fw_data[2]); /* includes bss */ |
8707 | if (tp->fw_len < (tp->fw->size - 12)) { | 8675 | if (tp->fw_len < (tp->fw->size - 12)) { |
8708 | printk(KERN_ERR "%s: bogus length %d in \"%s\"\n", | 8676 | netdev_err(tp->dev, "bogus length %d in \"%s\"\n", |
8709 | tp->dev->name, tp->fw_len, tp->fw_needed); | 8677 | tp->fw_len, tp->fw_needed); |
8710 | release_firmware(tp->fw); | 8678 | release_firmware(tp->fw); |
8711 | tp->fw = NULL; | 8679 | tp->fw = NULL; |
8712 | return -EINVAL; | 8680 | return -EINVAL; |
@@ -8744,9 +8712,8 @@ static bool tg3_enable_msix(struct tg3 *tp) | |||
8744 | return false; | 8712 | return false; |
8745 | if (pci_enable_msix(tp->pdev, msix_ent, rc)) | 8713 | if (pci_enable_msix(tp->pdev, msix_ent, rc)) |
8746 | return false; | 8714 | return false; |
8747 | printk(KERN_NOTICE | 8715 | netdev_notice(tp->dev, "Requested %d MSI-X vectors, received %d\n", |
8748 | "%s: Requested %d MSI-X vectors, received %d\n", | 8716 | tp->irq_cnt, rc); |
8749 | tp->dev->name, tp->irq_cnt, rc); | ||
8750 | tp->irq_cnt = rc; | 8717 | tp->irq_cnt = rc; |
8751 | } | 8718 | } |
8752 | 8719 | ||
@@ -8771,8 +8738,7 @@ static void tg3_ints_init(struct tg3 *tp) | |||
8771 | /* All MSI supporting chips should support tagged | 8738 | /* All MSI supporting chips should support tagged |
8772 | * status. Assert that this is the case. | 8739 | * status. Assert that this is the case. |
8773 | */ | 8740 | */ |
8774 | printk(KERN_WARNING PFX "%s: MSI without TAGGED? " | 8741 | netdev_warn(tp->dev, "MSI without TAGGED? Not using MSI\n"); |
8775 | "Not using MSI.\n", tp->dev->name); | ||
8776 | goto defcfg; | 8742 | goto defcfg; |
8777 | } | 8743 | } |
8778 | 8744 | ||
@@ -8817,12 +8783,10 @@ static int tg3_open(struct net_device *dev) | |||
8817 | if (err) | 8783 | if (err) |
8818 | return err; | 8784 | return err; |
8819 | } else if (err) { | 8785 | } else if (err) { |
8820 | printk(KERN_WARNING "%s: TSO capability disabled.\n", | 8786 | netdev_warn(tp->dev, "TSO capability disabled\n"); |
8821 | tp->dev->name); | ||
8822 | tp->tg3_flags2 &= ~TG3_FLG2_TSO_CAPABLE; | 8787 | tp->tg3_flags2 &= ~TG3_FLG2_TSO_CAPABLE; |
8823 | } else if (!(tp->tg3_flags2 & TG3_FLG2_TSO_CAPABLE)) { | 8788 | } else if (!(tp->tg3_flags2 & TG3_FLG2_TSO_CAPABLE)) { |
8824 | printk(KERN_NOTICE "%s: TSO capability restored.\n", | 8789 | netdev_notice(tp->dev, "TSO capability restored\n"); |
8825 | tp->dev->name); | ||
8826 | tp->tg3_flags2 |= TG3_FLG2_TSO_CAPABLE; | 8790 | tp->tg3_flags2 |= TG3_FLG2_TSO_CAPABLE; |
8827 | } | 8791 | } |
8828 | } | 8792 | } |
@@ -10687,8 +10651,7 @@ static int tg3_test_registers(struct tg3 *tp) | |||
10687 | 10651 | ||
10688 | out: | 10652 | out: |
10689 | if (netif_msg_hw(tp)) | 10653 | if (netif_msg_hw(tp)) |
10690 | printk(KERN_ERR PFX "Register test failed at offset %x\n", | 10654 | pr_err("Register test failed at offset %x\n", offset); |
10691 | offset); | ||
10692 | tw32(offset, save_val); | 10655 | tw32(offset, save_val); |
10693 | return -EIO; | 10656 | return -EIO; |
10694 | } | 10657 | } |
@@ -11815,8 +11778,8 @@ static void __devinit tg3_nvram_init(struct tg3 *tp) | |||
11815 | tp->tg3_flags |= TG3_FLAG_NVRAM; | 11778 | tp->tg3_flags |= TG3_FLAG_NVRAM; |
11816 | 11779 | ||
11817 | if (tg3_nvram_lock(tp)) { | 11780 | if (tg3_nvram_lock(tp)) { |
11818 | printk(KERN_WARNING PFX "%s: Cannot get nvarm lock, " | 11781 | netdev_warn(tp->dev, "Cannot get nvram lock, %s failed\n", |
11819 | "tg3_nvram_init failed.\n", tp->dev->name); | 11782 | __func__); |
11820 | return; | 11783 | return; |
11821 | } | 11784 | } |
11822 | tg3_enable_nvram_access(tp); | 11785 | tg3_enable_nvram_access(tp); |
@@ -13280,8 +13243,7 @@ static int __devinit tg3_get_invariants(struct tg3 *tp) | |||
13280 | (tp->tg3_flags2 & TG3_FLG2_5780_CLASS)) { | 13243 | (tp->tg3_flags2 & TG3_FLG2_5780_CLASS)) { |
13281 | tp->pcix_cap = pci_find_capability(tp->pdev, PCI_CAP_ID_PCIX); | 13244 | tp->pcix_cap = pci_find_capability(tp->pdev, PCI_CAP_ID_PCIX); |
13282 | if (!tp->pcix_cap) { | 13245 | if (!tp->pcix_cap) { |
13283 | printk(KERN_ERR PFX "Cannot find PCI-X " | 13246 | pr_err("Cannot find PCI-X capability, aborting\n"); |
13284 | "capability, aborting.\n"); | ||
13285 | return -EIO; | 13247 | return -EIO; |
13286 | } | 13248 | } |
13287 | 13249 | ||
@@ -13478,8 +13440,7 @@ static int __devinit tg3_get_invariants(struct tg3 *tp) | |||
13478 | /* Force the chip into D0. */ | 13440 | /* Force the chip into D0. */ |
13479 | err = tg3_set_power_state(tp, PCI_D0); | 13441 | err = tg3_set_power_state(tp, PCI_D0); |
13480 | if (err) { | 13442 | if (err) { |
13481 | printk(KERN_ERR PFX "(%s) transition to D0 failed\n", | 13443 | pr_err("(%s) transition to D0 failed\n", pci_name(tp->pdev)); |
13482 | pci_name(tp->pdev)); | ||
13483 | return err; | 13444 | return err; |
13484 | } | 13445 | } |
13485 | 13446 | ||
@@ -13653,7 +13614,7 @@ static int __devinit tg3_get_invariants(struct tg3 *tp) | |||
13653 | 13614 | ||
13654 | err = tg3_phy_probe(tp); | 13615 | err = tg3_phy_probe(tp); |
13655 | if (err) { | 13616 | if (err) { |
13656 | printk(KERN_ERR PFX "(%s) phy probe failed, err %d\n", | 13617 | pr_err("(%s) phy probe failed, err %d\n", |
13657 | pci_name(tp->pdev), err); | 13618 | pci_name(tp->pdev), err); |
13658 | /* ... but do not return immediately ... */ | 13619 | /* ... but do not return immediately ... */ |
13659 | tg3_mdio_fini(tp); | 13620 | tg3_mdio_fini(tp); |
@@ -14163,7 +14124,8 @@ static int __devinit tg3_test_dma(struct tg3 *tp) | |||
14163 | /* Send the buffer to the chip. */ | 14124 | /* Send the buffer to the chip. */ |
14164 | ret = tg3_do_test_dma(tp, buf, buf_dma, TEST_BUFFER_SIZE, 1); | 14125 | ret = tg3_do_test_dma(tp, buf, buf_dma, TEST_BUFFER_SIZE, 1); |
14165 | if (ret) { | 14126 | if (ret) { |
14166 | printk(KERN_ERR "tg3_test_dma() Write the buffer failed %d\n", ret); | 14127 | pr_err("tg3_test_dma() Write the buffer failed %d\n", |
14128 | ret); | ||
14167 | break; | 14129 | break; |
14168 | } | 14130 | } |
14169 | 14131 | ||
@@ -14173,7 +14135,8 @@ static int __devinit tg3_test_dma(struct tg3 *tp) | |||
14173 | u32 val; | 14135 | u32 val; |
14174 | tg3_read_mem(tp, 0x2100 + (i*4), &val); | 14136 | tg3_read_mem(tp, 0x2100 + (i*4), &val); |
14175 | if (le32_to_cpu(val) != p[i]) { | 14137 | if (le32_to_cpu(val) != p[i]) { |
14176 | printk(KERN_ERR " tg3_test_dma() Card buffer corrupted on write! (%d != %d)\n", val, i); | 14138 | pr_err(" tg3_test_dma() Card buffer corrupted on write! (%d != %d)\n", |
14139 | val, i); | ||
14177 | /* ret = -ENODEV here? */ | 14140 | /* ret = -ENODEV here? */ |
14178 | } | 14141 | } |
14179 | p[i] = 0; | 14142 | p[i] = 0; |
@@ -14182,7 +14145,8 @@ static int __devinit tg3_test_dma(struct tg3 *tp) | |||
14182 | /* Now read it back. */ | 14145 | /* Now read it back. */ |
14183 | ret = tg3_do_test_dma(tp, buf, buf_dma, TEST_BUFFER_SIZE, 0); | 14146 | ret = tg3_do_test_dma(tp, buf, buf_dma, TEST_BUFFER_SIZE, 0); |
14184 | if (ret) { | 14147 | if (ret) { |
14185 | printk(KERN_ERR "tg3_test_dma() Read the buffer failed %d\n", ret); | 14148 | pr_err("tg3_test_dma() Read the buffer failed %d\n", |
14149 | ret); | ||
14186 | 14150 | ||
14187 | break; | 14151 | break; |
14188 | } | 14152 | } |
@@ -14199,7 +14163,8 @@ static int __devinit tg3_test_dma(struct tg3 *tp) | |||
14199 | tw32(TG3PCI_DMA_RW_CTRL, tp->dma_rwctrl); | 14163 | tw32(TG3PCI_DMA_RW_CTRL, tp->dma_rwctrl); |
14200 | break; | 14164 | break; |
14201 | } else { | 14165 | } else { |
14202 | printk(KERN_ERR "tg3_test_dma() buffer corrupted on read back! (%d != %d)\n", p[i], i); | 14166 | pr_err("tg3_test_dma() buffer corrupted on read back! (%d != %d)\n", |
14167 | p[i], i); | ||
14203 | ret = -ENODEV; | 14168 | ret = -ENODEV; |
14204 | goto out; | 14169 | goto out; |
14205 | } | 14170 | } |
@@ -14480,7 +14445,6 @@ static const struct net_device_ops tg3_netdev_ops_dma_bug = { | |||
14480 | static int __devinit tg3_init_one(struct pci_dev *pdev, | 14445 | static int __devinit tg3_init_one(struct pci_dev *pdev, |
14481 | const struct pci_device_id *ent) | 14446 | const struct pci_device_id *ent) |
14482 | { | 14447 | { |
14483 | static int tg3_version_printed = 0; | ||
14484 | struct net_device *dev; | 14448 | struct net_device *dev; |
14485 | struct tg3 *tp; | 14449 | struct tg3 *tp; |
14486 | int i, err, pm_cap; | 14450 | int i, err, pm_cap; |
@@ -14488,20 +14452,17 @@ static int __devinit tg3_init_one(struct pci_dev *pdev, | |||
14488 | char str[40]; | 14452 | char str[40]; |
14489 | u64 dma_mask, persist_dma_mask; | 14453 | u64 dma_mask, persist_dma_mask; |
14490 | 14454 | ||
14491 | if (tg3_version_printed++ == 0) | 14455 | printk_once(KERN_INFO "%s\n", version); |
14492 | printk(KERN_INFO "%s", version); | ||
14493 | 14456 | ||
14494 | err = pci_enable_device(pdev); | 14457 | err = pci_enable_device(pdev); |
14495 | if (err) { | 14458 | if (err) { |
14496 | printk(KERN_ERR PFX "Cannot enable PCI device, " | 14459 | pr_err("Cannot enable PCI device, aborting\n"); |
14497 | "aborting.\n"); | ||
14498 | return err; | 14460 | return err; |
14499 | } | 14461 | } |
14500 | 14462 | ||
14501 | err = pci_request_regions(pdev, DRV_MODULE_NAME); | 14463 | err = pci_request_regions(pdev, DRV_MODULE_NAME); |
14502 | if (err) { | 14464 | if (err) { |
14503 | printk(KERN_ERR PFX "Cannot obtain PCI resources, " | 14465 | pr_err("Cannot obtain PCI resources, aborting\n"); |
14504 | "aborting.\n"); | ||
14505 | goto err_out_disable_pdev; | 14466 | goto err_out_disable_pdev; |
14506 | } | 14467 | } |
14507 | 14468 | ||
@@ -14510,15 +14471,14 @@ static int __devinit tg3_init_one(struct pci_dev *pdev, | |||
14510 | /* Find power-management capability. */ | 14471 | /* Find power-management capability. */ |
14511 | pm_cap = pci_find_capability(pdev, PCI_CAP_ID_PM); | 14472 | pm_cap = pci_find_capability(pdev, PCI_CAP_ID_PM); |
14512 | if (pm_cap == 0) { | 14473 | if (pm_cap == 0) { |
14513 | printk(KERN_ERR PFX "Cannot find PowerManagement capability, " | 14474 | pr_err("Cannot find PowerManagement capability, aborting\n"); |
14514 | "aborting.\n"); | ||
14515 | err = -EIO; | 14475 | err = -EIO; |
14516 | goto err_out_free_res; | 14476 | goto err_out_free_res; |
14517 | } | 14477 | } |
14518 | 14478 | ||
14519 | dev = alloc_etherdev_mq(sizeof(*tp), TG3_IRQ_MAX_VECS); | 14479 | dev = alloc_etherdev_mq(sizeof(*tp), TG3_IRQ_MAX_VECS); |
14520 | if (!dev) { | 14480 | if (!dev) { |
14521 | printk(KERN_ERR PFX "Etherdev alloc failed, aborting.\n"); | 14481 | pr_err("Etherdev alloc failed, aborting\n"); |
14522 | err = -ENOMEM; | 14482 | err = -ENOMEM; |
14523 | goto err_out_free_res; | 14483 | goto err_out_free_res; |
14524 | } | 14484 | } |
@@ -14568,8 +14528,7 @@ static int __devinit tg3_init_one(struct pci_dev *pdev, | |||
14568 | 14528 | ||
14569 | tp->regs = pci_ioremap_bar(pdev, BAR_0); | 14529 | tp->regs = pci_ioremap_bar(pdev, BAR_0); |
14570 | if (!tp->regs) { | 14530 | if (!tp->regs) { |
14571 | printk(KERN_ERR PFX "Cannot map device registers, " | 14531 | netdev_err(dev, "Cannot map device registers, aborting\n"); |
14572 | "aborting.\n"); | ||
14573 | err = -ENOMEM; | 14532 | err = -ENOMEM; |
14574 | goto err_out_free_dev; | 14533 | goto err_out_free_dev; |
14575 | } | 14534 | } |
@@ -14585,8 +14544,7 @@ static int __devinit tg3_init_one(struct pci_dev *pdev, | |||
14585 | 14544 | ||
14586 | err = tg3_get_invariants(tp); | 14545 | err = tg3_get_invariants(tp); |
14587 | if (err) { | 14546 | if (err) { |
14588 | printk(KERN_ERR PFX "Problem fetching invariants of chip, " | 14547 | netdev_err(dev, "Problem fetching invariants of chip, aborting\n"); |
14589 | "aborting.\n"); | ||
14590 | goto err_out_iounmap; | 14548 | goto err_out_iounmap; |
14591 | } | 14549 | } |
14592 | 14550 | ||
@@ -14621,8 +14579,7 @@ static int __devinit tg3_init_one(struct pci_dev *pdev, | |||
14621 | err = pci_set_consistent_dma_mask(pdev, | 14579 | err = pci_set_consistent_dma_mask(pdev, |
14622 | persist_dma_mask); | 14580 | persist_dma_mask); |
14623 | if (err < 0) { | 14581 | if (err < 0) { |
14624 | printk(KERN_ERR PFX "Unable to obtain 64 bit " | 14582 | netdev_err(dev, "Unable to obtain 64 bit DMA for consistent allocations\n"); |
14625 | "DMA for consistent allocations\n"); | ||
14626 | goto err_out_iounmap; | 14583 | goto err_out_iounmap; |
14627 | } | 14584 | } |
14628 | } | 14585 | } |
@@ -14630,8 +14587,7 @@ static int __devinit tg3_init_one(struct pci_dev *pdev, | |||
14630 | if (err || dma_mask == DMA_BIT_MASK(32)) { | 14587 | if (err || dma_mask == DMA_BIT_MASK(32)) { |
14631 | err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); | 14588 | err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); |
14632 | if (err) { | 14589 | if (err) { |
14633 | printk(KERN_ERR PFX "No usable DMA configuration, " | 14590 | netdev_err(dev, "No usable DMA configuration, aborting\n"); |
14634 | "aborting.\n"); | ||
14635 | goto err_out_iounmap; | 14591 | goto err_out_iounmap; |
14636 | } | 14592 | } |
14637 | } | 14593 | } |
@@ -14680,16 +14636,14 @@ static int __devinit tg3_init_one(struct pci_dev *pdev, | |||
14680 | 14636 | ||
14681 | err = tg3_get_device_address(tp); | 14637 | err = tg3_get_device_address(tp); |
14682 | if (err) { | 14638 | if (err) { |
14683 | printk(KERN_ERR PFX "Could not obtain valid ethernet address, " | 14639 | netdev_err(dev, "Could not obtain valid ethernet address, aborting\n"); |
14684 | "aborting.\n"); | ||
14685 | goto err_out_iounmap; | 14640 | goto err_out_iounmap; |
14686 | } | 14641 | } |
14687 | 14642 | ||
14688 | if (tp->tg3_flags3 & TG3_FLG3_ENABLE_APE) { | 14643 | if (tp->tg3_flags3 & TG3_FLG3_ENABLE_APE) { |
14689 | tp->aperegs = pci_ioremap_bar(pdev, BAR_2); | 14644 | tp->aperegs = pci_ioremap_bar(pdev, BAR_2); |
14690 | if (!tp->aperegs) { | 14645 | if (!tp->aperegs) { |
14691 | printk(KERN_ERR PFX "Cannot map APE registers, " | 14646 | netdev_err(dev, "Cannot map APE registers, aborting\n"); |
14692 | "aborting.\n"); | ||
14693 | err = -ENOMEM; | 14647 | err = -ENOMEM; |
14694 | goto err_out_iounmap; | 14648 | goto err_out_iounmap; |
14695 | } | 14649 | } |
@@ -14713,7 +14667,7 @@ static int __devinit tg3_init_one(struct pci_dev *pdev, | |||
14713 | 14667 | ||
14714 | err = tg3_test_dma(tp); | 14668 | err = tg3_test_dma(tp); |
14715 | if (err) { | 14669 | if (err) { |
14716 | printk(KERN_ERR PFX "DMA engine test failed, aborting.\n"); | 14670 | netdev_err(dev, "DMA engine test failed, aborting\n"); |
14717 | goto err_out_apeunmap; | 14671 | goto err_out_apeunmap; |
14718 | } | 14672 | } |
14719 | 14673 | ||
@@ -14774,45 +14728,39 @@ static int __devinit tg3_init_one(struct pci_dev *pdev, | |||
14774 | 14728 | ||
14775 | err = register_netdev(dev); | 14729 | err = register_netdev(dev); |
14776 | if (err) { | 14730 | if (err) { |
14777 | printk(KERN_ERR PFX "Cannot register net device, " | 14731 | netdev_err(dev, "Cannot register net device, aborting\n"); |
14778 | "aborting.\n"); | ||
14779 | goto err_out_apeunmap; | 14732 | goto err_out_apeunmap; |
14780 | } | 14733 | } |
14781 | 14734 | ||
14782 | printk(KERN_INFO "%s: Tigon3 [partno(%s) rev %04x] (%s) MAC address %pM\n", | 14735 | netdev_info(dev, "Tigon3 [partno(%s) rev %04x] (%s) MAC address %pM\n", |
14783 | dev->name, | 14736 | tp->board_part_number, |
14784 | tp->board_part_number, | 14737 | tp->pci_chip_rev_id, |
14785 | tp->pci_chip_rev_id, | 14738 | tg3_bus_string(tp, str), |
14786 | tg3_bus_string(tp, str), | 14739 | dev->dev_addr); |
14787 | dev->dev_addr); | ||
14788 | 14740 | ||
14789 | if (tp->tg3_flags3 & TG3_FLG3_PHY_CONNECTED) { | 14741 | if (tp->tg3_flags3 & TG3_FLG3_PHY_CONNECTED) { |
14790 | struct phy_device *phydev; | 14742 | struct phy_device *phydev; |
14791 | phydev = tp->mdio_bus->phy_map[TG3_PHY_MII_ADDR]; | 14743 | phydev = tp->mdio_bus->phy_map[TG3_PHY_MII_ADDR]; |
14792 | printk(KERN_INFO | 14744 | netdev_info(dev, "attached PHY driver [%s] (mii_bus:phy_addr=%s)\n", |
14793 | "%s: attached PHY driver [%s] (mii_bus:phy_addr=%s)\n", | 14745 | phydev->drv->name, dev_name(&phydev->dev)); |
14794 | tp->dev->name, phydev->drv->name, | ||
14795 | dev_name(&phydev->dev)); | ||
14796 | } else | 14746 | } else |
14797 | printk(KERN_INFO | 14747 | netdev_info(dev, "attached PHY is %s (%s Ethernet) (WireSpeed[%d])\n", |
14798 | "%s: attached PHY is %s (%s Ethernet) (WireSpeed[%d])\n", | 14748 | tg3_phy_string(tp), |
14799 | tp->dev->name, tg3_phy_string(tp), | 14749 | ((tp->tg3_flags & TG3_FLAG_10_100_ONLY) ? "10/100Base-TX" : |
14800 | ((tp->tg3_flags & TG3_FLAG_10_100_ONLY) ? "10/100Base-TX" : | 14750 | ((tp->tg3_flags2 & TG3_FLG2_ANY_SERDES) ? "1000Base-SX" : |
14801 | ((tp->tg3_flags2 & TG3_FLG2_ANY_SERDES) ? "1000Base-SX" : | 14751 | "10/100/1000Base-T")), |
14802 | "10/100/1000Base-T")), | 14752 | (tp->tg3_flags2 & TG3_FLG2_NO_ETH_WIRE_SPEED) == 0); |
14803 | (tp->tg3_flags2 & TG3_FLG2_NO_ETH_WIRE_SPEED) == 0); | 14753 | |
14804 | 14754 | netdev_info(dev, "RXcsums[%d] LinkChgREG[%d] MIirq[%d] ASF[%d] TSOcap[%d]\n", | |
14805 | printk(KERN_INFO "%s: RXcsums[%d] LinkChgREG[%d] MIirq[%d] ASF[%d] TSOcap[%d]\n", | 14755 | (tp->tg3_flags & TG3_FLAG_RX_CHECKSUMS) != 0, |
14806 | dev->name, | 14756 | (tp->tg3_flags & TG3_FLAG_USE_LINKCHG_REG) != 0, |
14807 | (tp->tg3_flags & TG3_FLAG_RX_CHECKSUMS) != 0, | 14757 | (tp->tg3_flags & TG3_FLAG_USE_MI_INTERRUPT) != 0, |
14808 | (tp->tg3_flags & TG3_FLAG_USE_LINKCHG_REG) != 0, | 14758 | (tp->tg3_flags & TG3_FLAG_ENABLE_ASF) != 0, |
14809 | (tp->tg3_flags & TG3_FLAG_USE_MI_INTERRUPT) != 0, | 14759 | (tp->tg3_flags2 & TG3_FLG2_TSO_CAPABLE) != 0); |
14810 | (tp->tg3_flags & TG3_FLAG_ENABLE_ASF) != 0, | 14760 | netdev_info(dev, "dma_rwctrl[%08x] dma_mask[%d-bit]\n", |
14811 | (tp->tg3_flags2 & TG3_FLG2_TSO_CAPABLE) != 0); | 14761 | tp->dma_rwctrl, |
14812 | printk(KERN_INFO "%s: dma_rwctrl[%08x] dma_mask[%d-bit]\n", | 14762 | pdev->dma_mask == DMA_BIT_MASK(32) ? 32 : |
14813 | dev->name, tp->dma_rwctrl, | 14763 | ((u64)pdev->dma_mask) == DMA_BIT_MASK(40) ? 40 : 64); |
14814 | (pdev->dma_mask == DMA_BIT_MASK(32)) ? 32 : | ||
14815 | (((u64) pdev->dma_mask == DMA_BIT_MASK(40)) ? 40 : 64)); | ||
14816 | 14764 | ||
14817 | return 0; | 14765 | return 0; |
14818 | 14766 | ||