On 9/5/2023 15:07, Deucher, Alexander wrote:
[Public]
-----Original Message-----
From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Mario
Limonciello
Sent: Tuesday, September 5, 2023 3:26 PM
To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx
Cc: Limonciello, Mario <Mario.Limonciello@xxxxxxx>
Subject: [PATCH 4/4] drm/amd: Enable seamless boot by default on newer
APUs
IP discovery is a good line in the sand to expand seamless boot to more ASICs.
Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 9159a7b993ab..19265dbe592e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1296,14 +1296,10 @@ bool amdgpu_seamless_boot_supported(struct
amdgpu_device *adev)
if (adev->mman.keep_stolen_vga_memory)
return false;
This probably needs to be revisited too. I don't know why this is an issue. This flag just means the kernel driver keeps the stolen VGA region as reserved rather than releasing it back into the pool of available memory. I don't think it should directly affect this feature.
- switch (adev->ip_versions[DCE_HWIP][0]) {
- case IP_VERSION(3, 0, 1):
- return true;
- default:
- break;
- }
+ if (adev->asic_type != CHIP_IP_DISCOVERY)
+ return false;
Probably need input from the display team, but I think a number of the older chips we'd probably want this too. Maybe base it on the DCE_HWIP version? DCN 1.0.0 or newer? Or maybe DCN 3.0.0 or newer?
I think it will only work on the older chips if the
adev->mman.keep_stolen_vga_memory check can actually be dropped as some
of the older chips explicitly set it to TRUE.
There are other non-obvious dependencies too like:
f0882d3afb9a ("drm/amd/display: prevent seamless boot on displays that
don't have the preferred dig")
6349c73859cb ("drm/amd/display: For ODM seamless transition require AUTO
mode")
So I was trying to be cautious in just enabling a few more things right
now. I think essentially this "only" enables for for Rembrandt,
Raphael, Mendocino and Phoenix. I tested it on Phoenix and Rembrandt.
But the module parameter is an escape hatch. Let's see what display
team says.
- return false;
+ return adev->flags & AMD_IS_APU;
}
/*
--
2.34.1