nsim_dev           30 drivers/net/netdevsim/bpf.c 	struct nsim_dev *nsim_dev;
nsim_dev           68 drivers/net/netdevsim/bpf.c 	if (state->nsim_dev->bpf_bind_verifier_delay && !insn_idx)
nsim_dev           69 drivers/net/netdevsim/bpf.c 		msleep(state->nsim_dev->bpf_bind_verifier_delay);
nsim_dev          216 drivers/net/netdevsim/bpf.c static int nsim_bpf_create_prog(struct nsim_dev *nsim_dev,
nsim_dev          226 drivers/net/netdevsim/bpf.c 	state->nsim_dev = nsim_dev;
nsim_dev          231 drivers/net/netdevsim/bpf.c 	sprintf(name, "%u", nsim_dev->prog_id_gen++);
nsim_dev          232 drivers/net/netdevsim/bpf.c 	state->ddir = debugfs_create_dir(name, nsim_dev->ddir_bpf_bound_progs);
nsim_dev          243 drivers/net/netdevsim/bpf.c 	list_add_tail(&state->l, &nsim_dev->bpf_bound_progs);
nsim_dev          252 drivers/net/netdevsim/bpf.c 	struct nsim_dev *nsim_dev =
nsim_dev          255 drivers/net/netdevsim/bpf.c 	if (!nsim_dev->bpf_bind_accept)
nsim_dev          258 drivers/net/netdevsim/bpf.c 	return nsim_bpf_create_prog(nsim_dev, prog);
nsim_dev          517 drivers/net/netdevsim/bpf.c 	list_add_tail(&nmap->l, &ns->nsim_dev->bpf_bound_maps);
nsim_dev          581 drivers/net/netdevsim/bpf.c int nsim_bpf_dev_init(struct nsim_dev *nsim_dev)
nsim_dev          585 drivers/net/netdevsim/bpf.c 	INIT_LIST_HEAD(&nsim_dev->bpf_bound_progs);
nsim_dev          586 drivers/net/netdevsim/bpf.c 	INIT_LIST_HEAD(&nsim_dev->bpf_bound_maps);
nsim_dev          588 drivers/net/netdevsim/bpf.c 	nsim_dev->ddir_bpf_bound_progs = debugfs_create_dir("bpf_bound_progs",
nsim_dev          589 drivers/net/netdevsim/bpf.c 							    nsim_dev->ddir);
nsim_dev          590 drivers/net/netdevsim/bpf.c 	if (IS_ERR_OR_NULL(nsim_dev->ddir_bpf_bound_progs))
nsim_dev          593 drivers/net/netdevsim/bpf.c 	nsim_dev->bpf_dev = bpf_offload_dev_create(&nsim_bpf_dev_ops, nsim_dev);
nsim_dev          594 drivers/net/netdevsim/bpf.c 	err = PTR_ERR_OR_ZERO(nsim_dev->bpf_dev);
nsim_dev          598 drivers/net/netdevsim/bpf.c 	nsim_dev->bpf_bind_accept = true;
nsim_dev          599 drivers/net/netdevsim/bpf.c 	debugfs_create_bool("bpf_bind_accept", 0600, nsim_dev->ddir,
nsim_dev          600 drivers/net/netdevsim/bpf.c 			    &nsim_dev->bpf_bind_accept);
nsim_dev          601 drivers/net/netdevsim/bpf.c 	debugfs_create_u32("bpf_bind_verifier_delay", 0600, nsim_dev->ddir,
nsim_dev          602 drivers/net/netdevsim/bpf.c 			   &nsim_dev->bpf_bind_verifier_delay);
nsim_dev          606 drivers/net/netdevsim/bpf.c void nsim_bpf_dev_exit(struct nsim_dev *nsim_dev)
nsim_dev          608 drivers/net/netdevsim/bpf.c 	WARN_ON(!list_empty(&nsim_dev->bpf_bound_progs));
nsim_dev          609 drivers/net/netdevsim/bpf.c 	WARN_ON(!list_empty(&nsim_dev->bpf_bound_maps));
nsim_dev          610 drivers/net/netdevsim/bpf.c 	bpf_offload_dev_destroy(nsim_dev->bpf_dev);
nsim_dev          618 drivers/net/netdevsim/bpf.c 	err = bpf_offload_dev_netdev_register(ns->nsim_dev->bpf_dev,
nsim_dev          650 drivers/net/netdevsim/bpf.c 	bpf_offload_dev_netdev_unregister(ns->nsim_dev->bpf_dev, ns->netdev);
nsim_dev           45 drivers/net/netdevsim/dev.c 	struct nsim_dev *nsim_dev = file->private_data;
nsim_dev           56 drivers/net/netdevsim/dev.c 	id = devlink_region_shapshot_id_get(priv_to_devlink(nsim_dev));
nsim_dev           57 drivers/net/netdevsim/dev.c 	err = devlink_region_snapshot_create(nsim_dev->dummy_region,
nsim_dev           74 drivers/net/netdevsim/dev.c static int nsim_dev_debugfs_init(struct nsim_dev *nsim_dev)
nsim_dev           78 drivers/net/netdevsim/dev.c 	sprintf(dev_ddir_name, DRV_NAME "%u", nsim_dev->nsim_bus_dev->dev.id);
nsim_dev           79 drivers/net/netdevsim/dev.c 	nsim_dev->ddir = debugfs_create_dir(dev_ddir_name, nsim_dev_ddir);
nsim_dev           80 drivers/net/netdevsim/dev.c 	if (IS_ERR_OR_NULL(nsim_dev->ddir))
nsim_dev           81 drivers/net/netdevsim/dev.c 		return PTR_ERR_OR_ZERO(nsim_dev->ddir) ?: -EINVAL;
nsim_dev           82 drivers/net/netdevsim/dev.c 	nsim_dev->ports_ddir = debugfs_create_dir("ports", nsim_dev->ddir);
nsim_dev           83 drivers/net/netdevsim/dev.c 	if (IS_ERR_OR_NULL(nsim_dev->ports_ddir))
nsim_dev           84 drivers/net/netdevsim/dev.c 		return PTR_ERR_OR_ZERO(nsim_dev->ports_ddir) ?: -EINVAL;
nsim_dev           85 drivers/net/netdevsim/dev.c 	debugfs_create_bool("fw_update_status", 0600, nsim_dev->ddir,
nsim_dev           86 drivers/net/netdevsim/dev.c 			    &nsim_dev->fw_update_status);
nsim_dev           87 drivers/net/netdevsim/dev.c 	debugfs_create_u32("max_macs", 0600, nsim_dev->ddir,
nsim_dev           88 drivers/net/netdevsim/dev.c 			   &nsim_dev->max_macs);
nsim_dev           89 drivers/net/netdevsim/dev.c 	debugfs_create_bool("test1", 0600, nsim_dev->ddir,
nsim_dev           90 drivers/net/netdevsim/dev.c 			    &nsim_dev->test1);
nsim_dev           91 drivers/net/netdevsim/dev.c 	debugfs_create_file("take_snapshot", 0200, nsim_dev->ddir, nsim_dev,
nsim_dev           96 drivers/net/netdevsim/dev.c static void nsim_dev_debugfs_exit(struct nsim_dev *nsim_dev)
nsim_dev           98 drivers/net/netdevsim/dev.c 	debugfs_remove_recursive(nsim_dev->ports_ddir);
nsim_dev           99 drivers/net/netdevsim/dev.c 	debugfs_remove_recursive(nsim_dev->ddir);
nsim_dev          102 drivers/net/netdevsim/dev.c static int nsim_dev_port_debugfs_init(struct nsim_dev *nsim_dev,
nsim_dev          110 drivers/net/netdevsim/dev.c 						 nsim_dev->ports_ddir);
nsim_dev          115 drivers/net/netdevsim/dev.c 		nsim_dev->nsim_bus_dev->dev.id);
nsim_dev          261 drivers/net/netdevsim/dev.c static void nsim_devlink_set_params_init_values(struct nsim_dev *nsim_dev,
nsim_dev          266 drivers/net/netdevsim/dev.c 	value.vu32 = nsim_dev->max_macs;
nsim_dev          270 drivers/net/netdevsim/dev.c 	value.vbool = nsim_dev->test1;
nsim_dev          278 drivers/net/netdevsim/dev.c 	struct nsim_dev *nsim_dev = devlink_priv(devlink);
nsim_dev          286 drivers/net/netdevsim/dev.c 		nsim_dev->max_macs = saved_value.vu32;
nsim_dev          291 drivers/net/netdevsim/dev.c 		nsim_dev->test1 = saved_value.vbool;
nsim_dev          296 drivers/net/netdevsim/dev.c static int nsim_dev_dummy_region_init(struct nsim_dev *nsim_dev,
nsim_dev          299 drivers/net/netdevsim/dev.c 	nsim_dev->dummy_region =
nsim_dev          303 drivers/net/netdevsim/dev.c 	return PTR_ERR_OR_ZERO(nsim_dev->dummy_region);
nsim_dev          306 drivers/net/netdevsim/dev.c static void nsim_dev_dummy_region_exit(struct nsim_dev *nsim_dev)
nsim_dev          308 drivers/net/netdevsim/dev.c 	devlink_region_destroy(nsim_dev->dummy_region);
nsim_dev          319 drivers/net/netdevsim/dev.c 	struct nsim_dev *nsim_dev;
nsim_dev          408 drivers/net/netdevsim/dev.c 	struct nsim_dev *nsim_dev = nsim_dev_port->ns->nsim_dev;
nsim_dev          409 drivers/net/netdevsim/dev.c 	struct devlink *devlink = priv_to_devlink(nsim_dev);
nsim_dev          413 drivers/net/netdevsim/dev.c 	nsim_trap_data = nsim_dev->trap_data;
nsim_dev          449 drivers/net/netdevsim/dev.c 	struct nsim_dev *nsim_dev;
nsim_dev          453 drivers/net/netdevsim/dev.c 	nsim_dev = nsim_trap_data->nsim_dev;
nsim_dev          458 drivers/net/netdevsim/dev.c 	mutex_lock(&nsim_dev->port_list_lock);
nsim_dev          459 drivers/net/netdevsim/dev.c 	list_for_each_entry(nsim_dev_port, &nsim_dev->port_list, list) {
nsim_dev          465 drivers/net/netdevsim/dev.c 	mutex_unlock(&nsim_dev->port_list_lock);
nsim_dev          467 drivers/net/netdevsim/dev.c 	schedule_delayed_work(&nsim_dev->trap_data->trap_report_dw,
nsim_dev          473 drivers/net/netdevsim/dev.c 	struct nsim_dev *nsim_dev = devlink_priv(devlink);
nsim_dev          494 drivers/net/netdevsim/dev.c 	nsim_trap_data->nsim_dev = nsim_dev;
nsim_dev          495 drivers/net/netdevsim/dev.c 	nsim_dev->trap_data = nsim_trap_data;
nsim_dev          502 drivers/net/netdevsim/dev.c 	INIT_DELAYED_WORK(&nsim_dev->trap_data->trap_report_dw,
nsim_dev          504 drivers/net/netdevsim/dev.c 	schedule_delayed_work(&nsim_dev->trap_data->trap_report_dw,
nsim_dev          518 drivers/net/netdevsim/dev.c 	struct nsim_dev *nsim_dev = devlink_priv(devlink);
nsim_dev          520 drivers/net/netdevsim/dev.c 	cancel_delayed_work_sync(&nsim_dev->trap_data->trap_report_dw);
nsim_dev          523 drivers/net/netdevsim/dev.c 	kfree(nsim_dev->trap_data->trap_items_arr);
nsim_dev          524 drivers/net/netdevsim/dev.c 	kfree(nsim_dev->trap_data);
nsim_dev          567 drivers/net/netdevsim/dev.c 	struct nsim_dev *nsim_dev = devlink_priv(devlink);
nsim_dev          570 drivers/net/netdevsim/dev.c 	if (nsim_dev->fw_update_status) {
nsim_dev          578 drivers/net/netdevsim/dev.c 		if (nsim_dev->fw_update_status)
nsim_dev          586 drivers/net/netdevsim/dev.c 	if (nsim_dev->fw_update_status) {
nsim_dev          600 drivers/net/netdevsim/dev.c nsim_dev_trap_item_lookup(struct nsim_dev *nsim_dev, u16 trap_id)
nsim_dev          602 drivers/net/netdevsim/dev.c 	struct nsim_trap_data *nsim_trap_data = nsim_dev->trap_data;
nsim_dev          617 drivers/net/netdevsim/dev.c 	struct nsim_dev *nsim_dev = devlink_priv(devlink);
nsim_dev          620 drivers/net/netdevsim/dev.c 	nsim_trap_item = nsim_dev_trap_item_lookup(nsim_dev, trap->id);
nsim_dev          635 drivers/net/netdevsim/dev.c 	struct nsim_dev *nsim_dev = devlink_priv(devlink);
nsim_dev          638 drivers/net/netdevsim/dev.c 	nsim_trap_item = nsim_dev_trap_item_lookup(nsim_dev, trap->id);
nsim_dev          642 drivers/net/netdevsim/dev.c 	spin_lock(&nsim_dev->trap_data->trap_lock);
nsim_dev          644 drivers/net/netdevsim/dev.c 	spin_unlock(&nsim_dev->trap_data->trap_lock);
nsim_dev          660 drivers/net/netdevsim/dev.c static struct nsim_dev *
nsim_dev          663 drivers/net/netdevsim/dev.c 	struct nsim_dev *nsim_dev;
nsim_dev          667 drivers/net/netdevsim/dev.c 	devlink = devlink_alloc(&nsim_dev_devlink_ops, sizeof(*nsim_dev));
nsim_dev          670 drivers/net/netdevsim/dev.c 	nsim_dev = devlink_priv(devlink);
nsim_dev          671 drivers/net/netdevsim/dev.c 	nsim_dev->nsim_bus_dev = nsim_bus_dev;
nsim_dev          672 drivers/net/netdevsim/dev.c 	nsim_dev->switch_id.id_len = sizeof(nsim_dev->switch_id.id);
nsim_dev          673 drivers/net/netdevsim/dev.c 	get_random_bytes(nsim_dev->switch_id.id, nsim_dev->switch_id.id_len);
nsim_dev          674 drivers/net/netdevsim/dev.c 	INIT_LIST_HEAD(&nsim_dev->port_list);
nsim_dev          675 drivers/net/netdevsim/dev.c 	mutex_init(&nsim_dev->port_list_lock);
nsim_dev          676 drivers/net/netdevsim/dev.c 	nsim_dev->fw_update_status = true;
nsim_dev          677 drivers/net/netdevsim/dev.c 	nsim_dev->max_macs = NSIM_DEV_MAX_MACS_DEFAULT;
nsim_dev          678 drivers/net/netdevsim/dev.c 	nsim_dev->test1 = NSIM_DEV_TEST1_DEFAULT;
nsim_dev          692 drivers/net/netdevsim/dev.c 	nsim_devlink_set_params_init_values(nsim_dev, devlink);
nsim_dev          694 drivers/net/netdevsim/dev.c 	err = nsim_dev_dummy_region_init(nsim_dev, devlink);
nsim_dev          702 drivers/net/netdevsim/dev.c 	err = nsim_dev_debugfs_init(nsim_dev);
nsim_dev          706 drivers/net/netdevsim/dev.c 	err = nsim_bpf_dev_init(nsim_dev);
nsim_dev          712 drivers/net/netdevsim/dev.c 	return nsim_dev;
nsim_dev          715 drivers/net/netdevsim/dev.c 	nsim_dev_debugfs_exit(nsim_dev);
nsim_dev          719 drivers/net/netdevsim/dev.c 	nsim_dev_dummy_region_exit(nsim_dev);
nsim_dev          732 drivers/net/netdevsim/dev.c static void nsim_dev_destroy(struct nsim_dev *nsim_dev)
nsim_dev          734 drivers/net/netdevsim/dev.c 	struct devlink *devlink = priv_to_devlink(nsim_dev);
nsim_dev          737 drivers/net/netdevsim/dev.c 	nsim_bpf_dev_exit(nsim_dev);
nsim_dev          738 drivers/net/netdevsim/dev.c 	nsim_dev_debugfs_exit(nsim_dev);
nsim_dev          740 drivers/net/netdevsim/dev.c 	nsim_dev_dummy_region_exit(nsim_dev);
nsim_dev          745 drivers/net/netdevsim/dev.c 	mutex_destroy(&nsim_dev->port_list_lock);
nsim_dev          749 drivers/net/netdevsim/dev.c static int __nsim_dev_port_add(struct nsim_dev *nsim_dev,
nsim_dev          764 drivers/net/netdevsim/dev.c 			       nsim_dev->switch_id.id,
nsim_dev          765 drivers/net/netdevsim/dev.c 			       nsim_dev->switch_id.id_len);
nsim_dev          766 drivers/net/netdevsim/dev.c 	err = devlink_port_register(priv_to_devlink(nsim_dev), devlink_port,
nsim_dev          771 drivers/net/netdevsim/dev.c 	err = nsim_dev_port_debugfs_init(nsim_dev, nsim_dev_port);
nsim_dev          775 drivers/net/netdevsim/dev.c 	nsim_dev_port->ns = nsim_create(nsim_dev, nsim_dev_port);
nsim_dev          782 drivers/net/netdevsim/dev.c 	list_add(&nsim_dev_port->list, &nsim_dev->port_list);
nsim_dev          807 drivers/net/netdevsim/dev.c static void nsim_dev_port_del_all(struct nsim_dev *nsim_dev)
nsim_dev          811 drivers/net/netdevsim/dev.c 	mutex_lock(&nsim_dev->port_list_lock);
nsim_dev          813 drivers/net/netdevsim/dev.c 				 &nsim_dev->port_list, list)
nsim_dev          815 drivers/net/netdevsim/dev.c 	mutex_unlock(&nsim_dev->port_list_lock);
nsim_dev          820 drivers/net/netdevsim/dev.c 	struct nsim_dev *nsim_dev;
nsim_dev          824 drivers/net/netdevsim/dev.c 	nsim_dev = nsim_dev_create(nsim_bus_dev, nsim_bus_dev->port_count);
nsim_dev          825 drivers/net/netdevsim/dev.c 	if (IS_ERR(nsim_dev))
nsim_dev          826 drivers/net/netdevsim/dev.c 		return PTR_ERR(nsim_dev);
nsim_dev          827 drivers/net/netdevsim/dev.c 	dev_set_drvdata(&nsim_bus_dev->dev, nsim_dev);
nsim_dev          829 drivers/net/netdevsim/dev.c 	mutex_lock(&nsim_dev->port_list_lock);
nsim_dev          831 drivers/net/netdevsim/dev.c 		err = __nsim_dev_port_add(nsim_dev, i);
nsim_dev          835 drivers/net/netdevsim/dev.c 	mutex_unlock(&nsim_dev->port_list_lock);
nsim_dev          839 drivers/net/netdevsim/dev.c 	mutex_unlock(&nsim_dev->port_list_lock);
nsim_dev          840 drivers/net/netdevsim/dev.c 	nsim_dev_port_del_all(nsim_dev);
nsim_dev          841 drivers/net/netdevsim/dev.c 	nsim_dev_destroy(nsim_dev);
nsim_dev          847 drivers/net/netdevsim/dev.c 	struct nsim_dev *nsim_dev = dev_get_drvdata(&nsim_bus_dev->dev);
nsim_dev          849 drivers/net/netdevsim/dev.c 	nsim_dev_port_del_all(nsim_dev);
nsim_dev          850 drivers/net/netdevsim/dev.c 	nsim_dev_destroy(nsim_dev);
nsim_dev          854 drivers/net/netdevsim/dev.c __nsim_dev_port_lookup(struct nsim_dev *nsim_dev, unsigned int port_index)
nsim_dev          858 drivers/net/netdevsim/dev.c 	list_for_each_entry(nsim_dev_port, &nsim_dev->port_list, list)
nsim_dev          867 drivers/net/netdevsim/dev.c 	struct nsim_dev *nsim_dev = dev_get_drvdata(&nsim_bus_dev->dev);
nsim_dev          870 drivers/net/netdevsim/dev.c 	mutex_lock(&nsim_dev->port_list_lock);
nsim_dev          871 drivers/net/netdevsim/dev.c 	if (__nsim_dev_port_lookup(nsim_dev, port_index))
nsim_dev          874 drivers/net/netdevsim/dev.c 		err = __nsim_dev_port_add(nsim_dev, port_index);
nsim_dev          875 drivers/net/netdevsim/dev.c 	mutex_unlock(&nsim_dev->port_list_lock);
nsim_dev          882 drivers/net/netdevsim/dev.c 	struct nsim_dev *nsim_dev = dev_get_drvdata(&nsim_bus_dev->dev);
nsim_dev          886 drivers/net/netdevsim/dev.c 	mutex_lock(&nsim_dev->port_list_lock);
nsim_dev          887 drivers/net/netdevsim/dev.c 	nsim_dev_port = __nsim_dev_port_lookup(nsim_dev, port_index);
nsim_dev          892 drivers/net/netdevsim/dev.c 	mutex_unlock(&nsim_dev->port_list_lock);
nsim_dev          283 drivers/net/netdevsim/netdev.c nsim_create(struct nsim_dev *nsim_dev, struct nsim_dev_port *nsim_dev_port)
nsim_dev          295 drivers/net/netdevsim/netdev.c 	ns->nsim_dev = nsim_dev;
nsim_dev          297 drivers/net/netdevsim/netdev.c 	ns->nsim_bus_dev = nsim_dev->nsim_bus_dev;
nsim_dev           53 drivers/net/netdevsim/netdevsim.h 	struct nsim_dev *nsim_dev;
nsim_dev           78 drivers/net/netdevsim/netdevsim.h nsim_create(struct nsim_dev *nsim_dev, struct nsim_dev_port *nsim_dev_port);
nsim_dev           82 drivers/net/netdevsim/netdevsim.h int nsim_bpf_dev_init(struct nsim_dev *nsim_dev);
nsim_dev           83 drivers/net/netdevsim/netdevsim.h void nsim_bpf_dev_exit(struct nsim_dev *nsim_dev);
nsim_dev           92 drivers/net/netdevsim/netdevsim.h static inline int nsim_bpf_dev_init(struct nsim_dev *nsim_dev)
nsim_dev           97 drivers/net/netdevsim/netdevsim.h static inline void nsim_bpf_dev_exit(struct nsim_dev *nsim_dev)