/kernel/linux/linux-6.6/drivers/vfio/pci/pds/ |
H A D | vfio_dev.c | 11 struct pci_dev *pds_vfio_to_pci_dev(struct pds_vfio_pci_device *pds_vfio) in pds_vfio_to_pci_dev() argument 13 return pds_vfio->vfio_coredev.pdev; in pds_vfio_to_pci_dev() 16 struct device *pds_vfio_to_dev(struct pds_vfio_pci_device *pds_vfio) in pds_vfio_to_dev() argument 18 return &pds_vfio_to_pci_dev(pds_vfio)->dev; in pds_vfio_to_dev() 29 void pds_vfio_state_mutex_unlock(struct pds_vfio_pci_device *pds_vfio) in pds_vfio_state_mutex_unlock() argument 32 mutex_lock(&pds_vfio->reset_mutex); in pds_vfio_state_mutex_unlock() 33 if (pds_vfio->deferred_reset) { in pds_vfio_state_mutex_unlock() 34 pds_vfio->deferred_reset = false; in pds_vfio_state_mutex_unlock() 35 pds_vfio_put_restore_file(pds_vfio); in pds_vfio_state_mutex_unlock() 36 pds_vfio_put_save_file(pds_vfio); in pds_vfio_state_mutex_unlock() 49 pds_vfio_reset(struct pds_vfio_pci_device *pds_vfio) pds_vfio_reset() argument 66 struct pds_vfio_pci_device *pds_vfio = pds_vfio_set_device_state() local 111 struct pds_vfio_pci_device *pds_vfio = pds_vfio_get_device_state() local 142 struct pds_vfio_pci_device *pds_vfio = pds_vfio_init_device() local 176 struct pds_vfio_pci_device *pds_vfio = pds_vfio_release_device() local 187 struct pds_vfio_pci_device *pds_vfio = pds_vfio_open_device() local 206 struct pds_vfio_pci_device *pds_vfio = pds_vfio_close_device() local [all...] |
H A D | pci_drv.c | 22 static void pds_vfio_recovery(struct pds_vfio_pci_device *pds_vfio) in pds_vfio_recovery() argument 40 mutex_lock(&pds_vfio->state_mutex); in pds_vfio_recovery() 41 if ((pds_vfio->state != VFIO_DEVICE_STATE_RUNNING && in pds_vfio_recovery() 42 pds_vfio->state != VFIO_DEVICE_STATE_ERROR) || in pds_vfio_recovery() 43 (pds_vfio->state == VFIO_DEVICE_STATE_RUNNING && in pds_vfio_recovery() 44 pds_vfio_dirty_is_enabled(pds_vfio))) in pds_vfio_recovery() 46 mutex_unlock(&pds_vfio->state_mutex); in pds_vfio_recovery() 58 mutex_lock(&pds_vfio->reset_mutex); in pds_vfio_recovery() 59 pds_vfio->deferred_reset = true; in pds_vfio_recovery() 60 pds_vfio in pds_vfio_recovery() 68 struct pds_vfio_pci_device *pds_vfio = pds_vfio_pci_notify_handler() local 98 pds_vfio_pci_register_event_handler(struct pds_vfio_pci_device *pds_vfio) pds_vfio_pci_register_event_handler() argument 121 pds_vfio_pci_unregister_event_handler(struct pds_vfio_pci_device *pds_vfio) pds_vfio_pci_unregister_event_handler() argument 132 struct pds_vfio_pci_device *pds_vfio; pds_vfio_pci_probe() local 170 struct pds_vfio_pci_device *pds_vfio = pds_vfio_pci_drvdata(pdev); pds_vfio_pci_remove() local 186 struct pds_vfio_pci_device *pds_vfio = pds_vfio_pci_drvdata(pdev); pds_vfio_pci_aer_reset_done() local [all...] |
H A D | dirty.c | 18 bool pds_vfio_dirty_is_enabled(struct pds_vfio_pci_device *pds_vfio) in pds_vfio_dirty_is_enabled() argument 20 return pds_vfio->dirty.is_enabled; in pds_vfio_dirty_is_enabled() 23 void pds_vfio_dirty_set_enabled(struct pds_vfio_pci_device *pds_vfio) in pds_vfio_dirty_set_enabled() argument 25 pds_vfio->dirty.is_enabled = true; in pds_vfio_dirty_set_enabled() 28 void pds_vfio_dirty_set_disabled(struct pds_vfio_pci_device *pds_vfio) in pds_vfio_dirty_set_disabled() argument 30 pds_vfio->dirty.is_enabled = false; in pds_vfio_dirty_set_disabled() 34 pds_vfio_print_guest_region_info(struct pds_vfio_pci_device *pds_vfio, in pds_vfio_print_guest_region_info() argument 38 struct pci_dev *pdev = pds_vfio->vfio_coredev.pdev; in pds_vfio_print_guest_region_info() 56 err = pds_vfio_dirty_status_cmd(pds_vfio, regions_dma, &max_regions, in pds_vfio_print_guest_region_info() 102 static void __pds_vfio_dirty_free_sgl(struct pds_vfio_pci_device *pds_vfio, in __pds_vfio_dirty_free_sgl() argument 118 pds_vfio_dirty_free_sgl(struct pds_vfio_pci_device *pds_vfio) pds_vfio_dirty_free_sgl() argument 126 __pds_vfio_dirty_alloc_sgl(struct pds_vfio_pci_device *pds_vfio, struct pds_vfio_bmp_info *bmp_info, u32 page_count) __pds_vfio_dirty_alloc_sgl() argument 157 pds_vfio_dirty_alloc_sgl(struct pds_vfio_pci_device *pds_vfio, u32 page_count) pds_vfio_dirty_alloc_sgl() argument 178 pds_vfio_dirty_enable(struct pds_vfio_pci_device *pds_vfio, struct rb_root_cached *ranges, u32 nnodes, u64 *page_size) pds_vfio_dirty_enable() argument 309 pds_vfio_dirty_disable(struct pds_vfio_pci_device *pds_vfio, bool send_cmd) pds_vfio_dirty_disable() argument 323 pds_vfio_dirty_seq_ack(struct pds_vfio_pci_device *pds_vfio, struct pds_vfio_bmp_info *bmp_info, u32 offset, u32 bmp_bytes, bool read_seq) pds_vfio_dirty_seq_ack() argument 405 pds_vfio_dirty_write_ack(struct pds_vfio_pci_device *pds_vfio, u32 offset, u32 len) pds_vfio_dirty_write_ack() argument 412 pds_vfio_dirty_read_seq(struct pds_vfio_pci_device *pds_vfio, u32 offset, u32 len) pds_vfio_dirty_read_seq() argument 419 pds_vfio_dirty_process_bitmaps(struct pds_vfio_pci_device *pds_vfio, struct iova_bitmap *dirty_bitmap, u32 bmp_offset, u32 len_bytes) pds_vfio_dirty_process_bitmaps() argument 454 pds_vfio_dirty_sync(struct pds_vfio_pci_device *pds_vfio, struct iova_bitmap *dirty_bitmap, unsigned long iova, unsigned long length) pds_vfio_dirty_sync() argument 524 struct pds_vfio_pci_device *pds_vfio = pds_vfio_dma_logging_report() local 540 struct pds_vfio_pci_device *pds_vfio = pds_vfio_dma_logging_start() local 555 struct pds_vfio_pci_device *pds_vfio = pds_vfio_dma_logging_stop() local [all...] |
H A D | cmds.c | 18 static int pds_vfio_client_adminq_cmd(struct pds_vfio_pci_device *pds_vfio, in pds_vfio_client_adminq_cmd() argument 23 struct pci_dev *pdev = pds_vfio_to_pci_dev(pds_vfio); in pds_vfio_client_adminq_cmd() 30 cmd.client_request.client_id = cpu_to_le16(pds_vfio->client_id); in pds_vfio_client_adminq_cmd() 40 dev_err(pds_vfio_to_dev(pds_vfio), in pds_vfio_client_adminq_cmd() 46 int pds_vfio_register_client_cmd(struct pds_vfio_pci_device *pds_vfio) in pds_vfio_register_client_cmd() argument 48 struct pci_dev *pdev = pds_vfio_to_pci_dev(pds_vfio); in pds_vfio_register_client_cmd() 65 pds_vfio->client_id = ci; in pds_vfio_register_client_cmd() 70 void pds_vfio_unregister_client_cmd(struct pds_vfio_pci_device *pds_vfio) in pds_vfio_unregister_client_cmd() argument 72 struct pci_dev *pdev = pds_vfio_to_pci_dev(pds_vfio); in pds_vfio_unregister_client_cmd() 80 err = pds_client_unregister(pdsc, pds_vfio in pds_vfio_unregister_client_cmd() 89 pds_vfio_suspend_wait_device_cmd(struct pds_vfio_pci_device *pds_vfio, u8 type) pds_vfio_suspend_wait_device_cmd() argument 129 pds_vfio_suspend_device_cmd(struct pds_vfio_pci_device *pds_vfio, u8 type) pds_vfio_suspend_device_cmd() argument 163 pds_vfio_resume_device_cmd(struct pds_vfio_pci_device *pds_vfio, u8 type) pds_vfio_resume_device_cmd() argument 180 pds_vfio_get_lm_state_size_cmd(struct pds_vfio_pci_device *pds_vfio, u64 *size) pds_vfio_get_lm_state_size_cmd() argument 281 pds_vfio_get_lm_state_cmd(struct pds_vfio_pci_device *pds_vfio) pds_vfio_get_lm_state_cmd() argument 319 pds_vfio_set_lm_state_cmd(struct pds_vfio_pci_device *pds_vfio) pds_vfio_set_lm_state_cmd() argument 358 pds_vfio_send_host_vf_lm_status_cmd(struct pds_vfio_pci_device *pds_vfio, enum pds_lm_host_vf_status vf_status) pds_vfio_send_host_vf_lm_status_cmd() argument 387 pds_vfio_dirty_status_cmd(struct pds_vfio_pci_device *pds_vfio, u64 regions_dma, u8 *max_regions, u8 *num_regions) pds_vfio_dirty_status_cmd() argument 428 pds_vfio_dirty_enable_cmd(struct pds_vfio_pci_device *pds_vfio, u64 regions_dma, u8 num_regions) pds_vfio_dirty_enable_cmd() argument 454 pds_vfio_dirty_disable_cmd(struct pds_vfio_pci_device *pds_vfio) pds_vfio_dirty_disable_cmd() argument 479 pds_vfio_dirty_seq_ack_cmd(struct pds_vfio_pci_device *pds_vfio, u64 sgl_dma, u16 num_sge, u32 offset, u32 total_len, bool read_seq) pds_vfio_dirty_seq_ack_cmd() argument [all...] |
H A D | cmds.h | 7 int pds_vfio_register_client_cmd(struct pds_vfio_pci_device *pds_vfio); 8 void pds_vfio_unregister_client_cmd(struct pds_vfio_pci_device *pds_vfio); 9 int pds_vfio_suspend_device_cmd(struct pds_vfio_pci_device *pds_vfio, u8 type); 10 int pds_vfio_resume_device_cmd(struct pds_vfio_pci_device *pds_vfio, u8 type); 11 int pds_vfio_get_lm_state_size_cmd(struct pds_vfio_pci_device *pds_vfio, u64 *size); 12 int pds_vfio_get_lm_state_cmd(struct pds_vfio_pci_device *pds_vfio); 13 int pds_vfio_set_lm_state_cmd(struct pds_vfio_pci_device *pds_vfio); 14 void pds_vfio_send_host_vf_lm_status_cmd(struct pds_vfio_pci_device *pds_vfio, 16 int pds_vfio_dirty_status_cmd(struct pds_vfio_pci_device *pds_vfio, 19 int pds_vfio_dirty_enable_cmd(struct pds_vfio_pci_device *pds_vfio, [all...] |
H A D | lm.c | 112 void pds_vfio_put_save_file(struct pds_vfio_pci_device *pds_vfio) in pds_vfio_put_save_file() argument 114 if (!pds_vfio->save_file) in pds_vfio_put_save_file() 117 pds_vfio_put_lm_file(pds_vfio->save_file); in pds_vfio_put_save_file() 118 pds_vfio->save_file = NULL; in pds_vfio_put_save_file() 121 void pds_vfio_put_restore_file(struct pds_vfio_pci_device *pds_vfio) in pds_vfio_put_restore_file() argument 123 if (!pds_vfio->restore_file) in pds_vfio_put_restore_file() 126 pds_vfio_put_lm_file(pds_vfio->restore_file); in pds_vfio_put_restore_file() 127 pds_vfio->restore_file = NULL; in pds_vfio_put_restore_file() 233 static int pds_vfio_get_save_file(struct pds_vfio_pci_device *pds_vfio) in pds_vfio_get_save_file() argument 235 struct device *dev = &pds_vfio in pds_vfio_get_save_file() 327 pds_vfio_get_restore_file(struct pds_vfio_pci_device *pds_vfio) pds_vfio_get_restore_file() argument 352 pds_vfio_step_device_state_locked(struct pds_vfio_pci_device *pds_vfio, enum vfio_device_mig_state next) pds_vfio_step_device_state_locked() argument [all...] |
H A D | dirty.h | 26 bool pds_vfio_dirty_is_enabled(struct pds_vfio_pci_device *pds_vfio); 27 void pds_vfio_dirty_set_enabled(struct pds_vfio_pci_device *pds_vfio); 28 void pds_vfio_dirty_set_disabled(struct pds_vfio_pci_device *pds_vfio); 29 void pds_vfio_dirty_disable(struct pds_vfio_pci_device *pds_vfio,
|
H A D | vfio_dev.h | 30 void pds_vfio_state_mutex_unlock(struct pds_vfio_pci_device *pds_vfio); 34 void pds_vfio_reset(struct pds_vfio_pci_device *pds_vfio); 36 struct pci_dev *pds_vfio_to_pci_dev(struct pds_vfio_pci_device *pds_vfio); 37 struct device *pds_vfio_to_dev(struct pds_vfio_pci_device *pds_vfio);
|
H A D | lm.h | 35 pds_vfio_step_device_state_locked(struct pds_vfio_pci_device *pds_vfio, 38 void pds_vfio_put_save_file(struct pds_vfio_pci_device *pds_vfio); 39 void pds_vfio_put_restore_file(struct pds_vfio_pci_device *pds_vfio);
|