[Public] > -----Original Message----- > From: Limonciello, Mario <Mario.Limonciello@xxxxxxx> > Sent: Tuesday, September 26, 2023 7:00 PM > To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx; Sebastian Reichel <sre@xxxxxxxxxx>; > Deucher, Alexander <Alexander.Deucher@xxxxxxx> > Cc: linux-pm@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Ma, Jun > <Jun.Ma2@xxxxxxx>; Limonciello, Mario <Mario.Limonciello@xxxxxxx> > Subject: [PATCH 1/3] drm/amd: Fix detection of _PR3 on the PCIe root port > > On some systems with Navi3x dGPU will attempt to use BACO for runtime PM > but fails to resume properly. This is because on these systems the root port > goes into D3cold which is incompatible with BACO. > > This happens because in this case dGPU is connected to a bridge between root > port which causes BOCO detection logic to fail. Fix the intent of the logic by > looking at root port, not the immediate upstream bridge for _PR3. > > Cc: stable@xxxxxxxxxxxxxxx > Suggested-by: Jun Ma <Jun.Ma2@xxxxxxx> > Tested-by: David Perry <David.Perry@xxxxxxx> > Fixes: b10c1c5b3a4e ("drm/amdgpu: add check for ACPI power resources") > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx> Series is: Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > index e4627d92e1d0..bad2b5577e96 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > @@ -2238,7 +2238,7 @@ static int amdgpu_device_ip_early_init(struct > amdgpu_device *adev) > adev->flags |= AMD_IS_PX; > > if (!(adev->flags & AMD_IS_APU)) { > - parent = pci_upstream_bridge(adev->pdev); > + parent = pcie_find_root_port(adev->pdev); > adev->has_pr3 = parent ? pci_pr3_present(parent) : false; > } > > -- > 2.34.1