Print simple row of dots instead of spinning wheel
PATCH v3 1/1 Print simple row of dots instead of spinning wheel
Replace the "spinning wheel" eye candy by printing a simple row of dots. This avoids problems with control charactersin log files etc.
Also, it saves a few bytes.
---
Hey, seems I'm heading for the record of submitting the maximum number of patch versions in the shorted time :-(
This patch version fixes a few typos in the first version, and gets rid of a few variables no longer needed because of the changes.
board/esd/common/cmd_loadpci.c | 6 +----- board/esd/pci405/cmd_pci405.c | 6 +----- board/esd/pmc440/cmd_pmc440.c | 6 +----- cpu/ppc4xx/44x_spd_ddr2.c | 14 ++++---------- cpu/ppc4xx/4xx_ibm_ddr2_autocalib.c | 16 ++++------------ 5 files changed, 11 insertions(+), 37 deletions(-)
board/esd/common/cmd_loadpci.c +1 -5
@@ -38,9 +38,7 @@ int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) {unsigned int *ptr =0 ;int count =0 ; -int count2 =0 ;char addr[16 ]; -char str[] ="\\|/-" ;char *local_args[2 ];while (1 ) {
@@ -59,9 +57,7 @@ int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])while (*ptr ==0xffffffff ) { count++;if (!(count %100 )) { - count2++; -putc (0x08 );/* backspace */ -putc (str[count2 %4 ]); +putc ('.' ); }/* Abort if ctrl-c was pressed */
board/esd/pci405/cmd_pci405.c +1 -5
@@ -47,11 +47,9 @@ int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) {unsigned int *ptr =0 ;int count =0 ; -int count2 =0 ;int status;int i;char addr[16 ]; -char str[] ="\\|/-" ;char *local_args[2 ];/*
@@ -67,9 +65,7 @@ int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])while (*ptr ==0xffffffff ) { count++;if (!(count %100 )) { - count2++; -putc (0x08 );/* backspace */ -putc (str[count2 %4 ]); +putc ('.' ); }/* Abort if ctrl-c was pressed */
board/esd/pmc440/cmd_pmc440.c +1 -5
@@ -121,10 +121,8 @@ int do_fifo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])int i;int n =0 ;u32 ctrl, data, f; -char str[] ="\\|/-" ;int abort =0 ;int count =0 ; -int count2 =0 ;switch (argc) {case 1 :
@@ -174,9 +172,7 @@ int do_fifo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])while (!got_fifoirq) { count++;if (!(count %100 )) { - count2++; -putc (0x08 );/* backspace */ -putc (str[count2 %4 ]); +putc ('.' ); }/* Abort if ctrl-c was pressed */
cpu/ppc4xx/44x_spd_ddr2.c +4 -10
@@ -2362,10 +2362,8 @@ static void program_ecc_addr(unsigned long start_address,unsigned long end_address;unsigned long address_increment;unsigned long mcopt1; -char str[] ="ECC generation -" ; -char slash[] ="\\|/-\\|/-" ; +char str[] ="ECC generation: " ;int loop =0 ; -int loopi =0 ; current_address = start_address;mfsdram (SDRAM_MCOPT1 , mcopt1);
@@ -2390,8 +2388,7 @@ static void program_ecc_addr(unsigned long start_address, current_address += address_increment;if ((loop++ % (2 <<20 )) ==0 ) { -putc ('\b' ); -putc (slash[loopi++ %8 ]); +putc ('.' ); } }
@@ -2571,9 +2568,7 @@ static void DQS_calibration_process(void)u32 rqfd;u32 rqfd_start;u32 rqfd_average; -int loopi =0 ; -char str[] ="Auto calibration -" ; -char slash[] ="\\|/-\\|/-" ; +char str[] ="Auto calibration: " ;/*------------------------------------------------------------------ * Test to determine the best read clock delay tuning bits.
@@ -2760,8 +2755,7 @@ calibration_loop:*-----------------------------------------------------------------*/ if (window_found == FALSE) {if (rqfd_start <SDRAM_RQDC_RQFD_MAX ) { -putc ('\b' ); -putc (slash[loopi++ %8 ]); +putc ('.' );/* try again from with a different RQFD start value */ rqfd_start++;
cpu/ppc4xx/4xx_ibm_ddr2_autocalib.c +4 -12
@@ -428,9 +428,6 @@ static u32 DQS_calibration_methodA(struct ddrautocal *cal)#endif ulong rdcc; -char slash[] ="\\|/-\\|/-" ; -int loopi =0 ; -/* start */ in_window =0 ;
@@ -483,15 +480,13 @@ static u32 DQS_calibration_methodA(struct ddrautocal *cal)debug ("<%s>SDRAM_RFDC=0x%x\n" , __func__, temp);#endif -putc (' ' );for (rqfd =0 ; rqfd <=SDRAM_RQDC_RQFD_MAX ; rqfd++) {mfsdram (SDRAM_RQDC , rqdc_reg); rqdc_reg &= ~(SDRAM_RQDC_RQFD_MASK );mtsdram (SDRAM_RQDC , rqdc_reg |SDRAM_RQDC_RQFD_ENCODE (rqfd)); -putc ('\b' ); -putc (slash[loopi++ %8 ]); +putc ('.' ); curr_win_min.rffd =0 ; curr_win_max.rffd =0 ;
@@ -944,8 +939,6 @@ u32 DQS_autocalibration(void)u32 val;int verbose_lvl =0 ;char *str; -char slash[] ="\\|/-\\|/-" ; -int loopi =0 ;struct sdram_timing *scan_list;#if defined(DEBUG_PPC4xx_DDR_AUTOCALIBRATION)
@@ -962,9 +955,9 @@ u32 DQS_autocalibration(void)mfsdram (SDRAM_MCOPT1 , val);if ((val &SDRAM_MCOPT1_MCHK_CHK_REP ) ==SDRAM_MCOPT1_MCHK_CHK_REP ) - str ="ECC Auto calibration -" ; + str ="ECC Auto calibration: " ;else - str ="Auto calibration -" ; + str ="Auto calibration: " ;puts (str);
@@ -1000,8 +993,7 @@ u32 DQS_autocalibration(void)relock_memory_DLL (); -putc ('\b' ); -putc (slash[loopi++ %8 ]); +putc ('.' );#ifdef DEBUG debug ("\n" );
Signature · 1 line
1.5.5.1
PATCH v3 1/1 Print simple row of dots instead of spinning wheel
Hi Wolfgang,
Quoted 9 lines · Wolfgang Denk
Replace the "spinning wheel" eye candy by printing a simple row of dots. This avoids problems with control charactersin log files etc.
Also, it saves a few bytes.
Signed-off-by Wolfgang Denk <[email protected]>---
Hey, seems I'm heading for the record of submitting the maximum number of patch versions in the shorted time :-(
;)
Quoted 6 lines
This patch version fixes a few typos in the first version, and gets rid of a few variables no longer needed because of the changes.
board/esd/common/cmd_loadpci.c | 6 +----- board/esd/pci405/cmd_pci405.c | 6 +----- board/esd/pmc440/cmd_pmc440.c | 6 +-----
We need the ACK from esd (Matthias) for this esd specific change. He is on vacation right now. I suggest that you split this patch so that we can apply the ppc4xx specific part directly.
Thanks.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
PATCH v3 1/1 Print simple row of dots instead of spinning wheel
Dear Stefan,
Quoted 4 lines · In message <[email protected]> you wrote:
We need the ACK from esd (Matthias) for this esd specific change. He is on vacation right now. I suggest that you split this patch so that we can apply the ppc4xx specific part directly.
Let's just wait until he's back from vacation. It seems useful to me to keep this in a single commit.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de I can't understand it. I can't even understand the people who can understand it. - Queen Juliana of the Netherlands.
PATCH v3 1/1 Print simple row of dots instead of spinning wheel
In reply to Stefan RoeseDear Matthias,
Quoted 17 lines · In message <[email protected]> Stefan Roese wrote:
Quoted 9 lines · Wolfgang Denk
Replace the "spinning wheel" eye candy by printing a simple row of dots. This avoids problems with control charactersin log files etc.
Also, it saves a few bytes.
Signed-off-by Wolfgang Denk <[email protected]>---
Hey, seems I'm heading for the record of submitting the maximum number of patch versions in the shorted time :-(;)
Quoted 3 lines
This patch version fixes a few typos in the first version, and gets rid of a few variables no longer needed because of the changes.
Quoted 7 lines
Quoted 3 lines
board/esd/common/cmd_loadpci.c | 6 +----- board/esd/pci405/cmd_pci405.c | 6 +----- board/esd/pmc440/cmd_pmc440.c | 6 +-----We need the ACK from esd (Matthias) for this esd specific change. He is on vacation right now. I suggest that you split this patch so that we can apply the ppc4xx specific part directly.
What do you think about this change, at least as far as the ESD boards are concerned?
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de The last thing one knows in constructing a work is what to put first. - Blaise Pascal
PATCH v3 1/1 Print simple row of dots instead of spinning wheel
In reply to Wolfgang DenkHi Wolfgang,
please do not remove the spinning cursor from the 'esd' files.
a) Changing this will trigger some documentation update processes which I do not like :-)
b) Your patch results in 10 dots per second. Sometimes the touched boards stay a long time in the waiting states and I want to keep the previous messages in my console. Lots of dots will scroll them out.
c) I like the spinning cursor :-)
d) The control characters did not cause trouble for me or our customers so far.
So please accept my NAK.
Matthias
Quoted 207 lines · Wolfgang Denk
Replace the "spinning wheel" eye candy by printing a simple row of dots. This avoids problems with control charactersin log files etc.
Also, it saves a few bytes.
Signed-off-by Wolfgang Denk <[email protected]>---
Hey, seems I'm heading for the record of submitting the maximum number of patch versions in the shorted time :-(This patch version fixes a few typos in the first version, and gets rid of a few variables no longer needed because of the changes.
board/esd/common/cmd_loadpci.c | 6 +----- board/esd/pci405/cmd_pci405.c | 6 +----- board/esd/pmc440/cmd_pmc440.c | 6 +----- cpu/ppc4xx/44x_spd_ddr2.c | 14 ++++---------- cpu/ppc4xx/4xx_ibm_ddr2_autocalib.c | 16 ++++------------ 5 files changed, 11 insertions(+), 37 deletions(-)board/esd/common/cmd_loadpci.c +1
-5@@ -38,9 +38,7 @@ int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) {unsigned int *ptr =0 ;int count =0 ; -int count2 =0 ;char addr[16 ]; -char str[] ="\\|/-" ;char *local_args[2 ];while (1 ) {@@ -59,9 +57,7 @@ int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])while (*ptr ==0xffffffff ) { count++;if (!(count %100 )) { - count2++; -putc (0x08 );/* backspace */ -putc (str[count2 %4 ]); +putc ('.' ); }/* Abort if ctrl-c was pressed */ board/esd/pci405/cmd_pci405.c +1
-5@@ -47,11 +47,9 @@ int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) {unsigned int *ptr =0 ;int count =0 ; -int count2 =0 ;int status;int i;char addr[16 ]; -char str[] ="\\|/-" ;char *local_args[2 ];/* @@ -67,9 +65,7 @@ int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])while (*ptr ==0xffffffff ) { count++;if (!(count %100 )) { - count2++; -putc (0x08 );/* backspace */ -putc (str[count2 %4 ]); +putc ('.' ); }/* Abort if ctrl-c was pressed */ board/esd/pmc440/cmd_pmc440.c +1
-5@@ -121,10 +121,8 @@ int do_fifo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])int i;int n =0 ;u32 ctrl, data, f; -char str[] ="\\|/-" ;int abort =0 ;int count =0 ; -int count2 =0 ;switch (argc) {case 1 :@@ -174,9 +172,7 @@ int do_fifo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])while (!got_fifoirq) { count++;if (!(count %100 )) { - count2++; -putc (0x08 );/* backspace */ -putc (str[count2 %4 ]); +putc ('.' ); }/* Abort if ctrl-c was pressed */ cpu/ppc4xx/44x_spd_ddr2.c +4
-10@@ -2362,10 +2362,8 @@ static void program_ecc_addr(unsigned long start_address,unsigned long end_address;unsigned long address_increment;unsigned long mcopt1; -char str[] ="ECC generation -" ; -char slash[] ="\\|/-\\|/-" ; +char str[] ="ECC generation: " ;int loop =0 ; -int loopi =0 ; current_address = start_address;mfsdram (SDRAM_MCOPT1 , mcopt1);@@ -2390,8 +2388,7 @@ static void program_ecc_addr(unsigned long start_address, current_address += address_increment;if ((loop++ % (2 <<20 )) ==0 ) { -putc ('\b' ); -putc (slash[loopi++ %8 ]); +putc ('.' ); } }@@ -2571,9 +2568,7 @@ static void DQS_calibration_process(void)u32 rqfd;u32 rqfd_start;u32 rqfd_average; -int loopi =0 ; -char str[] ="Auto calibration -" ; -char slash[] ="\\|/-\\|/-" ; +char str[] ="Auto calibration: " ;/*------------------------------------------------------------------ * Test to determine the best read clock delay tuning bits. @@ -2760,8 +2755,7 @@ calibration_loop:*-----------------------------------------------------------------*/ if (window_found == FALSE) {if (rqfd_start <SDRAM_RQDC_RQFD_MAX ) { -putc ('\b' ); -putc (slash[loopi++ %8 ]); +putc ('.' );/* try again from with a different RQFD start value */ rqfd_start++;cpu/ppc4xx/4xx_ibm_ddr2_autocalib.c +4
-12@@ -428,9 +428,6 @@ static u32 DQS_calibration_methodA(struct ddrautocal *cal)#endif ulong rdcc; -char slash[] ="\\|/-\\|/-" ; -int loopi =0 ; -/* start */ in_window =0 ;@@ -483,15 +480,13 @@ static u32 DQS_calibration_methodA(struct ddrautocal *cal)debug ("<%s>SDRAM_RFDC=0x%x\n" , __func__, temp);#endif -putc (' ' );for (rqfd =0 ; rqfd <=SDRAM_RQDC_RQFD_MAX ; rqfd++) {mfsdram (SDRAM_RQDC , rqdc_reg); rqdc_reg &= ~(SDRAM_RQDC_RQFD_MASK );mtsdram (SDRAM_RQDC , rqdc_reg |SDRAM_RQDC_RQFD_ENCODE (rqfd)); -putc ('\b' ); -putc (slash[loopi++ %8 ]); +putc ('.' ); curr_win_min.rffd =0 ; curr_win_max.rffd =0 ;@@ -944,8 +939,6 @@ u32 DQS_autocalibration(void)u32 val;int verbose_lvl =0 ;char *str; -char slash[] ="\\|/-\\|/-" ; -int loopi =0 ;struct sdram_timing *scan_list;#if defined(DEBUG_PPC4xx_DDR_AUTOCALIBRATION)@@ -962,9 +955,9 @@ u32 DQS_autocalibration(void)mfsdram (SDRAM_MCOPT1 , val);if ((val &SDRAM_MCOPT1_MCHK_CHK_REP ) ==SDRAM_MCOPT1_MCHK_CHK_REP ) - str ="ECC Auto calibration -" ; + str ="ECC Auto calibration: " ;else - str ="Auto calibration -" ; + str ="Auto calibration: " ;puts (str);@@ -1000,8 +993,7 @@ u32 DQS_autocalibration(void)relock_memory_DLL (); -putc ('\b' ); -putc (slash[loopi++ %8 ]); +putc ('.' );#ifdef DEBUG debug ("\n" );
Signature · 13 lines
------------------------------------------------------------------------- Dipl.-Ing. Matthias Fuchs Head of System Design esd electronic system design gmbh Vahrenwalder Str. 207 - 30165 Hannover - GERMANY Phone: +49-511-37298-0 - Fax: +49-511-37298-68 Please visit our homepage http://www.esd.eu Quality Products - Made in Germany ------------------------------------------------------------------------- Gesch?ftsf?hrer: Klaus Detering, Dr. Werner Schulze Amtsgericht Hannover HRB 51373 - VAT-ID DE 115672832 -------------------------------------------------------------------------
PATCH v3 1/1 Print simple row of dots instead of spinning wheel
In reply to Wolfgang DenkDear Stefan & Matthias,
Quoted 6 lines · In message <[email protected]> you wrote:
Replace the "spinning wheel" eye candy by printing a simple row of dots. This avoids problems with control charactersin log files etc.
Also, it saves a few bytes.
Signed-off-by Wolfgang Denk <[email protected]>
Did you come to a decision about this patch?
Best regards,
Wolfgang Denk
Signature · 4 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de It is your destiny. - Darth Vader
PATCH v3 1/1 Print simple row of dots instead of spinning wheel
Hi Wolfgang,
Quoted 11 lines · Wolfgang Denk
Dear Stefan & Matthias,
Quoted 6 lines · In message <[email protected]> you wrote:
Replace the "spinning wheel" eye candy by printing a simple row of dots. This avoids problems with control charactersin log files etc.
Also, it saves a few bytes.
Signed-off-by Wolfgang Denk <[email protected]>Did you come to a decision about this patch?
Matthias already did send a NAK for the esd boards (on Monday).
I have to admit that I like the spinning wheel better as well. Especially the resulting output after the calibration is finished looks better on the "normal" terminal:
DRAM: 256 MB (original version)
instead of:
DRAM: Auto calibration: ..........256 MB (your new version)
I understand that the spinning wheel is not optimal for logfiles, but for the normal usage it just looks nicer for my taste. So I would prefer to stay with the spinning wheel, but if you decide that the 4xx DDR2 calibration mustn't use this, then let's apply your patch for the cpu/ppc4xx files.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
PATCH v3 1/1 Print simple row of dots instead of spinning wheel
Dear Stefan,
Quoted 4 lines · In message <[email protected]> you wrote:
Quoted 2 lines
Did you come to a decision about this patch?
Matthias already did send a NAK for the esd boards (on Monday).
OK - it's my fault that I missed this when the code was added :-(
Quoted 9 lines
I have to admit that I like the spinning wheel better as well. Especially the resulting output after the calibration is finished looks better on the "normal" terminal:
DRAM: 256 MB (original version)
instead of:
DRAM: Auto calibration: ..........256 MB (your new version)
Of course the end result looks better. There is no doubt about that. But it has disadvantages, too. With the row of dots you can easily see how long you've been waiting - this visualizes variations in timing behaviour that may be indications for problems; also it clearly shows where we have to wait too long, i. e. where optimi- zations are needed.
Quoted 4 lines
I understand that the spinning wheel is not optimal for logfiles, but for the normal usage it just looks nicer for my taste. So I would prefer to stay with the spinning wheel, but if you decide that the 4xx DDR2 calibration mustn't use this, then let's apply your patch for the cpu/ppc4xx files.
It is my understanding that a rework of this code is under way which will avoid the long delay for the standard boot sequence (and only need it for board bringup or intentional recalibration). For this purpose, the row of dots is IMHO more useful than the spinning wheel.
Assuming my understanding is correct (is it?), then we could fix this now as well.
BTW: I've added some statements to the documentation to deprecate control sequences on the console - see
http://www.denx.de/wiki/U-Boot/DesignPrinciples
Best regards,
Wolfgang Denk
Signature · 6 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
He'd heard her use that sweet, innocent tone of voice before. It
meant that, pretty soon, there was going to be trouble.
- Terry Pratchett, _Truckers_PATCH v3 1/1 Print simple row of dots instead of spinning wheel
Hi Wolfgang,
Quoted 13 lines · Wolfgang Denk
Of course the end result looks better. There is no doubt about that. But it has disadvantages, too. With the row of dots you can easily see how long you've been waiting - this visualizes variations in timing behaviour that may be indications for problems; also it clearly shows where we have to wait too long, i. e. where optimi- zations are needed.
Quoted 5 lines
I understand that the spinning wheel is not optimal for logfiles, but for the normal usage it just looks nicer for my taste. So I would prefer to stay with the spinning wheel, but if you decide that the 4xx DDR2 calibration mustn't use this, then let's apply your patch for the cpu/ppc4xx files.
Quoted 3 lines
It is my understanding that a rework of this code is under way which will avoid the long delay for the standard boot sequence (and only need it for board bringup or intentional recalibration).
Are you talking about storing the optimized autocalibration values in FLASH, as discussed on IRC some time ago? I don't know if somebody is working on this. I only know that AMCC is working on a fix for the autocalibration on Kilauea. Not sure if this effects the bootup time, I can only hope it does.
Quoted 5 lines
For this
purpose, the row of dots is IMHO more useful than the spinning wheel.Assuming my understanding is correct (is it?), then we could fix this now as well.
Again, if you decide that that's the way to go, then I will not object.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
PATCH v3 1/1 Print simple row of dots instead of spinning wheel
Dear Stefan Roese,
Quoted 7 lines · In message <[email protected]> you wrote:
Quoted 4 lines
It is my understanding that a rework of this code is under way which will avoid the long delay for the standard boot sequence (and only need it for board bringup or intentional recalibration).
Are you talking about storing the optimized autocalibration values in FLASH, as discussed on IRC some time ago? I don't know if somebody is working on
Yes. I see this as a mandatory requirement. The additional delays are not aceptable.
Quoted 4 lines
Quoted 2 lines
Assuming my understanding is correct (is it?), then we could fix this now as well.
Again, if you decide that that's the way to go, then I will not object.
Thanks.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de If something is different, it's either better or worse, and usually both. - Larry Wall
PATCH v3 1/1 Print simple row of dots instead of spinning wheel
Hi Wolfgang,
Quoted 10 lines · Wolfgang Denk
Quoted 7 lines
Quoted 3 lines
It is my understanding that a rework of this code is under way which will avoid the long delay for the standard boot sequence (and only need it for board bringup or intentional recalibration).
Are you talking about storing the optimized autocalibration values in FLASH, as discussed on IRC some time ago? I don't know if somebody is working on
Yes. I see this as a mandatory requirement. The additional delays are not aceptable.
I just want to raise some concerns about this approach on boards with DIMM modules. Here it will be hard to determine if a new DIMM module is installed. Even a module from the same manufacturer and type (size, width etc, all the same) will need a new autocalibration. This is probably hard to detect.
Just my $0.02.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
PATCH v3 1/1 Print simple row of dots instead of spinning wheel
Quoted 14 lines · Stefan Roese
Hi Wolfgang,
Quoted 10 lines · Wolfgang Denk
Quoted 7 lines
Quoted 3 lines
It is my understanding that a rework of this code is under way which will avoid the long delay for the standard boot sequence (and only need it for board bringup or intentional recalibration).
Are you talking about storing the optimized autocalibration values in FLASH, as discussed on IRC some time ago? I don't know if somebody is working on
Yes. I see this as a mandatory requirement. The additional delays are not aceptable.
Quoted 6 lines
I just want to raise some concerns about this approach on boards with DIMM modules. Here it will be hard to determine if a new DIMM module is installed. Even a module from the same manufacturer and type (size, width etc, all the same) will need a new autocalibration. This is probably hard to detect.
Just my $0.02.
As discuss on IRC with Stefan
we can use the EEPROM present on the DIMM to identify two Modules
as point to this link as example
http://www.micron.com/products/spddetail.aspx?part=MT16HTF12864HY-667F1
we have the following interested informations stored
Byte Byte Description
Number
64-71 MANUFACTURERS JEDEC ID CODE
73-90 MODULE PART NUMBER
95-98 MODULE SERIAL NUMBER
we can check this 3 fields to be sure if it's a new modules is installed and so re-do the calibration
Why the 3 fields?
By experience
I've seen 2 Manufacturs use the same Serial Number for 2 differents product and I've also seen a Manufactur using the same Serial Number for 2 differents Part number
Best Regards,
J.