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