]> Pileus Git - ~andy/linux/blobdiff - drivers/net/e1000/e1000_ethtool.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw
[~andy/linux] / drivers / net / e1000 / e1000_ethtool.c
index 616b405a1cb14da20c5bb8001adf67e30d20f1dd..d5ff029aa7b226f6ab60c4d96e46c231f19b9c16 100644 (file)
@@ -346,7 +346,7 @@ static int e1000_set_tso(struct net_device *netdev, u32 data)
 
        netdev->features &= ~NETIF_F_TSO6;
 
-       DPRINTK(PROBE, INFO, "TSO is %s\n", data ? "Enabled" : "Disabled");
+       e_info("TSO is %s\n", data ? "Enabled" : "Disabled");
        adapter->tso_force = true;
        return 0;
 }
@@ -714,9 +714,9 @@ static bool reg_pattern_test(struct e1000_adapter *adapter, u64 *data, int reg,
                writel(write & test[i], address);
                read = readl(address);
                if (read != (write & test[i] & mask)) {
-                       DPRINTK(DRV, ERR, "pattern test reg %04X failed: "
-                               "got 0x%08X expected 0x%08X\n",
-                               reg, read, (write & test[i] & mask));
+                       e_info("pattern test reg %04X failed: "
+                              "got 0x%08X expected 0x%08X\n",
+                              reg, read, (write & test[i] & mask));
                        *data = reg;
                        return true;
                }
@@ -734,9 +734,9 @@ static bool reg_set_and_check(struct e1000_adapter *adapter, u64 *data, int reg,
        writel(write & mask, address);
        read = readl(address);
        if ((read & mask) != (write & mask)) {
-               DPRINTK(DRV, ERR, "set/check reg %04X test failed: "
-                       "got 0x%08X expected 0x%08X\n",
-                       reg, (read & mask), (write & mask));
+               e_err("set/check reg %04X test failed: "
+                     "got 0x%08X expected 0x%08X\n",
+                     reg, (read & mask), (write & mask));
                *data = reg;
                return true;
        }
@@ -779,8 +779,8 @@ static int e1000_reg_test(struct e1000_adapter *adapter, u64 *data)
        ew32(STATUS, toggle);
        after = er32(STATUS) & toggle;
        if (value != after) {
-               DPRINTK(DRV, ERR, "failed STATUS register test got: "
-                       "0x%08X expected: 0x%08X\n", after, value);
+               e_err("failed STATUS register test got: "
+                     "0x%08X expected: 0x%08X\n", after, value);
                *data = 1;
                return 1;
        }
@@ -894,8 +894,7 @@ static int e1000_intr_test(struct e1000_adapter *adapter, u64 *data)
                *data = 1;
                return -1;
        }
-       DPRINTK(HW, INFO, "testing %s interrupt\n",
-               (shared_int ? "shared" : "unshared"));
+       e_info("testing %s interrupt\n", (shared_int ? "shared" : "unshared"));
 
        /* Disable all the interrupts */
        ew32(IMC, 0xFFFFFFFF);
@@ -1016,8 +1015,6 @@ static void e1000_free_desc_rings(struct e1000_adapter *adapter)
        txdr->buffer_info = NULL;
        kfree(rxdr->buffer_info);
        rxdr->buffer_info = NULL;
-
-       return;
 }
 
 static int e1000_setup_desc_rings(struct e1000_adapter *adapter)
@@ -1564,7 +1561,7 @@ static void e1000_diag_test(struct net_device *netdev,
                u8 forced_speed_duplex = hw->forced_speed_duplex;
                u8 autoneg = hw->autoneg;
 
-               DPRINTK(HW, INFO, "offline testing starting\n");
+               e_info("offline testing starting\n");
 
                /* Link test performed before hardware reset so autoneg doesn't
                 * interfere with test result */
@@ -1604,7 +1601,7 @@ static void e1000_diag_test(struct net_device *netdev,
                if (if_running)
                        dev_open(netdev);
        } else {
-               DPRINTK(HW, INFO, "online testing starting\n");
+               e_info("online testing starting\n");
                /* Online tests */
                if (e1000_link_test(adapter, &data[4]))
                        eth_test->flags |= ETH_TEST_FL_FAILED;
@@ -1697,7 +1694,7 @@ static void e1000_get_wol(struct net_device *netdev,
                wol->supported &= ~WAKE_UCAST;
 
                if (adapter->wol & E1000_WUFC_EX)
-                       DPRINTK(DRV, ERR, "Interface does not support "
+                       e_err("Interface does not support "
                        "directed (unicast) frame wake-up packets\n");
                break;
        default:
@@ -1712,8 +1709,6 @@ static void e1000_get_wol(struct net_device *netdev,
                wol->wolopts |= WAKE_BCAST;
        if (adapter->wol & E1000_WUFC_MAG)
                wol->wolopts |= WAKE_MAGIC;
-
-       return;
 }
 
 static int e1000_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol)
@@ -1731,8 +1726,8 @@ static int e1000_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol)
        switch (hw->device_id) {
        case E1000_DEV_ID_82546GB_QUAD_COPPER_KSP3:
                if (wol->wolopts & WAKE_UCAST) {
-                       DPRINTK(DRV, ERR, "Interface does not support "
-                       "directed (unicast) frame wake-up packets\n");
+                       e_err("Interface does not support "
+                             "directed (unicast) frame wake-up packets\n");
                        return -EOPNOTSUPP;
                }
                break;
@@ -1809,7 +1804,7 @@ static int e1000_get_coalesce(struct net_device *netdev,
        if (adapter->hw.mac_type < e1000_82545)
                return -EOPNOTSUPP;
 
-       if (adapter->itr_setting <= 3)
+       if (adapter->itr_setting <= 4)
                ec->rx_coalesce_usecs = adapter->itr_setting;
        else
                ec->rx_coalesce_usecs = 1000000 / adapter->itr_setting;
@@ -1827,12 +1822,14 @@ static int e1000_set_coalesce(struct net_device *netdev,
                return -EOPNOTSUPP;
 
        if ((ec->rx_coalesce_usecs > E1000_MAX_ITR_USECS) ||
-           ((ec->rx_coalesce_usecs > 3) &&
+           ((ec->rx_coalesce_usecs > 4) &&
             (ec->rx_coalesce_usecs < E1000_MIN_ITR_USECS)) ||
            (ec->rx_coalesce_usecs == 2))
                return -EINVAL;
 
-       if (ec->rx_coalesce_usecs <= 3) {
+       if (ec->rx_coalesce_usecs == 4) {
+               adapter->itr = adapter->itr_setting = 4;
+       } else if (ec->rx_coalesce_usecs <= 3) {
                adapter->itr = 20000;
                adapter->itr_setting = ec->rx_coalesce_usecs;
        } else {