| /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/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 …]
|
| H A D | qlcnic_sriov.h | 266 static inline void qlcnic_sriov_pf_handle_flr(struct qlcnic_sriov *sriov, in qlcnic_sriov_pf_handle_flr() argument
|
| /linux/drivers/gpu/drm/xe/ |
| 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 | 221 &xe->sriov.vf.ccs.contexts[ctx_id]; in xe_sriov_vf_ccs_rebase() 264 ctx = &xe->sriov.vf.ccs.contexts[ctx_id]; in xe_sriov_vf_ccs_register_context() 351 ctx = &xe->sriov.vf.ccs.contexts[ctx_id]; in xe_sriov_vf_ccs_init() 381 xe->sriov.vf.ccs.initialized = 1; in xe_sriov_vf_ccs_init() 432 ctx = &xe->sriov.vf.ccs.contexts[ctx_id]; in xe_sriov_vf_ccs_attach_bo() 486 bb_pool = xe->sriov.vf.ccs.contexts[ctx_id].mem.ccs_bb_pool; in xe_sriov_vf_ccs_print()
|
| H A D | xe_configfs.c | 256 struct config_group sriov; member 268 } sriov; member 284 .sriov = { 294 config->sriov.max_vfs = xe_modparam.max_vfs; in set_device_defaults() 875 if (dev->config.sriov.max_vfs == UINT_MAX) in sriov_max_vfs_show() 878 return sprintf(page, "%u\n", dev->config.sriov.max_vfs); in sriov_max_vfs_show() 899 dev->config.sriov.max_vfs = max_vfs; in sriov_max_vfs_store() 909 return sprintf(page, "%s\n", str_yes_no(dev->config.sriov.admin_only_pf)); in sriov_admin_only_pf_show() 927 dev->config.sriov.admin_only_pf = admin_only_pf; in sriov_admin_only_pf_store() 1048 config_group_init_type_name(&dev->sriov, "sriov", &xe_config_sriov_type); in xe_config_make_device_group() [all …]
|
| 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_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_gt.c | 582 xe_lmtt_init(>_to_tile(gt)->sriov.pf.lmtt); in gt_init_with_gt_forcewake() 687 xe_lmtt_init_hw(>_to_tile(gt)->sriov.pf.lmtt); in gt_init_with_all_forcewake() 885 xe_lmtt_init_hw(>_to_tile(gt)->sriov.pf.lmtt); in do_gt_restart()
|
| /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/networking/ |
| H A D | index.rst | 113 sriov
|
| /linux/Documentation/translations/zh_CN/networking/ |
| H A D | index.rst | 130 * sriov
|
| /linux/drivers/net/ethernet/sfc/siena/ |
| H A D | siena_sriov.c | 1244 unsigned index, devfn, sriov, buftbl_base; in efx_siena_sriov_vfs_init() local 1249 sriov = pci_find_ext_capability(pci_dev, PCI_EXT_CAP_ID_SRIOV); in efx_siena_sriov_vfs_init() 1250 if (!sriov) in efx_siena_sriov_vfs_init() 1253 pci_read_config_word(pci_dev, sriov + PCI_SRIOV_VF_OFFSET, &offset); in efx_siena_sriov_vfs_init() 1254 pci_read_config_word(pci_dev, sriov + PCI_SRIOV_VF_STRIDE, &stride); in efx_siena_sriov_vfs_init()
|