| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_gt_sriov_pf_migration.c | 32 static struct xe_gt_sriov_migration_data *pf_pick_gt_migration(struct xe_gt *gt, unsigned int vfid) in pf_pick_gt_migration() argument 35 xe_gt_assert(gt, vfid != PFID); in pf_pick_gt_migration() 36 xe_gt_assert(gt, vfid <= xe_sriov_pf_get_totalvfs(gt_to_xe(gt))); in pf_pick_gt_migration() 38 return >->sriov.pf.vfs[vfid].migration; in pf_pick_gt_migration() 41 static void pf_dump_mig_data(struct xe_gt *gt, unsigned int vfid, in pf_dump_mig_data() argument 48 drm_printf(&p, "VF%u %s (%llu bytes)\n", vfid, what, data->hdr.size); in pf_dump_mig_data() 54 static ssize_t pf_migration_ggtt_size(struct xe_gt *gt, unsigned int vfid) in pf_migration_ggtt_size() argument 59 return xe_gt_sriov_pf_config_ggtt_save(gt, vfid, NULL, 0); in pf_migration_ggtt_size() 62 static int pf_save_vf_ggtt_mig_data(struct xe_gt *gt, unsigned int vfid) in pf_save_vf_ggtt_mig_data() argument 68 size = pf_migration_ggtt_size(gt, vfid); in pf_save_vf_ggtt_mig_data() [all …]
|
| H A D | xe_gt_sriov_pf_config.c | 46 static int guc_action_update_vf_cfg(struct xe_guc *guc, u32 vfid, in guc_action_update_vf_cfg() argument 51 vfid, in guc_action_update_vf_cfg() 63 static int pf_send_vf_cfg_reset(struct xe_gt *gt, u32 vfid) in pf_send_vf_cfg_reset() argument 68 ret = guc_action_update_vf_cfg(guc, vfid, 0, 0); in pf_send_vf_cfg_reset() 77 static int pf_send_vf_buf_klvs(struct xe_gt *gt, u32 vfid, struct xe_guc_buf buf, u32 num_dwords) in pf_send_vf_buf_klvs() argument 81 return guc_action_update_vf_cfg(guc, vfid, xe_guc_buf_flush(buf), num_dwords); in pf_send_vf_buf_klvs() 88 static int pf_push_vf_buf_klvs(struct xe_gt *gt, unsigned int vfid, u32 num_klvs, in pf_push_vf_buf_klvs() argument 93 ret = pf_send_vf_buf_klvs(gt, vfid, buf, num_dwords); in pf_push_vf_buf_klvs() 102 xe_sriov_function_name(vfid, name, sizeof(name)), in pf_push_vf_buf_klvs() 114 xe_sriov_function_name(vfid, name, sizeof(name)), in pf_push_vf_buf_klvs() [all …]
|
| 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_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_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_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 | 918 static u64 xe_encode_vfid_pte(u16 vfid) in xe_encode_vfid_pte() argument 920 return FIELD_PREP(GGTT_PTE_VFID, vfid) | XE_PAGE_PRESENT; in xe_encode_vfid_pte() 923 static void xe_ggtt_assign_locked(struct xe_ggtt *ggtt, const struct drm_mm_node *node, u16 vfid) in xe_ggtt_assign_locked() argument 928 u64 pte = xe_encode_vfid_pte(vfid); in xe_ggtt_assign_locked() 952 void xe_ggtt_assign(const struct xe_ggtt_node *node, u16 vfid) in xe_ggtt_assign() argument 955 xe_ggtt_assign_locked(node->ggtt, &node->base, vfid); in xe_ggtt_assign() 968 int xe_ggtt_node_save(struct xe_ggtt_node *node, void *dst, size_t size, u16 vfid) in xe_ggtt_node_save() argument 989 if (vfid != u64_get_bits(pte, GGTT_PTE_VFID)) in xe_ggtt_node_save() 1008 int xe_ggtt_node_load(struct xe_ggtt_node *node, const void *src, size_t size, u16 vfid) in xe_ggtt_node_load() argument 1010 u64 vfid_pte = xe_encode_vfid_pte(vfid); in xe_ggtt_node_load() [all …]
|
| H A D | xe_gt_sriov_pf_monitor.h | 15 void xe_gt_sriov_pf_monitor_flr(struct xe_gt *gt, u32 vfid);
|
| /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 …]
|
| H A D | qed_cxt.c | 1798 enum protocol_type type, u32 *p_cid, u8 vfid) in _qed_cxt_acquire_cid() argument 1809 if (vfid >= MAX_NUM_VFS && vfid != QED_CXT_PF_CID) { in _qed_cxt_acquire_cid() 1810 DP_NOTICE(p_hwfn, "VF [%02x] is out of range\n", vfid); in _qed_cxt_acquire_cid() 1815 if (vfid == QED_CXT_PF_CID) in _qed_cxt_acquire_cid() 1818 p_map = &p_mngr->acquired_vf[type][vfid]; in _qed_cxt_acquire_cid() 1838 *p_cid, rel_cid, vfid, type); in _qed_cxt_acquire_cid() 1851 u8 vfid, in qed_cxt_test_cid_acquired() argument 1860 if (vfid == QED_CXT_PF_CID) in qed_cxt_test_cid_acquired() 1863 *pp_map = &p_mngr->acquired_vf[*p_type][vfid]; in qed_cxt_test_cid_acquired() 1873 DP_NOTICE(p_hwfn, "Invalid CID %d vfid %02x", cid, vfid); in qed_cxt_test_cid_acquired() [all …]
|
| H A D | qed_cxt.h | 191 void _qed_cxt_release_cid(struct qed_hwfn *p_hwfn, u32 cid, u8 vfid); 217 enum protocol_type type, u32 *p_cid, u8 vfid);
|
| /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 | 503 intr, cptvf->vfid); in cptvf_misc_intr_handler() 512 intr, cptvf->vfid); in cptvf_misc_intr_handler() 517 intr, cptvf->vfid); in cptvf_misc_intr_handler() 522 intr, cptvf->vfid); in cptvf_misc_intr_handler() 527 intr, cptvf->vfid); in cptvf_misc_intr_handler() 530 cptvf->vfid); in cptvf_misc_intr_handler() 585 cptvf->vfid); in cptvf_done_intr_handler() 603 cptvf->vfid); in cptvf_set_irq_affinity() 607 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 | 524 intr, cptvf->vfid); in cptvf_misc_intr_handler() 532 intr, cptvf->vfid); in cptvf_misc_intr_handler() 536 intr, cptvf->vfid); in cptvf_misc_intr_handler() 540 intr, cptvf->vfid); in cptvf_misc_intr_handler() 544 intr, cptvf->vfid); in cptvf_misc_intr_handler() 547 cptvf->vfid); in cptvf_misc_intr_handler() 602 cptvf->vfid); in cptvf_done_intr_handler() 619 cptvf->vfid); in cptvf_set_irq_affinity() 623 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/net/ethernet/broadcom/bnx2x/ |
| H A D | bnx2x_sriov.c | 1037 static int bnx2x_vf_domain(struct bnx2x *bp, int vfid) in bnx2x_vf_domain() argument 1044 static int bnx2x_vf_bus(struct bnx2x *bp, int vfid) in bnx2x_vf_bus() argument 1050 iov->stride * vfid) >> 8); in bnx2x_vf_bus() 1053 static int bnx2x_vf_devfn(struct bnx2x *bp, int vfid) in bnx2x_vf_devfn() argument 1058 return (dev->devfn + iov->offset + iov->stride * vfid) & 0xff; in bnx2x_vf_devfn() 1531 int vfid; in bnx2x_iov_link_update() local 1536 for_each_vf(bp, vfid) in bnx2x_iov_link_update() 1537 bnx2x_iov_link_update_vf(bp, vfid); in bnx2x_iov_link_update() 1543 int vfid; in bnx2x_iov_nic_init() local 1556 for_each_vf(bp, vfid) { in bnx2x_iov_nic_init() [all …]
|