All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] Revert "fdt: fdtdec_setup_memory_banksize() use livetree"
@ 2018-10-04  7:24 Michal Simek
  2018-10-06 13:33 ` Patrice CHOTARD
  2018-10-09 11:55 ` Patrice CHOTARD
  0 siblings, 2 replies; 8+ messages in thread
From: Michal Simek @ 2018-10-04  7:24 UTC (permalink / raw)
  To: u-boot

This reverts commit c35a7d375ec8f0a8ee343ae4868be3242172632e.
This commit is breaking SPL on zc706.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---

 lib/fdtdec.c | 44 +++++++++++++++++++++++---------------------
 1 file changed, 23 insertions(+), 21 deletions(-)

diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index 74196ce7f9f7..bf5e0f6a57c0 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -15,7 +15,6 @@
 #include <serial.h>
 #include <asm/sections.h>
 #include <linux/ctype.h>
-#include <linux/ioport.h>
 #include <linux/lzo.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -1182,34 +1181,41 @@ int fdtdec_setup_mem_size_base(void)
 
 #if defined(CONFIG_NR_DRAM_BANKS)
 
-static ofnode get_next_memory_node(ofnode mem)
+static int get_next_memory_node(const void *blob, int mem)
 {
 	do {
-		mem = ofnode_by_prop_value(mem, "device_type", "memory", 7);
-	} while (ofnode_valid(mem) && !ofnode_is_available(mem));
+		mem = fdt_node_offset_by_prop_value(gd->fdt_blob, mem,
+						    "device_type", "memory", 7);
+	} while (!fdtdec_get_is_enabled(blob, mem));
 
 	return mem;
 }
 
 int fdtdec_setup_memory_banksize(void)
 {
-	int bank, reg = 0;
-	struct resource res;
-	ofnode mem;
+	int bank, ret, mem, reg = 0;
+	struct fdt_resource res;
 
-	mem = get_next_memory_node(ofnode_null());
-	if (!ofnode_valid(mem))
-		goto missing_node;
+	mem = get_next_memory_node(gd->fdt_blob, -1);
+	if (mem < 0) {
+		debug("%s: Missing /memory node\n", __func__);
+		return -EINVAL;
+	}
 
 	for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) {
-		while (ofnode_read_resource(mem, reg++, &res)) {
+		ret = fdt_get_resource(gd->fdt_blob, mem, "reg", reg++, &res);
+		if (ret == -FDT_ERR_NOTFOUND) {
 			reg = 0;
-			mem = get_next_memory_node(mem);
-			if (!ofnode_valid(mem)) {
-				if (bank)
-					return 0;
-				goto missing_node;
-			}
+			mem = get_next_memory_node(gd->fdt_blob, mem);
+			if (mem == -FDT_ERR_NOTFOUND)
+				break;
+
+			ret = fdt_get_resource(gd->fdt_blob, mem, "reg", reg++, &res);
+			if (ret == -FDT_ERR_NOTFOUND)
+				break;
+		}
+		if (ret != 0) {
+			return -EINVAL;
 		}
 
 		gd->bd->bi_dram[bank].start = (phys_addr_t)res.start;
@@ -1223,10 +1229,6 @@ int fdtdec_setup_memory_banksize(void)
 	}
 
 	return 0;
-
-missing_node:
-	debug("%s: Missing /memory node\n", __func__);
-	return -EINVAL;
 }
 #endif
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH] Revert "fdt: fdtdec_setup_memory_banksize() use livetree"
  2018-10-04  7:24 [U-Boot] [PATCH] Revert "fdt: fdtdec_setup_memory_banksize() use livetree" Michal Simek
@ 2018-10-06 13:33 ` Patrice CHOTARD
  2018-10-08  6:28   ` Michal Simek
  2018-10-08 12:39   ` Simon Glass
  2018-10-09 11:55 ` Patrice CHOTARD
  1 sibling, 2 replies; 8+ messages in thread
From: Patrice CHOTARD @ 2018-10-06 13:33 UTC (permalink / raw)
  To: u-boot

Hi

I got same issue on STM32F746

Patrice

