• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/net/

Lines Matching refs:ecmd

642 static int netdev_get_ecmd(struct net_device *dev, struct ethtool_cmd *ecmd);
643 static int netdev_set_ecmd(struct net_device *dev, struct ethtool_cmd *ecmd);
2569 static int get_settings(struct net_device *dev, struct ethtool_cmd *ecmd)
2573 netdev_get_ecmd(dev, ecmd);
2578 static int set_settings(struct net_device *dev, struct ethtool_cmd *ecmd)
2583 res = netdev_set_ecmd(dev, ecmd);
2813 static int netdev_get_ecmd(struct net_device *dev, struct ethtool_cmd *ecmd)
2818 ecmd->port = dev->if_port;
2819 ecmd->speed = np->speed;
2820 ecmd->duplex = np->duplex;
2821 ecmd->autoneg = np->autoneg;
2822 ecmd->advertising = 0;
2824 ecmd->advertising |= ADVERTISED_10baseT_Half;
2826 ecmd->advertising |= ADVERTISED_10baseT_Full;
2828 ecmd->advertising |= ADVERTISED_100baseT_Half;
2830 ecmd->advertising |= ADVERTISED_100baseT_Full;
2831 ecmd->supported = (SUPPORTED_Autoneg |
2835 ecmd->phy_address = np->phy_addr_external;
2838 switch (ecmd->port) {
2841 ecmd->advertising |= ADVERTISED_TP;
2842 ecmd->transceiver = XCVR_INTERNAL;
2845 ecmd->advertising |= ADVERTISED_MII;
2846 ecmd->transceiver = XCVR_EXTERNAL;
2849 ecmd->advertising |= ADVERTISED_FIBRE;
2850 ecmd->transceiver = XCVR_EXTERNAL;
2855 if (ecmd->autoneg == AUTONEG_ENABLE) {
2856 ecmd->advertising |= ADVERTISED_Autoneg;
2860 ecmd->speed = SPEED_100;
2862 ecmd->speed = SPEED_10;
2864 ecmd->duplex = DUPLEX_FULL;
2866 ecmd->duplex = DUPLEX_HALF;
2874 static int netdev_set_ecmd(struct net_device *dev, struct ethtool_cmd *ecmd)
2878 if (ecmd->port != PORT_TP && ecmd->port != PORT_MII && ecmd->port != PORT_FIBRE)
2880 if (ecmd->transceiver != XCVR_INTERNAL && ecmd->transceiver != XCVR_EXTERNAL)
2882 if (ecmd->autoneg == AUTONEG_ENABLE) {
2883 if ((ecmd->advertising & (ADVERTISED_10baseT_Half |
2889 } else if (ecmd->autoneg == AUTONEG_DISABLE) {
2890 if (ecmd->speed != SPEED_10 && ecmd->speed != SPEED_100)
2892 if (ecmd->duplex != DUPLEX_HALF && ecmd->duplex != DUPLEX_FULL)
2903 if (np->ignore_phy && (ecmd->autoneg == AUTONEG_ENABLE ||
2904 ecmd->port == PORT_TP))
2912 * XCVR_EXTERNAL. The implementation thus ignores ecmd->transceiver and
2913 * selects based on ecmd->port.
2923 dev->if_port = ecmd->port;
2924 np->autoneg = ecmd->autoneg;
2925 np->phy_addr_external = ecmd->phy_address & PhyAddrMask;
2929 if (ecmd->advertising & ADVERTISED_10baseT_Half)
2931 if (ecmd->advertising & ADVERTISED_10baseT_Full)
2933 if (ecmd->advertising & ADVERTISED_100baseT_Half)
2935 if (ecmd->advertising & ADVERTISED_100baseT_Full)
2938 np->speed = ecmd->speed;
2939 np->duplex = ecmd->duplex;
2946 if (ecmd->port == PORT_TP)