This patchset enables GVT suspend/resume so that GVT enabled VM can continue running after host resuming from suspend state. V2: - Change kzalloc/kfree to vzalloc/vfree since the space allocated from kmalloc may not enough for all saved GGTT entries. - Keep gvt suspend/resume wrapper in intel_gvt.h/intel_gvt.c and move the actual implementation to gvt.h/gvt.c. (zhenyu) - Check gvt config on and active with intel_gvt_active(). (zhenyu) V3: (zhenyu) - Incorrect copy length. Should be num entries * entry size. - Use memcpy_toio()/memcpy_fromio() instead of memcpy for iomem. - Add F_PM_SAVE flags to indicate which MMIOs to save/restore for PM. V4: Rebase. V5: Fail intel_gvt_pm_suspend if fail to save ggtt. V6: Save host entry to per-vGPU gtt.ggtt_mm on each host_entry update so that no need to read from HW and save during suspend. V7: Restore GGTT entry based on present bit. Split fence restore and mmio restore in different functions. Colin Xu (2): drm/i915/gvt: Save/restore HW status to support GVT suspend/resume drm/i915/gvt: Add GVT resume routine to i915 drivers/gpu/drm/i915/gvt/gtt.c | 64 +++++++++++++++++++++++++++++ drivers/gpu/drm/i915/gvt/gtt.h | 4 ++ drivers/gpu/drm/i915/gvt/gvt.c | 9 ++++ drivers/gpu/drm/i915/gvt/gvt.h | 3 ++ drivers/gpu/drm/i915/gvt/handlers.c | 44 ++++++++++++++++++-- drivers/gpu/drm/i915/gvt/mmio.h | 4 ++ drivers/gpu/drm/i915/i915_drv.c | 2 + drivers/gpu/drm/i915/intel_gvt.c | 15 +++++++ drivers/gpu/drm/i915/intel_gvt.h | 5 +++ 9 files changed, 147 insertions(+), 3 deletions(-) -- 2.29.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx