[coreboot-gerrit] Patch set updated for coreboot: drivers/intel/gma: Use scaling to simplify fb config
Nico Huber (nico.h@gmx.de)
gerrit at coreboot.org
Wed Dec 7 20:12:13 CET 2016
Nico Huber (nico.h at gmx.de) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/17492
-gerrit
commit 55ed8e8ef2b255b49802a3af8049d7cc0ce5271c
Author: Nico Huber <nico.huber at secunet.com>
Date: Tue Nov 8 12:29:50 2016 +0100
drivers/intel/gma: Use scaling to simplify fb config
Utilize libgfxinit's support for scaling to simplify the framebuffer
configuration. In case of multiple displays of different resolutions,
we had configured one framebuffer big enough for their union, each
display only showing its respective upper left window. Instead, we use
the smallest resolution now and show the whole image on all displays.
Change-Id: I70a9d92f88ef891703829945264f94ac7eff09b0
Signed-off-by: Nico Huber <nico.huber at secunet.com>
---
src/drivers/intel/gma/hires_fb/gma.adb | 29 +++++++++++------------------
1 file changed, 11 insertions(+), 18 deletions(-)
diff --git a/src/drivers/intel/gma/hires_fb/gma.adb b/src/drivers/intel/gma/hires_fb/gma.adb
index 7ebc4f8..87e0900 100644
--- a/src/drivers/intel/gma/hires_fb/gma.adb
+++ b/src/drivers/intel/gma/hires_fb/gma.adb
@@ -59,9 +59,8 @@ is
success : boolean;
- stride : Width_Type;
- max_h : pos16 := 1;
- max_v : pos16 := 1;
+ min_h : pos16 := pos16'last;
+ min_v : pos16 := pos16'last;
begin
lightup_ok := 0;
@@ -77,30 +76,24 @@ is
for i in Config_Index loop
exit when configs (i).Port = Disabled;
- max_h := pos16'max (max_h, configs (i).Mode.H_Visible);
- max_v := pos16'max (max_v, configs (i).Mode.V_Visible);
+ min_h := pos16'min (min_h, configs (i).Mode.H_Visible);
+ min_v := pos16'min (min_v, configs (i).Mode.V_Visible);
end loop;
- stride := ((Width_Type (max_h) + 63) / 64) * 64;
+ fb :=
+ (Width => Width_Type (min_h),
+ Height => Height_Type (min_v),
+ BPC => 8,
+ Stride => ((Width_Type (min_h) + 63) / 64) * 64,
+ Offset => 0);
for i in Config_Index loop
exit when configs (i).Port = Disabled;
- configs (i).Framebuffer :=
- (Width => Width_Type (configs (i).Mode.H_Visible),
- Height => Height_Type (configs (i).Mode.V_Visible),
- BPC => 8,
- Stride => stride,
- Offset => 0);
+ configs (i).Framebuffer := fb;
end loop;
HW.GFX.GMA.Dump_Configs (configs);
- fb :=
- (Width => Width_Type (max_h),
- Height => Height_Type (max_v),
- BPC => 8,
- Stride => stride,
- Offset => 0);
HW.GFX.GMA.Setup_Default_GTT (fb, phys_fb);
HW.GFX.Framebuffer_Filler.Fill (linear_fb, fb);
More information about the coreboot-gerrit
mailing list