Jacob Garber has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/33787
Change subject: libpayload/libc: Correct strlcat return value
......................................................................
libpayload/libc: Correct strlcat return value
The documented return value for strlcat is horribly wrong, as is the
return value itself. It should not return the number of appended bytes,
but rather the total size of the concatenated string. From the man page:
The strlcpy() and strlcat() functions return the total length of the
string they tried to create. For strlcpy() that means the length of
src. For strlcat() that means the initial length of dst plus the
length of src. While this may seem somewhat confusing, it was done
to make truncation detection simple.
Change-Id: I4421305af85bce88d12d6fdc2eea6807ccdcf449
Signed-off-by: Jacob Garber <jgarber1(a)ualberta.ca>
---
M payloads/libpayload/libc/string.c
1 file changed, 2 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/87/33787/1
diff --git a/payloads/libpayload/libc/string.c b/payloads/libpayload/libc/string.c
index 6c257cb..bd795f4 100644
--- a/payloads/libpayload/libc/string.c
+++ b/payloads/libpayload/libc/string.c
@@ -249,7 +249,7 @@
* @param d The destination string.
* @param s The source string.
* @param n d will have at most n-1 characters (plus NUL) after invocation.
- * @return A pointer to the destination string.
+ * @return The total length of the string that would have been created.
*/
size_t strlcat(char *d, const char *s, size_t n)
{
@@ -264,7 +264,7 @@
p[i] = s[i];
p[i] = '\0';
- return max;
+ return sl + dl;
}
/**
--
To view, visit https://review.coreboot.org/c/coreboot/+/33787
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I4421305af85bce88d12d6fdc2eea6807ccdcf449
Gerrit-Change-Number: 33787
Gerrit-PatchSet: 1
Gerrit-Owner: Jacob Garber <jgarber1(a)ualberta.ca>
Gerrit-MessageType: newchange
Yanjie Jiang has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/32666
Change subject: coreboot: add md power off flow
......................................................................
coreboot: add md power off flow
Change-Id: Ib6e11faeb6936a1dd6bbe8b1a8b612446bf51082
---
M src/soc/mediatek/mt8183/Makefile.inc
A src/soc/mediatek/mt8183/include/soc/md_ctrl.h
A src/soc/mediatek/mt8183/md_ctrl.c
M src/soc/mediatek/mt8183/mt8183.c
4 files changed, 67 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/66/32666/1
diff --git a/src/soc/mediatek/mt8183/Makefile.inc b/src/soc/mediatek/mt8183/Makefile.inc
old mode 100644
new mode 100755
index 5392a9e..ca7d521
--- a/src/soc/mediatek/mt8183/Makefile.inc
+++ b/src/soc/mediatek/mt8183/Makefile.inc
@@ -9,6 +9,7 @@
bootblock-y += ../common/timer.c
bootblock-y += ../common/uart.c
bootblock-y += ../common/wdt.c
+bootblock-y += md_ctrl.c
decompressor-y += decompressor.c
decompressor-y += ../common/mmu_operations.c
@@ -21,6 +22,7 @@
verstage-y += ../common/timer.c
verstage-y += ../common/uart.c
verstage-y += ../common/wdt.c
+verstage-y += md_ctrl.c
romstage-y += auxadc.c
romstage-y += ../common/cbmem.c emi.c
@@ -39,6 +41,7 @@
romstage-y += ../common/timer.c
romstage-y += ../common/uart.c
romstage-y += ../common/wdt.c
+romstage-y += md_ctrl.c
ramstage-y += auxadc.c
ramstage-y += ../common/cbmem.c emi.c
diff --git a/src/soc/mediatek/mt8183/include/soc/md_ctrl.h b/src/soc/mediatek/mt8183/include/soc/md_ctrl.h
new file mode 100755
index 0000000..534de9b
--- /dev/null
+++ b/src/soc/mediatek/mt8183/include/soc/md_ctrl.h
@@ -0,0 +1,19 @@
+/*
+ * Copyright (C) 2019 MediaTek Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef __SOC_MEDIATEK_MD_POWER_H__
+#define __SOC_MEDIATEK_MD_POWER_H__
+
+void mtk_md_early_init(void);
+
+#endif
\ No newline at end of file
diff --git a/src/soc/mediatek/mt8183/md_ctrl.c b/src/soc/mediatek/mt8183/md_ctrl.c
new file mode 100755
index 0000000..c8acb1f
--- /dev/null
+++ b/src/soc/mediatek/mt8183/md_ctrl.c
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2019 MediaTek Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <device/mmio.h>
+#include <console/console.h>
+#include <soc/addressmap.h>
+#include <soc/infracfg.h>
+#include <soc/pll.h>
+#include <soc/md_ctrl.h>
+
+static void internal_md1_power_down(void)
+{
+ unsigned int reg_value;
+
+ /* 1. md clock setting: gating */
+ reg_value = read32(&mtk_topckgen->clk_mode);
+ reg_value |= ((1<<8)|(1<<9));
+ write32(&mtk_topckgen->clk_mode, reg_value);
+
+ /* 2. mixedsys topsm init, for release srcclkena in kernel */
+ reg_value = read32(&mt8183_infracfg->infra_misc2);
+ reg_value &= ~0xFF;
+ write32(&mt8183_infracfg->infra_misc2, reg_value);
+
+ printk(BIOS_INFO, "[ccci-off]src clk ena = 0x%X\n",
+ read32(&mt8183_infracfg->infra_misc2));
+}
+
+void mtk_md_early_init(void)
+{
+ internal_md1_power_down();
+}
+
diff --git a/src/soc/mediatek/mt8183/mt8183.c b/src/soc/mediatek/mt8183/mt8183.c
old mode 100644
new mode 100755
index c441980..66038e3
--- a/src/soc/mediatek/mt8183/mt8183.c
+++ b/src/soc/mediatek/mt8183/mt8183.c
@@ -15,8 +15,10 @@
#include <soc/mt8183.h>
#include <soc/wdt.h>
+#include <soc/md_ctrl.h>
void mt8183_early_init(void)
{
mtk_wdt_init();
+ mtk_md_early_init();
}
--
To view, visit https://review.coreboot.org/c/coreboot/+/32666
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ib6e11faeb6936a1dd6bbe8b1a8b612446bf51082
Gerrit-Change-Number: 32666
Gerrit-PatchSet: 1
Gerrit-Owner: Yanjie Jiang <yanjie.jiang(a)mediatek.corp-partner.google.com>
Gerrit-MessageType: newchange
Erin Lo has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/31516
Change subject: google/kukui: boot up sspm
......................................................................
google/kukui: boot up sspm
Load sspm firmware form cbfs and bring up it.
BUG=b:80501386
BRANCH=none
Test=Boots correctly on Kukui.
Change-Id: I4ae6034454326f5115cd3948819adc448b67fb1c
Signed-off-by: Erin Lo <erin.lo(a)mediatek.com>
---
M src/mainboard/google/kukui/Kconfig
M src/mainboard/google/kukui/Makefile.inc
M src/mainboard/google/kukui/mainboard.c
M src/soc/mediatek/mt8183/Makefile.inc
M src/soc/mediatek/mt8183/include/soc/addressmap.h
A src/soc/mediatek/mt8183/include/soc/sspm.h
A src/soc/mediatek/mt8183/sspm.c
7 files changed, 94 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/16/31516/1
diff --git a/src/mainboard/google/kukui/Kconfig b/src/mainboard/google/kukui/Kconfig
index 9f477e5..0dcdb20 100644
--- a/src/mainboard/google/kukui/Kconfig
+++ b/src/mainboard/google/kukui/Kconfig
@@ -65,4 +65,8 @@
default "KUKUI TEST 9847" if BOARD_GOOGLE_KUKUI
default "FLAPJACK TEST 4147" if BOARD_GOOGLE_FLAPJACK
+config SSPM_BIN_FILE
+ string "SSPM BIN FILE"
+ default ""
+
endif
diff --git a/src/mainboard/google/kukui/Makefile.inc b/src/mainboard/google/kukui/Makefile.inc
index a0556c1..565c3f7 100644
--- a/src/mainboard/google/kukui/Makefile.inc
+++ b/src/mainboard/google/kukui/Makefile.inc
@@ -25,3 +25,8 @@
ramstage-y += mainboard.c
ramstage-y += memlayout.ld
ramstage-y += reset.c
+
+cbfs-files-y += sspm
+sspm-file := $(call strip_quotes,$(CONFIG_SSPM_BIN_FILE))
+sspm-type := raw
+sspm-compression :=$(CBFS_COMPRESS_FLAG)
diff --git a/src/mainboard/google/kukui/mainboard.c b/src/mainboard/google/kukui/mainboard.c
index e1d8f5f..5aaab8b 100644
--- a/src/mainboard/google/kukui/mainboard.c
+++ b/src/mainboard/google/kukui/mainboard.c
@@ -13,10 +13,13 @@
* GNU General Public License for more details.
*/
+#include <console/console.h>
+#include <cbfs.h>
#include <device/device.h>
#include <soc/gpio.h>
#include <soc/mmu_operations.h>
#include <soc/usb.h>
+#include <soc/sspm.h>
static void configure_emmc(void)
{
@@ -37,10 +40,29 @@
setup_usb_host();
}
+#define BUF_SIZE (64 * KiB)
+unsigned char buf[BUF_SIZE];
+
+static void sspm_boot(void)
+{
+ size_t fw_size = cbfs_boot_load_file("sspm", buf, sizeof(buf),
+ CBFS_TYPE_RAW);
+
+ if (fw_size == 0)
+ printk(BIOS_DEBUG, "no sspm\n");
+ else
+ printk(BIOS_DEBUG, "sspm[0]=%#x, [%zd]=%#x\n",
+ buf[0], fw_size - 1, buf[fw_size - 1]);
+
+ sspm_init(buf, BUF_SIZE);
+
+}
+
static void mainboard_init(struct device *dev)
{
configure_emmc();
configure_usb();
+ sspm_boot();
}
static void mainboard_enable(struct device *dev)
diff --git a/src/soc/mediatek/mt8183/Makefile.inc b/src/soc/mediatek/mt8183/Makefile.inc
index 5770a83..199b22d 100644
--- a/src/soc/mediatek/mt8183/Makefile.inc
+++ b/src/soc/mediatek/mt8183/Makefile.inc
@@ -49,6 +49,7 @@
ramstage-y += ../common/uart.c
ramstage-y += ../common/usb.c
ramstage-y += ../common/wdt.c
+ramstage-y += sspm.c
CPPFLAGS_common += -Isrc/soc/mediatek/mt8183/include
CPPFLAGS_common += -Isrc/soc/mediatek/common/include
diff --git a/src/soc/mediatek/mt8183/include/soc/addressmap.h b/src/soc/mediatek/mt8183/include/soc/addressmap.h
index d41b2b9..f812224 100644
--- a/src/soc/mediatek/mt8183/include/soc/addressmap.h
+++ b/src/soc/mediatek/mt8183/include/soc/addressmap.h
@@ -34,6 +34,7 @@
EMI_BASE = IO_PHYS + 0x00219000,
EMI_MPU_BASE = IO_PHYS + 0x00226000,
DRAMC_CH_BASE = IO_PHYS + 0x00228000,
+ SSPM_BASE = IO_PHYS + 0x00440000,
AUXADC_BASE = IO_PHYS + 0x01001000,
UART0_BASE = IO_PHYS + 0x01002000,
SPI0_BASE = IO_PHYS + 0x0100A000,
diff --git a/src/soc/mediatek/mt8183/include/soc/sspm.h b/src/soc/mediatek/mt8183/include/soc/sspm.h
new file mode 100644
index 0000000..f006ca2
--- /dev/null
+++ b/src/soc/mediatek/mt8183/include/soc/sspm.h
@@ -0,0 +1,28 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2019 MediaTek Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef SOC_MEDIATEK_MT8183_SSPM_H
+#define SOC_MEDIATEK_MT8183_SSPM_H
+
+#include <soc/addressmap.h>
+#include <types.h>
+
+struct mt8183_sspm_regs {
+ u32 sw_rstn;
+};
+static struct mt8183_sspm_regs *const mt8183_sspm = (void *)SSPM_BASE;
+#define CFG_SSPM_SRAM 0x10400000
+s32 sspm_init(unsigned char *buf, int len);
+#endif /* SOC_MEDIATEK_MT8183_SSPM_H */
diff --git a/src/soc/mediatek/mt8183/sspm.c b/src/soc/mediatek/mt8183/sspm.c
new file mode 100644
index 0000000..a42a0f5
--- /dev/null
+++ b/src/soc/mediatek/mt8183/sspm.c
@@ -0,0 +1,33 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2019 MediaTek Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <arch/barrier.h>
+#include <arch/io.h>
+#include <soc/gpio.h>
+#include <soc/sspm.h>
+#include <string.h>
+
+#define SSPM_UART 1
+s32 sspm_init(unsigned char *buf, int len)
+{
+ memcpy((void*)CFG_SSPM_SRAM, buf, len);
+#if SSPM_UART
+ gpio_set_mode(GPIO(EINT4), PAD_EINT4_FUNC_SSPM_UTXD_AO);
+ gpio_set_mode(GPIO(EINT5), PAD_EINT5_FUNC_SSPM_URXD_AO);
+#endif
+ mb();
+ write32(&mt8183_sspm->sw_rstn, 0x1);
+ return 0;
+}
--
To view, visit https://review.coreboot.org/c/coreboot/+/31516
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I4ae6034454326f5115cd3948819adc448b67fb1c
Gerrit-Change-Number: 31516
Gerrit-PatchSet: 1
Gerrit-Owner: Erin Lo <erin.lo(a)mediatek.com>
Gerrit-MessageType: newchange
Nico Huber has uploaded this change for review. ( https://review.coreboot.org/c/libgfxinit/+/31453
Change subject: gma: Add more PCI IDs for Coffee/Whiskey/Amber Lake
......................................................................
gma: Add more PCI IDs for Coffee/Whiskey/Amber Lake
These seem to be 100% compatible to Kaby Lake wrt. modesetting. So
treat them as the latter for now.
Untested. Didn't look at documented workarounds, yet.
Change-Id: If01883ba95246f9bfd66049772597e0317e294d2
Signed-off-by: Nico Huber <nico.h(a)gmx.de>
---
M common/hw-gfx-gma-config.ads.template
1 file changed, 18 insertions(+), 4 deletions(-)
git pull ssh://review.coreboot.org:29418/libgfxinit refs/changes/53/31453/1
diff --git a/common/hw-gfx-gma-config.ads.template b/common/hw-gfx-gma-config.ads.template
index d91d9c7..c3f3a7c 100644
--- a/common/hw-gfx-gma-config.ads.template
+++ b/common/hw-gfx-gma-config.ads.template
@@ -390,6 +390,14 @@
(Device_Id and 16#ffcf#) = 16#590b# or
(Device_Id and 16#ffcf#) = 16#590d#);
+ function Is_Coffee_Lake_Y_AML (Device_Id : Word16) return Boolean is
+ (Device_Id = 16#87ca#);
+ -- Including Whiskey Lake:
+ function Is_Coffee_Lake_U (Device_Id : Word16) return Boolean is
+ ((Device_Id and 16#fff0#) = 16#3ea0#);
+ function Is_Coffee_Lake (Device_Id : Word16) return Boolean is
+ ((Device_Id and 16#fff0#) = 16#3e90#);
+
function Is_GPU (Device_Id : Word16; CPU : CPU_Type; CPU_Var : CPU_Variant)
return Boolean is
(case CPU is
@@ -412,10 +420,16 @@
when ULT => Is_Skylake_U (Device_Id),
when ULX => Is_Skylake_Y (Device_Id)),
when Kabylake => (case CPU_Var is
- when Normal => Is_Kaby_Lake (Device_Id),
- when ULT => Is_Kaby_Lake_U (Device_Id),
- when ULX => Is_Kaby_Lake_Y (Device_Id) or
- Is_Kaby_Lake_Y_AML (Device_Id)));
+ when Normal =>
+ Is_Kaby_Lake (Device_Id) or
+ Is_Coffee_Lake (Device_Id),
+ when ULT =>
+ Is_Kaby_Lake_U (Device_Id) or
+ Is_Coffee_Lake_U (Device_Id),
+ when ULX =>
+ Is_Kaby_Lake_Y (Device_Id) or
+ Is_Kaby_Lake_Y_AML (Device_Id) or
+ Is_Coffee_Lake_Y_AML (Device_Id)));
function Compatible_GPU (Device_Id : Word16) return Boolean is
(Is_GPU (Device_Id, CPU, CPU_Var));
--
To view, visit https://review.coreboot.org/c/libgfxinit/+/31453
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: libgfxinit
Gerrit-Branch: master
Gerrit-Change-Id: If01883ba95246f9bfd66049772597e0317e294d2
Gerrit-Change-Number: 31453
Gerrit-PatchSet: 1
Gerrit-Owner: Nico Huber <nico.h(a)gmx.de>
Gerrit-MessageType: newchange
Nico Huber has uploaded this change for review. ( https://review.coreboot.org/c/libgfxinit/+/32732
Change subject: dp training: Write correct training data when switching patterns
......................................................................
dp training: Write correct training data when switching patterns
Apparently this was wrong all the time. When switching the training
pattern, i.e. writes to DPCD+0x102, we also have to write the current
signal levels to subsequent offsets. We always wrote 0s in this case,
even if we already negotiated higher values during the clock-recovery
phase. Obviously, this results in havoc if the sink takes the 0s
serious.
Change-Id: I6ae2f9aaec0b042e8dee6e8b0099ea62c82f611b
Signed-off-by: Nico Huber <nico.huber(a)secunet.com>
---
M common/hw-gfx-dp_training.adb
1 file changed, 11 insertions(+), 9 deletions(-)
git pull ssh://review.coreboot.org:29418/libgfxinit refs/changes/32/32732/1
diff --git a/common/hw-gfx-dp_training.adb b/common/hw-gfx-dp_training.adb
index 079d49c..d613d85 100644
--- a/common/hw-gfx-dp_training.adb
+++ b/common/hw-gfx-dp_training.adb
@@ -113,9 +113,10 @@
end Sink_Init;
procedure Sink_Set_Training_Pattern
- (DP : in Aux_T;
+ (Port : in T;
Link : in DP_Link;
Pattern : in DP_Info.Training_Pattern;
+ Train_Set : in DP_Info.Train_Set;
Success : out Boolean)
is
use type DP_Info.Training_Pattern;
@@ -124,21 +125,21 @@
TP : constant TP_Array := TP_Array'
(DP_Info.TP_1 => 16#21#, DP_Info.TP_2 => 16#22#, DP_Info.TP_3 => 16#23#,
DP_Info.TP_Idle => 16#00#, DP_Info.TP_None => 16#00#);
+ T_Set : constant Word8 := Training_Set (Port, Train_Set);
Data : DP_Defs.Aux_Payload;
Length : Positive := 1;
begin
pragma Debug (Debug.Put_Line (GNAT.Source_Info.Enclosing_Entity));
- Data :=
- (0 => TP (Pattern),
- others => 0); -- Don't care
-
+ Data := (TP (Pattern), others => 0);
if Pattern < DP_Info.TP_Idle then
Length := Length + Lane_Count (Link);
+ Data (1 .. Lane_Count (Link)) := (others => T_Set);
end if;
+
Aux_Ch.Aux_Write
- (Port => DP,
+ (Port => To_Aux (Port),
Address => 16#00102#, -- TRAINING_PATTERN_SET
Length => Length,
Data => Data,
@@ -332,7 +333,8 @@
pragma Warnings
(GNATprove, On, """Success"" modified by call, but value overwritten*");
if Success then
- Sink_Set_Training_Pattern (DP, Link, DP_Info.TP_1, Success);
+ Sink_Set_Training_Pattern
+ (Port, Link, DP_Info.TP_1, Train_Set, Success);
end if;
if Success then
@@ -365,7 +367,7 @@
if Success then
Set_Pattern (Port, Link, EQ_Pattern);
- Sink_Set_Training_Pattern (DP, Link, EQ_Pattern, Success);
+ Sink_Set_Training_Pattern (Port, Link, EQ_Pattern, Train_Set, Success);
end if;
if Success then
@@ -385,7 +387,7 @@
-- Set_Pattern (TP_None) includes sending the Idle Pattern,
-- so tell sink first.
Sink_Set_Training_Pattern
- (DP, Link, DP_Info.TP_None, Success);
+ (Port, Link, DP_Info.TP_None, Train_Set, Success);
Set_Pattern (Port, Link, DP_Info.TP_None);
Success := Success and then EQ_Done;
--
To view, visit https://review.coreboot.org/c/libgfxinit/+/32732
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: libgfxinit
Gerrit-Branch: master
Gerrit-Change-Id: I6ae2f9aaec0b042e8dee6e8b0099ea62c82f611b
Gerrit-Change-Number: 32732
Gerrit-PatchSet: 1
Gerrit-Owner: Nico Huber <nico.h(a)gmx.de>
Gerrit-MessageType: newchange
Nico Huber has uploaded this change for review. ( https://review.coreboot.org/c/libgfxinit/+/32731
Change subject: dp training: Always end with normal output
......................................................................
dp training: Always end with normal output
The DP spec mandates that we return to normal output when we abandon
a failed training, before we disable the output. However, the sequence
suggested by Intel always disables the output, even if we try another
time or another frequency. So we also always return to normal frame
delivery.
Change-Id: Ie1f19f2e1d1af62b402ad1dc41373d3d4437e976
Signed-off-by: Nico Huber <nico.huber(a)secunet.com>
---
M common/hw-gfx-dp_training.adb
1 file changed, 8 insertions(+), 14 deletions(-)
git pull ssh://review.coreboot.org:29418/libgfxinit refs/changes/31/32731/1
diff --git a/common/hw-gfx-dp_training.adb b/common/hw-gfx-dp_training.adb
index a2d00a7..079d49c 100644
--- a/common/hw-gfx-dp_training.adb
+++ b/common/hw-gfx-dp_training.adb
@@ -1,5 +1,5 @@
--
--- Copyright (C) 2015-2016 secunet Security Networks AG
+-- Copyright (C) 2015-2016, 2019 secunet Security Networks AG
-- Copyright (C) 2017 Nico Huber <nico.h(a)gmx.de>
--
-- This program is free software; you can redistribute it and/or modify
@@ -382,20 +382,14 @@
end loop;
end if;
- if Success then
- if EQ_Done then
- -- Set_Pattern (TP_None) includes sending the Idle Pattern,
- -- so tell sink first.
- Sink_Set_Training_Pattern
- (DP, Link, DP_Info.TP_None, Success);
- else
- Success := False;
- end if;
- end if;
+ -- Set_Pattern (TP_None) includes sending the Idle Pattern,
+ -- so tell sink first.
+ Sink_Set_Training_Pattern
+ (DP, Link, DP_Info.TP_None, Success);
+ Set_Pattern (Port, Link, DP_Info.TP_None);
- if Success then
- Set_Pattern (Port, Link, DP_Info.TP_None);
- else
+ Success := Success and then EQ_Done;
+ if not Success then
Off (Port);
end if;
end Train_DP;
--
To view, visit https://review.coreboot.org/c/libgfxinit/+/32731
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: libgfxinit
Gerrit-Branch: master
Gerrit-Change-Id: Ie1f19f2e1d1af62b402ad1dc41373d3d4437e976
Gerrit-Change-Number: 32731
Gerrit-PatchSet: 1
Gerrit-Owner: Nico Huber <nico.h(a)gmx.de>
Gerrit-MessageType: newchange