Re: [PATCH] drm/amdgpu: Disable runtime PM for externally attached dGPUs
Alex Deucher <[email protected]>
| Newsgroups | org.freedesktop.lists.amd-gfx |
|---|---|
| Message-ID | <CADnq5_NDBUquX6CgaLEZ3YZMpkUHn757J=FQYTJO-Ld8KW-pqw@mail.gmail.com> |
On Wed, Aug 12, 2026 at 4:45 AM Yang Wang <[email protected]> wrote: > > pci_is_thunderbolt_attached() requires an upstream PCI bridge with > is_thunderbolt set from an Intel Thunderbolt VSEC. This does not cover > the affected ASM4242 USB4 PCI hierarchy: > > 00:02.2 > \- 0f:00.0 [1b21:2421] > +- 10:01.0 [1b21:2423] -> 45:00.0 -> 46:00.0 > | -> 47:00.0 -> 48:00.0 -> 49:00.0 [1002:7590] > \- 10:03.0 -> 76:00.0 [1b21:2425] USB4 Host Router > > The host router is outside the GPU upstream bridge chain, leaving no > ancestor with is_thunderbolt set. PCI core propagates DEVICE_REMOVABLE > below the external-facing PCIe tunnel. Disable Runtime PM when either > pci_is_thunderbolt_attached() or dev_is_removable() is true. > I could see BOCO being an issue, but shouldn't BACO work? That should be self contained to the driver. Alex > Signed-off-by: Yang Wang <[email protected]> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > index 8ebe24d59ab6..a4b4f9645c84 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > @@ -609,6 +609,13 @@ void amdgpu_device_detect_runtime_pm_mode(struct amdgpu_device *adev) > int bamaco_support; > > adev->pm.rpm_mode = AMDGPU_RUNPM_NONE; > + if (pci_is_thunderbolt_attached(adev->pdev) || > + dev_is_removable(&adev->pdev->dev)) { > + dev_info(adev->dev, > + "Runtime PM disabled for externally attached device\n"); > + return; > + } > + > bamaco_support = amdgpu_device_supports_baco(adev); > > switch (amdgpu_runtime_pm) { > -- > 2.54.0 >