[coreboot-gerrit] Change in coreboot[master]: drivers/fsp1_1: fix VBT Loading by using GMA common function

Matt DeVillier (Code Review) gerrit at coreboot.org
Wed Jun 20 07:43:40 CEST 2018


Matt DeVillier has uploaded this change for review. ( https://review.coreboot.org/27169


Change subject: drivers/fsp1_1: fix VBT Loading by using GMA common function
......................................................................

drivers/fsp1_1: fix VBT Loading by using GMA common function

Commit 77034fa [intel/common: compress VBT] compressed vbt.bin in
CBFS, but only changed the loader in soc/intel/common, forgetting
the separate one used by FSP 1.0.  As the soc/intel/common loader
has now been rolled into the one in drivers/intel/gma, replace the
VBT loader used by FSP 1.1 with the GMA one.

Test: build/boot google/chell, observe display initialized prior
to OS load, no FSP warning in cbmem console due to invalid VBT signature.

Change-Id: Iba882ee4d9e83dcd88bdf7dd2f5591f66005a3fe
Signed-off-by: Matt DeVillier <matt.devillier at gmail.com>
---
D src/drivers/intel/fsp1_1/include/fsp/gop.h
M src/drivers/intel/fsp1_1/vbt.c
2 files changed, 8 insertions(+), 63 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/69/27169/1

diff --git a/src/drivers/intel/fsp1_1/include/fsp/gop.h b/src/drivers/intel/fsp1_1/include/fsp/gop.h
deleted file mode 100644
index 66c8a3c..0000000
--- a/src/drivers/intel/fsp1_1/include/fsp/gop.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2015 Intel Corp.
- *
- * 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 _FSP1_1_GOP_H_
-#define _FSP1_1_GOP_H_
-
-#include <fsp/gma.h>
-
-const optionrom_vbt_t *fsp_get_vbt(uint32_t *vbt_len);
-
-#endif /* _FSP1_1_GOP_H_ */
diff --git a/src/drivers/intel/fsp1_1/vbt.c b/src/drivers/intel/fsp1_1/vbt.c
index 92a4c91..4091340 100644
--- a/src/drivers/intel/fsp1_1/vbt.c
+++ b/src/drivers/intel/fsp1_1/vbt.c
@@ -17,47 +17,9 @@
 #include <bootmode.h>
 #include <cbfs.h>
 #include <console/console.h>
-#include <fsp/gop.h>
 #include <fsp/ramstage.h>
 #include <fsp/util.h>
-
-/* Reading VBT table from flash */
-const optionrom_vbt_t *fsp_get_vbt(uint32_t *vbt_len)
-{
-	size_t vbt_size;
-	union {
-		const optionrom_vbt_t *data;
-		uint32_t *signature;
-	} vbt;
-
-	/* Locate the vbt file in cbfs */
-	vbt.data = cbfs_boot_map_with_leak("vbt.bin", CBFS_TYPE_RAW, &vbt_size);
-	if (!vbt.data) {
-		printk(BIOS_INFO,
-			"FSP_INFO: VBT data file (vbt.bin) not found in CBFS");
-		return NULL;
-	}
-
-	/* Validate the vbt file */
-	if (*vbt.signature != VBT_SIGNATURE) {
-		printk(BIOS_WARNING,
-			"FSP_WARNING: Invalid signature in VBT data file (vbt.bin)!\n");
-		return NULL;
-	}
-	*vbt_len = vbt_size;
-	printk(BIOS_DEBUG, "FSP_INFO: VBT found at %p, 0x%08x bytes\n",
-		vbt.data, *vbt_len);
-
-#if IS_ENABLED(CONFIG_DISPLAY_VBT)
-	/* Display the vbt file contents */
-	printk(BIOS_DEBUG, "VBT Data:\n");
-	hexdump(vbt.data, *vbt_len);
-	printk(BIOS_DEBUG, "\n");
-#endif
-
-	/* Return the pointer to the vbt file data */
-	return vbt.data;
-}
+#include <drivers/intel/gma/opregion.h>
 
 /* Locate VBT and pass it to FSP GOP */
 void load_vbt(uint8_t s3_resume, SILICON_INIT_UPD *params)
@@ -70,9 +32,15 @@
 		printk(BIOS_DEBUG, "S3 resume do not pass VBT to GOP\n");
 	} else if (display_init_required()) {
 		/* Get VBT data */
-		vbt_data = fsp_get_vbt(&vbt_len);
+		vbt_data = locate_vbt(&vbt_len);
 		if (vbt_data != NULL)
 			printk(BIOS_DEBUG, "Passing VBT to GOP\n");
+#if IS_ENABLED(CONFIG_DISPLAY_VBT)
+			/* Display the vbt file contents */
+			printk(BIOS_DEBUG, "VBT Data:\n");
+			hexdump(vbt.data, *vbt_len);
+			printk(BIOS_DEBUG, "\n");
+#endif
 		else
 			printk(BIOS_DEBUG, "VBT not found!\n");
 	} else {

-- 
To view, visit https://review.coreboot.org/27169
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iba882ee4d9e83dcd88bdf7dd2f5591f66005a3fe
Gerrit-Change-Number: 27169
Gerrit-PatchSet: 1
Gerrit-Owner: Matt DeVillier <matt.devillier at gmail.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20180620/7cc2a3d6/attachment.html>


More information about the coreboot-gerrit mailing list