[PATCH 1/2] drm/xe/pf: Disable VFs on remove

Jani Nikula jani.nikula at linux.intel.com
Thu Jun 27 08:24:53 UTC 2024


On Wed, 26 Jun 2024, Michal Wajdeczko <michal.wajdeczko at intel.com> wrote:
> We shouldn't leave VFs enabled when unloading the PF driver.
> Otherwise we will get a message like:
>
>  [ ] xe 0000:4d:00.0: driver left SR-IOV enabled after remove
>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
> Cc: Piotr Piórkowski <piotr.piorkowski at intel.com>
> ---
>  drivers/gpu/drm/xe/xe_pci.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
> index ebff5ea79b1d..4b91a9878f41 100644
> --- a/drivers/gpu/drm/xe/xe_pci.c
> +++ b/drivers/gpu/drm/xe/xe_pci.c
> @@ -749,6 +749,11 @@ static void xe_pci_remove(struct pci_dev *pdev)
>  	if (!xe) /* driver load aborted, nothing to cleanup */
>  		return;
>  
> +#ifdef CONFIG_PCI_IOV
> +	if (IS_SRIOV_PF(xe))
> +		xe_pci_sriov_configure(pdev, 0);
> +#endif
> +

Please don't add inline #ifdefs.

IS_SRIOV_PF() works for CONFIG_PCI_IOV=n. xe_pci_sriov_configure()
should also have a stub for CONFIG_PCI_IOV=n.

Alternatively, if you also added a dedicated function for disabling VF,
you could have a stub for that, and

#define xe_pci_sriov_configure NULL

for CONFIG_PCI_IOV=n, so you wouldn't have to have inline #ifdefs in
xe_pci_driver initialization either.


BR,
Jani.


>  	xe_device_remove(xe);
>  	xe_pm_runtime_fini(xe);
>  	pci_set_drvdata(pdev, NULL);

-- 
Jani Nikula, Intel


More information about the Intel-xe mailing list