Subject: Re: [PATCH] Revert "drm/amd: Check if ASPM is enabled from PCIe subsystem"

From: Christian König <[email-masked]>
Date: Mon, 2 Feb 2026 15:35:31 +0100

On 2/2/26 15:25, Mario Limonciello wrote:
> On 1/31/26 6:24 PM, Bert Karwatzki wrote:
>> This reverts commit 7294863a6f01248d72b61d38478978d638641bee.
>>
>> This commit was erroneously applied again after commit 0ab5d711ec74
>> ("drm/amd: Refactor `amdgpu_aspm` to be evaluated per device")
>> removed it, leading to very hard to debug crashes, when used with a system with two
>> AMD GPUs of which only one supports ASPM.
>>
>> Link: https://lore.kernel.org/linux-acpi/[email-masked]/
>> Link: https://github.com/acpica/acpica/issues/1060
>> Fixes: 0ab5d711ec74 ("drm/amd: Refactor `amdgpu_aspm` to be evaluated per device")
>>
>> Signed-off-by: Bert Karwatzki <[email-masked]>
>> ---
> 
> Amazing detective work, thanks so much.
> 
> This added the code initially:
> cba07cce39ace drm/amd: Check if ASPM is enabled from PCIe subsystem
> 
> This effectively removed it:
> 0ab5d711ec74d drm/amd: Refactor `amdgpu_aspm` to be evaluated per device
> 
> This was the accidental re-apply:
> 7294863a6f012 drm/amd: Check if ASPM is enabled from PCIe subsystem
> 
> It looks like this as right on the edge of the 5.17-rc6 and 5.18-rc1.
> I think drm-fixes-2022-02-25 and amd-drm-next-5.18-2022-02-25 ended up with different content.
> 
> Nonethless this is the correct change and I've applied it to amd-staging-drm-next.
> 
> Reviewed-by: Mario Limonciello (AMD) <[email-masked]>

Reviewed-by: Christian König <[email-masked]>

There is just one major question left: Why is disabling ASPM causing problems?

I mean we had tons of problems with ASPM before, but only by accidentally enabling it and never accidentally disabling it.

IIRC we even suggested to disable ASPM as possible workaround.

Thanks,
Christian.

> 
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 3 ---
>>   1 file changed, 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>> index d6d0a6e34c6b..95d26f086d54 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>> @@ -2405,9 +2405,6 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
>>               return -ENODEV;
>>       }
>>   -    if (amdgpu_aspm == -1 && !pcie_aspm_enabled(pdev))
>> -        amdgpu_aspm = 0;
>> -
>>       if (amdgpu_virtual_display ||
>>           amdgpu_device_asic_has_dc_support(pdev, flags & AMD_ASIC_MASK))
>>           supports_atomic = true;
>