Re: [PATCH v2 1/2] arch: x86: apl: Only load VBT if CONFIG_HAVE_VBT is enabled

2020-05-10 Thread Simon Glass
On Thu, 7 May 2020 at 02:00, Bernhard Messerklinger
 wrote:
>
> Only load VBT if it's present in the u-boot.rom.
>
> Signed-off-by: Bernhard Messerklinger 
> 
> ---
>
> Changes in v2: None
>
>  arch/x86/cpu/apollolake/fsp_s.c | 46 ++---
>  1 file changed, 25 insertions(+), 21 deletions(-)
>

Reviewed-by: Simon Glass 
Tested on chromebook_coral:
Tested-by: Simon Glass 


[PATCH v2 1/2] arch: x86: apl: Only load VBT if CONFIG_HAVE_VBT is enabled

2020-05-07 Thread Bernhard Messerklinger
Only load VBT if it's present in the u-boot.rom.

Signed-off-by: Bernhard Messerklinger 
---

Changes in v2: None

 arch/x86/cpu/apollolake/fsp_s.c | 46 ++---
 1 file changed, 25 insertions(+), 21 deletions(-)

diff --git a/arch/x86/cpu/apollolake/fsp_s.c b/arch/x86/cpu/apollolake/fsp_s.c
index 17cf1682ad..583259bf90 100644
--- a/arch/x86/cpu/apollolake/fsp_s.c
+++ b/arch/x86/cpu/apollolake/fsp_s.c
@@ -327,28 +327,32 @@ int fsps_update_config(struct udevice *dev, ulong 
rom_offset,
 {
struct fsp_s_config *cfg = >config;
struct apl_config *apl;
-   struct binman_entry vbt;
-   void *buf;
-   int ret;
-
-   ret = binman_entry_find("intel-vbt", );
-   if (ret)
-   return log_msg_ret("Cannot find VBT", ret);
-   vbt.image_pos += rom_offset;
-   buf = malloc(vbt.size);
-   if (!buf)
-   return log_msg_ret("Alloc VBT", -ENOMEM);
 
-   /*
-* Load VBT before devicetree-specific config. This only supports
-* memory-mapped SPI at present.
-*/
-   bootstage_start(BOOTSTAGE_ID_ACCUM_MMAP_SPI, "mmap_spi");
-   memcpy(buf, (void *)vbt.image_pos, vbt.size);
-   bootstage_accum(BOOTSTAGE_ID_ACCUM_MMAP_SPI);
-   if (*(u32 *)buf != VBT_SIGNATURE)
-   return log_msg_ret("VBT signature", -EINVAL);
-   cfg->graphics_config_ptr = (ulong)buf;
+   if (IS_ENABLED(CONFIG_HAVE_VBT)) {
+   struct binman_entry vbt;
+   void *vbt_buf;
+   int ret;
+
+   ret = binman_entry_find("intel-vbt", );
+   if (ret)
+   return log_msg_ret("Cannot find VBT", ret);
+   vbt.image_pos += rom_offset;
+   vbt_buf = malloc(vbt.size);
+   if (!vbt_buf)
+   return log_msg_ret("Alloc VBT", -ENOMEM);
+
+   /*
+   * Load VBT before devicetree-specific config. This only supports
+   * memory-mapped SPI at present.
+   */
+   bootstage_start(BOOTSTAGE_ID_ACCUM_MMAP_SPI, "mmap_spi");
+   memcpy(vbt_buf, (void *)vbt.image_pos, vbt.size);
+   bootstage_accum(BOOTSTAGE_ID_ACCUM_MMAP_SPI);
+   if (*(u32 *)vbt_buf != VBT_SIGNATURE)
+   return log_msg_ret("VBT signature", -EINVAL);
+
+   cfg->graphics_config_ptr = (ulong)vbt_buf;
+   }
 
apl = malloc(sizeof(*apl));
if (!apl)
-- 
2.26.0




Re: [RFC PATCH v2 1/2] arch: x86: apl: Only load VBT if CONFIG_HAVE_VBT is enabled

2020-04-19 Thread Simon Glass
Hi Bernhard,

On Tue, 14 Apr 2020 at 03:26, Bernhard Messerklinger
 wrote:
>
> Only load VBT if it's present in the u-boot.rom.
>
> Signed-off-by: Bernhard Messerklinger 
> 
> ---
>
> Changes in v2: None
>
>  arch/x86/cpu/apollolake/fsp_s.c | 14 --
>  1 file changed, 8 insertions(+), 6 deletions(-)
>

Can this please use if(IS_ENABLED()) instead of #if?

Regards,
SImon


[RFC PATCH v2 1/2] arch: x86: apl: Only load VBT if CONFIG_HAVE_VBT is enabled

2020-04-14 Thread Bernhard Messerklinger
Only load VBT if it's present in the u-boot.rom.

Signed-off-by: Bernhard Messerklinger 
---

Changes in v2: None

 arch/x86/cpu/apollolake/fsp_s.c | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/arch/x86/cpu/apollolake/fsp_s.c b/arch/x86/cpu/apollolake/fsp_s.c
index 1f22c1ea3c..458825bc49 100644
--- a/arch/x86/cpu/apollolake/fsp_s.c
+++ b/arch/x86/cpu/apollolake/fsp_s.c
@@ -327,16 +327,17 @@ int fsps_update_config(struct udevice *dev, ulong 
rom_offset,
 {
struct fsp_s_config *cfg = >config;
struct apl_config *apl;
+#ifdef CONFIG_HAVE_VBT
struct binman_entry vbt;
-   void *buf;
int ret;
+   void *vbt_buf;
 
ret = binman_entry_find("intel-vbt", );
if (ret)
return log_msg_ret("Cannot find VBT", ret);
vbt.image_pos += rom_offset;
-   buf = malloc(vbt.size);
-   if (!buf)
+   vbt_buf = malloc(vbt.size);
+   if (!vbt_buf)
return log_msg_ret("Alloc VBT", -ENOMEM);
 
/*
@@ -344,11 +345,12 @@ int fsps_update_config(struct udevice *dev, ulong 
rom_offset,
 * memory-mapped SPI at present.
 */
bootstage_start(BOOTSTAGE_ID_ACCUM_MMAP_SPI, "mmap_spi");
-   memcpy(buf, (void *)vbt.image_pos, vbt.size);
+   memcpy(vbt_buf, (void *)vbt.image_pos, vbt.size);
bootstage_accum(BOOTSTAGE_ID_ACCUM_MMAP_SPI);
-   if (*(u32 *)buf != VBT_SIGNATURE)
+   if (*(u32 *)vbt_buf != VBT_SIGNATURE)
return log_msg_ret("VBT signature", -EINVAL);
-   cfg->graphics_config_ptr = (ulong)buf;
+   cfg->graphics_config_ptr = (ulong)vbt_buf;
+#endif
 
apl = malloc(sizeof(*apl));
if (!apl)
-- 
2.26.0