| /linux/net/devlink/ |
| H A D | core.c | 9 #include <trace/events/devlink.h> 19 static struct devlink *devlinks_xa_get(unsigned long index) in devlinks_xa_get() 21 struct devlink *devlink; in devlinks_xa_get() local 24 devlink = xa_find(&devlinks, &index, index, DEVLINK_REGISTERED); in devlinks_xa_get() 25 if (!devlink || !devlink_try_get(devlink)) in devlinks_xa_get() 26 devlink = NULL; in devlinks_xa_get() 28 return devlink; in devlinks_xa_get() 32 * devlink objec 70 devlink_nested_in_get_lock(struct devlink * devlink) devlink_nested_in_get_lock() argument 90 struct devlink *devlink; devlink_rel_nested_in_notify_work() local 153 devlink_rel_put(struct devlink * devlink) devlink_rel_put() argument 173 devlink_rel_nested_in_add(u32 * rel_index,u32 devlink_index,u32 obj_index,devlink_rel_notify_cb_t * notify_cb,devlink_rel_cleanup_cb_t * cleanup_cb,struct devlink * devlink) devlink_rel_nested_in_add() argument 205 devlink_rel_nested_in_notify(struct devlink * devlink) devlink_rel_nested_in_notify() argument 237 devlink_rel_devlink_handle_put(struct sk_buff * msg,struct devlink * devlink,u32 rel_index,int attrtype,bool * msg_updated) devlink_rel_devlink_handle_put() argument 255 devlink_priv(struct devlink * devlink) devlink_priv() argument 267 devlink_to_dev(const struct devlink * devlink) devlink_to_dev() argument 273 devlink_bus_name(const struct devlink * devlink) devlink_bus_name() argument 279 devlink_dev_name(const struct devlink * devlink) devlink_dev_name() argument 285 devlink_dev_driver_name(const struct devlink * devlink) devlink_dev_driver_name() argument 291 devlink_net(const struct devlink * devlink) devlink_net() argument 297 devl_assert_locked(struct devlink * devlink) devl_assert_locked() argument 305 devl_lock_is_held(struct devlink * devlink) devl_lock_is_held() argument 312 devl_lock(struct devlink * devlink) devl_lock() argument 318 devl_trylock(struct devlink * devlink) devl_trylock() argument 324 devl_unlock(struct devlink * devlink) devl_unlock() argument 339 devlink_try_get(struct devlink * devlink) devlink_try_get() argument 348 struct devlink *devlink; devlink_release() local 361 devlink_put(struct devlink * devlink) devlink_put() argument 371 struct devlink *devlink = NULL; __devlinks_xa_find_get() local 408 devl_register(struct devlink * devlink) devl_register() argument 421 devlink_register(struct devlink * devlink) devlink_register() argument 433 devl_unregister(struct devlink * devlink) devl_unregister() argument 444 devlink_unregister(struct devlink * devlink) devlink_unregister() argument 456 struct devlink *devlink; __devlink_alloc() local 539 devlink_free(struct devlink * devlink) devlink_free() argument 572 struct devlink *devlink; devlink_pernet_pre_exit() local [all...] |
| H A D | devl_internal.h | 14 #include <net/devlink.h> 33 struct devlink { struct 55 /* Serializes access to devlink instance specific objects such as argument 71 struct devlink *__devlink_alloc(const struct devlink_ops *ops, size_t priv_size, argument 75 #define devl_warn(devlink, format, args...) \ argument 77 if ((devlink)->dev) \ 78 dev_warn((devlink)->dev, format, ##args); \ 80 pr_warn("devlink (%s): " format, \ 81 devlink_dev_name(devlink), ##args); \ 84 /* devlink instance 43 dpipe_headersdevlink global() argument 48 opsdevlink global() argument 50 statsdevlink global() argument 63 reldevlink global() argument 104 devlinks_xa_for_each_registered_get(net,index,devlink) global() argument 110 __devl_is_registered(struct devlink * devlink) __devl_is_registered() argument 115 devl_is_registered(struct devlink * devlink) devl_is_registered() argument 121 devl_dev_lock(struct devlink * devlink,bool dev_lock) devl_dev_lock() argument 128 devl_dev_unlock(struct devlink * devlink,bool dev_lock) devl_dev_unlock() argument 155 struct devlink *devlink; global() member 216 devlink_nl_put_handle(struct sk_buff * msg,struct devlink * devlink) devlink_nl_put_handle() argument 236 devlink_nl_notify_need(struct devlink * devlink) devlink_nl_notify_need() argument 254 devlink_nl_obj_desc_init(struct devlink_obj_desc * desc,struct devlink * devlink) devlink_nl_obj_desc_init() argument 272 devlink_nl_notify_send_desc(struct devlink * devlink,struct sk_buff * msg,struct devlink_obj_desc * desc) devlink_nl_notify_send_desc() argument 283 devlink_nl_notify_send(struct devlink * devlink,struct sk_buff * msg) devlink_nl_notify_send() argument [all...] |
| H A D | trap.c | 7 #include <trace/events/devlink.h> 24 * Describes packet trap policer attributes. Created by devlink during trap 41 * Describes packet trap group attributes. Created by devlink during trap 61 * devlink during trap registration and used for all trap related operations. 73 devlink_trap_policer_item_lookup(struct devlink *devlink, u32 id) in devlink_trap_policer_item_lookup() argument 77 list_for_each_entry(policer_item, &devlink->trap_policer_list, list) { in devlink_trap_policer_item_lookup() 86 devlink_trap_item_lookup(struct devlink *devlink, const char *name) in devlink_trap_item_lookup() argument 90 list_for_each_entry(trap_item, &devlink->trap_list, list) { in devlink_trap_item_lookup() 99 devlink_trap_item_get_from_info(struct devlink *devlink, in devlink_trap_item_get_from_info() argument 108 return devlink_trap_item_lookup(devlink, nla_data(attr)); in devlink_trap_item_get_from_info() [all …]
|
| H A D | dev.c | 47 devlink_reload_action_is_supported(struct devlink *devlink, enum devlink_reload_action action) in devlink_reload_action_is_supported() argument 49 return test_bit(action, &devlink->ops->reload_actions); in devlink_reload_action_is_supported() 53 devlink_reload_limit_is_supported(struct devlink *devlink, enum devlink_reload_limit limit) in devlink_reload_limit_is_supported() argument 55 return test_bit(limit, &devlink->ops->reload_limits); in devlink_reload_limit_is_supported() 79 devlink_reload_stats_put(struct sk_buff *msg, struct devlink *devlink, bool is_remote) in devlink_reload_stats_put() argument 95 !devlink_reload_action_is_supported(devlink, i)) || in devlink_reload_stats_put() 115 !devlink_reload_limit_is_supported(devlink, in devlink_reload_stats_put() 142 devlink_nl_nested_fill(struct sk_buff * msg,struct devlink * devlink) devlink_nl_nested_fill() argument 159 devlink_nl_fill(struct sk_buff * msg,struct devlink * devlink,enum devlink_command cmd,u32 portid,u32 seq,int flags) devlink_nl_fill() argument 199 devlink_notify(struct devlink * devlink,enum devlink_command cmd) devlink_notify() argument 225 struct devlink *devlink = devlink_nl_ctx(info)->devlink; devlink_nl_get_doit() local 244 devlink_nl_get_dump_one(struct sk_buff * msg,struct devlink * devlink,struct netlink_callback * cb,int flags) devlink_nl_get_dump_one() argument 257 devlink_rel_notify_cb(struct devlink * devlink,u32 obj_index) devlink_rel_notify_cb() argument 262 devlink_rel_cleanup_cb(struct devlink * devlink,u32 obj_index,u32 rel_index) devlink_rel_cleanup_cb() argument 268 devl_nested_devlink_set(struct devlink * devlink,struct devlink * nested_devlink) devl_nested_devlink_set() argument 285 devlink_notify_register(struct devlink * devlink) devlink_notify_register() argument 298 devlink_notify_unregister(struct devlink * devlink) devlink_notify_unregister() argument 311 devlink_reload_failed_set(struct devlink * devlink,bool reload_failed) devlink_reload_failed_set() argument 320 devlink_is_reload_failed(const struct devlink * devlink) devlink_is_reload_failed() argument 327 __devlink_reload_stats_update(struct devlink * devlink,u32 * reload_stats,enum devlink_reload_limit limit,u32 actions_performed) __devlink_reload_stats_update() argument 342 devlink_reload_stats_update(struct devlink * devlink,enum devlink_reload_limit limit,u32 actions_performed) devlink_reload_stats_update() argument 363 devlink_remote_reload_actions_performed(struct devlink * devlink,enum devlink_reload_limit limit,u32 actions_performed) devlink_remote_reload_actions_performed() argument 415 devlink_reload_netns_change(struct devlink * devlink,struct net * curr_net,struct net * dest_net) devlink_reload_netns_change() argument 430 devlink_reload_reinit_sanity_check(struct devlink * devlink) devlink_reload_reinit_sanity_check() argument 442 devlink_reload(struct devlink * devlink,struct net * dest_net,enum devlink_reload_action action,enum devlink_reload_limit limit,u32 * actions_performed,struct netlink_ext_ack * extack) devlink_reload() argument 489 devlink_nl_reload_actions_performed_snd(struct devlink * devlink,u32 actions_performed,enum devlink_command cmd,struct genl_info * info) devlink_nl_reload_actions_performed_snd() argument 522 struct devlink *devlink = devlink_nl_ctx(info)->devlink; devlink_nl_reload_doit() local 630 devlink_nl_eswitch_fill(struct sk_buff * msg,struct devlink * devlink,enum devlink_command cmd,u32 portid,u32 seq,int flags) devlink_nl_eswitch_fill() argument 687 struct devlink *devlink = devlink_nl_ctx(info)->devlink; devlink_nl_eswitch_get_doit() local 708 struct devlink *devlink = devlink_nl_ctx(info)->devlink; devlink_nl_eswitch_set_doit() local 873 devlink_nl_info_fill(struct sk_buff * msg,struct devlink * devlink,enum devlink_command cmd,u32 portid,u32 seq,int flags,struct netlink_ext_ack * extack) devlink_nl_info_fill() argument 910 struct devlink *devlink = devlink_nl_ctx(info)->devlink; devlink_nl_info_get_doit() local 930 devlink_nl_info_get_dump_one(struct sk_buff * msg,struct devlink * devlink,struct netlink_callback * cb,int flags) devlink_nl_info_get_dump_one() argument 950 devlink_nl_flash_update_fill(struct sk_buff * msg,struct devlink * devlink,enum devlink_command cmd,struct devlink_flash_notify * params) devlink_nl_flash_update_fill() argument 993 __devlink_flash_update_notify(struct devlink * devlink,enum devlink_command cmd,struct devlink_flash_notify * params) __devlink_flash_update_notify() argument 1022 devlink_flash_update_begin_notify(struct devlink * devlink) devlink_flash_update_begin_notify() argument 1031 devlink_flash_update_end_notify(struct devlink * devlink) devlink_flash_update_end_notify() argument 1040 devlink_flash_update_status_notify(struct devlink * devlink,const char * status_msg,const char * component,unsigned long done,unsigned long total) devlink_flash_update_status_notify() argument 1059 devlink_flash_update_timeout_notify(struct devlink * devlink,const char * status_msg,const char * component,unsigned long timeout) devlink_flash_update_timeout_notify() argument 1096 devlink_flash_component_get(struct devlink * devlink,struct nlattr * nla_component,const char ** p_component,struct netlink_ext_ack * extack) devlink_flash_component_get() argument 1138 struct devlink *devlink = devlink_nl_ctx(info)->devlink; devlink_nl_flash_update_doit() local 1188 __devlink_compat_running_version(struct devlink * devlink,char * buf,size_t len) __devlink_compat_running_version() argument 1220 devlink_compat_running_version(struct devlink * devlink,char * buf,size_t len) devlink_compat_running_version() argument 1232 devlink_compat_flash_update(struct devlink * devlink,const char * file_name) devlink_compat_flash_update() argument 1264 devlink_nl_selftests_fill(struct sk_buff * msg,struct devlink * devlink,u32 portid,u32 seq,int flags,struct netlink_ext_ack * extack) devlink_nl_selftests_fill() argument 1306 struct devlink *devlink = devlink_nl_ctx(info)->devlink; devlink_nl_selftests_get_doit() local 1328 devlink_nl_selftests_get_dump_one(struct sk_buff * msg,struct devlink * devlink,struct netlink_callback * cb,int flags) devlink_nl_selftests_get_dump_one() argument 1376 struct devlink *devlink = devlink_nl_ctx(info)->devlink; devlink_nl_selftests_run_doit() local [all...] |
| H A D | rate.c | 21 devlink_rate_leaf_get_from_info(struct devlink *devlink, struct genl_info *info) in devlink_rate_leaf_get_from_info() argument 26 devlink_port = devlink_port_get_from_attrs(devlink, info->attrs); in devlink_rate_leaf_get_from_info() 33 /* Repeatedly walks the nested devlink chain while cross device rate nodes are 36 * When cross device rate nodes aren't supported the original devlink instance 39 static struct devlink *devl_rate_lock(struct devlink *devlink) in devl_rate_lock() argument 41 struct devlink *rate_devlink = devlink, *parent; in devl_rate_lock() 43 devl_assert_locked(devlink); in devl_rate_lock() 50 if (rate_devlink != devlink) { in devl_rate_lock() 60 /* Unlocks and puts 'rate devlink' if different than 'devlink'. */ 61 static void devl_rate_unlock(struct devlink *devlink, in devl_rate_unlock() argument [all …]
|
| H A D | sb.c | 24 static struct devlink_sb *devlink_sb_get_by_index(struct devlink *devlink, in devlink_sb_get_by_index() argument 29 list_for_each_entry(devlink_sb, &devlink->sb_list, list) { in devlink_sb_get_by_index() 36 static bool devlink_sb_index_exists(struct devlink *devlink, in devlink_sb_index_exists() argument 39 return devlink_sb_get_by_index(devlink, sb_index); in devlink_sb_index_exists() 42 static struct devlink_sb *devlink_sb_get_from_attrs(struct devlink *devlink, in devlink_sb_get_from_attrs() argument 49 devlink_sb = devlink_sb_get_by_index(devlink, sb_index); in devlink_sb_get_from_attrs() 57 static struct devlink_sb *devlink_sb_get_from_info(struct devlink *devlink, in devlink_sb_get_from_info() argument 60 return devlink_sb_get_from_attrs(devlink, info->attrs); in devlink_sb_get_from_info() 167 static int devlink_nl_sb_fill(struct sk_buff *msg, struct devlink *devlink, in devlink_nl_sb_fill() argument 178 if (devlink_nl_put_handle(msg, devlink)) in devlink_nl_sb_fill() [all …]
|
| H A D | region.c | 10 struct devlink *devlink; member 35 devlink_region_get_by_name(struct devlink *devlink, const char *region_name) in devlink_region_get_by_name() argument 39 list_for_each_entry(region, &devlink->region_list, list) in devlink_region_get_by_name() 72 struct devlink *devlink, in devlink_nl_region_snapshot_id_put() argument 95 struct devlink *devlink, in devlink_nl_region_snapshots_id_put() argument 108 err = devlink_nl_region_snapshot_id_put(msg, devlink, snapshot); in devlink_nl_region_snapshots_id_put() 121 static int devlink_nl_region_fill(struct sk_buff *msg, struct devlink *devlink, in devlink_nl_region_fill() argument 133 err = devlink_nl_put_handle(msg, devlink); in devlink_nl_region_fill() 157 err = devlink_nl_region_snapshots_id_put(msg, devlink, region); in devlink_nl_region_fill() 174 struct devlink *devlink = region->devlink; in devlink_nl_region_notify_build() local [all …]
|
| H A D | resource.c | 10 * struct devlink_resource - devlink resource 12 * @id: id, per devlink instance 66 devlink_resource_find(struct devlink *devlink, in devlink_resource_find() argument 69 return __devlink_resource_find(&devlink->resource_list, in devlink_resource_find() 120 struct devlink *devlink = devlink_nl_ctx(info)->devlink; in devlink_nl_resource_set_doit() local 131 resource = devlink_resource_find(devlink, NULL, resource_id); in devlink_nl_resource_set_doit() 174 static int devlink_resource_put(struct devlink *devlink, struct sk_buff *skb, in devlink_resource_put() argument 210 if (devlink_resource_put(devlink, skb, child_resource)) in devlink_resource_put() 227 struct devlink *devlink, in devlink_resource_list_fill() argument 240 err = devlink_resource_put(devlink, skb, resource); in devlink_resource_list_fill() [all …]
|
| H A D | param.c | 180 static int devlink_param_get(struct devlink *devlink, in devlink_param_get() argument 187 return param->get(devlink, param->id, ctx, extack); in devlink_param_get() 190 static int devlink_param_set(struct devlink *devlink, in devlink_param_set() argument 197 return param->set(devlink, param->id, ctx, extack); in devlink_param_set() 200 static int devlink_param_get_default(struct devlink *devlink, in devlink_param_get_default() argument 208 return param->get_default(devlink, param->id, ctx, extack); in devlink_param_get_default() 211 static int devlink_param_reset_default(struct devlink *devlink, in devlink_param_reset_default() argument 219 return param->reset_default(devlink, param->id, cmode, extack); in devlink_param_reset_default() 314 static int devlink_nl_param_fill(struct sk_buff *msg, struct devlink *devlink, in devlink_nl_param_fill() argument 371 err = devlink_param_get(devlink, param, ctx, extack); in devlink_nl_param_fill() [all …]
|
| H A D | netlink.c | 144 struct devlink *devlink, int attrtype) in devlink_nl_put_nested_handle() argument 152 if (devlink_nl_put_handle(msg, devlink)) in devlink_nl_put_nested_handle() 156 devl_net = read_pnet_rcu(&devlink->_net); in devlink_nl_put_nested_handle() 190 struct devlink * 194 struct devlink *devlink; in devlink_get_from_attrs_lock() local 204 devlink = devlinks_xa_lookup_get(net, index); in devlink_get_from_attrs_lock() 205 if (!devlink) in devlink_get_from_attrs_lock() 219 devlink = devlinks_xa_lookup_get(net, index); in devlink_get_from_attrs_lock() 220 if (!devlink) in devlink_get_from_attrs_lock() 225 devlinks_xa_for_each_registered_get(net, index, devlink) { in devlink_get_from_attrs_lock() [all …]
|
| H A D | linecard.c | 11 struct devlink *devlink; member 29 devlink_linecard_get_by_index(struct devlink *devlink, in devlink_linecard_get_by_index() argument 34 list_for_each_entry(devlink_linecard, &devlink->linecard_list, list) { in devlink_linecard_get_by_index() 41 static bool devlink_linecard_index_exists(struct devlink *devlink, in devlink_linecard_index_exists() argument 44 return devlink_linecard_get_by_index(devlink, linecard_index); in devlink_linecard_index_exists() 48 devlink_linecard_get_from_attrs(struct devlink *devlink, struct nlattr **attrs) in devlink_linecard_get_from_attrs() argument 54 linecard = devlink_linecard_get_by_index(devlink, linecard_index); in devlink_linecard_get_from_attrs() 63 devlink_linecard_get_from_info(struct devlink *devlink, struct genl_info *info) in devlink_linecard_get_from_info() argument 65 return devlink_linecard_get_from_attrs(devlink, info->attrs); in devlink_linecard_get_from_info() 74 struct devlink *devlink, in devlink_nl_linecard_fill() argument [all …]
|
| H A D | port.c | 14 struct devlink_port *devlink_port_get_by_index(struct devlink *devlink, 17 return xa_load(&devlink->ports, port_index); 20 struct devlink_port *devlink_port_get_from_attrs(struct devlink *devlink, 27 devlink_port = devlink_port_get_by_index(devlink, port_index); in devlink_port_get_by_index() argument 35 struct devlink_port *devlink_port_get_from_info(struct devlink *devlink, in devlink_port_get_from_attrs() 38 return devlink_port_get_from_attrs(devlink, info->attrs); in devlink_port_get_from_attrs() 199 if (devlink_nl_put_handle(msg, devlink_port->devlink)) in devlink_port_fn_max_io_eqs_fill() 33 devlink_port_get_from_attrs(struct devlink * devlink,struct nlattr ** attrs) devlink_port_get_from_attrs() argument 48 devlink_port_get_from_info(struct devlink * devlink,struct genl_info * info) devlink_port_get_from_info() argument 221 struct devlink *devlink = devlink_port->devlink; devlink_nl_port_handle_size() local 494 struct devlink *devlink = devlink_port->devlink; devlink_nl_port_fill() local 552 struct devlink *devlink = devlink_port->devlink; devlink_port_notify() local 577 devlink_ports_notify(struct devlink * devlink,enum devlink_command cmd) devlink_ports_notify() argument 587 devlink_ports_notify_register(struct devlink * devlink) devlink_ports_notify_register() argument 592 devlink_ports_notify_unregister(struct devlink * devlink) devlink_ports_notify_unregister() argument 619 devlink_nl_port_get_dump_one(struct sk_buff * msg,struct devlink * devlink,struct netlink_callback * cb,int flags) devlink_nl_port_get_dump_one() argument 862 struct devlink *devlink = devlink_nl_ctx(info)->devlink; devlink_nl_port_split_doit() local 893 struct devlink *devlink = devlink_nl_ctx(info)->devlink; devlink_nl_port_unsplit_doit() local 904 struct devlink *devlink = devlink_nl_ctx(info)->devlink; devlink_nl_port_new_doit() local 968 struct devlink *devlink = devlink_nl_ctx(info)->devlink; devlink_nl_port_del_doit() local 1023 devlink_port_init(struct devlink * devlink,struct devlink_port * devlink_port) devlink_port_init() argument 1068 devl_port_register_with_ops(struct devlink * devlink,struct devlink_port * devlink_port,unsigned int port_index,const struct devlink_port_ops * ops) devl_port_register_with_ops() argument 1114 devlink_port_register_with_ops(struct devlink * devlink,struct devlink_port * devlink_port,unsigned int port_index,const struct devlink_port_ops * ops) devlink_port_register_with_ops() argument 1156 struct devlink *devlink = devlink_port->devlink; devlink_port_unregister() local 1292 struct devlink *devlink; devlink_port_netdevice_event() local 1445 devlink_port_rel_notify_cb(struct devlink * devlink,u32 port_index) devlink_port_rel_notify_cb() argument 1455 devlink_port_rel_cleanup_cb(struct devlink * devlink,u32 port_index,u32 rel_index) devlink_port_rel_cleanup_cb() argument [all...] |
| H A D | dpipe.c | 216 struct devlink *devlink = devlink_nl_ctx(info)->devlink; in devlink_dpipe_tables_fill() local 240 if (devlink_nl_put_handle(skb, devlink)) in devlink_dpipe_tables_fill() 293 struct devlink *devlink = devlink_nl_ctx(info)->devlink; in devlink_nl_dpipe_table_get_doit() local 300 &devlink->dpipe_table_list, in devlink_nl_dpipe_table_get_doit() 451 const char *table_name, struct devlink *devlink) in devlink_dpipe_table_find() argument 456 lockdep_is_held(&devlink->lock)) { in devlink_dpipe_table_find() 465 struct devlink *devlink; in devlink_dpipe_entry_ctx_prepare() local 481 devlink = devlink_nl_ctx(dump_ctx->info)->devlink; in devlink_dpipe_entry_ctx_prepare() 482 if (devlink_nl_put_handle(dump_ctx->skb, devlink)) in devlink_dpipe_entry_ctx_prepare() 566 struct devlink *devlink = devlink_nl_ctx(info)->devlink; in devlink_nl_dpipe_entries_get_doit() local [all …]
|
| H A D | health.c | 9 #include <trace/events/devlink.h> 59 struct devlink *devlink; member 94 devlink_health_reporter_find_by_name(struct devlink *devlink, in devlink_health_reporter_find_by_name() argument 97 return __devlink_health_reporter_find_by_name(&devlink->reporter_list, in devlink_health_reporter_find_by_name() 110 __devlink_health_reporter_create(struct devlink *devlink, in __devlink_health_reporter_create() argument 128 reporter->devlink = devlink; in __devlink_health_reporter_create() 137 * devl_port_health_reporter_create() - create devlink health reporter for 141 * @ops: devlink health reporter ops 151 devl_assert_locked(port->devlink); in devl_port_health_reporter_create() 157 reporter = __devlink_health_reporter_create(port->devlink, ops, priv); in devl_port_health_reporter_create() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | devlink.c | 4 #include <devlink.h> 15 static int mlx5_devlink_flash_update(struct devlink *devlink, in mlx5_devlink_flash_update() argument 19 struct mlx5_core_dev *dev = devlink_priv(devlink); in mlx5_devlink_flash_update() 91 mlx5_devlink_info_get(struct devlink *devlink, struct devlink_info_req *req, in mlx5_devlink_info_get() argument 94 struct mlx5_core_dev *dev = devlink_priv(devlink); in mlx5_devlink_info_get() 139 static int mlx5_devlink_reload_fw_activate(struct devlink *devlink, struct netlink_ext_ack *extack) in mlx5_devlink_reload_fw_activate() argument 141 struct mlx5_core_dev *dev = devlink_priv(devlink); in mlx5_devlink_reload_fw_activate() 170 static int mlx5_devlink_trigger_fw_live_patch(struct devlink *devlink, in mlx5_devlink_trigger_fw_live_patch() argument 173 struct mlx5_core_dev *dev = devlink_priv(devlink); in mlx5_devlink_trigger_fw_live_patch() 189 static int mlx5_devlink_reload_down(struct devlink *devlink, bool netns_change, in mlx5_devlink_reload_down() argument [all …]
|
| /linux/include/net/ |
| H A D | devlink.h | 3 * include/net/devlink.h - Network physical device Netlink interface 20 #include <uapi/linux/devlink.h> 24 struct devlink; 36 * struct devlink_port_pci_pf_attrs - devlink port's PCI PF attributes 38 * @pf: associated PCI function number for the devlink port instance 48 * struct devlink_port_pci_vf_attrs - devlink port's PCI VF attributes 50 * @pf: associated PCI function number for the devlink port instance 51 * @vf: associated PCI VF number of a PF for the devlink port instance; 63 * struct devlink_port_pci_sf_attrs - devlink port's PCI SF attributes 65 * @sf: associated SF number of a PF for the devlink port instance [all …]
|
| /linux/Documentation/networking/devlink/ |
| H A D | index.rst | 1 Linux Devlink Documentation 4 devlink is an API to expose device information and resources not directly 13 in devlink core, but don't allow registration of most sub-objects once 14 the main devlink object is itself registered. The newer ``devl_*`` APIs assume 15 the devlink instance lock is already held. Drivers can take the instance 17 devlink netlink commands. 19 Drivers are encouraged to use the devlink instance lock for their own needs. 21 Drivers need to be cautious when taking devlink instance lock and 22 taking RTNL lock at the same time. Devlink instance lock needs to be taken 29 devlink instance [all...] |
| H A D | iosm.rst | 4 iosm devlink support 7 This document describes the devlink features implemented by the ``iosm`` 35 ``devlink-flash`` interface. 62 has to be passed to the driver using the devlink param command. 65 need to set the erase_full_flash parameter using devlink param command. 71 image using devlink flash command. 73 $ devlink dev flash pci/0000:02:00.0 file <PSI_RAM_File_name> 78 $ devlink dev param set pci/0000:02:00.0 name erase_full_flash value true cmode runtime 82 $ devlink dev flash pci/0000:02:00.0 file <EBL_File_name> 89 $ devlink dev flash pci/0000:02:00.0 file <Secure_bin_file_name> [all …]
|
| /linux/Documentation/netlink/specs/ |
| H A D | devlink.yaml | 3 name: devlink 7 doc: Partial family for Devlink. 260 name: devlink 261 name-prefix: devlink-attr- 862 name: nested-devlink 865 nested-attributes: dl-nested-devlink 899 doc: Unique devlink instance index. 914 nested-attributes: dl-nested-devlink 916 Identifies the devlink instance which owns the parent rate node. 918 a different devlink instanc [all...] |
| /linux/drivers/net/ethernet/intel/ice/devlink/ |
| H A D | devlink.c | 8 #include "devlink.h" 15 /* context for devlink info version reporting */ 25 * devlink info versions. The ctx parameter is used to provide the storage 261 * ice_devlink_info_get - .info_get devlink handler 262 * @devlink: devlink instance structure 263 * @req: the devlink info request 266 * Callback for the devlink .info_get operation. Reports information about the 271 static int ice_devlink_info_get(struct devlink *devlink, in ice_devlink_info_get() argument 275 struct ice_pf *pf = devlink_priv(devlink); in ice_devlink_info_get() 457 /* No need to take devl_lock, it's already taken by devlink API */ in ice_devlink_reinit_down() [all …]
|
| H A D | port.c | 7 #include "devlink.h" 164 * ice_devlink_port_split - .port_split devlink handler 165 * @devlink: devlink instance structure 166 * @port: devlink port structure 170 * Callback for the devlink .port_split operation. 172 * Unfortunately, the devlink expression of available options is limited 182 ice_devlink_port_split(struct devlink *devlink, struct devlink_port *port, in ice_devlink_port_split() argument 187 struct ice_pf *pf = devlink_priv(devlink); in ice_devlink_port_split() 243 * ice_devlink_port_unsplit - .port_unsplit devlink handler 244 * @devlink: devlink instance structure [all …]
|
| /linux/drivers/net/netdevsim/ |
| H A D | dev.c | 30 #include <net/devlink.h> 33 #include <uapi/linux/devlink.h> 79 nsim_dev_take_snapshot(struct devlink *devlink, in nsim_dev_take_snapshot() argument 102 struct devlink *devlink; in nsim_dev_take_snapshot_write() local 107 devlink = priv_to_devlink(nsim_dev); in nsim_dev_take_snapshot_write() 109 err = nsim_dev_take_snapshot(devlink, NULL, NULL, &dummy_data); in nsim_dev_take_snapshot_write() 113 err = devlink_region_snapshot_id_get(devlink, &id); in nsim_dev_take_snapshot_write() 121 devlink_region_snapshot_id_put(devlink, id); in nsim_dev_take_snapshot_write() 372 static int nsim_dev_resources_register(struct devlink *devlink) in nsim_dev_resources_register() argument 382 err = devl_resource_register(devlink, "IPv4", (u64)-1, in nsim_dev_resources_register() [all …]
|
| /linux/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/ |
| H A D | switchdev.rst | 21 $ devlink dev eswitch set pci/0000:06:00.0 mode switchdev 48 Subfunction which are spawned over the E-switch are created only with devlink 57 $ devlink port add pci/0000:08:00.0 flavour pcisf pfnum 0 sfnum 11 58 $ devlink port function set pci/0000:08:00.0/32768 hw_addr 00:00:00:00:00:11 state active 62 $ devlink dev param set auxiliary/mlx5_core.sf.1 name enable_eth value true cmode driverinit 64 - Now, in order to fully probe the SF, use devlink reload:: 66 $ devlink dev reload auxiliary/mlx5_core.sf.1 68 …ETH,rdma and vdpa (vnet) auxiliary devices devlink params (see :ref:`Documentation/networking/devl… 70 mlx5 supports subfunction management using devlink port (see :ref:`Documentation/networking/devlink… 100 | devlink | | tc tool | | user | [all …]
|
| /linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/ |
| H A D | hclge_devlink.c | 4 #include <net/devlink.h> 8 static int hclge_devlink_scc_info_get(struct devlink *devlink, in hclge_devlink_scc_info_get() argument 11 struct hclge_devlink_priv *priv = devlink_priv(devlink); in hclge_devlink_scc_info_get() 36 static int hclge_devlink_info_get(struct devlink *devlink, in hclge_devlink_info_get() argument 41 struct hclge_devlink_priv *priv = devlink_priv(devlink); in hclge_devlink_info_get() 65 ret = hclge_devlink_scc_info_get(devlink, req); in hclge_devlink_info_get() 70 static int hclge_devlink_reload_down(struct devlink *devlink, bool netns_change, in hclge_devlink_reload_down() argument 75 struct hclge_devlink_priv *priv = devlink_priv(devlink); in hclge_devlink_reload_down() 104 static int hclge_devlink_reload_up(struct devlink *devlink, in hclge_devlink_reload_up() argument 110 struct hclge_devlink_priv *priv = devlink_priv(devlink); in hclge_devlink_reload_up() [all …]
|
| /linux/drivers/net/ethernet/hisilicon/hns3/hns3vf/ |
| H A D | hclgevf_devlink.c | 4 #include <net/devlink.h> 8 static int hclgevf_devlink_info_get(struct devlink *devlink, in hclgevf_devlink_info_get() argument 13 struct hclgevf_devlink_priv *priv = devlink_priv(devlink); in hclgevf_devlink_info_get() 32 static int hclgevf_devlink_reload_down(struct devlink *devlink, in hclgevf_devlink_reload_down() argument 38 struct hclgevf_devlink_priv *priv = devlink_priv(devlink); in hclgevf_devlink_reload_down() 67 static int hclgevf_devlink_reload_up(struct devlink *devlink, in hclgevf_devlink_reload_up() argument 73 struct hclgevf_devlink_priv *priv = devlink_priv(devlink); in hclgevf_devlink_reload_up() 107 struct devlink *devlink; in hclgevf_devlink_init() local 109 devlink = in hclgevf_devlink_init() 112 if (!devlink) in hclgevf_devlink_init() [all …]
|