]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
Revert "drm/amdgpu: disable runpm if we are the primary adapter"
authorAlex Deucher <alexander.deucher@amd.com>
Wed, 4 May 2022 13:23:28 +0000 (09:23 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 5 May 2022 20:50:00 +0000 (16:50 -0400)
This reverts commit b95dc06af3e683d6b7ddbbae178b2b2a21ee8b2b.

This workaround is no longer necessary.  We have a better workaround
in commit f95af4a9236695 ("drm/amdgpu: don't runtime suspend if there are displays attached (v3)").

Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c

index 94c343dc527a68c1c500b57c2ca91774656b9c37..e9a93c29dff54d06d385101d317a02c843171943 100644 (file)
@@ -1005,7 +1005,6 @@ struct amdgpu_device {
        bool                            runpm;
        bool                            in_runpm;
        bool                            has_pr3;
-       bool                            is_fw_fb;
 
        bool                            pm_sysfs_en;
        bool                            ucode_sysfs_en;
index 32a2ac5329fd74a79680203b30301926ed6141aa..48b099990b8399465a9bdbd84107ba6163090521 100644 (file)
@@ -38,7 +38,6 @@
 #include <linux/mmu_notifier.h>
 #include <linux/suspend.h>
 #include <linux/cc_platform.h>
-#include <linux/fb.h>
 
 #include "amdgpu.h"
 #include "amdgpu_irq.h"
@@ -1960,26 +1959,6 @@ MODULE_DEVICE_TABLE(pci, pciidlist);
 
 static const struct drm_driver amdgpu_kms_driver;
 
-static bool amdgpu_is_fw_framebuffer(resource_size_t base,
-                                    resource_size_t size)
-{
-       bool found = false;
-#if IS_REACHABLE(CONFIG_FB)
-       struct apertures_struct *a;
-
-       a = alloc_apertures(1);
-       if (!a)
-               return false;
-
-       a->ranges[0].base = base;
-       a->ranges[0].size = size;
-
-       found = is_firmware_framebuffer(a);
-       kfree(a);
-#endif
-       return found;
-}
-
 static void amdgpu_get_secondary_funcs(struct amdgpu_device *adev)
 {
        struct pci_dev *p = NULL;
@@ -2010,8 +1989,6 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
        unsigned long flags = ent->driver_data;
        int ret, retry = 0, i;
        bool supports_atomic = false;
-       bool is_fw_fb;
-       resource_size_t base, size;
 
        /* skip devices which are owned by radeon */
        for (i = 0; i < ARRAY_SIZE(amdgpu_unsupported_pciidlist); i++) {
@@ -2078,10 +2055,6 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
        }
 #endif
 
-       base = pci_resource_start(pdev, 0);
-       size = pci_resource_len(pdev, 0);
-       is_fw_fb = amdgpu_is_fw_framebuffer(base, size);
-
        /* Get rid of things like offb */
        ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, &amdgpu_kms_driver);
        if (ret)
@@ -2094,7 +2067,6 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
        adev->dev  = &pdev->dev;
        adev->pdev = pdev;
        ddev = adev_to_drm(adev);
-       adev->is_fw_fb = is_fw_fb;
 
        if (!supports_atomic)
                ddev->driver_features &= ~DRIVER_ATOMIC;
index 51bb977154ebf888718240f9239451635b2a4f78..497478f8a5d384dd3f616fdda68be7d6f1b81220 100644 (file)
@@ -185,12 +185,6 @@ int amdgpu_driver_load_kms(struct amdgpu_device *adev, unsigned long flags)
                        adev->runpm = true;
                        break;
                }
-               /* XXX: disable runtime pm if we are the primary adapter
-                * to avoid displays being re-enabled after DPMS.
-                * This needs to be sorted out and fixed properly.
-                */
-               if (adev->is_fw_fb)
-                       adev->runpm = false;
 
                amdgpu_runtime_pm_quirk(adev);