linux/drivers/gpu/drm/amd/include
Mario Limonciello 43df8e64df drm/amd: Add concept of running prepare_suspend() sequence for IP blocks
[ Upstream commit cb11ca3233 ]

If any IP blocks allocate memory during their hw_fini() sequence
this can cause the suspend to fail under memory pressure.  Introduce
a new phase that IP blocks can use to allocate memory before suspend
starts so that it can potentially be evicted into swap instead.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Stable-dep-of: ca299b4512 ("drm/amd: Flush GFXOFF requests in prepare stage")
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-04-10 16:28:28 +02:00
..
asic_reg drm/amdgpu: Force order between a read and write to the same address 2023-12-08 08:51:14 +01:00
ivsrcid drm/amdgpu/vcn: Add vcn ras poison consumption event handling 2022-05-10 17:53:13 -04:00
aldebaran_ip_offset.h drm/amd/include/aldebaran_ip_offset: Mark top-level IP_BASE as __maybe_unused 2021-05-21 10:32:16 -04:00
amd_acpi.h drm/amdgpu: support atcs method powershift (v4) 2021-06-01 22:36:48 -04:00
amd_pcie.h drm/amdgpu:Add pcie gen5 support in pcie capability. 2021-01-21 09:54:56 -05:00
amd_pcie_helpers.h gpu: drm: amd/radeon: Convert printk(KERN_<LEVEL> to pr_<level> 2017-03-29 23:53:24 -04:00
amd_shared.h drm/amd: Add concept of running prepare_suspend() sequence for IP blocks 2024-04-10 16:28:28 +02:00
arct_ip_offset.h drm/amd/include/arct_ip_offset: Mark top-level IP_BASE definition as __maybe_unused 2020-11-24 12:09:53 -05:00
atom-bits.h drm/amdgpu: move some atombios definitions to common folder (v2) 2015-08-17 16:50:19 -04:00
atom-names.h drm/amdgpu: move some atombios definitions to common folder (v2) 2015-08-17 16:50:19 -04:00
atom-types.h drm/amdgpu: move some atombios definitions to common folder (v2) 2015-08-17 16:50:19 -04:00
atombios.h drm/amd: Fix typo 'the the' in comment 2022-07-25 09:31:05 -04:00
atomfirmware.h drm/amdgpu: add vram reservation based on vram_usagebyfirmware_v2_2 2023-08-11 12:08:26 +02:00
atomfirmwareid.h drm/amdgpu: add the new atomfirmware interface header 2017-03-29 23:54:15 -04:00
beige_goby_ip_offset.h drm/amd/amdgpu: initialize IP offset for beige_goby 2021-05-19 22:40:09 -04:00
cgs_common.h drm/amdgpu: retire indirect mmio reg support from cgs 2020-04-09 10:43:18 -04:00
cik_structs.h drm/amdkfd: Shift sdma_engine_id and sdma_queue_id in mqd 2019-05-24 12:21:01 -05:00
cyan_skillfish_ip_offset.h drm/amd: Mark IP_BASE definition as __maybe_unused 2021-12-13 16:32:34 -05:00
dimgrey_cavefish_ip_offset.h drm/amd/include/dimgrey_cavefish_ip_offset: Mark top-level IP_BASE as __maybe_unused 2020-11-24 12:09:53 -05:00
discovery.h drm/amdgpu: update latest IP discovery table structures 2022-04-28 17:46:31 -04:00
displayobject.h drm/amdgpu: add the new atomfirmware interface header 2017-03-29 23:54:15 -04:00
dm_pp_interface.h drm/amd/pp: Remove the same struct define in powerplay 2018-07-05 16:40:02 -05:00
kgd_kfd_interface.h drm/amdkfd: Fix type of reset_type parameter in hqd_destroy() callback 2022-10-18 22:13:12 -04:00
kgd_pp_interface.h drm/amd/pm: fulfill swsmu peak profiling mode shader/memory clock settings 2023-08-16 18:27:22 +02:00
mes_api_def.h drm/amd: Fix spelling typo in comments 2022-06-03 16:43:36 -04:00
mes_v11_api_def.h drm/amd/amdgpu: update mes11 api def 2023-05-30 14:03:16 +01:00
navi10_enum.h drm/amdgpu: Update NV SIMD-per-CU to 2 2021-07-01 00:05:18 -04:00
navi10_ip_offset.h drm/amd/include/navi10_ip_offset: Mark top-level IP_BASE as __maybe_unused 2020-11-24 12:09:53 -05:00
navi12_ip_offset.h drm/amd/include/navi12_ip_offset: Mark top-level IP_BASE as __maybe_unused 2020-11-24 12:09:53 -05:00
navi14_ip_offset.h drm/amd/include/navi14_ip_offset: Mark top-level IP_BASE as __maybe_unused 2020-11-24 12:09:53 -05:00
pptable.h drm/amd: Fix UBSAN array-index-out-of-bounds for SMU7 2023-11-28 17:06:57 +00:00
renoir_ip_offset.h drm/amd/include/renoir_ip_offset: Mark top-level IP_BASE as __maybe_unused 2021-01-14 13:20:20 -05:00
sienna_cichlid_ip_offset.h drm/amd/include/sienna_cichlid_ip_offset: Mark top-level IP_BASE as __maybe_unused 2020-11-24 12:09:53 -05:00
soc15_hw_ip.h drm/amdgpu: add lsdma block 2022-05-10 17:53:11 -04:00
soc15_ih_clientid.h drm/amdgpu: add soc21 ih clientid definition 2022-05-04 09:52:59 -04:00
soc21_enum.h drm/amdgpu: add soc21 chip enum header v8 2022-05-04 10:02:18 -04:00
v9_structs.h drm/amdkfd: Extend CU mask to 8 SEs (v3) 2019-08-02 10:19:11 -05:00
v10_structs.h drm/amdgpu: add v10 structs header (v2) 2019-06-20 21:16:37 -05:00
v11_structs.h drm/amdgpu: add gfx11 mqd structures 2022-05-04 10:02:27 -04:00
vangogh_ip_offset.h drm/amd/include/vangogh_ip_offset: Mark top-level IP_BASE as __maybe_unused 2020-11-24 12:09:53 -05:00
vega10_enum.h drm/amdgpu: Support new arcturus mtype 2019-09-13 17:35:48 -05:00
vega10_ip_offset.h drm/amd/include/vega10_ip_offset: Mark _BASE structs as __maybe_unused 2020-11-13 17:29:46 -05:00
vega20_ip_offset.h drm/amd/include/vega20_ip_offset: Mark top-level IP_BASE definition as __maybe_unused 2020-11-24 12:09:53 -05:00
vi_structs.h drm/amdkfd: Check HIQ's MQD for queue preemption status 2021-03-23 22:59:25 -04:00
yellow_carp_offset.h drm/amd: Mark IP_BASE definition as __maybe_unused 2021-12-13 16:32:34 -05:00