Skip to contentSkip to conversation

m28evk/mx28evk: fix nand_update_full

PATCH New Eric Bénard 3 participants 8 messages Dec 10, 2012 – Dec 12, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 m28evk/mx28evk: fix nand_update_full

- commit 418396e212b59bf907dbccad997ff50f7eb61b16 chenged the behaviour of nand write.raw which now takes a pagecount as a parameter and no more the size to be written so update the default environment of these boards to fix the problem.
- tested on a mx28evk with a 4k page NAND and on a custom board with a 2k page NAND.

Cc Marek Vasut <[email protected]>
Cc Fabio Estevam <[email protected]>
---
 include/configs/m28evk.h  |    2 +-
 include/configs/mx28evk.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
include/configs/m28evk.h +1 -1
index b49ec8c..3f37e84 100644
@@ -297,7 +297,7 @@
 		"if tftp ${update_nand_full_filename} ; then "		\
 		"run update_nand_get_fcb_size ; "			\
 		"nand scrub -y 0x0 ${filesize} ; "			\
-		"nand write.raw ${loadaddr} 0x0 ${update_nand_fcb} ; "	\
+		"nand write.raw ${loadaddr} 0x0 ${fcb_sz} ; "	\
 		"setexpr update_off ${loadaddr} + ${update_nand_fcb} ; " \
 		"setexpr update_sz ${filesize} - ${update_nand_fcb} ; " \
 		"nand write ${update_off} ${update_nand_fcb} ${update_sz} ; " \
include/configs/mx28evk.h +1 -1
index 0511cd1..d474a92 100644
@@ -264,7 +264,7 @@
 		"if tftp ${update_nand_full_filename} ; then " \
 		"run update_nand_get_fcb_size ; " \
 		"nand scrub -y 0x0 ${filesize} ; " \
-		"nand write.raw ${loadaddr} 0x0 ${update_nand_fcb} ; " \
+		"nand write.raw ${loadaddr} 0x0 ${fcb_sz} ; " \
 		"setexpr update_off ${loadaddr} + ${update_nand_fcb} ; " \
 		"setexpr update_sz ${filesize} - ${update_nand_fcb} ; " \
 		"nand write ${update_off} ${update_nand_fcb} ${update_sz} ; " \
Signature · 1 line
1.7.7.6
#1 lore raw

PATCH 1/1 m28evk/mx28evk: fix nand_update_full

Dear Eric B?nard,

Quoted 10 lines

- commit 418396e212b59bf907dbccad997ff50f7eb61b16 chenged the behaviour of nand write.raw which now takes a pagecount as a parameter and no more the size to be written so update the default environment of these boards to fix the problem.
- tested on a mx28evk with a 4k page NAND and on a custom board with a 2k page NAND.

Cc Marek Vasut <[email protected]>
Cc Fabio Estevam <[email protected]>

Thanks, Ccing Stefano and Scott.

Best regards,
Marek Vasut

#2 lore raw

PATCH 1/1 m28evk/mx28evk: fix nand_update_full

In reply to Eric Bénard
Quoted 7 lines · Eric B?nard

- commit 418396e212b59bf907dbccad997ff50f7eb61b16 chenged the behaviour
of nand write.raw which now takes a pagecount as a parameter and no more
the size to be written so update the default environment of these boards
to fix the problem.

It never really took the size to be written -- the size was implicitly one page before. It looks like there may have been a bug in the old code, where common code expected a size to be there anyway, even though it was ignored other than for error checking.

-Scott

#3 lore raw

PATCH 1/1 m28evk/mx28evk: fix nand_update_full

Hi Scott,

Le Mon, 10 Dec 2012 16:59:23 -0600,
Scott Wood <[email protected]> a ?crit :

Quoted 9 lines · Eric B?nard
Quoted 7 lines

- commit 418396e212b59bf907dbccad997ff50f7eb61b16 chenged the behaviour
of nand write.raw which now takes a pagecount as a parameter and no more
the size to be written so update the default environment of these boards
to fix the problem.

Quoted 5 lines

It never really took the size to be written -- the size was implicitly one page before. It looks like there may have been a bug in the old code, where common code expected a size to be there anyway, even though it was ignored other than for error checking.

true, before the size was forced to one page :
rwsize = nand->writesize + nand->oobsize;
now it's rwsize = pagecount * (nand->writesize + nand->oobsize); so the size parameter in this script was ignored and now leads to a wrong rwsize calculation.

Do you want me to rephrase the commit log or will you take it as is ?

Eric

#4 lore raw

PATCH 1/1 m28evk/mx28evk: fix nand_update_full

Quoted 22 lines · Eric B?nard

Hi Scott,

Le Mon, 10 Dec 2012 16:59:23 -0600,
Scott Wood <[email protected]> a ?crit :

Quoted 4 lines · Eric B?nard
Quoted 3 lines

- commit 418396e212b59bf907dbccad997ff50f7eb61b16 chenged the behaviour
of nand write.raw which now takes a pagecount as a parameter and

no

Quoted 6 lines
Quoted 4 lines

