[Intel-xe] [PATCH] drm/xe/pm: Use PM functions only if CONFIG_PM_SLEEP is enabled

Rodrigo Vivi rodrigo.vivi at intel.com
Wed Aug 30 21:14:22 UTC 2023


On Wed, Aug 23, 2023 at 09:10:20AM +0000, Francois Dugast wrote:
> This fixes the build without CONFIG_PM_SLEEP such as for riscv.
> 
> Signed-off-by: Francois Dugast <francois.dugast at intel.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>

> ---
>  drivers/gpu/drm/xe/xe_pci.c | 48 +++++++++++++++++++------------------
>  1 file changed, 25 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
> index f6bc6ae1c920..066bd12bf7b3 100644
> --- a/drivers/gpu/drm/xe/xe_pci.c
> +++ b/drivers/gpu/drm/xe/xe_pci.c
> @@ -31,28 +31,6 @@ enum toggle_d3cold {
>  	D3COLD_ENABLE,
>  };
>  
> -static void d3cold_toggle(struct pci_dev *pdev, enum toggle_d3cold toggle)
> -{
> -	struct xe_device *xe = pdev_to_xe_device(pdev);
> -	struct pci_dev *root_pdev;
> -
> -	if (!xe->d3cold.capable)
> -		return;
> -
> -	root_pdev = pcie_find_root_port(pdev);
> -	if (!root_pdev)
> -		return;
> -
> -	switch (toggle) {
> -	case D3COLD_DISABLE:
> -		pci_d3cold_disable(root_pdev);
> -		break;
> -	case D3COLD_ENABLE:
> -		pci_d3cold_enable(root_pdev);
> -		break;
> -	}
> -}
> -
>  struct xe_subplatform_desc {
>  	enum xe_subplatform subplatform;
>  	const char *name;
> @@ -730,6 +708,28 @@ static void xe_pci_shutdown(struct pci_dev *pdev)
>  }
>  
>  #ifdef CONFIG_PM_SLEEP
> +static void d3cold_toggle(struct pci_dev *pdev, enum toggle_d3cold toggle)
> +{
> +	struct xe_device *xe = pdev_to_xe_device(pdev);
> +	struct pci_dev *root_pdev;
> +
> +	if (!xe->d3cold.capable)
> +		return;
> +
> +	root_pdev = pcie_find_root_port(pdev);
> +	if (!root_pdev)
> +		return;
> +
> +	switch (toggle) {
> +	case D3COLD_DISABLE:
> +		pci_d3cold_disable(root_pdev);
> +		break;
> +	case D3COLD_ENABLE:
> +		pci_d3cold_enable(root_pdev);
> +		break;
> +	}
> +}
> +
>  static int xe_pci_suspend(struct device *dev)
>  {
>  	struct pci_dev *pdev = to_pci_dev(dev);
> @@ -834,12 +834,12 @@ static int xe_pci_runtime_idle(struct device *dev)
>  
>  	return 0;
>  }
> -#endif
>  
>  static const struct dev_pm_ops xe_pm_ops = {
>  	SET_SYSTEM_SLEEP_PM_OPS(xe_pci_suspend, xe_pci_resume)
>  	SET_RUNTIME_PM_OPS(xe_pci_runtime_suspend, xe_pci_runtime_resume, xe_pci_runtime_idle)
>  };
> +#endif
>  
>  static struct pci_driver xe_pci_driver = {
>  	.name = DRIVER_NAME,
> @@ -847,7 +847,9 @@ static struct pci_driver xe_pci_driver = {
>  	.probe = xe_pci_probe,
>  	.remove = xe_pci_remove,
>  	.shutdown = xe_pci_shutdown,
> +#ifdef CONFIG_PM_SLEEP
>  	.driver.pm = &xe_pm_ops,
> +#endif
>  };
>  
>  int xe_register_pci_driver(void)
> -- 
> 2.34.1
> 


More information about the Intel-xe mailing list