drm/amdgpu: only check for _PR3 on dGPUs
authorAlex Deucher <alexander.deucher@amd.com>
Tue, 25 Jan 2022 20:04:54 +0000 (15:04 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:22:48 +0000 (14:22 +0200)
commit 85ac2021fe3ace59cc0afd6edf005abad35625b0 upstream.

We don't support runtime pm on APUs.  They support more
dynamic power savings using clock and powergating.

Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Tested-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index c3f91f20988b0f6384b4fbc34119c705592a154d..33026b3eafd2177aa54aff0aaeccd9c25b03f399 100644 (file)
@@ -2178,8 +2178,10 @@ static int amdgpu_device_ip_early_init(struct amdgpu_device *adev)
            !pci_is_thunderbolt_attached(to_pci_dev(dev->dev)))
                adev->flags |= AMD_IS_PX;
 
-       parent = pci_upstream_bridge(adev->pdev);
-       adev->has_pr3 = parent ? pci_pr3_present(parent) : false;
+       if (!(adev->flags & AMD_IS_APU)) {
+               parent = pci_upstream_bridge(adev->pdev);
+               adev->has_pr3 = parent ? pci_pr3_present(parent) : false;
+       }
 
        amdgpu_amdkfd_device_probe(adev);