Lines Matching +full:re +full:- +full:started

1 // SPDX-License-Identifier: MIT
3 * Copyright © 2023-2024 Intel Corporation
21 * SR-IOV. All major VM Management applications allow saving and restoring
31 * Reset of said VF (or after it was freshly created - in that case FLR
52 * the MIGRATED interrupt and schedules post-migration recovery worker.
54 * and applies fixups to any non-virtualized resources used by the VF.
64 * [ ]---------------------------> [ ] |
66 * [ ] [ ]------- VF_READY_PAUSED |
68 * [ ] [ ] <----- |
70 * [ ] <---------------------------[ ] |
73 * [ ]------- saved image supplied | |
75 * [ ] <----- | |
78 * [ ]---------------------------> [ ] |
80 * [ ] [ ]------- state from image |
82 * [ ] [ ] <----- |
85 * [ ] [ ]------- VF_RESFIX_PAUSED |
87 * [ ] success [ ] <----- |
88 * [ ] <---------------------------[ ] |
91 * [ ]---------------------------> [ ] |
93 * [ ] [ ]------- VF_RESFIX_BLOCKED |
95 * [ ] [ ] <----- |
98 * [ ] success [ ]---------------------------> [ ]
99 * [ ] <---------------------------[ ] [ ]
101 * | [ ] <---------------------------[ ]
104 * | [ ]---------------------------> [ ]
107 * | | migration fixups -------[ ]
109 * | | -----> [ ]
112 * | [ ] <---------------------------[ ]
115 * | [ ]------- VF_RUNNING [ ]
117 * | [ ] <----- [ ]
119 * | [ ]---------------------------> [ ]
127 * xe_sriov_vf_init_early - Initialize SR-IOV VF specific data.
132 INIT_WORK(&xe->sriov.vf.migration.worker, migration_worker_func); in xe_sriov_vf_init_early()
136 * vf_post_migration_requery_guc - Re-query GuC for current VF provisioning.
139 * After migration, we need to re-query all VF configuration to make sure
141 * shall be the same, except GGTT range, since GGTT is not virtualized per-VF.
161 * vf_post_migration_imminent - Check if post-restore recovery is coming.
169 return xe->sriov.vf.migration.gt_flags != 0 || in vf_post_migration_imminent()
170 work_pending(&xe->sriov.vf.migration.worker); in vf_post_migration_imminent()
189 drm_dbg(&xe->drm, "another recovery imminent, skipping notifications\n"); in vf_post_migration_notify_resfix_done()
196 drm_dbg(&xe->drm, "migration recovery in progress\n"); in vf_post_migration_recovery()
207 drm_notice(&xe->drm, "migration recovery ended\n"); in vf_post_migration_recovery()
211 drm_dbg(&xe->drm, "migration recovery deferred\n"); in vf_post_migration_recovery()
215 drm_err(&xe->drm, "migration recovery failed (%pe)\n", ERR_PTR(err)); in vf_post_migration_recovery()
233 if (!test_bit(id, &xe->sriov.vf.migration.gt_flags)) { in vf_ready_to_recovery_on_all_gts()
242 * xe_sriov_vf_start_migration_recovery - Start VF migration recovery.
249 bool started; in xe_sriov_vf_start_migration_recovery() local
256 WRITE_ONCE(xe->sriov.vf.migration.gt_flags, 0); in xe_sriov_vf_start_migration_recovery()
260 started = queue_work(xe->sriov.wq, &xe->sriov.vf.migration.worker); in xe_sriov_vf_start_migration_recovery()
261 drm_info(&xe->drm, "VF migration recovery %s\n", started ? in xe_sriov_vf_start_migration_recovery()