Re: [U-Boot] [PATCH 29/82] x86: ivybridge: Add more debugging for failures

2016-10-10 Thread Bin Meng
Hi Simon,

On Mon, Sep 26, 2016 at 11:33 AM, Simon Glass  wrote:
> Add various debug() messages in places where errors occur. This aids with
> debugging.
>
> Signed-off-by: Simon Glass 
> ---
>
>  arch/x86/cpu/ivybridge/cpu.c   |  4 +++-
>  arch/x86/cpu/ivybridge/sdram.c | 36 +++-
>  2 files changed, 30 insertions(+), 10 deletions(-)
>
> diff --git a/arch/x86/cpu/ivybridge/cpu.c b/arch/x86/cpu/ivybridge/cpu.c
> index 85e361a..9d7c21d 100644
> --- a/arch/x86/cpu/ivybridge/cpu.c
> +++ b/arch/x86/cpu/ivybridge/cpu.c
> @@ -169,8 +169,10 @@ int print_cpuinfo(void)
>
> /* Enable SPD ROMs and DDR-III DRAM */
> ret = uclass_first_device_err(UCLASS_I2C, );
> -   if (ret)
> +   if (ret) {
> +   debug("%s: Failed to get I2C\n", __func__);
> return ret;
> +   }
>
> /* Prepare USB controller early in S3 resume */
> if (boot_mode == PEI_BOOT_RESUME) {
> diff --git a/arch/x86/cpu/ivybridge/sdram.c b/arch/x86/cpu/ivybridge/sdram.c
> index e0b06b5..eef6d78 100644
> --- a/arch/x86/cpu/ivybridge/sdram.c
> +++ b/arch/x86/cpu/ivybridge/sdram.c
> @@ -207,8 +207,10 @@ static int copy_spd(struct udevice *dev, struct pei_data 
> *peid)
> int ret;
>
> ret = mrc_locate_spd(dev, sizeof(peid->spd_data[0]), );
> -   if (ret)
> +   if (ret) {
> +   debug("%s: Could not locate SPD\n", __func__);
> return ret;
> +   }
>
> memcpy(peid->spd_data[0], data, sizeof(peid->spd_data[0]));
>
> @@ -460,18 +462,26 @@ int dram_init(void)
>
> /* We need the pinctrl set up early */
> ret = syscon_get_by_driver_data(X86_SYSCON_PINCONF, );
> -   if (ret)
> +   if (ret) {
> +   debug("%s: Could not get pinconf\n", __func__);
> return ret;
> +   }
>
> ret = uclass_first_device_err(UCLASS_NORTHBRIDGE, );
> -   if (ret)
> +   if (ret) {
> +   debug("%s: Could not get northbridge\n", __func__);
> return ret;
> +   }
> ret = syscon_get_by_driver_data(X86_SYSCON_ME, _dev);
> -   if (ret)
> +   if (ret) {
> +   debug("%s: Could not get ME\n", __func__);
> return ret;
> +   }
> ret = copy_spd(dev, pei_data);
> -   if (ret)
> +   if (ret) {
> +   debug("%s: Could not get SPD\n", __func__);
> return ret;
> +   }
> pei_data->boot_mode = gd->arch.pei_boot_mode;
> debug("Boot mode %d\n", gd->arch.pei_boot_mode);
> debug("mrc_input %p\n", pei_data->mrc_input);
> @@ -498,19 +508,27 @@ int dram_init(void)
>
> /* Wait for ME to be ready */
> ret = intel_early_me_init(me_dev);
> -   if (ret)
> +   if (ret) {
> +   debug("%s: Could not init ME\n", __func__);
> return ret;
> +   }
> ret = intel_early_me_uma_size(me_dev);
> -   if (ret < 0)
> +   if (ret < 0) {
> +   debug("%s: Could not get UMA size\n", __func__);
> return ret;
> +   }
>
> ret = mrc_common_init(dev, pei_data, false);
> -   if (ret)
> +   if (ret) {
> +   debug("%s: mrc_common_init() failed\n", __func__);
> return ret;
> +   }
>
> ret = sdram_find(dev);
> -   if (ret)
> +   if (ret) {
> +   debug("%s: sdram_find() failed\n", __func__);
> return ret;
> +   }
> gd->ram_size = gd->arch.meminfo.total_32bit_memory;
>
> debug("MRC output data length %#x at %p\n", pei_data->mrc_output_len,
> --

How about output the return value as well?

Regards,
Bin
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 29/82] x86: ivybridge: Add more debugging for failures

2016-09-25 Thread Simon Glass
Add various debug() messages in places where errors occur. This aids with
debugging.

Signed-off-by: Simon Glass 
---

 arch/x86/cpu/ivybridge/cpu.c   |  4 +++-
 arch/x86/cpu/ivybridge/sdram.c | 36 +++-
 2 files changed, 30 insertions(+), 10 deletions(-)

diff --git a/arch/x86/cpu/ivybridge/cpu.c b/arch/x86/cpu/ivybridge/cpu.c
index 85e361a..9d7c21d 100644
--- a/arch/x86/cpu/ivybridge/cpu.c
+++ b/arch/x86/cpu/ivybridge/cpu.c
@@ -169,8 +169,10 @@ int print_cpuinfo(void)
 
/* Enable SPD ROMs and DDR-III DRAM */
ret = uclass_first_device_err(UCLASS_I2C, );
-   if (ret)
+   if (ret) {
+   debug("%s: Failed to get I2C\n", __func__);
return ret;
+   }
 
/* Prepare USB controller early in S3 resume */
if (boot_mode == PEI_BOOT_RESUME) {
diff --git a/arch/x86/cpu/ivybridge/sdram.c b/arch/x86/cpu/ivybridge/sdram.c
index e0b06b5..eef6d78 100644
--- a/arch/x86/cpu/ivybridge/sdram.c
+++ b/arch/x86/cpu/ivybridge/sdram.c
@@ -207,8 +207,10 @@ static int copy_spd(struct udevice *dev, struct pei_data 
*peid)
int ret;
 
ret = mrc_locate_spd(dev, sizeof(peid->spd_data[0]), );
-   if (ret)
+   if (ret) {
+   debug("%s: Could not locate SPD\n", __func__);
return ret;
+   }
 
memcpy(peid->spd_data[0], data, sizeof(peid->spd_data[0]));
 
@@ -460,18 +462,26 @@ int dram_init(void)
 
/* We need the pinctrl set up early */
ret = syscon_get_by_driver_data(X86_SYSCON_PINCONF, );
-   if (ret)
+   if (ret) {
+   debug("%s: Could not get pinconf\n", __func__);
return ret;
+   }
 
ret = uclass_first_device_err(UCLASS_NORTHBRIDGE, );
-   if (ret)
+   if (ret) {
+   debug("%s: Could not get northbridge\n", __func__);
return ret;
+   }
ret = syscon_get_by_driver_data(X86_SYSCON_ME, _dev);
-   if (ret)
+   if (ret) {
+   debug("%s: Could not get ME\n", __func__);
return ret;
+   }
ret = copy_spd(dev, pei_data);
-   if (ret)
+   if (ret) {
+   debug("%s: Could not get SPD\n", __func__);
return ret;
+   }
pei_data->boot_mode = gd->arch.pei_boot_mode;
debug("Boot mode %d\n", gd->arch.pei_boot_mode);
debug("mrc_input %p\n", pei_data->mrc_input);
@@ -498,19 +508,27 @@ int dram_init(void)
 
/* Wait for ME to be ready */
ret = intel_early_me_init(me_dev);
-   if (ret)
+   if (ret) {
+   debug("%s: Could not init ME\n", __func__);
return ret;
+   }
ret = intel_early_me_uma_size(me_dev);
-   if (ret < 0)
+   if (ret < 0) {
+   debug("%s: Could not get UMA size\n", __func__);
return ret;
+   }
 
ret = mrc_common_init(dev, pei_data, false);
-   if (ret)
+   if (ret) {
+   debug("%s: mrc_common_init() failed\n", __func__);
return ret;
+   }
 
ret = sdram_find(dev);
-   if (ret)
+   if (ret) {
+   debug("%s: sdram_find() failed\n", __func__);
return ret;
+   }
gd->ram_size = gd->arch.meminfo.total_32bit_memory;
 
debug("MRC output data length %#x at %p\n", pei_data->mrc_output_len,
-- 
2.8.0.rc3.226.g39d4020

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot