drm/amdgpu/runpm: enable runpm on baco capable VI+ asics
authorAlex Deucher <alexander.deucher@amd.com>
Fri, 11 Oct 2019 01:45:33 +0000 (20:45 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 12 Feb 2020 21:01:03 +0000 (16:01 -0500)
Seems to work reliably on VI+ except for a few so enable runpm barring
those where baco for runtime power management is not supported.

[rajneesh] Picked https://patchwork.freedesktop.org/patch/335402/ to
enable runtime pm with baco for kfd. Also fixed a checkpatch warning and
added extra checks for VEGA20 and ARCTURUS.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rajneesh Bhardwaj <rajneesh.bhardwaj@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c

index 60591dbc2097ecbbb8611e791b950cdd82b3596a..c4f9d0e323832997b85dc8d3cc96e0d502a9cbdc 100644 (file)
@@ -170,10 +170,16 @@ int amdgpu_driver_load_kms(struct drm_device *dev, unsigned long flags)
        }
 
        if (amdgpu_device_supports_boco(dev) &&
-           (amdgpu_runtime_pm != 0)) /* enable runpm by default */
+           (amdgpu_runtime_pm != 0)) /* enable runpm by default for boco */
                adev->runpm = true;
        else if (amdgpu_device_supports_baco(dev) &&
-                (amdgpu_runtime_pm > 0)) /* enable runpm if runpm=1 */
+                (amdgpu_runtime_pm != 0) &&
+                (adev->asic_type >= CHIP_TOPAZ) &&
+                (adev->asic_type != CHIP_VEGA20) &&
+                (adev->asic_type != CHIP_ARCTURUS)) /* enable runpm on VI+ */
+               adev->runpm = true;
+       else if (amdgpu_device_supports_baco(dev) &&
+                (amdgpu_runtime_pm > 0))  /* enable runpm if runpm=1 on CI */
                adev->runpm = true;
 
        /* Call ACPI methods: require modeset init