[PATCH 4/4] drm/amd: Enable seamless boot by default on newer APUs

Harry Wentland harry.wentland at amd.com
Wed Sep 13 15:23:01 UTC 2023



On 2023-09-05 16:13, Mario Limonciello wrote:
> On 9/5/2023 15:07, Deucher, Alexander wrote:
>> [Public]
>>
>>> -----Original Message-----
>>> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of Mario
>>> Limonciello
>>> Sent: Tuesday, September 5, 2023 3:26 PM
>>> To: amd-gfx at lists.freedesktop.org
>>> Cc: Limonciello, Mario <Mario.Limonciello at amd.com>
>>> 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 at amd.com>
>>> ---
>>>   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.
> 

The core code around this should support DCN1+ and DC has logic to check
whether we can actually do a seamless handover 
(mark_seamless_boot_stream). If it's not possible we'll still reprogram
the output (as in the case of that first patch you mention above).

Not sure about the stolen_vga_memory thing. But that's a question
separately from the ASIC generations supported.

I'd be fine to allow seamless boot for DCN1+. Though would it be 
considered a regression if we had to roll this back and only allow
it for newer ASICs? In that case maybe DCN3+ is a good cutoff.

Patches 2 and 3 (with Alex's comment addressed) are
Reviewed-by: Harry Wentland <harry.wentland at amd.com>

Harry


>>>
>>> -     return false;
>>> +     return adev->flags & AMD_IS_APU;
>>>   }
>>>
>>>   /*
>>> -- 
>>> 2.34.1
>>
> 


More information about the amd-gfx mailing list