Hi, This is a subset of the series adding VFIO driver variant for Xe VF migration, split to reduce the churn and allow other Xe specific changes touching the same areas to progress without causing conflicts. While the VFIO side is still under review, and there are opens related to locking issues on VFIO-core side, most of the Xe-related changes are already reviewed and ready to be merged. The subset only contains those "ready" changes.
Link to last revision of previous series containing VFIO changes: https://lore.kernel.org/lkml/[email protected]/ Lukasz Laguna (2): drm/xe/pf: Add helper to retrieve VF's LMEM object drm/xe/migrate: Add function to copy of VRAM data in chunks Michał Winiarski (22): drm/xe/pf: Remove GuC version check for migration support drm/xe: Move migration support to device-level struct drm/xe/pf: Convert control state to bitmap drm/xe/pf: Add save/restore control state stubs and connect to debugfs drm/xe/pf: Add data structures and handlers for migration rings drm/xe/pf: Add helpers for migration data packet allocation / free drm/xe/pf: Add support for encap/decap of bitstream to/from packet drm/xe/pf: Add minimalistic migration descriptor drm/xe/pf: Expose VF migration data size over debugfs drm/xe: Add sa/guc_buf_cache sync interface drm/xe: Allow the caller to pass guc_buf_cache size drm/xe/pf: Increase PF GuC Buffer Cache size and use it for VF migration drm/xe/pf: Remove GuC migration data save/restore from GT debugfs drm/xe/pf: Don't save GuC VF migration data on pause drm/xe/pf: Switch VF migration GuC save/restore to struct migration data drm/xe/pf: Handle GuC migration data as part of PF control drm/xe/pf: Add helpers for VF GGTT migration data handling drm/xe/pf: Handle GGTT migration data as part of PF control drm/xe/pf: Handle MMIO migration data as part of PF control drm/xe/pf: Handle VRAM migration data as part of PF control drm/xe/pf: Add wait helper for VF FLR drm/intel/bmg: Allow device ID usage with single-argument macros drivers/gpu/drm/xe/Makefile | 2 + drivers/gpu/drm/xe/xe_ggtt.c | 104 ++ drivers/gpu/drm/xe/xe_ggtt.h | 3 + drivers/gpu/drm/xe/xe_ggtt_types.h | 2 + drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 83 ++ drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h | 6 + drivers/gpu/drm/xe/xe_gt_sriov_pf_control.c | 650 ++++++++++- drivers/gpu/drm/xe/xe_gt_sriov_pf_control.h | 10 + .../gpu/drm/xe/xe_gt_sriov_pf_control_types.h | 34 +- drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c | 47 - drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c | 1006 ++++++++++++++--- drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.h | 48 +- .../drm/xe/xe_gt_sriov_pf_migration_types.h | 34 +- drivers/gpu/drm/xe/xe_gt_sriov_pf_types.h | 5 +- drivers/gpu/drm/xe/xe_guc.c | 13 +- drivers/gpu/drm/xe/xe_guc_buf.c | 57 +- drivers/gpu/drm/xe/xe_guc_buf.h | 2 + drivers/gpu/drm/xe/xe_migrate.c | 128 ++- drivers/gpu/drm/xe/xe_migrate.h | 8 + drivers/gpu/drm/xe/xe_sa.c | 21 + drivers/gpu/drm/xe/xe_sa.h | 1 + drivers/gpu/drm/xe/xe_sriov_packet.c | 520 +++++++++ drivers/gpu/drm/xe/xe_sriov_packet.h | 30 + drivers/gpu/drm/xe/xe_sriov_packet_types.h | 75 ++ drivers/gpu/drm/xe/xe_sriov_pf.c | 5 + drivers/gpu/drm/xe/xe_sriov_pf_control.c | 128 +++ drivers/gpu/drm/xe/xe_sriov_pf_control.h | 5 + drivers/gpu/drm/xe/xe_sriov_pf_debugfs.c | 101 ++ drivers/gpu/drm/xe/xe_sriov_pf_migration.c | 342 ++++++ drivers/gpu/drm/xe/xe_sriov_pf_migration.h | 29 + .../gpu/drm/xe/xe_sriov_pf_migration_types.h | 37 + drivers/gpu/drm/xe/xe_sriov_pf_types.h | 6 + include/drm/intel/pciids.h | 2 +- 33 files changed, 3216 insertions(+), 328 deletions(-) create mode 100644 drivers/gpu/drm/xe/xe_sriov_packet.c create mode 100644 drivers/gpu/drm/xe/xe_sriov_packet.h create mode 100644 drivers/gpu/drm/xe/xe_sriov_packet_types.h create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_migration.c create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_migration.h create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_migration_types.h -- 2.51.2
