nixge.c (c95baf12f5077419db01313ab61c2aac007d40cd) nixge.c (8078f028def19a2a85b29f1693e4c9508c96756c)
1// SPDX-License-Identifier: GPL-2.0
2/* Copyright (c) 2016-2017, National Instruments Corp.
3 *
4 * Author: Moritz Fischer <mdf@kernel.org>
5 */
6
7#include <linux/etherdevice.h>
8#include <linux/module.h>

--- 1005 unchanged lines hidden (view full) ---

1014 struct nixge_priv *priv = netdev_priv(ndev);
1015
1016 if (netif_running(ndev)) {
1017 netdev_err(ndev,
1018 "Please stop netif before applying configuration\n");
1019 return -EBUSY;
1020 }
1021
1// SPDX-License-Identifier: GPL-2.0
2/* Copyright (c) 2016-2017, National Instruments Corp.
3 *
4 * Author: Moritz Fischer <mdf@kernel.org>
5 */
6
7#include <linux/etherdevice.h>
8#include <linux/module.h>

--- 1005 unchanged lines hidden (view full) ---

1014 struct nixge_priv *priv = netdev_priv(ndev);
1015
1016 if (netif_running(ndev)) {
1017 netdev_err(ndev,
1018 "Please stop netif before applying configuration\n");
1019 return -EBUSY;
1020 }
1021
1022 if (ecoalesce->rx_coalesce_usecs ||
1023 ecoalesce->rx_coalesce_usecs_irq ||
1024 ecoalesce->rx_max_coalesced_frames_irq ||
1025 ecoalesce->tx_coalesce_usecs ||
1026 ecoalesce->tx_coalesce_usecs_irq ||
1027 ecoalesce->tx_max_coalesced_frames_irq ||
1028 ecoalesce->stats_block_coalesce_usecs ||
1029 ecoalesce->use_adaptive_rx_coalesce ||
1030 ecoalesce->use_adaptive_tx_coalesce ||
1031 ecoalesce->pkt_rate_low ||
1032 ecoalesce->rx_coalesce_usecs_low ||
1033 ecoalesce->rx_max_coalesced_frames_low ||
1034 ecoalesce->tx_coalesce_usecs_low ||
1035 ecoalesce->tx_max_coalesced_frames_low ||
1036 ecoalesce->pkt_rate_high ||
1037 ecoalesce->rx_coalesce_usecs_high ||
1038 ecoalesce->rx_max_coalesced_frames_high ||
1039 ecoalesce->tx_coalesce_usecs_high ||
1040 ecoalesce->tx_max_coalesced_frames_high ||
1041 ecoalesce->rate_sample_interval)
1042 return -EOPNOTSUPP;
1043 if (ecoalesce->rx_max_coalesced_frames)
1044 priv->coalesce_count_rx = ecoalesce->rx_max_coalesced_frames;
1045 if (ecoalesce->tx_max_coalesced_frames)
1046 priv->coalesce_count_tx = ecoalesce->tx_max_coalesced_frames;
1047
1048 return 0;
1049}
1050

--- 27 unchanged lines hidden (view full) ---

1078 nixge_ctrl_write_reg(priv, NIXGE_REG_LED_CTL, ctrl);
1079 break;
1080 }
1081
1082 return 0;
1083}
1084
1085static const struct ethtool_ops nixge_ethtool_ops = {
1022 if (ecoalesce->rx_max_coalesced_frames)
1023 priv->coalesce_count_rx = ecoalesce->rx_max_coalesced_frames;
1024 if (ecoalesce->tx_max_coalesced_frames)
1025 priv->coalesce_count_tx = ecoalesce->tx_max_coalesced_frames;
1026
1027 return 0;
1028}
1029

--- 27 unchanged lines hidden (view full) ---

1057 nixge_ctrl_write_reg(priv, NIXGE_REG_LED_CTL, ctrl);
1058 break;
1059 }
1060
1061 return 0;
1062}
1063
1064static const struct ethtool_ops nixge_ethtool_ops = {
1065 .supported_coalesce_params = ETHTOOL_COALESCE_MAX_FRAMES,
1086 .get_drvinfo = nixge_ethtools_get_drvinfo,
1087 .get_coalesce = nixge_ethtools_get_coalesce,
1088 .set_coalesce = nixge_ethtools_set_coalesce,
1089 .set_phys_id = nixge_ethtools_set_phys_id,
1090 .get_link_ksettings = phy_ethtool_get_link_ksettings,
1091 .set_link_ksettings = phy_ethtool_set_link_ksettings,
1092 .get_link = ethtool_op_get_link,
1093};

--- 327 unchanged lines hidden ---
1066 .get_drvinfo = nixge_ethtools_get_drvinfo,
1067 .get_coalesce = nixge_ethtools_get_coalesce,
1068 .set_coalesce = nixge_ethtools_set_coalesce,
1069 .set_phys_id = nixge_ethtools_set_phys_id,
1070 .get_link_ksettings = phy_ethtool_get_link_ksettings,
1071 .set_link_ksettings = phy_ethtool_set_link_ksettings,
1072 .get_link = ethtool_op_get_link,
1073};

--- 327 unchanged lines hidden ---