On 10/04/2018 09:24 AM, Michal Simek wrote:
> This reverts commit c35a7d375ec8f0a8ee343ae4868be3242172632e.
> This commit is breaking SPL on zc706.
> 
> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
> ---
> 
>  lib/fdtdec.c | 44 +++++++++++++++++++++++---------------------
>  1 file changed, 23 insertions(+), 21 deletions(-)
> 
> diff --git a/lib/fdtdec.c b/lib/fdtdec.c
> index 74196ce7f9f7..bf5e0f6a57c0 100644
> --- a/lib/fdtdec.c
> +++ b/lib/fdtdec.c
> @@ -15,7 +15,6 @@
>  #include <serial.h>
>  #include <asm/sections.h>
>  #include <linux/ctype.h>
> -#include <linux/ioport.h>
>  #include <linux/lzo.h>
>  
>  DECLARE_GLOBAL_DATA_PTR;
> @@ -1182,34 +1181,41 @@ int fdtdec_setup_mem_size_base(void)
>  
>  #if defined(CONFIG_NR_DRAM_BANKS)
>  
> -static ofnode get_next_memory_node(ofnode mem)
> +static int get_next_memory_node(const void *blob, int mem)
>  {
>  	do {
> -		mem = ofnode_by_prop_value(mem, "device_type", "memory", 7);
> -	} while (ofnode_valid(mem) && !ofnode_is_available(mem));
> +		mem = fdt_node_offset_by_prop_value(gd->fdt_blob, mem,
> +						    "device_type", "memory", 7);
> +	} while (!fdtdec_get_is_enabled(blob, mem));
>  
>  	return mem;
>  }
>  
>  int fdtdec_setup_memory_banksize(void)
>  {
> -	int bank, reg = 0;
> -	struct resource res;
> -	ofnode mem;
> +	int bank, ret, mem, reg = 0;
> +	struct fdt_resource res;
>  
> -	mem = get_next_memory_node(ofnode_null());
> -	if (!ofnode_valid(mem))
> -		goto missing_node;
> +	mem = get_next_memory_node(gd->fdt_blob, -1);
> +	if (mem < 0) {
> +		debug("%s: Missing /memory node\n", __func__);
> +		return -EINVAL;
> +	}
>  
>  	for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) {
> -		while (ofnode_read_resource(mem, reg++, &res)) {
> +		ret = fdt_get_resource(gd->fdt_blob, mem, "reg", reg++, &res);
> +		if (ret == -FDT_ERR_NOTFOUND) {
>  			reg = 0;
> -			mem = get_next_memory_node(mem);
> -			if (!ofnode_valid(mem)) {
> -				if (bank)
> -					return 0;
> -				goto missing_node;
> -			}
> +			mem = get_next_memory_node(gd->fdt_blob, mem);
> +			if (mem == -FDT_ERR_NOTFOUND)
> +				break;
> +
> +			ret = fdt_get_resource(gd->fdt_blob, mem, "reg", reg++, &res);
> +			if (ret == -FDT_ERR_NOTFOUND)
> +				break;
> +		}
> +		if (ret != 0) {
> +			return -EINVAL;
>  		}
>  
>  		gd->bd->bi_dram[bank].start = (phys_addr_t)res.start;
> @@ -1223,10 +1229,6 @@ int fdtdec_setup_memory_banksize(void)
>  	}
>  
>  	return 0;
> -
> -missing_node:
> -	debug("%s: Missing /memory node\n", __func__);
> -	return -EINVAL;
>  }
>  #endif
>  
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH] Revert "fdt: fdtdec_setup_memory_banksize() use livetree"
  2018-10-06 13:33 ` Patrice CHOTARD
@ 2018-10-08  6:28   ` Michal Simek
  2018-10-09  9:15     ` Patrice CHOTARD
  2018-10-08 12:39   ` Simon Glass
  1 sibling, 1 reply; 8+ messages in thread
From: Michal Simek @ 2018-10-08  6:28 UTC (permalink / raw)
  To: u-boot

On 6.10.2018 15:33, Patrice CHOTARD wrote:
> Hi
> 
> I got same issue on STM32F746

Will be good to convert this to more formal line to have a record in git
commit.

Thanks,
Michal

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH] Revert "fdt: fdtdec_setup_memory_banksize() use livetree"
  2018-10-06 13:33 ` Patrice CHOTARD
  2018-10-08  6:28   ` Michal Simek
@ 2018-10-08 12:39   ` Simon Glass
  2018-10-08 14:15     ` Michal Simek
  1 sibling, 1 reply; 8+ messages in thread
From: Simon Glass @ 2018-10-08 12:39 UTC (permalink / raw)
  To: u-boot

