Home
last modified time | relevance | path

Searched refs:sriov (Results 1 – 25 of 48) sorted by relevance

12

/linux/drivers/net/ethernet/mellanox/mlx5/core/
H A Dsriov.c42 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 Dxe_sriov_pf_service_kunit.c33 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 Dalias_GUID.c85 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 Dcm.c156 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 Dmad.c284 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 Dsysfs.c87 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 Dxe_gt_sriov_vf.c56 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 = &gt->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(&gt->sriov.vf.migration.wq); in vf_get_ggtt_info()
[all …]
H A Dxe_sriov_pf_service.c32 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 Dxe_sriov_vf_ccs.c217 &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 Dxe_sriov_pf_sysfs.c496 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 Dxe_gt_sriov_pf_monitor.c32 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 = &gt->sriov.pf.vfs[n].monitor; in xe_gt_sriov_pf_monitor_print_events()
H A Dxe_configfs.c255 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 Dxe_sriov_pf_migration.c24 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 Dxe_sriov_packet.c20 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 Dxe_device_types.h229 } sriov; member
459 } sriov; member
H A Dxe_bb.c80 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 Dqlcnic_sriov_common.c142 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 Dqlcnic_sriov_pf.c70 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 Diov.c28 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 Dib_virt.c98 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 Deeh-functions.sh157 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 Dbnx2x_sriov.h219 #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 Dbnx2x_sriov.c1046 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 DMakefile12 sfc-$(CONFIG_SFC_SRIOV) += sriov.o ef10_sriov.o ef100_sriov.o ef100_rep.o \
/linux/Documentation/translations/zh_CN/networking/
H A Dindex.rst131 * sriov

12