drm/amdgpu: only check for _PR3 on dGPUs
authorjsg <jsg@openbsd.org>
Mon, 11 Apr 2022 03:27:24 +0000 (03:27 +0000)
committerjsg <jsg@openbsd.org>
Mon, 11 Apr 2022 03:27:24 +0000 (03:27 +0000)
From Alex Deucher
fe953e0f77e55d004a5b0c533262e389d01e3198 in linux 5.15.y/5.15.33
85ac2021fe3ace59cc0afd6edf005abad35625b0 in mainline linux

sys/dev/pci/drm/amd/amdgpu/amdgpu_device.c

index 1c99fd9..d00a7c9 100644 (file)
@@ -2210,8 +2210,10 @@ static int amdgpu_device_ip_early_init(struct amdgpu_device *adev)
            !pci_is_thunderbolt_attached(dev->pdev))
                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);