ethtool: cosmetic: Use ethtool ethtool_cmd_speed API
[deliverable/linux.git] / drivers / net / cxgb4vf / cxgb4vf_main.c
index 6aad64df4dcb84c01e9f777dfceee8fb58f2eab6..e71c08e547e4aa789eced9428244ad68c01b5fa4 100644 (file)
@@ -1167,7 +1167,8 @@ static int cxgb4vf_get_settings(struct net_device *dev,
 
        cmd->supported = pi->link_cfg.supported;
        cmd->advertising = pi->link_cfg.advertising;
-       cmd->speed = netif_carrier_ok(dev) ? pi->link_cfg.speed : -1;
+       ethtool_cmd_speed_set(cmd,
+                             netif_carrier_ok(dev) ? pi->link_cfg.speed : -1);
        cmd->duplex = DUPLEX_FULL;
 
        cmd->port = (cmd->supported & SUPPORTED_TP) ? PORT_TP : PORT_FIBRE;
@@ -1326,37 +1327,22 @@ static void cxgb4vf_get_pauseparam(struct net_device *dev,
 }
 
 /*
- * Return whether RX Checksum Offloading is currently enabled for the device.
- */
-static u32 cxgb4vf_get_rx_csum(struct net_device *dev)
-{
-       struct port_info *pi = netdev_priv(dev);
-
-       return (pi->rx_offload & RX_CSO) != 0;
-}
-
-/*
- * Turn RX Checksum Offloading on or off for the device.
+ * Identify the port by blinking the port's LED.
  */
-static int cxgb4vf_set_rx_csum(struct net_device *dev, u32 csum)
+static int cxgb4vf_phys_id(struct net_device *dev,
+                          enum ethtool_phys_id_state state)
 {
+       unsigned int val;
        struct port_info *pi = netdev_priv(dev);
 
-       if (csum)
-               pi->rx_offload |= RX_CSO;
+       if (state == ETHTOOL_ID_ACTIVE)
+               val = 0xffff;
+       else if (state == ETHTOOL_ID_INACTIVE)
+               val = 0;
        else
-               pi->rx_offload &= ~RX_CSO;
-       return 0;
-}
-
-/*
- * Identify the port by blinking the port's LED.
- */
-static int cxgb4vf_phys_id(struct net_device *dev, u32 id)
-{
-       struct port_info *pi = netdev_priv(dev);
+               return -EINVAL;
 
-       return t4vf_identify_port(pi->adapter, pi->viid, 5);
+       return t4vf_identify_port(pi->adapter, pi->viid, val);
 }
 
 /*
@@ -1560,18 +1546,6 @@ static void cxgb4vf_get_wol(struct net_device *dev,
  */
 #define TSO_FLAGS (NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_TSO_ECN)
 
-/*
- * Set TCP Segmentation Offloading feature capabilities.
- */
-static int cxgb4vf_set_tso(struct net_device *dev, u32 tso)
-{
-       if (tso)
-               dev->features |= TSO_FLAGS;
-       else
-               dev->features &= ~TSO_FLAGS;
-       return 0;
-}
-
 static struct ethtool_ops cxgb4vf_ethtool_ops = {
        .get_settings           = cxgb4vf_get_settings,
        .get_drvinfo            = cxgb4vf_get_drvinfo,
@@ -1582,19 +1556,14 @@ static struct ethtool_ops cxgb4vf_ethtool_ops = {
        .get_coalesce           = cxgb4vf_get_coalesce,
        .set_coalesce           = cxgb4vf_set_coalesce,
        .get_pauseparam         = cxgb4vf_get_pauseparam,
-       .get_rx_csum            = cxgb4vf_get_rx_csum,
-       .set_rx_csum            = cxgb4vf_set_rx_csum,
-       .set_tx_csum            = ethtool_op_set_tx_ipv6_csum,
-       .set_sg                 = ethtool_op_set_sg,
        .get_link               = ethtool_op_get_link,
        .get_strings            = cxgb4vf_get_strings,
-       .phys_id                = cxgb4vf_phys_id,
+       .set_phys_id            = cxgb4vf_phys_id,
        .get_sset_count         = cxgb4vf_get_sset_count,
        .get_ethtool_stats      = cxgb4vf_get_ethtool_stats,
        .get_regs_len           = cxgb4vf_get_regs_len,
        .get_regs               = cxgb4vf_get_regs,
        .get_wol                = cxgb4vf_get_wol,
-       .set_tso                = cxgb4vf_set_tso,
 };
 
 /*
@@ -2629,19 +2598,19 @@ static int __devinit cxgb4vf_pci_probe(struct pci_dev *pdev,
                 * it.
                 */
                pi->xact_addr_filt = -1;
-               pi->rx_offload = RX_CSO;
                netif_carrier_off(netdev);
                netdev->irq = pdev->irq;
 
-               netdev->features = (NETIF_F_SG | TSO_FLAGS |
-                                   NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
-                                   NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX |
-                                   NETIF_F_GRO);
+               netdev->hw_features = NETIF_F_SG | TSO_FLAGS |
+                       NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
+                       NETIF_F_HW_VLAN_TX | NETIF_F_RXCSUM;
+               netdev->vlan_features = NETIF_F_SG | TSO_FLAGS |
+                       NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
+                       NETIF_F_HIGHDMA;
+               netdev->features = netdev->hw_features |
+                       NETIF_F_HW_VLAN_RX;
                if (pci_using_dac)
                        netdev->features |= NETIF_F_HIGHDMA;
-               netdev->vlan_features =
-                       (netdev->features &
-                        ~(NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX));
 
 #ifdef HAVE_NET_DEVICE_OPS
                netdev->netdev_ops = &cxgb4vf_netdev_ops;
@@ -2738,7 +2707,7 @@ static int __devinit cxgb4vf_pci_probe(struct pci_dev *pdev,
        cfg_queues(adapter);
 
        /*
-        * Print a short notice on the existance and configuration of the new
+        * Print a short notice on the existence and configuration of the new
         * VF network device ...
         */
        for_each_port(adapter, pidx) {
This page took 0.026675 seconds and 5 git commands to generate.