linux/drivers/gpu/drm/amd/amdgpu
Mario Limonciello 7294863a6f drm/amd: Check if ASPM is enabled from PCIe subsystem
commit 0064b0ce85 ("drm/amd/pm: enable ASPM by default") enabled ASPM
by default but a variety of hardware configurations it turns out that this
caused a regression.

* PPC64LE hardware does not support ASPM at a hardware level.
  CONFIG_PCIEASPM is often disabled on these architectures.
* Some dGPUs on ALD platforms don't work with ASPM enabled and PCIe subsystem
  disables it

Check with the PCIe subsystem to see that ASPM has been enabled
or not.

Fixes: 0064b0ce85 ("drm/amd/pm: enable ASPM by default")
Link: https://wiki.raptorcs.com/w/images/a/ad/P9_PHB_version1.0_27July2018_pub.pdf
Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1723
Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1739
Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1885
Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1907
Tested-by: koba.ko@canonical.com
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
2022-02-23 16:31:06 -05:00
..
aldebaran.c
aldebaran.h
aldebaran_reg_init.c
amdgpu.h drm/amd: add support to check whether the system is set to s3 2022-02-02 18:35:00 -05:00
amdgpu_acp.c
amdgpu_acp.h
amdgpu_acpi.c drm/amd: add support to check whether the system is set to s3 2022-02-02 18:35:00 -05:00
amdgpu_afmt.c
amdgpu_amdkfd.c drm/amdkfd: remove unused function 2022-01-11 15:44:26 -05:00
amdgpu_amdkfd.h drm/amdkfd: remove unused function 2022-01-11 15:44:26 -05:00
amdgpu_amdkfd_aldebaran.c
amdgpu_amdkfd_arcturus.c drm/amdkfd: replace/remove remaining kgd_dev references 2021-11-17 16:58:02 -05:00
amdgpu_amdkfd_arcturus.h drm/amdkfd: replace kgd_dev in hqd/mqd kfd2kgd funcs 2021-11-17 16:58:01 -05:00
amdgpu_amdkfd_fence.c
amdgpu_amdkfd_gfx_v7.c drm/amdkfd: replace/remove remaining kgd_dev references 2021-11-17 16:58:02 -05:00
amdgpu_amdkfd_gfx_v8.c drm/amdkfd: replace/remove remaining kgd_dev references 2021-11-17 16:58:02 -05:00
amdgpu_amdkfd_gfx_v9.c drm/amdgpu: Modify indirect register access for amdkfd_gfx_v9 sriov 2021-12-28 16:02:10 -05:00
amdgpu_amdkfd_gfx_v9.h drm/amdkfd: replace kgd_dev in various kfd2kgd funcs 2021-11-17 16:58:01 -05:00
amdgpu_amdkfd_gfx_v10.c drm/amdkfd: replace/remove remaining kgd_dev references 2021-11-17 16:58:02 -05:00
amdgpu_amdkfd_gfx_v10_3.c drm/amdkfd: replace/remove remaining kgd_dev references 2021-11-17 16:58:02 -05:00
amdgpu_amdkfd_gpuvm.c Linux 5.16-rc5 2021-12-14 10:24:28 +01:00
amdgpu_atombios.c drm/amd/display: update bios scratch when setting backlight 2021-11-24 15:14:36 -05:00
amdgpu_atombios.h drm/amd/display: update bios scratch when setting backlight 2021-11-24 15:14:36 -05:00
amdgpu_atomfirmware.c drm/amd: fix improper docstring syntax 2021-12-13 16:32:34 -05:00
amdgpu_atomfirmware.h
amdgpu_atpx_handler.c drm/amd: append missing includes 2021-12-13 16:32:34 -05:00
amdgpu_benchmark.c
amdgpu_bios.c
amdgpu_bo_list.c
amdgpu_bo_list.h
amdgpu_cgs.c
amdgpu_connectors.c drm/amdgpu: replace drm_detect_hdmi_monitor() with drm_display_info.is_hdmi 2021-12-07 13:13:07 -05:00
amdgpu_connectors.h
amdgpu_cs.c drm/amdgpu: do not pass ttm_resource_manager to vram_mgr 2022-01-11 15:44:26 -05:00
amdgpu_csa.c
amdgpu_csa.h
amdgpu_ctx.c
amdgpu_ctx.h
amdgpu_debugfs.c drm/amdgpu: move smu_debug_mask to a more proper place 2021-12-14 16:09:11 -05:00
amdgpu_debugfs.h
amdgpu_device.c drm/amd/amdgpu: fixing read wrong pf2vf data in SRIOV 2022-01-18 18:00:58 -05:00
amdgpu_df.h
amdgpu_discovery.c drm/amdgpu: apply vcn harvest quirk 2022-01-18 18:00:58 -05:00
amdgpu_discovery.h drm/amdgpu: fix incorrect VCN revision in SRIOV 2021-12-13 16:33:15 -05:00
amdgpu_display.c Merge tag 'amd-drm-next-5.17-2021-12-16' of https://gitlab.freedesktop.org/agd5f/linux into drm-next 2021-12-23 11:55:28 +10:00
amdgpu_display.h
amdgpu_dma_buf.c Two DT bindings fixes for meson, a device refcounting fix for sun4i, a 2022-01-14 15:17:17 +01:00
amdgpu_dma_buf.h
amdgpu_doorbell.h
amdgpu_drv.c drm/amd: Check if ASPM is enabled from PCIe subsystem 2022-02-23 16:31:06 -05:00
amdgpu_drv.h drm/amdgpu: fix location of prototype for amdgpu_kms_compat_ioctl 2021-12-13 16:32:34 -05:00
amdgpu_eeprom.c
amdgpu_eeprom.h
amdgpu_encoders.c drm/amdgpu: replace drm_detect_hdmi_monitor() with drm_display_info.is_hdmi 2021-12-07 13:13:07 -05:00
amdgpu_fdinfo.c
amdgpu_fdinfo.h
amdgpu_fence.c Revert "drm/amdgpu: stop scheduler when calling hw_fini (v2)" 2022-01-09 10:32:16 -08:00
amdgpu_fru_eeprom.c drm/amdgpu: Access the FRU on Aldebaran 2021-12-30 08:54:43 -05:00
amdgpu_fru_eeprom.h
amdgpu_fw_attestation.c
amdgpu_fw_attestation.h
amdgpu_gart.c drm/amdgpu: recover gart table at resume 2022-01-11 15:44:26 -05:00
amdgpu_gart.h
amdgpu_gds.h
amdgpu_gem.c Revert "drm/amdgpu: Don't inherit GEM object VMAs in child process" 2022-01-11 15:44:27 -05:00
amdgpu_gem.h
amdgpu_gfx.c
amdgpu_gfx.h
amdgpu_gfxhub.h
amdgpu_gmc.c drm/amdgpu: handle IH ring1 overflow 2021-12-01 16:03:34 -05:00
amdgpu_gmc.h drm/amdgpu: handle IH ring1 overflow 2021-12-01 16:03:34 -05:00
amdgpu_gtt_mgr.c drm/amdgpu: do not pass ttm_resource_manager to gtt_mgr 2022-01-11 15:44:26 -05:00
amdgpu_hdp.c
amdgpu_hdp.h
amdgpu_i2c.c
amdgpu_i2c.h
amdgpu_ib.c
amdgpu_ids.c
amdgpu_ids.h
amdgpu_ih.c drm/amdgpu: Handle fault with same timestamp 2021-12-13 16:32:35 -05:00
amdgpu_ih.h drm/amdgpu: handle IH ring1 overflow 2021-12-01 16:03:34 -05:00
amdgpu_ioc32.c drm:amdgpu:remove unneeded variable 2021-12-13 16:34:27 -05:00
amdgpu_irq.c drm/amdgpu: Handle fault with same timestamp 2021-12-13 16:32:35 -05:00
amdgpu_irq.h
amdgpu_job.c
amdgpu_job.h
amdgpu_jpeg.c
amdgpu_jpeg.h
amdgpu_kms.c drm fixes for 5.17-rc1: 2022-01-16 06:52:38 +02:00
amdgpu_mca.c
amdgpu_mca.h
amdgpu_mes.h
amdgpu_mmhub.c
amdgpu_mmhub.h
amdgpu_mn.c
amdgpu_mn.h
amdgpu_mode.h drm/amdgpu: use generic fb helpers instead of setting up AMD own's. 2021-11-17 16:58:03 -05:00
amdgpu_nbio.c
amdgpu_nbio.h
amdgpu_object.c drm/amdgpu: Unmap MMIO mappings when device is not unplugged 2022-01-11 15:44:26 -05:00
amdgpu_object.h
amdgpu_pll.c drm/amd: fix improper docstring syntax 2021-12-13 16:32:34 -05:00
amdgpu_pll.h
amdgpu_pmu.c drm/amdgpu: check df_funcs and its callback pointers 2021-12-13 16:33:16 -05:00
amdgpu_pmu.h
amdgpu_preempt_mgr.c drm/amd: fix improper docstring syntax 2021-12-13 16:32:34 -05:00
amdgpu_psp.c drm/amd/amdgpu: fix psp tmr bo pin count leak in SRIOV 2021-12-14 16:09:49 -05:00
amdgpu_psp.h
amdgpu_rap.c
amdgpu_rap.h
amdgpu_ras.c drm fixes for 5.17-rc1: 2022-01-16 06:52:38 +02:00
amdgpu_ras.h drm/amdgpu: add new query interface for umc block v2 2021-11-22 14:45:14 -05:00
amdgpu_ras_eeprom.c
amdgpu_ras_eeprom.h
amdgpu_res_cursor.h
amdgpu_reset.c
amdgpu_reset.h
amdgpu_ring.c
amdgpu_ring.h drm/amdgpu: introduce new amdgpu_fence object to indicate the job embedded fence 2021-12-17 12:47:28 -05:00
amdgpu_rlc.c
amdgpu_rlc.h
amdgpu_sa.c
amdgpu_sched.c
amdgpu_sched.h
amdgpu_sdma.c
amdgpu_sdma.h
amdgpu_securedisplay.c
amdgpu_securedisplay.h
amdgpu_smuio.h
amdgpu_socbb.h
amdgpu_sync.c
amdgpu_sync.h
amdgpu_test.c
amdgpu_trace.h
amdgpu_trace_points.c
amdgpu_ttm.c drm/amdgpu: fix logic inversion in check 2022-02-02 18:35:00 -05:00
amdgpu_ttm.h drm/amdgpu: do not pass ttm_resource_manager to vram_mgr 2022-01-11 15:44:26 -05:00
amdgpu_ucode.c
amdgpu_ucode.h
amdgpu_umc.c drm/amdgpu: save error count in RAS poison handler 2021-12-30 08:54:45 -05:00
amdgpu_umc.h drm/amdgpu: save error count in RAS poison handler 2021-12-30 08:54:45 -05:00
amdgpu_umr.h
amdgpu_uvd.c
amdgpu_uvd.h
amdgpu_vce.c drm/amd: fix improper docstring syntax 2021-12-13 16:32:34 -05:00
amdgpu_vce.h
amdgpu_vcn.c Merge tag 'amd-drm-next-5.17-2021-12-16' of https://gitlab.freedesktop.org/agd5f/linux into drm-next 2021-12-23 11:55:28 +10:00
amdgpu_vcn.h drm/amdgpu: fix incorrect VCN revision in SRIOV 2021-12-13 16:33:15 -05:00
amdgpu_vf_error.c
amdgpu_vf_error.h
amdgpu_virt.c drm/amd/amdgpu: fixing read wrong pf2vf data in SRIOV 2022-01-18 18:00:58 -05:00
amdgpu_virt.h drm/amdgpu: Separate vf2pf work item init from virt data exchange 2021-12-16 14:08:20 -05:00
amdgpu_vkms.c drm/amdgpu: use spin_lock_irqsave to avoid deadlock by local interrupt 2022-01-11 15:44:28 -05:00
amdgpu_vkms.h drm/amdgpu: fix vkms crtc settings 2021-12-01 16:02:57 -05:00
amdgpu_vm.c Merge tag 'amd-drm-next-5.17-2021-12-16' of https://gitlab.freedesktop.org/agd5f/linux into drm-next 2021-12-23 11:55:28 +10:00
amdgpu_vm.h
amdgpu_vm_cpu.c
amdgpu_vm_sdma.c
amdgpu_vram_mgr.c drm/amdgpu: do not pass ttm_resource_manager to vram_mgr 2022-01-11 15:44:26 -05:00
amdgpu_xgmi.c drm/amdgpu: use default_groups in kobj_type 2022-01-11 15:44:26 -05:00
amdgpu_xgmi.h
amdgv_sriovmsg.h
arct_reg_init.c
athub_v1_0.c
athub_v1_0.h
athub_v2_0.c
athub_v2_0.h
athub_v2_1.c
athub_v2_1.h
atom.c
atom.h
atombios_crtc.c
atombios_crtc.h
atombios_dp.c
atombios_dp.h
atombios_encoders.c drm/amdgpu: replace drm_detect_hdmi_monitor() with drm_display_info.is_hdmi 2021-12-07 13:13:07 -05:00
atombios_encoders.h
atombios_i2c.c
atombios_i2c.h
cik.c drm/amdgpu: don't do resets on APUs which don't support it 2022-01-14 18:06:44 -05:00
cik.h
cik_ih.c
cik_ih.h
cik_sdma.c
cik_sdma.h
cikd.h
clearstate_ci.h
clearstate_defs.h
clearstate_gfx9.h
clearstate_gfx10.h
clearstate_si.h
clearstate_vi.h
cz_ih.c
cz_ih.h
dce_v6_0.c
dce_v6_0.h
dce_v8_0.c drm/amd/amdgpu: remove useless break after return 2021-11-22 14:45:02 -05:00
dce_v8_0.h
dce_v10_0.c
dce_v10_0.h
dce_v11_0.c
dce_v11_0.h
df_v1_7.c
df_v1_7.h
df_v3_6.c
df_v3_6.h
dimgrey_cavefish_reg_init.c
emu_soc.c
gfx_v6_0.c
gfx_v6_0.h
gfx_v7_0.c drm/amdgpu: correctly toggle gfx on/off around RLC_SPM_* register access 2021-11-05 14:12:29 -04:00
gfx_v7_0.h
gfx_v8_0.c drm/amdgpu: correctly toggle gfx on/off around RLC_SPM_* register access 2021-11-05 14:12:29 -04:00
gfx_v8_0.h
gfx_v9_0.c drm/amdgpu: Modify indirect register access for gfx9 sriov 2021-12-28 16:02:25 -05:00
gfx_v9_0.h
gfx_v9_4.c
gfx_v9_4.h
gfx_v9_4_2.c
gfx_v9_4_2.h
gfx_v10_0.c drm/amdgpu/gfx10: add wraparound gpu counter check for APUs as well 2021-11-24 15:09:09 -05:00
gfx_v10_0.h
gfxhub_v1_0.c drm/amdgpu: don't override default ECO_BITs setting 2021-12-14 17:50:36 -05:00
gfxhub_v1_0.h
gfxhub_v1_1.c drm/amdgpu: use correct register mask to extract field 2021-11-03 12:22:07 -04:00
gfxhub_v1_1.h
gfxhub_v2_0.c drm/amdgpu: don't override default ECO_BITs setting 2021-12-14 17:50:36 -05:00
gfxhub_v2_0.h
gfxhub_v2_1.c drm/amdgpu: add utcl2_harvest to gc 10.3.1 2022-02-09 15:08:05 -05:00
gfxhub_v2_1.h
gmc_v6_0.c drm/amdgpu: recover gart table at resume 2022-01-11 15:44:26 -05:00
gmc_v6_0.h
gmc_v7_0.c drm/amdgpu: recover gart table at resume 2022-01-11 15:44:26 -05:00
gmc_v7_0.h
gmc_v8_0.c drm/amdgpu: recover gart table at resume 2022-01-11 15:44:26 -05:00
gmc_v8_0.h
gmc_v9_0.c drm/amdgpu: Use correct VIEWPORT_DIMENSION for DCN2 2022-01-11 15:44:28 -05:00
gmc_v9_0.h
gmc_v10_0.c drm/amdgpu: fix a potential GPU hang on cyan skillfish 2022-02-02 18:35:00 -05:00
gmc_v10_0.h
hdp_v4_0.c
hdp_v4_0.h
hdp_v5_0.c
hdp_v5_0.h
iceland_ih.c
iceland_ih.h
iceland_sdma_pkt_open.h
jpeg_v1_0.c
jpeg_v1_0.h
jpeg_v2_0.c
jpeg_v2_0.h
jpeg_v2_5.c
jpeg_v2_5.h
jpeg_v3_0.c
jpeg_v3_0.h
Kconfig
Makefile drm/amdgpu: use generic fb helpers instead of setting up AMD own's. 2021-11-17 16:58:03 -05:00
mca_v3_0.c
mca_v3_0.h
mes_api_def.h
mes_v10_1.c
mes_v10_1.h
mmhub_v1_0.c drm/amdgpu: correct the wrong cached state for GMC on PICASSO 2021-12-14 17:56:53 -05:00
mmhub_v1_0.h
mmhub_v1_7.c drm/amdgpu: don't override default ECO_BITs setting 2021-12-14 17:50:36 -05:00
mmhub_v1_7.h
mmhub_v2_0.c drm/amdgpu: don't override default ECO_BITs setting 2021-12-14 17:50:36 -05:00
mmhub_v2_0.h
mmhub_v2_3.c drm/amdgpu: don't override default ECO_BITs setting 2021-12-14 17:50:36 -05:00
mmhub_v2_3.h
mmhub_v9_4.c drm/amdgpu: don't override default ECO_BITs setting 2021-12-14 17:50:36 -05:00
mmhub_v9_4.h
mmsch_v1_0.h
mmsch_v2_0.h
mmsch_v3_0.h
mxgpu_ai.c drm/amdgpu: add dummy event6 for vega10 2022-01-07 17:19:34 -05:00
mxgpu_ai.h drm/amdgpu: add dummy event6 for vega10 2022-01-07 17:19:34 -05:00
mxgpu_nv.c drm/amdgpu: SRIOV flr_work should use down_write 2021-12-14 16:09:02 -05:00
mxgpu_nv.h
mxgpu_vi.c
mxgpu_vi.h
navi10_ih.c drm/amdgpu: handle IH ring1 overflow 2021-12-01 16:03:34 -05:00
navi10_ih.h
navi10_sdma_pkt_open.h
nbio_v2_3.c drm/amdgpu: Fix MMIO HDP flush on SRIOV 2021-11-24 15:02:25 -05:00
nbio_v2_3.h
nbio_v6_1.c drm/amdgpu: Fix MMIO HDP flush on SRIOV 2021-11-24 15:02:25 -05:00
nbio_v6_1.h
nbio_v7_0.c drm/amdgpu: Fix MMIO HDP flush on SRIOV 2021-11-24 15:02:25 -05:00
nbio_v7_0.h
nbio_v7_2.c drm/amdgpu: Fix MMIO HDP flush on SRIOV 2021-11-24 15:02:25 -05:00
nbio_v7_2.h
nbio_v7_4.c drm/amdgpu: Skip ASPM programming on aldebaran 2021-11-24 15:14:03 -05:00
nbio_v7_4.h
nv.c drm/amdgpu: handle SRIOV VCN revision parsing 2021-12-02 12:43:25 -05:00
nv.h
nvd.h
ObjectID.h
psp_gfx_if.h
psp_v3_1.c
psp_v3_1.h
psp_v10_0.c
psp_v10_0.h
psp_v11_0.c drm/amdgpu: Remove the redundant code of psp bootloader functions 2021-12-30 08:54:43 -05:00
psp_v11_0.h
psp_v11_0_8.c
psp_v11_0_8.h
psp_v12_0.c
psp_v12_0.h
psp_v13_0.c
psp_v13_0.h
sdma_common.h
sdma_v2_4.c
sdma_v2_4.h
sdma_v3_0.c
sdma_v3_0.h
sdma_v4_0.c drm/amdgpu: skipping SDMA hw_init and hw_fini for S0ix. 2022-02-14 14:59:46 -05:00
sdma_v4_0.h
sdma_v4_4.c
sdma_v4_4.h
sdma_v5_0.c drm/amd: fix improper docstring syntax 2021-12-13 16:32:34 -05:00
sdma_v5_0.h
sdma_v5_2.c drm/amdgpu: Filter security violation registers 2021-12-28 16:00:47 -05:00
sdma_v5_2.h
si.c
si.h
si_dma.c
si_dma.h
si_enums.h
si_ih.c
si_ih.h
sid.h
smu_v11_0_i2c.c
smu_v11_0_i2c.h
smuio_v9_0.c
smuio_v9_0.h
smuio_v11_0.c
smuio_v11_0.h
smuio_v11_0_6.c
smuio_v11_0_6.h
smuio_v13_0.c
smuio_v13_0.h
soc15.c drm/amdgpu: disable MMHUB PG for Picasso 2022-02-21 17:55:17 -05:00
soc15.h
soc15_common.h drm/amdgpu: Add *_SOC15_IP_NO_KIQ() macro definitions 2021-12-28 16:01:55 -05:00
soc15d.h
ta_rap_if.h
ta_ras_if.h
ta_secureDisplay_if.h
ta_xgmi_if.h
tonga_ih.c
tonga_ih.h
tonga_sdma_pkt_open.h
umc_v6_0.c
umc_v6_0.h
umc_v6_1.c
umc_v6_1.h
umc_v6_7.c drm/amdgpu: add new query interface for umc block v2 2021-11-22 14:45:14 -05:00
umc_v6_7.h
umc_v8_7.c
umc_v8_7.h
uvd_v3_1.c
uvd_v3_1.h
uvd_v4_2.c
uvd_v4_2.h
uvd_v5_0.c
uvd_v5_0.h
uvd_v6_0.c drm/amdgpu: fix uvd crash on Polaris12 during driver unloading 2021-11-09 17:06:15 -05:00
uvd_v6_0.h
uvd_v7_0.c
uvd_v7_0.h
vce_v2_0.c
vce_v2_0.h
vce_v3_0.c
vce_v3_0.h
vce_v4_0.c
vce_v4_0.h
vcn_v1_0.c drm/amdgpu: When the VCN(1.0) block is suspended, powergating is explicitly enabled 2021-12-17 12:47:29 -05:00
vcn_v1_0.h
vcn_v2_0.c
vcn_v2_0.h
vcn_v2_5.c
vcn_v2_5.h
vcn_v3_0.c
vcn_v3_0.h
vega10_ih.c drm/amdgpu: handle IH ring1 overflow 2021-12-01 16:03:34 -05:00
vega10_ih.h
vega10_reg_init.c
vega10_sdma_pkt_open.h
vega20_ih.c drm/amdgpu: handle IH ring1 overflow 2021-12-01 16:03:34 -05:00
vega20_ih.h
vega20_reg_init.c
vi.c drm/amdgpu: don't do resets on APUs which don't support it 2022-01-14 18:06:44 -05:00
vi.h
vid.h