| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_sriov_pf_migration.c | 19 static struct xe_sriov_migration_state *pf_pick_migration(struct xe_device *xe, unsigned int vfid) in pf_pick_migration() argument 22 xe_assert(xe, vfid <= xe_sriov_pf_get_totalvfs(xe)); in pf_pick_migration() 24 return &xe->sriov.pf.vfs[vfid].migration; in pf_pick_migration() 34 wait_queue_head_t *xe_sriov_pf_migration_waitqueue(struct xe_device *xe, unsigned int vfid) in xe_sriov_pf_migration_waitqueue() argument 36 return &pf_pick_migration(xe, vfid)->wq; in xe_sriov_pf_migration_waitqueue() 127 static bool pf_migration_data_ready(struct xe_device *xe, unsigned int vfid) in pf_migration_data_ready() argument 133 if (xe_gt_sriov_pf_control_check_save_failed(gt, vfid) || in pf_migration_data_ready() 134 xe_gt_sriov_pf_control_check_save_data_done(gt, vfid) || in pf_migration_data_ready() 135 !xe_gt_sriov_pf_migration_ring_empty(gt, vfid)) in pf_migration_data_ready() 143 pf_migration_consume(struct xe_device *xe, unsigned int vfid) in pf_migration_consume() argument [all …]
|
| H A D | xe_sriov_packet.c | 15 static struct mutex *pf_migration_mutex(struct xe_device *xe, unsigned int vfid) in pf_migration_mutex() argument 18 xe_assert(xe, vfid <= xe_sriov_pf_get_totalvfs(xe)); in pf_migration_mutex() 20 return &xe->sriov.pf.vfs[vfid].migration.lock; in pf_migration_mutex() 23 static struct xe_sriov_packet **pf_pick_pending(struct xe_device *xe, unsigned int vfid) in pf_pick_pending() argument 26 xe_assert(xe, vfid <= xe_sriov_pf_get_totalvfs(xe)); in pf_pick_pending() 27 lockdep_assert_held(pf_migration_mutex(xe, vfid)); in pf_pick_pending() 29 return &xe->sriov.pf.vfs[vfid].migration.pending; in pf_pick_pending() 33 pf_pick_descriptor(struct xe_device *xe, unsigned int vfid) in pf_pick_descriptor() argument 36 xe_assert(xe, vfid <= xe_sriov_pf_get_totalvfs(xe)); in pf_pick_descriptor() 37 lockdep_assert_held(pf_migration_mutex(xe, vfid)); in pf_pick_descriptor() [all …]
|
| H A D | xe_sriov_pf_service.c | 87 static void pf_connect(struct xe_device *xe, u32 vfid, u32 major, u32 minor) in pf_connect() argument 89 xe_sriov_pf_assert_vfid(xe, vfid); in pf_connect() 92 xe->sriov.pf.vfs[vfid].version.major = major; in pf_connect() 93 xe->sriov.pf.vfs[vfid].version.minor = minor; in pf_connect() 96 static void pf_disconnect(struct xe_device *xe, u32 vfid) in pf_disconnect() argument 98 xe_sriov_pf_assert_vfid(xe, vfid); in pf_disconnect() 100 xe->sriov.pf.vfs[vfid].version.major = 0; in pf_disconnect() 101 xe->sriov.pf.vfs[vfid].version.minor = 0; in pf_disconnect() 117 bool xe_sriov_pf_service_is_negotiated(struct xe_device *xe, u32 vfid, u32 major, u32 minor) in xe_sriov_pf_service_is_negotiated() argument 119 xe_sriov_pf_assert_vfid(xe, vfid); in xe_sriov_pf_service_is_negotiated() [all …]
|
| H A D | xe_sriov_vfio.c | 31 _type xe_sriov_vfio_##_func(struct xe_device *xe, unsigned int vfid) \ 35 if (vfid == PFID || vfid > xe_sriov_pf_num_vfs(xe)) \ 40 return xe_sriov_pf_##_impl(xe, vfid); \ 54 ssize_t xe_sriov_vfio_data_read(struct xe_device *xe, unsigned int vfid, in xe_sriov_vfio_data_read() argument 59 if (vfid == PFID || vfid > xe_sriov_pf_num_vfs(xe)) in xe_sriov_vfio_data_read() 64 return xe_sriov_pf_migration_read(xe, vfid, buf, len); in xe_sriov_vfio_data_read() 68 ssize_t xe_sriov_vfio_data_write(struct xe_device *xe, unsigned int vfid, in xe_sriov_vfio_data_write() argument 73 if (vfid == PFID || vfid > xe_sriov_pf_num_vfs(xe)) in xe_sriov_vfio_data_write() 78 return xe_sriov_pf_migration_write(xe, vfid, buf, len); in xe_sriov_vfio_data_write()
|
| H A D | xe_gt_sriov_pf_debugfs.c | 275 unsigned int vfid = extract_vfid(m->private); in sched_groups_config_show() local 281 get(gt, vfid, values, ARRAY_SIZE(values)); in sched_groups_config_show() 299 unsigned int vfid = extract_vfid(parent); in sched_groups_config_write() local 329 ret = set(gt, vfid, values, count); in sched_groups_config_write() 405 static void pf_add_sched_groups(struct xe_gt *gt, struct dentry *parent, unsigned int vfid) in pf_add_sched_groups() argument 411 xe_gt_assert(gt, vfid == extract_vfid(parent)); in pf_add_sched_groups() 433 if (vfid != PFID) in pf_add_sched_groups() 477 unsigned int vfid = extract_vfid(data); \ 486 xe_gt_sriov_pf_config_set_##CONFIG(gt, vfid, val); \ 496 unsigned int vfid = extract_vfid(data); \ [all …]
|
| H A D | xe_sriov_pf_sysfs.c | 71 unsigned int vfid; member 96 ssize_t (*show)(struct xe_device *xe, unsigned int vfid, char *buf); 97 ssize_t (*store)(struct xe_device *xe, unsigned int vfid, const char *buf, size_t count); 142 static bool sched_priority_change_allowed(unsigned int vfid) in sched_priority_change_allowed() argument 145 return vfid == PFID; in sched_priority_change_allowed() 148 static bool sched_priority_high_allowed(unsigned int vfid) in sched_priority_high_allowed() argument 151 return vfid == PFID; in sched_priority_high_allowed() 200 static ssize_t xe_sriov_vf_attr_##NAME##_show(struct xe_device *xe, unsigned int vfid, \ 206 err = xe_sriov_pf_provision_query_vf_##ITEM(xe, vfid, &value); \ 213 static ssize_t xe_sriov_vf_attr_##NAME##_store(struct xe_device *xe, unsigned int vfid, \ [all …]
|
| H A D | xe_gt_sriov_pf_monitor.c | 24 void xe_gt_sriov_pf_monitor_flr(struct xe_gt *gt, u32 vfid) in xe_gt_sriov_pf_monitor_flr() argument 29 xe_gt_sriov_pf_assert_vfid(gt, vfid); in xe_gt_sriov_pf_monitor_flr() 32 gt->sriov.pf.vfs[vfid].monitor.guc.events[e] = 0; in xe_gt_sriov_pf_monitor_flr() 35 static void pf_update_event_counter(struct xe_gt *gt, u32 vfid, in pf_update_event_counter() argument 41 gt->sriov.pf.vfs[vfid].monitor.guc.events[e]++; in pf_update_event_counter() 44 static int pf_handle_vf_threshold_event(struct xe_gt *gt, u32 vfid, u32 threshold) in pf_handle_vf_threshold_event() argument 50 xe_sriov_function_name(vfid, origin, sizeof(origin)); in pf_handle_vf_threshold_event() 60 origin, xe_gt_sriov_pf_config_get_threshold(gt, vfid, e), in pf_handle_vf_threshold_event() 63 pf_update_event_counter(gt, vfid, e); in pf_handle_vf_threshold_event() 81 u32 vfid; in xe_gt_sriov_pf_monitor_process_guc2pf() local [all …]
|
| H A D | xe_sriov_pf_migration.h | 18 int xe_sriov_pf_migration_restore_produce(struct xe_device *xe, unsigned int vfid, 21 xe_sriov_pf_migration_save_consume(struct xe_device *xe, unsigned int vfid); 22 ssize_t xe_sriov_pf_migration_size(struct xe_device *xe, unsigned int vfid); 23 wait_queue_head_t *xe_sriov_pf_migration_waitqueue(struct xe_device *xe, unsigned int vfid); 25 ssize_t xe_sriov_pf_migration_read(struct xe_device *xe, unsigned int vfid, 27 ssize_t xe_sriov_pf_migration_write(struct xe_device *xe, unsigned int vfid,
|
| H A D | xe_lmtt.c | 342 static void lmtt_drop_pages(struct xe_lmtt *lmtt, unsigned int vfid) in lmtt_drop_pages() argument 347 pt = pd->entries[vfid]; in lmtt_drop_pages() 348 pd->entries[vfid] = NULL; in lmtt_drop_pages() 352 lmtt_write_pte(lmtt, pd, LMTT_PTE_INVALID, vfid); in lmtt_drop_pages() 402 static int lmtt_alloc_range(struct xe_lmtt *lmtt, unsigned int vfid, u64 start, u64 end) in lmtt_alloc_range() argument 411 lmtt_assert(lmtt, vfid <= lmtt->ops->lmtt_pte_num(pd->level)); in lmtt_alloc_range() 415 if (pd->entries[vfid]) in lmtt_alloc_range() 426 lmtt_write_pte(lmtt, pd, pde, vfid); in lmtt_alloc_range() 428 pd->entries[vfid] = pt; in lmtt_alloc_range() 443 static struct xe_lmtt_pt *lmtt_leaf_pt(struct xe_lmtt *lmtt, unsigned int vfid, u64 addr) in lmtt_leaf_pt() argument [all …]
|
| H A D | xe_sriov_pf_service.h | 17 int xe_sriov_pf_service_handshake_vf(struct xe_device *xe, u32 vfid, 20 bool xe_sriov_pf_service_is_negotiated(struct xe_device *xe, u32 vfid, u32 major, u32 minor); 21 void xe_sriov_pf_service_reset_vf(struct xe_device *xe, unsigned int vfid);
|
| H A D | xe_lmtt.h | 19 int xe_lmtt_prepare_pages(struct xe_lmtt *lmtt, unsigned int vfid, u64 range); 20 int xe_lmtt_populate_pages(struct xe_lmtt *lmtt, unsigned int vfid, struct xe_bo *bo, u64 offset); 21 void xe_lmtt_drop_pages(struct xe_lmtt *lmtt, unsigned int vfid);
|
| H A D | xe_gt_sriov_pf_helpers.h | 23 #define xe_gt_sriov_pf_assert_vfid(gt, vfid) xe_sriov_pf_assert_vfid(gt_to_xe(gt), (vfid)) argument
|
| H A D | xe_ggtt.c | 1000 static u64 xe_encode_vfid_pte(u16 vfid) in xe_encode_vfid_pte() argument 1002 return FIELD_PREP(GGTT_PTE_VFID, vfid) | XE_PAGE_PRESENT; in xe_encode_vfid_pte() 1005 static void xe_ggtt_assign_locked(struct xe_ggtt *ggtt, const struct drm_mm_node *node, u16 vfid) in xe_ggtt_assign_locked() argument 1010 u64 pte = xe_encode_vfid_pte(vfid); in xe_ggtt_assign_locked() 1034 void xe_ggtt_assign(const struct xe_ggtt_node *node, u16 vfid) in xe_ggtt_assign() argument 1037 xe_ggtt_assign_locked(node->ggtt, &node->base, vfid); in xe_ggtt_assign() 1050 int xe_ggtt_node_save(struct xe_ggtt_node *node, void *dst, size_t size, u16 vfid) in xe_ggtt_node_save() argument 1071 if (vfid != u64_get_bits(pte, GGTT_PTE_VFID)) in xe_ggtt_node_save() 1090 int xe_ggtt_node_load(struct xe_ggtt_node *node, const void *src, size_t size, u16 vfid) in xe_ggtt_node_load() argument 1092 u64 vfid_pte = xe_encode_vfid_pte(vfid); in xe_ggtt_node_load() [all …]
|
| /linux/include/drm/intel/ |
| H A D | xe_sriov_vfio.h | 40 int xe_sriov_vfio_wait_flr_done(struct xe_device *xe, unsigned int vfid); 51 int xe_sriov_vfio_suspend_device(struct xe_device *xe, unsigned int vfid); 62 int xe_sriov_vfio_resume_device(struct xe_device *xe, unsigned int vfid); 71 int xe_sriov_vfio_stop_copy_enter(struct xe_device *xe, unsigned int vfid); 80 int xe_sriov_vfio_stop_copy_exit(struct xe_device *xe, unsigned int vfid); 89 int xe_sriov_vfio_resume_data_enter(struct xe_device *xe, unsigned int vfid); 98 int xe_sriov_vfio_resume_data_exit(struct xe_device *xe, unsigned int vfid); 109 int xe_sriov_vfio_error(struct xe_device *xe, unsigned int vfid); 121 ssize_t xe_sriov_vfio_data_read(struct xe_device *xe, unsigned int vfid, 132 ssize_t xe_sriov_vfio_data_write(struct xe_device *xe, unsigned int vfid, [all …]
|
| /linux/drivers/net/ethernet/marvell/octeon_ep/ |
| H A D | octep_ctrl_net.h | 262 int octep_ctrl_net_get_link_status(struct octep_device *oct, int vfid); 274 int octep_ctrl_net_set_link_status(struct octep_device *oct, int vfid, bool up, 287 int octep_ctrl_net_set_rx_state(struct octep_device *oct, int vfid, bool up, 299 int octep_ctrl_net_get_mac_addr(struct octep_device *oct, int vfid, u8 *addr); 311 int octep_ctrl_net_set_mac_addr(struct octep_device *oct, int vfid, u8 *addr, 322 int octep_ctrl_net_get_mtu(struct octep_device *oct, int vfid); 334 int octep_ctrl_net_set_mtu(struct octep_device *oct, int vfid, int mtu, 347 int octep_ctrl_net_get_if_stats(struct octep_device *oct, int vfid, 360 int octep_ctrl_net_get_link_info(struct octep_device *oct, int vfid, 374 int vfid, [all …]
|
| H A D | octep_ctrl_net.c | 44 u16 sz, int vfid) in init_send_req() argument 53 if (vfid != OCTEP_CTRL_NET_INVALID_VFID) { in init_send_req() 55 msg->hdr.s.vf_idx = vfid; in init_send_req() 127 int octep_ctrl_net_get_link_status(struct octep_device *oct, int vfid) in octep_ctrl_net_get_link_status() argument 133 init_send_req(&d.msg, (void *)req, state_sz, vfid); in octep_ctrl_net_get_link_status() 143 int octep_ctrl_net_set_link_status(struct octep_device *oct, int vfid, bool up, in octep_ctrl_net_set_link_status() argument 149 init_send_req(&d.msg, req, state_sz, vfid); in octep_ctrl_net_set_link_status() 158 int octep_ctrl_net_set_rx_state(struct octep_device *oct, int vfid, bool up, in octep_ctrl_net_set_rx_state() argument 164 init_send_req(&d.msg, req, state_sz, vfid); in octep_ctrl_net_set_rx_state() 173 int octep_ctrl_net_get_mac_addr(struct octep_device *oct, int vfid, u8 *addr) in octep_ctrl_net_get_mac_addr() argument [all …]
|
| /linux/include/linux/qed/ |
| H A D | qed_iov_if.h | 16 int (*set_mac) (struct qed_dev *cdev, u8 *mac, int vfid); 18 int (*set_vlan) (struct qed_dev *cdev, u16 vid, int vfid); 26 int (*set_spoof) (struct qed_dev *cdev, int vfid, bool val); 28 int (*set_rate) (struct qed_dev *cdev, int vfid, 31 int (*set_trust) (struct qed_dev *cdev, int vfid, bool trust);
|
| /linux/drivers/vfio/pci/xe/ |
| H A D | main.c | 31 unsigned int vfid; member 103 ret = xe_sriov_vfio_wait_flr_done(xe_vdev->xe, xe_vdev->vfid); in xe_vfio_pci_reset_done() 107 if (!xe_vdev->vfid) in xe_vfio_pci_reset_done() 187 ret = xe_sriov_vfio_data_read(migf->xe_vdev->xe, migf->xe_vdev->vfid, buf, len); in xe_vfio_pci_save_read() 215 ret = xe_sriov_vfio_data_write(migf->xe_vdev->xe, migf->xe_vdev->vfid, buf, len); in xe_vfio_pci_resume_write() 296 ret = xe_sriov_vfio_suspend_device(xe_vdev->xe, xe_vdev->vfid); in xe_vfio_set_state() 308 ret = xe_sriov_vfio_resume_device(xe_vdev->xe, xe_vdev->vfid); in xe_vfio_set_state() 325 ret = xe_sriov_vfio_stop_copy_enter(xe_vdev->xe, xe_vdev->vfid); in xe_vfio_set_state() 338 ret = xe_sriov_vfio_stop_copy_exit(xe_vdev->xe, xe_vdev->vfid); in xe_vfio_set_state() 355 ret = xe_sriov_vfio_resume_data_enter(xe_vdev->xe, xe_vdev->vfid); in xe_vfio_set_state() [all …]
|
| /linux/drivers/net/ethernet/qlogic/qed/ |
| H A D | qed_sriov.c | 23 static int qed_iov_bulletin_set_mac(struct qed_hwfn *p_hwfn, u8 *mac, int vfid); 306 int vfid, struct qed_ptt *p_ptt) in qed_iov_post_vf_bulletin() argument 313 p_vf = qed_iov_get_vf_info(p_hwfn, (u16)vfid, true); in qed_iov_post_vf_bulletin() 658 int vfid, bool b_fail_malicious) in _qed_iov_pf_sanity_check() argument 666 if (!qed_iov_is_valid_vfid(p_hwfn, vfid, true, b_fail_malicious)) in _qed_iov_pf_sanity_check() 672 static bool qed_iov_pf_sanity_check(struct qed_hwfn *p_hwfn, int vfid) in qed_iov_pf_sanity_check() argument 674 return _qed_iov_pf_sanity_check(p_hwfn, vfid, true); in qed_iov_pf_sanity_check() 939 u16 vfid, in qed_iov_set_link() argument 945 vfid, in qed_iov_set_link() 1332 static void qed_iov_clean_vf(struct qed_hwfn *p_hwfn, u8 vfid) in qed_iov_clean_vf() argument [all …]
|
| /linux/drivers/crypto/marvell/octeontx/ |
| H A D | otx_cptvf_mbox.c | 104 cptvf->vfid = mbx.data; in otx_cptvf_handle_mbox_intr() 105 dev_dbg(&cptvf->pdev->dev, "Received VFID %d\n", cptvf->vfid); in otx_cptvf_handle_mbox_intr() 111 cptvf->vfid, in otx_cptvf_handle_mbox_intr() 148 mbx->msg, cptvf->vfid); in cptvf_send_msg_to_pf_timeout()
|
| H A D | otx_cptvf_main.c | 504 intr, cptvf->vfid); in cptvf_misc_intr_handler() 513 intr, cptvf->vfid); in cptvf_misc_intr_handler() 518 intr, cptvf->vfid); in cptvf_misc_intr_handler() 523 intr, cptvf->vfid); in cptvf_misc_intr_handler() 528 intr, cptvf->vfid); in cptvf_misc_intr_handler() 531 cptvf->vfid); in cptvf_misc_intr_handler() 586 cptvf->vfid); in cptvf_done_intr_handler() 604 cptvf->vfid); in cptvf_set_irq_affinity() 608 cpu = cptvf->vfid % num_online_cpus(); in cptvf_set_irq_affinity()
|
| /linux/drivers/crypto/cavium/cpt/ |
| H A D | cptvf_mbox.c | 34 cptvf->vfid = mbx.data; in cptvf_handle_mbox_intr() 35 dev_dbg(&cptvf->pdev->dev, "Received VFID %d\n", cptvf->vfid); in cptvf_handle_mbox_intr() 42 cptvf->vfid, ((mbx.data == SE_TYPES) ? "SE" : "AE"), in cptvf_handle_mbox_intr() 77 (mbx->msg & 0xFF), cptvf->vfid); in cptvf_send_msg_to_pf_timeout()
|
| H A D | cptvf_main.c | 525 intr, cptvf->vfid); in cptvf_misc_intr_handler() 533 intr, cptvf->vfid); in cptvf_misc_intr_handler() 537 intr, cptvf->vfid); in cptvf_misc_intr_handler() 541 intr, cptvf->vfid); in cptvf_misc_intr_handler() 545 intr, cptvf->vfid); in cptvf_misc_intr_handler() 548 cptvf->vfid); in cptvf_misc_intr_handler() 603 cptvf->vfid); in cptvf_done_intr_handler() 620 cptvf->vfid); in cptvf_set_irq_affinity() 624 cpu = cptvf->vfid % num_online_cpus(); in cptvf_set_irq_affinity()
|
| /linux/drivers/net/ethernet/intel/ice/ |
| H A D | ice_vf_mbx.c | 22 ice_aq_send_msg_to_vf(struct ice_hw *hw, u16 vfid, u32 v_opcode, u32 v_retval, in ice_aq_send_msg_to_vf() argument 31 cmd->id = cpu_to_le32(vfid); in ice_aq_send_msg_to_vf() 225 u16 vfid = le16_to_cpu(event->desc.retval); in ice_mbx_vf_dec_trig_e830() local 227 wr32(hw, E830_MBX_VF_DEC_TRIG(vfid), 1); in ice_mbx_vf_dec_trig_e830()
|
| /linux/drivers/infiniband/hw/usnic/ |
| H A D | usnic_ib_verbs.c | 110 resp.vfid = usnic_vnic_get_index(qp_grp->vf->vnic); in usnic_ib_fill_create_qp_resp() 674 unsigned int vfid; in usnic_ib_mmap() local 681 vfid = vma->vm_pgoff; in usnic_ib_mmap() 683 vma->vm_pgoff, PAGE_SHIFT, vfid); in usnic_ib_mmap() 688 if (usnic_vnic_get_index(vf->vnic) == vfid) { in usnic_ib_mmap() 711 usnic_err("No VF %u found\n", vfid); in usnic_ib_mmap()
|