drm/amdgpu: enable runtime pm on BACO capable boards if runpm=1
authorAlex Deucher <alexander.deucher@amd.com>
Fri, 4 Oct 2019 18:47:39 +0000 (13:47 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 19 Nov 2019 21:42:54 +0000 (16:42 -0500)
BACO - Bus Active, Chip Off

Everything is in place now.  Not enabled by default yet.  You
still have to specify runpm=1.

Reviewed-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c

index 402040a..f7b9296 100644 (file)
@@ -157,10 +157,6 @@ int amdgpu_driver_load_kms(struct drm_device *dev, unsigned long flags)
            !pci_is_thunderbolt_attached(dev->pdev))
                flags |= AMD_IS_PX;
 
-       if ((amdgpu_runtime_pm != 0) &&
-           (flags & AMD_IS_PX))
-               adev->runpm = true;
-
        /* amdgpu_device_init should report only fatal error
         * like memory allocation failure or iomapping failure,
         * or memory manager initialization failure, it must
@@ -173,6 +169,13 @@ int amdgpu_driver_load_kms(struct drm_device *dev, unsigned long flags)
                goto out;
        }
 
+       if (amdgpu_device_supports_boco(dev) &&
+           (amdgpu_runtime_pm != 0)) /* enable runpm by default */
+               adev->runpm = true;
+       else if (amdgpu_device_supports_baco(dev) &&
+                (amdgpu_runtime_pm > 0)) /* enable runpm if runpm=1 */
+               adev->runpm = true;
+
        /* Call ACPI methods: require modeset init
         * but failure is not fatal
         */