On 6 October 2018 at 07:33, Patrice CHOTARD <patrice.chotard@st.com> wrote:
>
> Hi
>
> I got same issue on STM32F746
>
> Patrice
>
> On 10/04/2018 09:24 AM, Michal Simek wrote:
> > This reverts commit c35a7d375ec8f0a8ee343ae4868be3242172632e.
> > This commit is breaking SPL on zc706.
> >
> > Signed-off-by: Michal Simek <michal.simek@xilinx.com>
> > ---
> >
> >  lib/fdtdec.c | 44 +++++++++++++++++++++++---------------------
> >  1 file changed, 23 insertions(+), 21 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

There seems to be a failure in sandbox test coverage here. I think
when we re-apply this function it needs a test.

- Simon

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH] Revert "fdt: fdtdec_setup_memory_banksize() use livetree"
  2018-10-08 12:39   ` Simon Glass
@ 2018-10-08 14:15     ` Michal Simek
  0 siblings, 0 replies; 8+ messages in thread
From: Michal Simek @ 2018-10-08 14:15 UTC (permalink / raw)
  To: u-boot

On 8.10.2018 14:39, Simon Glass wrote:
> On 6 October 2018 at 07:33, Patrice CHOTARD <patrice.chotard@st.com> wrote:
>>
>> Hi
>>
>> I got same issue on STM32F746
>>
>> Patrice
>>
>> On 10/04/2018 09:24 AM, Michal Simek wrote:
>>> This reverts commit c35a7d375ec8f0a8ee343ae4868be3242172632e.
>>> This commit is breaking SPL on zc706.
>>>
>>> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
>>> ---
>>>
>>>  lib/fdtdec.c | 44 +++++++++++++++++++++++---------------------
>>>  1 file changed, 23 insertions(+), 21 deletions(-)
> 
> Reviewed-by: Simon Glass <sjg@chromium.org>
> 
> There seems to be a failure in sandbox test coverage here. I think
> when we re-apply this function it needs a test.

I am preparing PR for Tom and I will take this via my tree.

Thanks,
Michal

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH] Revert "fdt: fdtdec_setup_memory_banksize() use livetree"
  2018-10-08  6:28   ` Michal Simek
@ 2018-10-09  9:15     ` Patrice CHOTARD
  2018-10-09 11:05       ` Michal Simek
  0 siblings, 1 reply; 8+ messages in thread
From: Patrice CHOTARD @ 2018-10-09  9:15 UTC (permalink / raw)
  To: u-boot

Hi Michal

On 10/08/2018 08:28 AM, Michal Simek wrote:
> On 6.10.2018 15:33, Patrice CHOTARD wrote:
>> Hi
>>
>> I got same issue on STM32F746
> 
> Will be good to convert this to more formal line to have a record in git
> commit.

commit c35a7d375ec8f0a8ee343ae4868be3242172632e breaks also the SPL on
STM32F746-disco board.

Thanks

Patrice
> 
> Thanks,
> Michal
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH] Revert "fdt: fdtdec_setup_memory_banksize() use livetree"
  2018-10-09  9:15     ` Patrice CHOTARD
@ 2018-10-09 11:05       ` Michal Simek
  0 siblings, 0 replies; 8+ messages in thread
From: Michal Simek @ 2018-10-09 11:05 UTC (permalink / raw)
  To: u-boot

Hi Patrice,

On 9.10.2018 11:15, Patrice CHOTARD wrote:
> Hi Michal
> 
> On 10/08/2018 08:28 AM, Michal Simek wrote:
>> On 6.10.2018 15:33, Patrice CHOTARD wrote:
>>> Hi
>>>
>>> I got same issue on STM32F746
>>
>> Will be good to convert this to more formal line to have a record in git
>> commit.
> 
> commit c35a7d375ec8f0a8ee343ae4868be3242172632e breaks also the SPL on
> STM32F746-disco board.

I meant something like

Tested-by: .... <> [for STM32F746]

M

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH] Revert "fdt: fdtdec_setup_memory_banksize() use livetree"
  2018-10-04  7:24 [U-Boot] [PATCH] Revert "fdt: fdtdec_setup_memory_banksize() use livetree" Michal Simek
  2018-10-06 13:33 ` Patrice CHOTARD
