hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/drivers/net/ethernet/broadcom/bnx2.c
....@@ -59,8 +59,6 @@
5959 #include "bnx2_fw.h"
6060
6161 #define DRV_MODULE_NAME "bnx2"
62
-#define DRV_MODULE_VERSION "2.2.6"
63
-#define DRV_MODULE_RELDATE "January 29, 2014"
6462 #define FW_MIPS_FILE_06 "bnx2/bnx2-mips-06-6.2.3.fw"
6563 #define FW_RV2P_FILE_06 "bnx2/bnx2-rv2p-06-6.0.15.fw"
6664 #define FW_MIPS_FILE_09 "bnx2/bnx2-mips-09-6.2.1b.fw"
....@@ -72,13 +70,9 @@
7270 /* Time in jiffies before concluding the transmitter is hung. */
7371 #define TX_TIMEOUT (5*HZ)
7472
75
-static char version[] =
76
- "QLogic " DRV_MODULE_NAME " Gigabit Ethernet Driver v" DRV_MODULE_VERSION " (" DRV_MODULE_RELDATE ")\n";
77
-
7873 MODULE_AUTHOR("Michael Chan <mchan@broadcom.com>");
7974 MODULE_DESCRIPTION("QLogic BCM5706/5708/5709/5716 Driver");
8075 MODULE_LICENSE("GPL");
81
-MODULE_VERSION(DRV_MODULE_VERSION);
8276 MODULE_FIRMWARE(FW_MIPS_FILE_06);
8377 MODULE_FIRMWARE(FW_RV2P_FILE_06);
8478 MODULE_FIRMWARE(FW_MIPS_FILE_09);
....@@ -844,8 +838,8 @@
844838 BNX2_SBLK_MSIX_ALIGN_SIZE);
845839 bp->status_stats_size = status_blk_size +
846840 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);
849843 if (!status_blk)
850844 return -ENOMEM;
851845
....@@ -1343,13 +1337,13 @@
13431337 val |= BNX2_EMAC_MODE_PORT_MII_10M;
13441338 break;
13451339 }
1346
- /* fall through */
1340
+ fallthrough;
13471341 case SPEED_100:
13481342 val |= BNX2_EMAC_MODE_PORT_MII;
13491343 break;
13501344 case SPEED_2500:
13511345 val |= BNX2_EMAC_MODE_25G_MODE;
1352
- /* fall through */
1346
+ fallthrough;
13531347 case SPEED_1000:
13541348 val |= BNX2_EMAC_MODE_PORT_GMII;
13551349 break;
....@@ -1461,7 +1455,7 @@
14611455 static void
14621456 bnx2_enable_forced_2g5(struct bnx2 *bp)
14631457 {
1464
- u32 uninitialized_var(bmcr);
1458
+ u32 bmcr;
14651459 int err;
14661460
14671461 if (!(bp->phy_flags & BNX2_PHY_FLAG_2_5G_CAPABLE))
....@@ -1505,7 +1499,7 @@
15051499 static void
15061500 bnx2_disable_forced_2g5(struct bnx2 *bp)
15071501 {
1508
- u32 uninitialized_var(bmcr);
1502
+ u32 bmcr;
15091503 int err;
15101504
15111505 if (!(bp->phy_flags & BNX2_PHY_FLAG_2_5G_CAPABLE))
....@@ -2001,26 +1995,26 @@
20011995 switch (speed) {
20021996 case BNX2_LINK_STATUS_10HALF:
20031997 bp->duplex = DUPLEX_HALF;
2004
- /* fall through */
1998
+ fallthrough;
20051999 case BNX2_LINK_STATUS_10FULL:
20062000 bp->line_speed = SPEED_10;
20072001 break;
20082002 case BNX2_LINK_STATUS_100HALF:
20092003 bp->duplex = DUPLEX_HALF;
2010
- /* fall through */
2004
+ fallthrough;
20112005 case BNX2_LINK_STATUS_100BASE_T4:
20122006 case BNX2_LINK_STATUS_100FULL:
20132007 bp->line_speed = SPEED_100;
20142008 break;
20152009 case BNX2_LINK_STATUS_1000HALF:
20162010 bp->duplex = DUPLEX_HALF;
2017
- /* fall through */
2011
+ fallthrough;
20182012 case BNX2_LINK_STATUS_1000FULL:
20192013 bp->line_speed = SPEED_1000;
20202014 break;
20212015 case BNX2_LINK_STATUS_2500HALF:
20222016 bp->duplex = DUPLEX_HALF;
2023
- /* fall through */
2017
+ fallthrough;
20242018 case BNX2_LINK_STATUS_2500FULL:
20252019 bp->line_speed = SPEED_2500;
20262020 break;
....@@ -3304,8 +3298,6 @@
33043298 BNX2_WR16(bp, rxr->rx_bidx_addr, sw_prod);
33053299
33063300 BNX2_WR(bp, rxr->rx_bseq_addr, rxr->rx_prod_bseq);
3307
-
3308
- mmiowb();
33093301
33103302 return rx_pkt;
33113303
....@@ -6577,7 +6569,7 @@
65776569 }
65786570
65796571 static void
6580
-bnx2_tx_timeout(struct net_device *dev)
6572
+bnx2_tx_timeout(struct net_device *dev, unsigned int txqueue)
65816573 {
65826574 struct bnx2 *bp = netdev_priv(dev);
65836575
....@@ -6722,8 +6714,6 @@
67226714
67236715 BNX2_WR16(bp, txr->tx_bidx_addr, prod);
67246716 BNX2_WR(bp, txr->tx_bseq_addr, txr->tx_prod_bseq);
6725
-
6726
- mmiowb();
67276717
67286718 txr->tx_prod = prod;
67296719
....@@ -7052,7 +7042,6 @@
70527042 struct bnx2 *bp = netdev_priv(dev);
70537043
70547044 strlcpy(info->driver, DRV_MODULE_NAME, sizeof(info->driver));
7055
- strlcpy(info->version, DRV_MODULE_VERSION, sizeof(info->version));
70567045 strlcpy(info->bus_info, pci_name(bp->pdev), sizeof(info->bus_info));
70577046 strlcpy(info->fw_version, bp->fw_version, sizeof(info->fw_version));
70587047 }
....@@ -7823,6 +7812,11 @@
78237812 }
78247813
78257814 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,
78267820 .get_drvinfo = bnx2_get_drvinfo,
78277821 .get_regs_len = bnx2_get_regs_len,
78287822 .get_regs = bnx2_get_regs,
....@@ -7862,7 +7856,7 @@
78627856 case SIOCGMIIPHY:
78637857 data->phy_id = bp->phy_addr;
78647858
7865
- /* fallthru */
7859
+ fallthrough;
78667860 case SIOCGMIIREG: {
78677861 u32 mii_regval;
78687862
....@@ -8566,14 +8560,10 @@
85668560 static int
85678561 bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
85688562 {
8569
- static int version_printed = 0;
85708563 struct net_device *dev;
85718564 struct bnx2 *bp;
85728565 int rc;
85738566 char str[40];
8574
-
8575
- if (version_printed++ == 0)
8576
- pr_info("%s", version);
85778567
85788568 /* dev zeroed in init_etherdev */
85798569 dev = alloc_etherdev_mq(sizeof(*bp), TX_MAX_RINGS);
....@@ -8677,8 +8667,7 @@
86778667 static int
86788668 bnx2_suspend(struct device *device)
86798669 {
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);
86828671 struct bnx2 *bp = netdev_priv(dev);
86838672
86848673 if (netif_running(dev)) {
....@@ -8697,8 +8686,7 @@
86978686 static int
86988687 bnx2_resume(struct device *device)
86998688 {
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);
87028690 struct bnx2 *bp = netdev_priv(dev);
87038691
87048692 if (!netif_running(dev))
....@@ -8792,13 +8780,6 @@
87928780
87938781 if (!(bp->flags & BNX2_FLAG_AER_ENABLED))
87948782 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
- }
88028783
88038784 return result;
88048785 }