[PATCH] drm/amdgpu: disable ASPM for legacy products that don't support ASPM

Gong, Richard richard.gong at amd.com
Fri Apr 8 16:19:54 UTC 2022


On 4/8/2022 10:47 AM, Limonciello, Mario wrote:
> [Public]
>
>
>
>> -----Original Message-----
>> From: Gong, Richard <Richard.Gong at amd.com>
>> Sent: Friday, April 8, 2022 10:45
>> To: Deucher, Alexander <Alexander.Deucher at amd.com>; Koenig, Christian
>> <Christian.Koenig at amd.com>; Pan, Xinhui <Xinhui.Pan at amd.com>;
>> airlied at linux.ie; daniel at ffwll.ch
>> Cc: amd-gfx at lists.freedesktop.org; dri-devel at lists.freedesktop.org; linux-
>> kernel at vger.kernel.org; Limonciello, Mario <Mario.Limonciello at amd.com>;
>> Gong, Richard <Richard.Gong at amd.com>
>> Subject: [PATCH] drm/amdgpu: disable ASPM for legacy products that don't
>> support ASPM
>>
>> Active State Power Management (ASPM) feature is enabled since kernel
>> 5.14.
>> However there are some legacy products (WX3200 and RX640 are examples)
>> that
>> do not support ASPM. Use them as video/display output and system would
>> hang
>> during suspend/resume.
>>
>> Add extra check to disable ASPM for old products that don't have
>> ASPM support.
>>
>> Signed-off-by: Richard Gong <richard.gong at amd.com>
>> Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1885
>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>> index bb1c025d9001..8987107f41ee 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>> @@ -2012,6 +2012,10 @@ static int amdgpu_pci_probe(struct pci_dev
>> *pdev,
>>   	if (amdgpu_aspm == -1 && !pcie_aspm_enabled(pdev))
>>   		amdgpu_aspm = 0;
>>
>> +	/* disable ASPM for the legacy products that don't support ASPM */
>> +	if ((flags & AMD_ASIC_MASK) == CHIP_POLARIS12)
>> +		amdgpu_aspm = 0;
>> +
> I think it's problematic to disable it for the entire driver.  There might be multiple
> AMDGPUs in the system, and others may support ASPM.

The "problem" are WX3200 and RX640, both are from the same POLARIS12 family.

> Can it be done just as part of probe for Polaris?
>
>>   	if (amdgpu_virtual_display ||
>>   	    amdgpu_device_asic_has_dc_support(flags & AMD_ASIC_MASK))
>>   		supports_atomic = true;
>> --
>> 2.25.1


More information about the amd-gfx mailing list