.. | .. |
---|
59 | 59 | #include "bnx2_fw.h" |
---|
60 | 60 | |
---|
61 | 61 | #define DRV_MODULE_NAME "bnx2" |
---|
62 | | -#define DRV_MODULE_VERSION "2.2.6" |
---|
63 | | -#define DRV_MODULE_RELDATE "January 29, 2014" |
---|
64 | 62 | #define FW_MIPS_FILE_06 "bnx2/bnx2-mips-06-6.2.3.fw" |
---|
65 | 63 | #define FW_RV2P_FILE_06 "bnx2/bnx2-rv2p-06-6.0.15.fw" |
---|
66 | 64 | #define FW_MIPS_FILE_09 "bnx2/bnx2-mips-09-6.2.1b.fw" |
---|
.. | .. |
---|
72 | 70 | /* Time in jiffies before concluding the transmitter is hung. */ |
---|
73 | 71 | #define TX_TIMEOUT (5*HZ) |
---|
74 | 72 | |
---|
75 | | -static char version[] = |
---|
76 | | - "QLogic " DRV_MODULE_NAME " Gigabit Ethernet Driver v" DRV_MODULE_VERSION " (" DRV_MODULE_RELDATE ")\n"; |
---|
77 | | - |
---|
78 | 73 | MODULE_AUTHOR("Michael Chan <mchan@broadcom.com>"); |
---|
79 | 74 | MODULE_DESCRIPTION("QLogic BCM5706/5708/5709/5716 Driver"); |
---|
80 | 75 | MODULE_LICENSE("GPL"); |
---|
81 | | -MODULE_VERSION(DRV_MODULE_VERSION); |
---|
82 | 76 | MODULE_FIRMWARE(FW_MIPS_FILE_06); |
---|
83 | 77 | MODULE_FIRMWARE(FW_RV2P_FILE_06); |
---|
84 | 78 | MODULE_FIRMWARE(FW_MIPS_FILE_09); |
---|
.. | .. |
---|
844 | 838 | BNX2_SBLK_MSIX_ALIGN_SIZE); |
---|
845 | 839 | bp->status_stats_size = status_blk_size + |
---|
846 | 840 | sizeof(struct statistics_block); |
---|
847 | | - status_blk = dma_zalloc_coherent(&bp->pdev->dev, bp->status_stats_size, |
---|
848 | | - &bp->status_blk_mapping, GFP_KERNEL); |
---|
| 841 | + status_blk = dma_alloc_coherent(&bp->pdev->dev, bp->status_stats_size, |
---|
| 842 | + &bp->status_blk_mapping, GFP_KERNEL); |
---|
849 | 843 | if (!status_blk) |
---|
850 | 844 | return -ENOMEM; |
---|
851 | 845 | |
---|
.. | .. |
---|
1343 | 1337 | val |= BNX2_EMAC_MODE_PORT_MII_10M; |
---|
1344 | 1338 | break; |
---|
1345 | 1339 | } |
---|
1346 | | - /* fall through */ |
---|
| 1340 | + fallthrough; |
---|
1347 | 1341 | case SPEED_100: |
---|
1348 | 1342 | val |= BNX2_EMAC_MODE_PORT_MII; |
---|
1349 | 1343 | break; |
---|
1350 | 1344 | case SPEED_2500: |
---|
1351 | 1345 | val |= BNX2_EMAC_MODE_25G_MODE; |
---|
1352 | | - /* fall through */ |
---|
| 1346 | + fallthrough; |
---|
1353 | 1347 | case SPEED_1000: |
---|
1354 | 1348 | val |= BNX2_EMAC_MODE_PORT_GMII; |
---|
1355 | 1349 | break; |
---|
.. | .. |
---|
1461 | 1455 | static void |
---|
1462 | 1456 | bnx2_enable_forced_2g5(struct bnx2 *bp) |
---|
1463 | 1457 | { |
---|
1464 | | - u32 uninitialized_var(bmcr); |
---|
| 1458 | + u32 bmcr; |
---|
1465 | 1459 | int err; |
---|
1466 | 1460 | |
---|
1467 | 1461 | if (!(bp->phy_flags & BNX2_PHY_FLAG_2_5G_CAPABLE)) |
---|
.. | .. |
---|
1505 | 1499 | static void |
---|
1506 | 1500 | bnx2_disable_forced_2g5(struct bnx2 *bp) |
---|
1507 | 1501 | { |
---|
1508 | | - u32 uninitialized_var(bmcr); |
---|
| 1502 | + u32 bmcr; |
---|
1509 | 1503 | int err; |
---|
1510 | 1504 | |
---|
1511 | 1505 | if (!(bp->phy_flags & BNX2_PHY_FLAG_2_5G_CAPABLE)) |
---|
.. | .. |
---|
2001 | 1995 | switch (speed) { |
---|
2002 | 1996 | case BNX2_LINK_STATUS_10HALF: |
---|
2003 | 1997 | bp->duplex = DUPLEX_HALF; |
---|
2004 | | - /* fall through */ |
---|
| 1998 | + fallthrough; |
---|
2005 | 1999 | case BNX2_LINK_STATUS_10FULL: |
---|
2006 | 2000 | bp->line_speed = SPEED_10; |
---|
2007 | 2001 | break; |
---|
2008 | 2002 | case BNX2_LINK_STATUS_100HALF: |
---|
2009 | 2003 | bp->duplex = DUPLEX_HALF; |
---|
2010 | | - /* fall through */ |
---|
| 2004 | + fallthrough; |
---|
2011 | 2005 | case BNX2_LINK_STATUS_100BASE_T4: |
---|
2012 | 2006 | case BNX2_LINK_STATUS_100FULL: |
---|
2013 | 2007 | bp->line_speed = SPEED_100; |
---|
2014 | 2008 | break; |
---|
2015 | 2009 | case BNX2_LINK_STATUS_1000HALF: |
---|
2016 | 2010 | bp->duplex = DUPLEX_HALF; |
---|
2017 | | - /* fall through */ |
---|
| 2011 | + fallthrough; |
---|
2018 | 2012 | case BNX2_LINK_STATUS_1000FULL: |
---|
2019 | 2013 | bp->line_speed = SPEED_1000; |
---|
2020 | 2014 | break; |
---|
2021 | 2015 | case BNX2_LINK_STATUS_2500HALF: |
---|
2022 | 2016 | bp->duplex = DUPLEX_HALF; |
---|
2023 | | - /* fall through */ |
---|
| 2017 | + fallthrough; |
---|
2024 | 2018 | case BNX2_LINK_STATUS_2500FULL: |
---|
2025 | 2019 | bp->line_speed = SPEED_2500; |
---|
2026 | 2020 | break; |
---|
.. | .. |
---|
3304 | 3298 | BNX2_WR16(bp, rxr->rx_bidx_addr, sw_prod); |
---|
3305 | 3299 | |
---|
3306 | 3300 | BNX2_WR(bp, rxr->rx_bseq_addr, rxr->rx_prod_bseq); |
---|
3307 | | - |
---|
3308 | | - mmiowb(); |
---|
3309 | 3301 | |
---|
3310 | 3302 | return rx_pkt; |
---|
3311 | 3303 | |
---|
.. | .. |
---|
6577 | 6569 | } |
---|
6578 | 6570 | |
---|
6579 | 6571 | static void |
---|
6580 | | -bnx2_tx_timeout(struct net_device *dev) |
---|
| 6572 | +bnx2_tx_timeout(struct net_device *dev, unsigned int txqueue) |
---|
6581 | 6573 | { |
---|
6582 | 6574 | struct bnx2 *bp = netdev_priv(dev); |
---|
6583 | 6575 | |
---|
.. | .. |
---|
6722 | 6714 | |
---|
6723 | 6715 | BNX2_WR16(bp, txr->tx_bidx_addr, prod); |
---|
6724 | 6716 | BNX2_WR(bp, txr->tx_bseq_addr, txr->tx_prod_bseq); |
---|
6725 | | - |
---|
6726 | | - mmiowb(); |
---|
6727 | 6717 | |
---|
6728 | 6718 | txr->tx_prod = prod; |
---|
6729 | 6719 | |
---|
.. | .. |
---|
7052 | 7042 | struct bnx2 *bp = netdev_priv(dev); |
---|
7053 | 7043 | |
---|
7054 | 7044 | strlcpy(info->driver, DRV_MODULE_NAME, sizeof(info->driver)); |
---|
7055 | | - strlcpy(info->version, DRV_MODULE_VERSION, sizeof(info->version)); |
---|
7056 | 7045 | strlcpy(info->bus_info, pci_name(bp->pdev), sizeof(info->bus_info)); |
---|
7057 | 7046 | strlcpy(info->fw_version, bp->fw_version, sizeof(info->fw_version)); |
---|
7058 | 7047 | } |
---|
.. | .. |
---|
7823 | 7812 | } |
---|
7824 | 7813 | |
---|
7825 | 7814 | static const struct ethtool_ops bnx2_ethtool_ops = { |
---|
| 7815 | + .supported_coalesce_params = ETHTOOL_COALESCE_USECS | |
---|
| 7816 | + ETHTOOL_COALESCE_MAX_FRAMES | |
---|
| 7817 | + ETHTOOL_COALESCE_USECS_IRQ | |
---|
| 7818 | + ETHTOOL_COALESCE_MAX_FRAMES_IRQ | |
---|
| 7819 | + ETHTOOL_COALESCE_STATS_BLOCK_USECS, |
---|
7826 | 7820 | .get_drvinfo = bnx2_get_drvinfo, |
---|
7827 | 7821 | .get_regs_len = bnx2_get_regs_len, |
---|
7828 | 7822 | .get_regs = bnx2_get_regs, |
---|
.. | .. |
---|
7862 | 7856 | case SIOCGMIIPHY: |
---|
7863 | 7857 | data->phy_id = bp->phy_addr; |
---|
7864 | 7858 | |
---|
7865 | | - /* fallthru */ |
---|
| 7859 | + fallthrough; |
---|
7866 | 7860 | case SIOCGMIIREG: { |
---|
7867 | 7861 | u32 mii_regval; |
---|
7868 | 7862 | |
---|
.. | .. |
---|
8566 | 8560 | static int |
---|
8567 | 8561 | bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) |
---|
8568 | 8562 | { |
---|
8569 | | - static int version_printed = 0; |
---|
8570 | 8563 | struct net_device *dev; |
---|
8571 | 8564 | struct bnx2 *bp; |
---|
8572 | 8565 | int rc; |
---|
8573 | 8566 | char str[40]; |
---|
8574 | | - |
---|
8575 | | - if (version_printed++ == 0) |
---|
8576 | | - pr_info("%s", version); |
---|
8577 | 8567 | |
---|
8578 | 8568 | /* dev zeroed in init_etherdev */ |
---|
8579 | 8569 | dev = alloc_etherdev_mq(sizeof(*bp), TX_MAX_RINGS); |
---|
.. | .. |
---|
8677 | 8667 | static int |
---|
8678 | 8668 | bnx2_suspend(struct device *device) |
---|
8679 | 8669 | { |
---|
8680 | | - struct pci_dev *pdev = to_pci_dev(device); |
---|
8681 | | - struct net_device *dev = pci_get_drvdata(pdev); |
---|
| 8670 | + struct net_device *dev = dev_get_drvdata(device); |
---|
8682 | 8671 | struct bnx2 *bp = netdev_priv(dev); |
---|
8683 | 8672 | |
---|
8684 | 8673 | if (netif_running(dev)) { |
---|
.. | .. |
---|
8697 | 8686 | static int |
---|
8698 | 8687 | bnx2_resume(struct device *device) |
---|
8699 | 8688 | { |
---|
8700 | | - struct pci_dev *pdev = to_pci_dev(device); |
---|
8701 | | - struct net_device *dev = pci_get_drvdata(pdev); |
---|
| 8689 | + struct net_device *dev = dev_get_drvdata(device); |
---|
8702 | 8690 | struct bnx2 *bp = netdev_priv(dev); |
---|
8703 | 8691 | |
---|
8704 | 8692 | if (!netif_running(dev)) |
---|
.. | .. |
---|
8792 | 8780 | |
---|
8793 | 8781 | if (!(bp->flags & BNX2_FLAG_AER_ENABLED)) |
---|
8794 | 8782 | return result; |
---|
8795 | | - |
---|
8796 | | - err = pci_cleanup_aer_uncorrect_error_status(pdev); |
---|
8797 | | - if (err) { |
---|
8798 | | - dev_err(&pdev->dev, |
---|
8799 | | - "pci_cleanup_aer_uncorrect_error_status failed 0x%0x\n", |
---|
8800 | | - err); /* non-fatal, continue */ |
---|
8801 | | - } |
---|
8802 | 8783 | |
---|
8803 | 8784 | return result; |
---|
8804 | 8785 | } |
---|