@ 2018-10-09 11:55 ` Patrice CHOTARD
  1 sibling, 0 replies; 8+ messages in thread
From: Patrice CHOTARD @ 2018-10-09 11:55 UTC (permalink / raw)
  To: u-boot

Hi Michal

On 10/04/2018 09:24 AM, Michal Simek wrote:
> This reverts commit c35a7d375ec8f0a8ee343ae4868be3242172632e.
> This commit is breaking SPL on zc706.
> 
> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
> ---
> 
>  lib/fdtdec.c | 44 +++++++++++++++++++++++---------------------
>  1 file changed, 23 insertions(+), 21 deletions(-)
> 
> diff --git a/lib/fdtdec.c b/lib/fdtdec.c
> index 74196ce7f9f7..bf5e0f6a57c0 100644
> --- a/lib/fdtdec.c
> +++ b/lib/fdtdec.c
> @@ -15,7 +15,6 @@
>  #include <serial.h>
>  #include <asm/sections.h>
>  #include <linux/ctype.h>
> -#include <linux/ioport.h>
>  #include <linux/lzo.h>
>  
>  DECLARE_GLOBAL_DATA_PTR;
> @@ -1182,34 +1181,41 @@ int fdtdec_setup_mem_size_base(void)
>  
>  #if defined(CONFIG_NR_DRAM_BANKS)
>  
> -static ofnode get_next_memory_node(ofnode mem)
> +static int get_next_memory_node(const void *blob, int mem)
>  {
>  	do {
> -		mem = ofnode_by_prop_value(mem, "device_type", "memory", 7);
> -	} while (ofnode_valid(mem) && !ofnode_is_available(mem));
> +		mem = fdt_node_offset_by_prop_value(gd->fdt_blob, mem,
> +						    "device_type", "memory", 7);
> +	} while (!fdtdec_get_is_enabled(blob, mem));
>  
>  	return mem;
>  }
>  
>  int fdtdec_setup_memory_banksize(void)
>  {
> -	int bank, reg = 0;
> -	struct resource res;
> -	ofnode mem;
> +	int bank, ret, mem, reg = 0;
> +	struct fdt_resource res;
>  
> -	mem = get_next_memory_node(ofnode_null());
> -	if (!ofnode_valid(mem))
> -		goto missing_node;
> +	mem = get_next_memory_node(gd->fdt_blob, -1);
> +	if (mem < 0) {
> +		debug("%s: Missing /memory node\n", __func__);
> +		return -EINVAL;
> +	}
>  
>  	for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) {
> -		while (ofnode_read_resource(mem, reg++, &res)) {
> +		ret = fdt_get_resource(gd->fdt_blob, mem, "reg", reg++, &res);
> +		if (ret == -FDT_ERR_NOTFOUND) {
>  			reg = 0;
> -			mem = get_next_memory_node(mem);
> -			if (!ofnode_valid(mem)) {
> -				if (bank)
> -					return 0;
> -				goto missing_node;
> -			}
> +			mem = get_next_memory_node(gd->fdt_blob, mem);
> +			if (mem == -FDT_ERR_NOTFOUND)
> +				break;
> +
> +			ret = fdt_get_resource(gd->fdt_blob, mem, "reg", reg++, &res);
> +			if (ret == -FDT_ERR_NOTFOUND)
> +				break;
> +		}
> +		if (ret != 0) {
> +			return -EINVAL;
>  		}
>  
>  		gd->bd->bi_dram[bank].start = (phys_addr_t)res.start;
> @@ -1223,10 +1229,6 @@ int fdtdec_setup_memory_banksize(void)
>  	}
>  
>  	return 0;
> -
> -missing_node:
> -	debug("%s: Missing /memory node\n", __func__);
> -	return -EINVAL;
>  }
>  #endif
>  
> 


Tested-by: Patrice Chotard <patrice.chotard@st.com> [on STM32F746-disco]

Patrice

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-10-09 11:55 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-04  7:24 [U-Boot] [PATCH] Revert "fdt: fdtdec_setup_memory_banksize() use livetree" Michal Simek
2018-10-06 13:33 ` Patrice CHOTARD
2018-10-08  6:28   ` Michal Simek
2018-10-09  9:15     ` Patrice CHOTARD
2018-10-09 11:05       ` Michal Simek
2018-10-08 12:39   ` Simon Glass
2018-10-08 14:15     ` Michal Simek
2018-10-09 11:55 ` Patrice CHOTARD

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.