| /net/ethtool/ |
| A D | netlink.c | 471 netdev_put(req_info->dev, &req_info->dev_tracker); in ethnl_default_parse() 513 if (!req_info) in ethnl_default_doit() 556 netdev_put(req_info->dev, &req_info->dev_tracker); in ethnl_default_doit() 568 netdev_put(req_info->dev, &req_info->dev_tracker); in ethnl_default_doit() 663 if (!req_info) in ethnl_default_start() 679 netdev_put(req_info->dev, &req_info->dev_tracker); in ethnl_default_start() 684 ctx->req_info = req_info; in ethnl_default_start() 717 if (!req_info) in ethnl_perphy_start() 734 netdev_put(req_info->dev, &req_info->dev_tracker); in ethnl_perphy_start() 739 ctx->req_info = req_info; in ethnl_perphy_start() [all …]
|
| A D | tunnels.c | 167 struct ethnl_req_info req_info = {}; in ethnl_tunnel_info_doit() local 174 ret = ethnl_parse_header_dev_get(&req_info, in ethnl_tunnel_info_doit() 187 rskb = ethnl_reply_init(reply_len, req_info.dev, in ethnl_tunnel_info_doit() 200 ethnl_parse_header_dev_put(&req_info); in ethnl_tunnel_info_doit() 209 ethnl_parse_header_dev_put(&req_info); in ethnl_tunnel_info_doit() 214 struct ethnl_req_info req_info; member 233 if (ctx->req_info.dev) { in ethnl_tunnel_info_start() 234 ethnl_parse_header_dev_put(&ctx->req_info); in ethnl_tunnel_info_start() 235 ctx->req_info.dev = NULL; in ethnl_tunnel_info_start() 265 ctx->req_info.dev = dev; in ethnl_tunnel_info_dumpit() [all …]
|
| A D | tsinfo.c | 348 struct tsinfo_req_info *req_info; in ethnl_tsinfo_dump_one_phydev() local 356 req_info = ctx->req_info; in ethnl_tsinfo_dump_one_phydev() 395 req_info = ctx->req_info; in ethnl_tsinfo_dump_one_netdev() 475 if (ctx->req_info->base.dev) { in ethnl_tsinfo_dumpit() 476 dev = ctx->req_info->base.dev; in ethnl_tsinfo_dumpit() 508 req_info = kzalloc(sizeof(*req_info), GFP_KERNEL); in ethnl_tsinfo_start() 509 if (!req_info) in ethnl_tsinfo_start() 524 ctx->req_info = req_info; in ethnl_tsinfo_start() 536 kfree(req_info); in ethnl_tsinfo_start() 544 struct tsinfo_req_info *req_info = ctx->req_info; in ethnl_tsinfo_done() local [all …]
|
| A D | stats.c | 106 struct stats_req_info *req_info = STATS_REQINFO(req_base); in stats_parse_request() local 124 req_info->src = src; in stats_parse_request() 135 enum ethtool_mac_stats_src src = req_info->src; in stats_prepare_data() 169 if ((test_bit(ETHTOOL_STATS_PHY, req_info->stat_mask) || in stats_prepare_data() 177 if (test_bit(ETHTOOL_STATS_ETH_PHY, req_info->stat_mask) && in stats_prepare_data() 180 if (test_bit(ETHTOOL_STATS_ETH_MAC, req_info->stat_mask) && in stats_prepare_data() 186 if (test_bit(ETHTOOL_STATS_RMON, req_info->stat_mask) && in stats_prepare_data() 204 if (test_bit(ETHTOOL_STATS_ETH_PHY, req_info->stat_mask)) { in stats_reply_size() 216 if (test_bit(ETHTOOL_STATS_RMON, req_info->stat_mask)) { in stats_reply_size() 226 if (test_bit(ETHTOOL_STATS_PHY, req_info->stat_mask)) { in stats_reply_size() [all …]
|
| A D | netlink.h | 14 int ethnl_parse_header_dev_get(struct ethnl_req_info *req_info, 28 const struct ethnl_req_info *req_info); 272 static inline void ethnl_parse_header_dev_put(struct ethnl_req_info *req_info) in ethnl_parse_header_dev_put() argument 274 netdev_put(req_info->dev, &req_info->dev_tracker); in ethnl_parse_header_dev_put() 295 struct phy_device *ethnl_req_get_phydev(const struct ethnl_req_info *req_info, 398 int (*parse_request)(struct ethnl_req_info *req_info, 401 int (*prepare_data)(const struct ethnl_req_info *req_info, 404 int (*reply_size)(const struct ethnl_req_info *req_info, 407 const struct ethnl_req_info *req_info, 411 int (*set_validate)(struct ethnl_req_info *req_info, [all …]
|
| A D | strset.c | 195 struct strset_req_info *req_info = STRSET_REQINFO(req_base); in strset_parse_request() local 208 req_info->counts_only = tb[ETHTOOL_A_STRSET_COUNTS_ONLY]; in strset_parse_request() 226 req_info->req_ids |= (1U << id); in strset_parse_request() 290 const struct strset_req_info *req_info = STRSET_REQINFO(req_base); in strset_prepare_data() local 303 if ((req_info->req_ids & (1U << i)) && in strset_prepare_data() 323 if (!strset_include(req_info, data, i) || in strset_prepare_data() 328 req_info->counts_only); in strset_prepare_data() 380 if (!strset_include(req_info, data, i)) in strset_reply_size() 383 ret = strset_set_size(set_info, req_info->counts_only); in strset_reply_size() 470 if (strset_include(req_info, data, i)) { in strset_fill_reply() [all …]
|
| A D | pause.c | 35 struct pause_req_info *req_info = PAUSE_REQINFO(req_base); in pause_parse_request() local 47 req_info->src = src; in pause_parse_request() 56 const struct pause_req_info *req_info = PAUSE_REQINFO(req_base); in pause_prepare_data() local 58 enum ethtool_mac_stats_src src = req_info->src; in pause_prepare_data() 175 ethnl_set_pause_validate(struct ethnl_req_info *req_info, in ethnl_set_pause_validate() argument 178 const struct ethtool_ops *ops = req_info->dev->ethtool_ops; in ethnl_set_pause_validate() 184 ethnl_set_pause(struct ethnl_req_info *req_info, struct genl_info *info) in ethnl_set_pause() argument 186 struct net_device *dev = req_info->dev; in ethnl_set_pause()
|
| A D | cabletest.c | 59 struct ethnl_req_info req_info = {}; in ethnl_act_cable_test() local 66 ret = ethnl_parse_header_dev_get(&req_info, in ethnl_act_cable_test() 73 dev = req_info.dev; in ethnl_act_cable_test() 77 phydev = ethnl_req_get_phydev(&req_info, tb, in ethnl_act_cable_test() 105 ethnl_parse_header_dev_put(&req_info); in ethnl_act_cable_test() 322 struct ethnl_req_info req_info = {}; in ethnl_act_cable_test_tdr() local 330 ret = ethnl_parse_header_dev_get(&req_info, in ethnl_act_cable_test_tdr() 337 dev = req_info.dev; in ethnl_act_cable_test_tdr() 346 phydev = ethnl_req_get_phydev(&req_info, tb, in ethnl_act_cable_test_tdr() 376 ethnl_parse_header_dev_put(&req_info); in ethnl_act_cable_test_tdr()
|
| A D | tsconfig.c | 199 struct tsconfig_req_info *req_info; in tsconfig_send_reply() local 205 req_info = kzalloc(sizeof(*req_info), GFP_KERNEL); in tsconfig_send_reply() 206 if (!req_info) in tsconfig_send_reply() 210 kfree(req_info); in tsconfig_send_reply() 216 ret = tsconfig_prepare_data(&req_info->base, &reply_data->base, info); in tsconfig_send_reply() 220 ret = tsconfig_reply_size(&req_info->base, &reply_data->base); in tsconfig_send_reply() 230 ret = tsconfig_fill_reply(rskb, &req_info->base, &reply_data->base); in tsconfig_send_reply() 239 kfree(req_info); in tsconfig_send_reply()
|
| A D | module.c | 114 ethnl_set_module_validate(struct ethnl_req_info *req_info, in ethnl_set_module_validate() argument 117 const struct ethtool_ops *ops = req_info->dev->ethtool_ops; in ethnl_set_module_validate() 123 if (req_info->dev->ethtool->module_fw_flash_in_progress) { in ethnl_set_module_validate() 140 ethnl_set_module(struct ethnl_req_info *req_info, struct genl_info *info) in ethnl_set_module() argument 145 struct net_device *dev = req_info->dev; in ethnl_set_module() 409 struct ethnl_req_info req_info = {}; in ethnl_act_module_fw_flash() local 414 ret = ethnl_parse_header_dev_get(&req_info, in ethnl_act_module_fw_flash() 420 dev = req_info.dev; in ethnl_act_module_fw_flash() 439 ethnl_parse_header_dev_put(&req_info); in ethnl_act_module_fw_flash()
|
| A D | debug.c | 75 ethnl_set_debug_validate(struct ethnl_req_info *req_info, in ethnl_set_debug_validate() argument 78 const struct ethtool_ops *ops = req_info->dev->ethtool_ops; in ethnl_set_debug_validate() 84 ethnl_set_debug(struct ethnl_req_info *req_info, struct genl_info *info) in ethnl_set_debug() argument 86 struct net_device *dev = req_info->dev; in ethnl_set_debug()
|
| A D | linkinfo.c | 87 ethnl_set_linkinfo_validate(struct ethnl_req_info *req_info, in ethnl_set_linkinfo_validate() argument 90 const struct ethtool_ops *ops = req_info->dev->ethtool_ops; in ethnl_set_linkinfo_validate() 98 ethnl_set_linkinfo(struct ethnl_req_info *req_info, struct genl_info *info) in ethnl_set_linkinfo() argument 102 struct net_device *dev = req_info->dev; in ethnl_set_linkinfo()
|
| A D | features.c | 222 struct ethnl_req_info req_info = {}; in ethnl_set_features() local 230 ret = ethnl_parse_header_dev_get(&req_info, in ethnl_set_features() 236 dev = req_info.dev; in ethnl_set_features() 269 if (!(req_info.flags & ETHTOOL_FLAG_OMIT_REPLY)) { in ethnl_set_features() 270 bool compact = req_info.flags & ETHTOOL_FLAG_COMPACT_BITSETS; in ethnl_set_features() 295 ethnl_parse_header_dev_put(&req_info); in ethnl_set_features()
|
| A D | rss.c | 72 struct rss_req_info *request = RSS_REQINFO(req_info); in rss_parse_request() 369 struct ethnl_req_info req_info = {}; in ethnl_rss_dump_start() local 383 ret = ethnl_parse_header_dev_get(&req_info, in ethnl_rss_dump_start() 387 if (req_info.dev) { in ethnl_rss_dump_start() 388 ctx->match_ifindex = req_info.dev->ifindex; in ethnl_rss_dump_start() 390 ethnl_parse_header_dev_put(&req_info); in ethnl_rss_dump_start() 391 req_info.dev = NULL; in ethnl_rss_dump_start() 524 struct rss_req_info req_info = { in ethtool_rss_notify() local 531 ethnl_notify(dev, type, &req_info.base); in ethtool_rss_notify() 585 struct rss_req_info *request = RSS_REQINFO(req_info); in ethnl_rss_set_validate() [all …]
|
| A D | phy.c | 36 static int phy_reply_size(const struct ethnl_req_info *req_info, in phy_reply_size() argument 70 static int phy_prepare_data(const struct ethnl_req_info *req_info, in phy_prepare_data() argument 81 phydev = ethnl_req_get_phydev(req_info, tb, ETHTOOL_A_PHY_HEADER, in phy_prepare_data() 112 const struct ethnl_req_info *req_info, in phy_fill_reply() argument
|
| A D | wol.c | 97 ethnl_set_wol_validate(struct ethnl_req_info *req_info, struct genl_info *info) in ethnl_set_wol_validate() argument 99 const struct ethtool_ops *ops = req_info->dev->ethtool_ops; in ethnl_set_wol_validate() 105 ethnl_set_wol(struct ethnl_req_info *req_info, struct genl_info *info) in ethnl_set_wol() argument 108 struct net_device *dev = req_info->dev; in ethnl_set_wol()
|
| A D | eee.c | 120 ethnl_set_eee_validate(struct ethnl_req_info *req_info, struct genl_info *info) in ethnl_set_eee_validate() argument 122 const struct ethtool_ops *ops = req_info->dev->ethtool_ops; in ethnl_set_eee_validate() 128 ethnl_set_eee(struct ethnl_req_info *req_info, struct genl_info *info) in ethnl_set_eee() argument 130 struct net_device *dev = req_info->dev; in ethnl_set_eee()
|
| A D | privflags.c | 130 ethnl_set_privflags_validate(struct ethnl_req_info *req_info, in ethnl_set_privflags_validate() argument 133 const struct ethtool_ops *ops = req_info->dev->ethtool_ops; in ethnl_set_privflags_validate() 145 ethnl_set_privflags(struct ethnl_req_info *req_info, struct genl_info *info) in ethnl_set_privflags() argument 148 struct net_device *dev = req_info->dev; in ethnl_set_privflags()
|
| A D | channels.c | 101 ethnl_set_channels_validate(struct ethnl_req_info *req_info, in ethnl_set_channels_validate() argument 104 const struct ethtool_ops *ops = req_info->dev->ethtool_ops; in ethnl_set_channels_validate() 110 ethnl_set_channels(struct ethnl_req_info *req_info, struct genl_info *info) in ethnl_set_channels() argument 114 struct net_device *dev = req_info->dev; in ethnl_set_channels()
|
| A D | coalesce.c | 348 ethnl_set_coalesce_validate(struct ethnl_req_info *req_info, in ethnl_set_coalesce_validate() argument 351 const struct ethtool_ops *ops = req_info->dev->ethtool_ops; in ethnl_set_coalesce_validate() 352 struct dim_irq_moder *irq_moder = req_info->dev->irq_moder; in ethnl_set_coalesce_validate() 511 __ethnl_set_coalesce(struct ethnl_req_info *req_info, struct genl_info *info, in __ethnl_set_coalesce() argument 515 struct net_device *dev = req_info->dev; in __ethnl_set_coalesce() 610 ethnl_set_coalesce(struct ethnl_req_info *req_info, struct genl_info *info) in ethnl_set_coalesce() argument 622 err = __ethnl_set_coalesce(req_info, info, &dual_change); in ethnl_set_coalesce() 628 err = __ethnl_set_coalesce(req_info, info, &dual_change); in ethnl_set_coalesce()
|
| A D | fec.c | 229 ethnl_set_fec_validate(struct ethnl_req_info *req_info, struct genl_info *info) in ethnl_set_fec_validate() argument 231 const struct ethtool_ops *ops = req_info->dev->ethtool_ops; in ethnl_set_fec_validate() 237 ethnl_set_fec(struct ethnl_req_info *req_info, struct genl_info *info) in ethnl_set_fec() argument 240 struct net_device *dev = req_info->dev; in ethnl_set_fec()
|
| A D | linkmodes.c | 303 ethnl_set_linkmodes_validate(struct ethnl_req_info *req_info, in ethnl_set_linkmodes_validate() argument 306 const struct ethtool_ops *ops = req_info->dev->ethtool_ops; in ethnl_set_linkmodes_validate() 319 ethnl_set_linkmodes(struct ethnl_req_info *req_info, struct genl_info *info) in ethnl_set_linkmodes() argument 322 struct net_device *dev = req_info->dev; in ethnl_set_linkmodes()
|
| A D | rings.c | 150 ethnl_set_rings_validate(struct ethnl_req_info *req_info, in ethnl_set_rings_validate() argument 153 const struct ethtool_ops *ops = req_info->dev->ethtool_ops; in ethnl_set_rings_validate() 216 ethnl_set_rings(struct ethnl_req_info *req_info, struct genl_info *info) in ethnl_set_rings() argument 219 struct net_device *dev = req_info->dev; in ethnl_set_rings()
|
| A D | mm.c | 177 ethnl_set_mm_validate(struct ethnl_req_info *req_info, struct genl_info *info) in ethnl_set_mm_validate() argument 179 const struct ethtool_ops *ops = req_info->dev->ethtool_ops; in ethnl_set_mm_validate() 184 static int ethnl_set_mm(struct ethnl_req_info *req_info, struct genl_info *info) in ethnl_set_mm() argument 187 struct net_device *dev = req_info->dev; in ethnl_set_mm()
|
| A D | eeprom.c | 152 static int eeprom_parse_request(struct ethnl_req_info *req_info, struct nlattr **tb, in eeprom_parse_request() argument 155 struct eeprom_req_info *request = MODULE_EEPROM_REQINFO(req_info); in eeprom_parse_request()
|