[PATCH v3 24/28] drm/xe/pf: Enable SR-IOV VF migration

Michał Winiarski posted 28 patches 3 months, 1 week ago
There is a newer version of this series
[PATCH v3 24/28] drm/xe/pf: Enable SR-IOV VF migration
Posted by Michał Winiarski 3 months, 1 week ago
All of the necessary building blocks are now in place to support SR-IOV
VF migration.
Enable the feature without the need to pass feature enabling debug flags
for those platforms and rely on .has_memirq presence instead (like with
VF resource fixup).

Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
---
 drivers/gpu/drm/xe/xe_sriov_pf_migration.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_migration.c b/drivers/gpu/drm/xe/xe_sriov_pf_migration.c
index 6992c227e5a44..c4e9b0ff5b3ae 100644
--- a/drivers/gpu/drm/xe/xe_sriov_pf_migration.c
+++ b/drivers/gpu/drm/xe/xe_sriov_pf_migration.c
@@ -50,8 +50,10 @@ bool xe_sriov_pf_migration_supported(struct xe_device *xe)
 
 static bool pf_check_migration_support(struct xe_device *xe)
 {
-	/* XXX: for now this is for feature enabling only */
-	return IS_ENABLED(CONFIG_DRM_XE_DEBUG);
+	if (xe_device_has_memirq(xe))
+		return true;
+
+	return false;
 }
 
 static void pf_migration_cleanup(void *arg)
-- 
2.50.1

Re: [PATCH v3 24/28] drm/xe/pf: Enable SR-IOV VF migration
Posted by Michal Wajdeczko 3 months, 1 week ago

On 10/30/2025 9:31 PM, Michał Winiarski wrote:
> All of the necessary building blocks are now in place to support SR-IOV
> VF migration.
> Enable the feature without the need to pass feature enabling debug flags
> for those platforms and rely on .has_memirq presence instead (like with
> VF resource fixup).
> 
> Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_sriov_pf_migration.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_migration.c b/drivers/gpu/drm/xe/xe_sriov_pf_migration.c
> index 6992c227e5a44..c4e9b0ff5b3ae 100644
> --- a/drivers/gpu/drm/xe/xe_sriov_pf_migration.c
> +++ b/drivers/gpu/drm/xe/xe_sriov_pf_migration.c
> @@ -50,8 +50,10 @@ bool xe_sriov_pf_migration_supported(struct xe_device *xe)
>  
>  static bool pf_check_migration_support(struct xe_device *xe)
>  {
> -	/* XXX: for now this is for feature enabling only */
> -	return IS_ENABLED(CONFIG_DRM_XE_DEBUG);
> +	if (xe_device_has_memirq(xe))
> +		return true;
> +
> +	return false;

maybe simpler:

	/* all platforms with MEMIRQ should work */
	return xe_device_has_memirq(xe)

and shouldn't we also check somewhere that we have the right GuC FW?
here is likely too early, but maybe we need additional check in:

	xe_sriov_pf_init_late(xe) ?

>  }
>  
>  static void pf_migration_cleanup(void *arg)