[Public] > -----Original Message----- > From: Limonciello, Mario <mario.limoncie...@amd.com> > Sent: Tuesday, September 26, 2023 7:00 PM > To: amd-gfx@lists.freedesktop.org; Sebastian Reichel <s...@kernel.org>; > Deucher, Alexander <alexander.deuc...@amd.com> > Cc: linux...@vger.kernel.org; linux-ker...@vger.kernel.org; Ma, Jun > <jun....@amd.com>; Limonciello, Mario <mario.limoncie...@amd.com> > 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: sta...@vger.kernel.org > Suggested-by: Jun Ma <jun....@amd.com> > Tested-by: David Perry <david.pe...@amd.com> > Fixes: b10c1c5b3a4e ("drm/amdgpu: add check for ACPI power resources") > Signed-off-by: Mario Limonciello <mario.limoncie...@amd.com>
Series is: Reviewed-by: Alex Deucher <alexander.deuc...@amd.com> > --- > 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