Lines Matching refs:ecmd
304 struct ethtool_cmd *ecmd) in skge_get_settings() argument
309 ecmd->transceiver = XCVR_INTERNAL; in skge_get_settings()
310 ecmd->supported = skge_supported_modes(hw); in skge_get_settings()
313 ecmd->port = PORT_TP; in skge_get_settings()
314 ecmd->phy_address = hw->phy_addr; in skge_get_settings()
316 ecmd->port = PORT_FIBRE; in skge_get_settings()
318 ecmd->advertising = skge->advertising; in skge_get_settings()
319 ecmd->autoneg = skge->autoneg; in skge_get_settings()
320 ethtool_cmd_speed_set(ecmd, skge->speed); in skge_get_settings()
321 ecmd->duplex = skge->duplex; in skge_get_settings()
325 static int skge_set_settings(struct net_device *dev, struct ethtool_cmd *ecmd) in skge_set_settings() argument
332 if (ecmd->autoneg == AUTONEG_ENABLE) { in skge_set_settings()
333 ecmd->advertising = supported; in skge_set_settings()
338 u32 speed = ethtool_cmd_speed(ecmd); in skge_set_settings()
342 if (ecmd->duplex == DUPLEX_FULL) in skge_set_settings()
344 else if (ecmd->duplex == DUPLEX_HALF) in skge_set_settings()
350 if (ecmd->duplex == DUPLEX_FULL) in skge_set_settings()
352 else if (ecmd->duplex == DUPLEX_HALF) in skge_set_settings()
359 if (ecmd->duplex == DUPLEX_FULL) in skge_set_settings()
361 else if (ecmd->duplex == DUPLEX_HALF) in skge_set_settings()
374 skge->duplex = ecmd->duplex; in skge_set_settings()
377 skge->autoneg = ecmd->autoneg; in skge_set_settings()
378 skge->advertising = ecmd->advertising; in skge_set_settings()
552 struct ethtool_pauseparam *ecmd) in skge_get_pauseparam() argument
556 ecmd->rx_pause = ((skge->flow_control == FLOW_MODE_SYMMETRIC) || in skge_get_pauseparam()
558 ecmd->tx_pause = (ecmd->rx_pause || in skge_get_pauseparam()
561 ecmd->autoneg = ecmd->rx_pause || ecmd->tx_pause; in skge_get_pauseparam()
565 struct ethtool_pauseparam *ecmd) in skge_set_pauseparam() argument
573 if (ecmd->autoneg != old.autoneg) in skge_set_pauseparam()
574 skge->flow_control = ecmd->autoneg ? FLOW_MODE_NONE : FLOW_MODE_SYMMETRIC; in skge_set_pauseparam()
576 if (ecmd->rx_pause && ecmd->tx_pause) in skge_set_pauseparam()
578 else if (ecmd->rx_pause && !ecmd->tx_pause) in skge_set_pauseparam()
580 else if (!ecmd->rx_pause && ecmd->tx_pause) in skge_set_pauseparam()
617 struct ethtool_coalesce *ecmd) in skge_get_coalesce() argument
623 ecmd->rx_coalesce_usecs = 0; in skge_get_coalesce()
624 ecmd->tx_coalesce_usecs = 0; in skge_get_coalesce()
631 ecmd->rx_coalesce_usecs = delay; in skge_get_coalesce()
633 ecmd->tx_coalesce_usecs = delay; in skge_get_coalesce()
641 struct ethtool_coalesce *ecmd) in skge_set_coalesce() argument
649 if (ecmd->rx_coalesce_usecs == 0) in skge_set_coalesce()
651 else if (ecmd->rx_coalesce_usecs < 25 || in skge_set_coalesce()
652 ecmd->rx_coalesce_usecs > 33333) in skge_set_coalesce()
656 delay = ecmd->rx_coalesce_usecs; in skge_set_coalesce()
659 if (ecmd->tx_coalesce_usecs == 0) in skge_set_coalesce()
661 else if (ecmd->tx_coalesce_usecs < 25 || in skge_set_coalesce()
662 ecmd->tx_coalesce_usecs > 33333) in skge_set_coalesce()
666 delay = min(delay, ecmd->rx_coalesce_usecs); in skge_set_coalesce()