more
the size to be written so update the default environment of these boards
to fix the problem.

It never really took the size to be written -- the size was

implicitly

Quoted 2 lines

one page before. It looks like there may have been a bug in the old code, where common code expected a size to be there anyway, even

though

Quoted 2 lines

it was ignored other than for error checking.

Quoted 7 lines

true, before the size was forced to one page :
rwsize = nand->writesize + nand->oobsize;
now it's rwsize = pagecount * (nand->writesize + nand->oobsize); so the size parameter in this script was ignored and now leads to a wrong rwsize calculation.

Do you want me to rephrase the commit log or will you take it as is ?

Please reword it.

-Scott

#5 lore raw

PATCH v2 1/1 m28evk/mx28evk: fix nand_update_full

- since commit 418396e212b59bf907dbccad997ff50f7eb61b16 nand write.raw can take the number of page to be written as an argument. nand_update_full is passing the size (in bytes) to nand write.raw. This value was previously ignored but now breaks the write.
- this patch updates the default environment of these boards to provide a pagecount instead of a size to nand write.raw.
- tested on a mx28evk with a 4k page NAND and on a custom board with a 2k page NAND.

Cc Marek Vasut <[email protected]>
Cc Fabio Estevam <[email protected]>
---
 include/configs/m28evk.h  |    2 +-
 include/configs/mx28evk.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
include/configs/m28evk.h +1 -1
index b49ec8c..3f37e84 100644
@@ -297,7 +297,7 @@
 		"if tftp ${update_nand_full_filename} ; then "		\
 		"run update_nand_get_fcb_size ; "			\
 		"nand scrub -y 0x0 ${filesize} ; "			\
-		"nand write.raw ${loadaddr} 0x0 ${update_nand_fcb} ; "	\
+		"nand write.raw ${loadaddr} 0x0 ${fcb_sz} ; "	\
 		"setexpr update_off ${loadaddr} + ${update_nand_fcb} ; " \
 		"setexpr update_sz ${filesize} - ${update_nand_fcb} ; " \
 		"nand write ${update_off} ${update_nand_fcb} ${update_sz} ; " \
include/configs/mx28evk.h +1 -1
index 0511cd1..d474a92 100644
@@ -264,7 +264,7 @@
 		"if tftp ${update_nand_full_filename} ; then " \
 		"run update_nand_get_fcb_size ; " \
 		"nand scrub -y 0x0 ${filesize} ; " \
-		"nand write.raw ${loadaddr} 0x0 ${update_nand_fcb} ; " \
+		"nand write.raw ${loadaddr} 0x0 ${fcb_sz} ; " \
 		"setexpr update_off ${loadaddr} + ${update_nand_fcb} ; " \
 		"setexpr update_sz ${filesize} - ${update_nand_fcb} ; " \
 		"nand write ${update_off} ${update_nand_fcb} ${update_sz} ; " \
Signature · 1 line
1.7.7.6
#6 lore raw

PATCH v2 1/1 m28evk/mx28evk: fix nand_update_full

Quoted 12 lines · Eric B?nard

- since commit 418396e212b59bf907dbccad997ff50f7eb61b16 nand write.raw can take the number of page to be written as an argument. nand_update_full
is passing the size (in bytes) to nand write.raw. This value was previously
ignored but now breaks the write.
- this patch updates the default environment of these boards to provide a
pagecount instead of a size to nand write.raw.
- tested on a mx28evk with a 4k page NAND and on a custom board with a 2k page NAND.

Quoted 7 lines
Cc Marek Vasut <[email protected]>
Cc Fabio Estevam <[email protected]>
---
 include/configs/m28evk.h  |    2 +-
 include/configs/mx28evk.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Marek, can you ack this?

There is still a change in behavior in that before 418396e212b59bf907dbccad997ff50f7eb61b16 it only wrote one page (since that's all the write.raw command ever did) but with this patch it will write ${fcb_sz} pages. I assume the new behavior is correct?

-Scott

#7 lore raw

PATCH v2 1/1 m28evk/mx28evk: fix nand_update_full

Dear Scott Wood,

Quoted 22 lines · Eric B?nard
Quoted 12 lines

- since commit 418396e212b59bf907dbccad997ff50f7eb61b16 nand write.raw can take the number of page to be written as an argument. nand_update_full
is passing the size (in bytes) to nand write.raw. This value was previously
ignored but now breaks the write.
- this patch updates the default environment of these boards to provide a
pagecount instead of a size to nand write.raw.
- tested on a mx28evk with a 4k page NAND and on a custom board with a 2k page NAND.

Quoted 8 lines
Cc Marek Vasut <[email protected]>
Cc Fabio Estevam <[email protected]>

---

 include/configs/m28evk.h  |    2 +-
 include/configs/mx28evk.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
Quoted 6 lines

Marek, can you ack this?

There is still a change in behavior in that before 418396e212b59bf907dbccad997ff50f7eb61b16 it only wrote one page (since that's all the write.raw command ever did) but with this patch it will write ${fcb_sz} pages. I assume the new behavior is correct?

Yes, it's correct

Best regards,
Marek Vasut