[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