On Mon, Apr 9, 2018 at 3:47 AM, Michel Dänzer <mic...@daenzer.net> wrote:
> On 2018-04-06 09:54 PM, Alex Deucher wrote:
>> Steal 9 MB for vga emulation and fb if vga is enabled, otherwise,
>> steal enough to cover the current display size as set by the vbios.
>>
>> If no memory is used (e.g., secondary or headless card), skip
>> stolen memory reserve.
>>
>> v2: skip reservation if vram is limited, address Christian's comments
>>
>> Reviewed-and-Tested-by: Andrey Grodzovsky <andrey.grodzov...@amd.com> (v1)
>> Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
>
> [...]
>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c 
>> b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
>> index 5617cf62c566..24e1ea36b454 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
>> @@ -825,6 +825,25 @@ static int gmc_v6_0_late_init(void *handle)
>>               return 0;
>>  }
>>
>> +static unsigned gmc_v6_0_get_vbios_fb_size(struct amdgpu_device *adev)
>> +{
>> +     u32 d1vga_control = RREG32(mmD1VGA_CONTROL);
>> +     unsigned size;
>> +
>> +     if (REG_GET_FIELD(d1vga_control, D1VGA_CONTROL, D1VGA_MODE_ENABLE)) {
>> +             size = 9 * 1024 * 1024; /* reserve 8MB for vga emulator and 1 
>> MB for FB */
>> +     } else {
>> +             u32 viewport = RREG32(mmVIEWPORT_SIZE);
>> +             size = (REG_GET_FIELD(viewport, VIEWPORT_SIZE, 
>> VIEWPORT_HEIGHT) *
>> +                     REG_GET_FIELD(viewport, VIEWPORT_SIZE, VIEWPORT_WIDTH) 
>> *
>> +                     4);
>> +     }
>
> Any particular reason for not calculating the FB size based on the
> viewport even if VGA is enabled? VGA text mode can use higher
> resolutions as well.
>
> Other than that, these patches look good to me.

According to the vbios team the 9 MB is all that is used in legacy vga
text mode.


Alex
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to