From 71cbd71eb5c0e8e13b25b5d5dd2f495e7d2967eb Mon Sep 17 00:00:00 2001 From: Nico Huber Date: Thu, 29 Mar 2018 15:15:10 +0200 Subject: drivers/intel/gma: Depend less on default fb values Instead of hard-coding a lot of default values of the framebuffer config, we use the values provided by Display_Probing.Scan_Ports() and only overwrite what is necessary. This way we are more independent from changes inside libgfxinit. Change-Id: I121bbd926532c27321446282aa334cc45cdbeef1 Signed-off-by: Nico Huber Reviewed-on: https://review.coreboot.org/25452 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi Reviewed-by: Paul Menzel --- src/drivers/intel/gma/hires_fb/gma.adb | 11 +++++------ src/drivers/intel/gma/text_fb/gma.adb | 11 +++++------ 2 files changed, 10 insertions(+), 12 deletions(-) (limited to 'src/drivers/intel/gma') diff --git a/src/drivers/intel/gma/hires_fb/gma.adb b/src/drivers/intel/gma/hires_fb/gma.adb index 086da9b80f..839d2d3e91 100644 --- a/src/drivers/intel/gma/hires_fb/gma.adb +++ b/src/drivers/intel/gma/hires_fb/gma.adb @@ -79,12 +79,11 @@ is min_v := pos16'min (min_v, configs (i).Mode.V_Visible); end loop; - fb := - (Width => Width_Type (min_h), - Height => Height_Type (min_v), - BPC => 8, - Stride => Div_Round_Up (Width_Type (min_h), 16) * 16, - Offset => 0); + fb := configs (Primary).Framebuffer; + fb.Width := Width_Type (min_h); + fb.Height := Height_Type (min_v); + fb.Stride := Div_Round_Up (fb.Width, 16) * 16; + for i in Pipe_Index loop exit when configs (i).Port = Disabled; diff --git a/src/drivers/intel/gma/text_fb/gma.adb b/src/drivers/intel/gma/text_fb/gma.adb index 8f61d1dd65..145b9a047e 100644 --- a/src/drivers/intel/gma/text_fb/gma.adb +++ b/src/drivers/intel/gma/text_fb/gma.adb @@ -51,12 +51,11 @@ is vga_io_init; vga_textmode_init; - configs (Primary).Framebuffer := - (Width => 640, - Height => 400, - BPC => Auto_BPC, -- ignored for VGA plane - Stride => 320, -- ignored - Offset => VGA_PLANE_FRAMEBUFFER_OFFSET); + -- override probed framebuffer config + configs (Primary).Framebuffer.Width := 640; + configs (Primary).Framebuffer.Height := 400; + configs (Primary).Framebuffer.Offset := + VGA_PLANE_FRAMEBUFFER_OFFSET; HW.GFX.GMA.Dump_Configs (configs); HW.GFX.GMA.Update_Outputs (configs); -- cgit v1.2.3