| /linux/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | sriov.c | 42 struct mlx5_core_sriov *sriov = &dev->priv.sriov; in sriov_restore_guids() local 47 if (sriov->vfs_ctx[vf].node_guid || in sriov_restore_guids() 48 sriov->vfs_ctx[vf].port_guid || in sriov_restore_guids() 49 sriov->vfs_ctx[vf].policy != MLX5_POLICY_INVALID) { in sriov_restore_guids() 54 in->node_guid = sriov->vfs_ctx[vf].node_guid; in sriov_restore_guids() 55 in->port_guid = sriov->vfs_ctx[vf].port_guid; in sriov_restore_guids() 56 in->policy = sriov->vfs_ctx[vf].policy; in sriov_restore_guids() 74 struct mlx5_core_sriov *sriov = &dev->priv.sriov; in mlx5_device_enable_sriov() local 90 blocking_notifier_call_chain(&sriov->vfs_ctx[vf].notifier, in mlx5_device_enable_sriov() 106 sriov->vfs_ctx[vf].enabled = 1; in mlx5_device_enable_sriov() [all …]
|
| /linux/drivers/gpu/drm/xe/tests/ |
| H A D | xe_sriov_pf_service_kunit.c | 33 KUNIT_ASSERT_NE(test, 0, xe->sriov.pf.service.version.base.major); in pf_service_test_init() 34 KUNIT_ASSERT_NE(test, 0, xe->sriov.pf.service.version.latest.major); in pf_service_test_init() 35 KUNIT_ASSERT_LE(test, xe->sriov.pf.service.version.base.major, in pf_service_test_init() 36 xe->sriov.pf.service.version.latest.major); in pf_service_test_init() 37 if (xe->sriov.pf.service.version.base.major == xe->sriov.pf.service.version.latest.major) in pf_service_test_init() 38 KUNIT_ASSERT_LE(test, xe->sriov.pf.service.version.base.minor, in pf_service_test_init() 39 xe->sriov.pf.service.version.latest.minor); in pf_service_test_init() 52 KUNIT_ASSERT_EQ(test, major, xe->sriov.pf.service.version.latest.major); in pf_negotiate_any() 53 KUNIT_ASSERT_EQ(test, minor, xe->sriov.pf.service.version.latest.minor); in pf_negotiate_any() 63 xe->sriov.pf.service.version.base.major, in pf_negotiate_base_match() [all …]
|
| /linux/drivers/infiniband/hw/mlx4/ |
| H A D | alias_GUID.c | 85 guid_indexes = be64_to_cpu((__force __be64) dev->sriov.alias_guid. in mlx4_ib_update_cache_on_guid_change() 101 memcpy(&dev->sriov.demux[port_index].guid_cache[slave_id], in mlx4_ib_update_cache_on_guid_change() 116 return *(__be64 *)&dev->sriov.demux[port - 1].guid_cache[index]; in get_cached_alias_guid() 135 spin_lock_irqsave(&dev->sriov.alias_guid.ag_work_lock, flags); in mlx4_ib_slave_alias_guid_event() 136 if (dev->sriov.alias_guid.ports_guid[port_index].state_flags & in mlx4_ib_slave_alias_guid_event() 140 curr_guid = *(__be64 *)&dev->sriov. in mlx4_ib_slave_alias_guid_event() 153 *(__be64 *)&dev->sriov.alias_guid.ports_guid[port_index]. in mlx4_ib_slave_alias_guid_event() 156 dev->sriov.alias_guid.ports_guid[port_index]. in mlx4_ib_slave_alias_guid_event() 159 dev->sriov.alias_guid.ports_guid[port_index]. in mlx4_ib_slave_alias_guid_event() 163 dev->sriov.alias_guid.ports_guid[port_index]. in mlx4_ib_slave_alias_guid_event() [all …]
|
| H A D | cm.c | 156 struct rb_root *sl_id_map = &to_mdev(ibdev)->sriov.sl_id_map; in id_map_find_by_sl_id() 183 struct mlx4_ib_sriov *sriov = &dev->sriov; in id_map_ent_timeout() local 184 struct rb_root *sl_id_map = &sriov->sl_id_map; in id_map_ent_timeout() 186 spin_lock(&sriov->id_map_lock); in id_map_ent_timeout() 187 if (!xa_erase(&sriov->pv_id_table, ent->pv_cm_id)) in id_map_ent_timeout() 195 spin_unlock(&sriov->id_map_lock); in id_map_ent_timeout() 201 struct rb_root *sl_id_map = &to_mdev(ibdev)->sriov.sl_id_map; in sl_id_map_add() 236 struct mlx4_ib_sriov *sriov = &to_mdev(ibdev)->sriov; in id_map_alloc() local 248 ret = xa_alloc_cyclic(&sriov->pv_id_table, &ent->pv_cm_id, ent, in id_map_alloc() 249 xa_limit_32b, &sriov->pv_id_next, GFP_KERNEL); in id_map_alloc() [all …]
|
| H A D | mad.c | 284 if (!dev->sriov.is_going_down) in smp_snoop() 299 !dev->sriov.is_going_down) { in smp_snoop() 439 if (dev->sriov.demux[port - 1].guid_cache[i] == guid) in mlx4_ib_find_real_gid() 536 tun_ctx = dev->sriov.demux[port-1].tun[slave]; in mlx4_ib_send_to_slave() 758 atomic64_read(&dev->sriov.demux[port - 1].subnet_prefix))) { in mlx4_ib_demux_mad() 1082 if (mlx4_is_master(dev->dev) && !dev->sriov.is_going_down) in handle_lid_change_event() 1093 if (!dev->sriov.is_going_down) { in handle_client_rereg_event() 1094 mlx4_ib_mcg_port_cleanup(&dev->sriov.demux[port_num - 1], 0); in handle_client_rereg_event() 1220 (u64)atomic64_read(&dev->sriov.demux[port - 1].subnet_prefix), in handle_port_mgmt_change_event() 1222 atomic64_set(&dev->sriov.demux[port - 1].subnet_prefix, in handle_port_mgmt_change_event() [all …]
|
| H A D | sysfs.c | 87 spin_lock_irqsave(&mdev->sriov.alias_guid.ag_work_lock, flags); in store_admin_alias_guid() 89 *(__be64 *)&mdev->sriov.alias_guid.ports_guid[port->num - 1]. in store_admin_alias_guid() 95 mdev->sriov.alias_guid.ports_guid[port->num - 1].all_rec_per_port[record_num].status in store_admin_alias_guid() 102 mdev->sriov.alias_guid.ports_guid[port->num - 1].all_rec_per_port[record_num].guid_indexes in store_admin_alias_guid() 105 spin_unlock_irqrestore(&mdev->sriov.alias_guid.ag_work_lock, flags); in store_admin_alias_guid()
|
| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_gt_sriov_vf.c | 56 while (gt->sriov.vf.migration.debug.resfix_stoppers & wait) { in vf_post_migration_inject_wait() 60 gt->sriov.vf.migration.debug.resfix_stoppers, wait); in vf_post_migration_inject_wait() 200 struct xe_uc_fw_version *guc_version = >->sriov.vf.guc_version; in vf_handshake_with_guc() 217 gt->sriov.vf.wanted_guc_version = wanted; in vf_handshake_with_guc() 324 xe_gt_assert(gt, gt->sriov.vf.guc_version.major); in xe_gt_sriov_vf_guc_versions() 327 *wanted = gt->sriov.vf.wanted_guc_version; in xe_gt_sriov_vf_guc_versions() 330 *found = gt->sriov.vf.guc_version; in xe_gt_sriov_vf_guc_versions() 475 xe_gt_assert(gt, gt->sriov.vf.guc_version.major > 1 || gt->sriov.vf.guc_version.minor >= 2); in xe_gt_sriov_vf_gmdid() 533 WRITE_ONCE(gt->sriov.vf.migration.ggtt_need_fixes, false); in vf_get_ggtt_info() 535 wake_up_all(>->sriov.vf.migration.wq); in vf_get_ggtt_info() [all …]
|
| H A D | xe_sriov_pf_service.c | 32 xe->sriov.pf.service.version.base.major = GUC_RELAY_VERSION_BASE_MAJOR; in xe_sriov_pf_service_init() 33 xe->sriov.pf.service.version.base.minor = GUC_RELAY_VERSION_BASE_MINOR; in xe_sriov_pf_service_init() 36 xe->sriov.pf.service.version.latest.major = GUC_RELAY_VERSION_LATEST_MAJOR; in xe_sriov_pf_service_init() 37 xe->sriov.pf.service.version.latest.minor = GUC_RELAY_VERSION_LATEST_MINOR; in xe_sriov_pf_service_init() 45 struct xe_sriov_pf_service_version base = xe->sriov.pf.service.version.base; in pf_negotiate_version() 46 struct xe_sriov_pf_service_version latest = xe->sriov.pf.service.version.latest; in pf_negotiate_version() 92 xe->sriov.pf.vfs[vfid].version.major = major; in pf_connect() 93 xe->sriov.pf.vfs[vfid].version.minor = minor; in pf_connect() 100 xe->sriov.pf.vfs[vfid].version.major = 0; in pf_disconnect() 101 xe->sriov.pf.vfs[vfid].version.minor = 0; in pf_disconnect() [all …]
|
| H A D | xe_sriov_vf_ccs.c | 217 &xe->sriov.vf.ccs.contexts[ctx_id]; in xe_sriov_vf_ccs_rebase() 260 ctx = &xe->sriov.vf.ccs.contexts[ctx_id]; in xe_sriov_vf_ccs_register_context() 347 ctx = &xe->sriov.vf.ccs.contexts[ctx_id]; in xe_sriov_vf_ccs_init() 377 xe->sriov.vf.ccs.initialized = 1; in xe_sriov_vf_ccs_init() 428 ctx = &xe->sriov.vf.ccs.contexts[ctx_id]; in xe_sriov_vf_ccs_attach_bo() 482 bb_pool = xe->sriov.vf.ccs.contexts[ctx_id].mem.ccs_bb_pool; in xe_sriov_vf_ccs_print()
|
| H A D | xe_sriov_pf_sysfs.c | 496 xe_assert(xe, !xe->sriov.pf.sysfs.root); in pf_setup_root() 497 xe->sriov.pf.sysfs.root = root; in pf_setup_root() 509 root = xe->sriov.pf.sysfs.root; in pf_setup_tree() 523 xe_assert(xe, !xe->sriov.pf.vfs[n].kobj); in pf_setup_tree() 524 xe->sriov.pf.vfs[n].kobj = kobj; in pf_setup_tree() 539 struct kobject *kobj = xe->sriov.pf.vfs[PFID].kobj; in pf_link_pf_device() 609 err = sysfs_create_link(xe->sriov.pf.vfs[VFID(n)].kobj, in xe_sriov_pf_sysfs_link_vfs() 636 sysfs_remove_link(xe->sriov.pf.vfs[VFID(n)].kobj, "device"); in xe_sriov_pf_sysfs_unlink_vfs()
|
| H A D | xe_gt_sriov_pf_monitor.c | 32 gt->sriov.pf.vfs[vfid].monitor.guc.events[e] = 0; in xe_gt_sriov_pf_monitor_flr() 41 gt->sriov.pf.vfs[vfid].monitor.guc.events[e]++; in pf_update_event_counter() 127 data = >->sriov.pf.vfs[n].monitor; in xe_gt_sriov_pf_monitor_print_events()
|
| H A D | xe_configfs.c | 255 struct config_group sriov; member 266 } sriov; member 282 .sriov = { 291 config->sriov.max_vfs = xe_modparam.max_vfs; in set_device_defaults() 872 if (dev->config.sriov.max_vfs == UINT_MAX) in sriov_max_vfs_show() 875 return sprintf(page, "%u\n", dev->config.sriov.max_vfs); in sriov_max_vfs_show() 896 dev->config.sriov.max_vfs = max_vfs; in sriov_max_vfs_store() 1013 config_group_init_type_name(&dev->sriov, "sriov", &xe_config_sriov_type); in xe_config_make_device_group() 1014 configfs_add_default_group(&dev->sriov, &dev->group); in xe_config_make_device_group() 1264 max_vfs = dev->config.sriov.max_vfs; in xe_configfs_get_max_vfs()
|
| H A D | xe_sriov_pf_migration.c | 24 return &xe->sriov.pf.vfs[vfid].migration; in pf_pick_migration() 49 return IS_ENABLED(CONFIG_DRM_XE_DEBUG) || !xe->sriov.pf.migration.disabled; in xe_sriov_pf_migration_supported() 73 xe->sriov.pf.migration.disabled = true; in xe_sriov_pf_migration_disable()
|
| H A D | xe_sriov_packet.c | 20 return &xe->sriov.pf.vfs[vfid].migration.lock; in pf_migration_mutex() 29 return &xe->sriov.pf.vfs[vfid].migration.pending; in pf_pick_pending() 39 return &xe->sriov.pf.vfs[vfid].migration.descriptor; in pf_pick_descriptor() 48 return &xe->sriov.pf.vfs[vfid].migration.trailer; in pf_pick_trailer()
|
| H A D | xe_device_types.h | 229 } sriov; member 459 } sriov; member
|
| H A D | xe_bb.c | 80 bb_pool = xe->sriov.vf.ccs.contexts[ctx_id].mem.ccs_bb_pool; in xe_bb_ccs_new()
|
| /linux/drivers/net/ethernet/qlogic/qlcnic/ |
| H A D | qlcnic_sriov_common.c | 142 struct qlcnic_sriov *sriov; in qlcnic_sriov_init() local 152 sriov = kzalloc_obj(struct qlcnic_sriov); in qlcnic_sriov_init() 153 if (!sriov) in qlcnic_sriov_init() 156 adapter->ahw->sriov = sriov; in qlcnic_sriov_init() 157 sriov->num_vfs = num_vfs; in qlcnic_sriov_init() 158 bc = &sriov->bc; in qlcnic_sriov_init() 159 sriov->vf_info = kzalloc_objs(struct qlcnic_vf_info, num_vfs); in qlcnic_sriov_init() 160 if (!sriov->vf_info) { in qlcnic_sriov_init() 189 vf = &sriov->vf_info[i]; in qlcnic_sriov_init() 208 sriov->vf_info[i].vp = vp; in qlcnic_sriov_init() [all …]
|
| H A D | qlcnic_sriov_pf.c | 70 struct qlcnic_sriov *sriov = adapter->ahw->sriov; in qlcnic_sriov_pf_cal_res_limit() local 71 struct qlcnic_resources *res = &sriov->ff_max; in qlcnic_sriov_pf_cal_res_limit() 72 u16 num_macs = sriov->num_allowed_vlans + 1; in qlcnic_sriov_pf_cal_res_limit() 81 num_vfs = sriov->num_vfs; in qlcnic_sriov_pf_cal_res_limit() 103 info->max_tx_ques = res->num_tx_queues - sriov->num_vfs; in qlcnic_sriov_pf_cal_res_limit() 108 vp = sriov->vf_info[id].vp; in qlcnic_sriov_pf_cal_res_limit() 139 struct qlcnic_resources *ff_max = &adapter->ahw->sriov->ff_max; in qlcnic_sriov_pf_set_ff_max_res() 158 struct qlcnic_sriov *sriov = adapter->ahw->sriov; in qlcnic_sriov_set_vf_max_vlan() local 162 total_fn = sriov->num_vfs + 1; in qlcnic_sriov_set_vf_max_vlan() 165 sriov->num_allowed_vlans = temp - 1; in qlcnic_sriov_set_vf_max_vlan() [all …]
|
| /linux/drivers/pci/ |
| H A D | iov.c | 28 return dev->bus->number + ((dev->devfn + dev->sriov->offset + in pci_iov_virtfn_bus() 29 dev->sriov->stride * vf_id) >> 8); in pci_iov_virtfn_bus() 36 return (dev->devfn + dev->sriov->offset + in pci_iov_virtfn_devfn() 37 dev->sriov->stride * vf_id) & 0xff; in pci_iov_virtfn_devfn() 49 return (pci_dev_id(dev) - (pci_dev_id(pf) + pf->sriov->offset)) / in pci_iov_vf_id() 50 pf->sriov->stride; in pci_iov_vf_id() 91 struct pci_sriov *iov = dev->sriov; in pci_iov_set_numvfs() 107 struct pci_sriov *iov = dev->sriov; in compute_max_vf_buses() 158 return dev->sriov->barsz[pci_resource_num_to_vf_bar(resno)]; in pci_iov_resource_size() 170 dev->sriov->barsz[resno] = pci_rebar_size_to_bytes(size); in pci_iov_resource_set_size() [all …]
|
| /linux/drivers/infiniband/hw/mlx5/ |
| H A D | ib_virt.c | 98 struct mlx5_vf_context *vfs_ctx = mdev->priv.sriov.vfs_ctx; in mlx5_ib_set_vf_link_state() 157 struct mlx5_vf_context *vfs_ctx = mdev->priv.sriov.vfs_ctx; in set_vf_node_guid() 181 struct mlx5_vf_context *vfs_ctx = mdev->priv.sriov.vfs_ctx; in set_vf_port_guid() 216 struct mlx5_vf_context *vfs_ctx = mdev->priv.sriov.vfs_ctx; in mlx5_ib_get_vf_guid()
|
| /linux/tools/testing/selftests/powerpc/eeh/ |
| H A D | eeh-functions.sh | 157 if [ ! -f /proc/device-tree/rtas/ibm,open-sriov-allow-unfreeze ] || 158 [ ! -f /proc/device-tree/rtas/ibm,open-sriov-map-pe-number ] ; then
|
| /linux/drivers/net/ethernet/broadcom/bnx2x/ |
| H A D | bnx2x_sriov.h | 219 #define BNX2X_NR_VIRTFN(bp) ((bp)->vfdb->sriov.nr_virtfn) 241 #define GET_NUM_VFS_PER_PF(bp) ((bp)->vfdb ? (bp)->vfdb->sriov.total \ 333 struct bnx2x_sriov sriov; member 541 return bp->vfdb->sriov.nr_virtfn * BNX2X_CIDS_PER_VF; in bnx2x_vf_headroom()
|
| H A D | bnx2x_sriov.c | 1046 struct bnx2x_sriov *iov = &bp->vfdb->sriov; in bnx2x_vf_bus() 1055 struct bnx2x_sriov *iov = &bp->vfdb->sriov; in bnx2x_vf_devfn() 1064 struct bnx2x_sriov *iov = &bp->vfdb->sriov; in bnx2x_vf_set_bars() 1232 iov = &(bp->vfdb->sriov); in bnx2x_iov_init_one() 1310 for (vf_idx = 0; vf_idx < bp->vfdb->sriov.total; vf_idx++) { in bnx2x_iov_remove_one() 1313 bp->vfdb->sriov.first_vf_in_pf + in bnx2x_iov_remove_one() 1316 bp->vfdb->sriov.first_vf_in_pf + vf_idx); in bnx2x_iov_remove_one() 1360 tot_size = (BP_VFDB(bp)->sriov.first_vf_in_pf + BNX2X_NR_VIRTFN(bp)) * in bnx2x_iov_alloc_mem() 1546 DP(BNX2X_MSG_IOV, "num of vfs: %d\n", (bp)->vfdb->sriov.nr_virtfn); in bnx2x_iov_nic_init() 1555 int base_vf_cid = (BP_VFDB(bp)->sriov.first_vf_in_pf + vfid) * in bnx2x_iov_nic_init() [all …]
|
| /linux/drivers/net/ethernet/sfc/ |
| H A D | Makefile | 12 sfc-$(CONFIG_SFC_SRIOV) += sriov.o ef10_sriov.o ef100_sriov.o ef100_rep.o \
|
| /linux/Documentation/translations/zh_CN/networking/ |
| H A D | index.rst | 131 * sriov
|