gma skylake: Avoid aliasing of Config.State
SPARK rules forbid us to pass `Config.Raw_Clock` (which is a part
of `Config.State`) as an output to Get_Raw_Clock() as the latter
also depends on `Config.State`. Introduce an intermediate variable
to avoid this.
Change-Id: I721dea522afba9342d92f44aa0fd7708cc079436
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/libgfxinit/+/68109
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
diff --git a/common/skylake/hw-gfx-gma-power_and_clocks.adb b/common/skylake/hw-gfx-gma-power_and_clocks.adb
index ec71359..21bb303 100644
--- a/common/skylake/hw-gfx-gma-power_and_clocks.adb
+++ b/common/skylake/hw-gfx-gma-power_and_clocks.adb
@@ -367,7 +367,12 @@
Get_Max_CDClk (Config.Max_CDClk);
Set_CDClk (Config.Default_CDClk_Freq);
- Get_Raw_Clock (Config.Raw_Clock);
+ declare -- avoid aliasing
+ Raw_Clock : Frequency_Type;
+ begin
+ Get_Raw_Clock (Raw_Clock);
+ Config.Raw_Clock := Raw_Clock;
+ end;
end Initialize;
procedure Limit_Dotclocks