Re: [U-Boot] U-Boot and CONFIG_SYS_DAVINCI_BROKEN_ECC

2009-04-27 Thread David Brownell
On Monday 27 April 2009, Scott Wood wrote:
 It is for compatibility with a widely-deployed legacy ECC layout -- more
 details can be found in the list archives.

See my original query, which IMO disproves that assertion.

What this option enables differs in two ways from what the
MontaVista code does.  (Speaking here of the 1-bit HW ECC.
The 4-bit support is another mess, which would be made far
worse by needing to carry the BROKEN_ECC mode.)

One could define a MONTAVISTA_COMPAT option, but it would
not AFAICT be this BROKEN_ECC since it would only differ
from the current Linux code in *one* of those three ways.
(Which has in turn also been claimed to be broken, by
mis-reporting some multi-bit errors as single-bit ones.)

Which is why I'm wondering what that original U-Boot code
for HW ECC was trying to be compatible with, since it
clearly wasn't MontaVista Linux ... or even the U-Boot
versions I've seen be distributed with it.

- Dave

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


Re: [U-Boot] U-Boot and CONFIG_SYS_DAVINCI_BROKEN_ECC

2009-04-27 Thread David Brownell
On Monday 27 April 2009, Scott Wood wrote:
 David Brownell wrote:
  On Monday 27 April 2009, Scott Wood wrote:
  It is for compatibility with a widely-deployed legacy ECC layout -- more
  details can be found in the list archives.
  
  See my original query, which IMO disproves that assertion.
 
 The entire mess was presented as being for compatibility in these threads:

The *non*BROKEN stuff is certainly compatible with the NAND
code in the DaVinci kernel GIT tree, which is now in mainline.

The BROKEN stuff is somewhat compatible with the MV kernels,
iff restricted to small-page support.  But ... the U-Boot with
which those kernels were shipped doesn't use 1-bit HW ECC, so
that may not be much of a concern.

(The original mainline u-boot large page support was very
broken, and wasn't MV-compatible.  So arguably there were two
separate compatibility issues:  MV, and large-page bugginess.)


 http://lists.denx.de/pipermail/u-boot/2008-June/036055.html
 http://lists.denx.de/pipermail/u-boot/2008-August/039679.html
 
 If some portions of it aren't actually needed for compatibility, then we 
 can remove them.
 
 Or we can remove the entire thing, if nobody cares anymore -- if anyone 
 out there does care and is using this, please speak up now.

I'm hoping for the nobody cares any more option...

Anyone who *does* can always use their current version
of U-Boot ... or patch it back in.  If there have been
complaints due to lack of compatibility between current
GIT kernels and the MV releases, I've not heard them.


  What this option enables differs in two ways from what the
  MontaVista code does.  (Speaking here of the 1-bit HW ECC.
  The 4-bit support is another mess, which would be made far
  worse by needing to carry the BROKEN_ECC mode.)
 
 I see no reason why new features would have to be supported on both 
 sides of the ifdef.

I was referring to a textual mess.  One clean way to add
a broken ECC mode would be as a completely different set
of functions, instead of a pile of #ifdefs.

And 4-bit will be troublesome for other reasons.


  Which is why I'm wondering what that original U-Boot code
  for HW ECC was trying to be compatible with, since it
  clearly wasn't MontaVista Linux ... or even the U-Boot
  versions I've seen be distributed with it.
 
 MV 2.6.10 was the claim.

Right.  I looked at TI's 1.20 (MV 4.0/2.6.10) and 2.0 beta
(MV 5.0/2.6.18) code, and their sibling U-Boot versions.

If that compatibilty is actually needed, the simplest way
to get it might be to define functions to mangle the the
ECC words (standard ~PQRstu --- MV PsQRtu) and use the
current *correction* code; the OOB bit pattern changes but
not the algorithm.  I think I'll add a comment about that.

- Dave


 
 -Scott
 
 



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


Re: [U-Boot] U-Boot and CONFIG_SYS_DAVINCI_BROKEN_ECC

2009-04-26 Thread David Brownell
On Sunday 26 April 2009, Jean-Christophe PLAGNIOL-VILLARD wrote:
 
Before I submit a patch to remove it from U-Boot GIT (nothing
there enables it, and it will nastify 4-bit support), I thought
I'd see if anyone knows exactly what software it was trying to
emulate.  ...
  
   maybe add it in the feature-removal-schedule.txt
   will let people time to explain why they need it
  
  Hm... I don't think this is needed.
  
  Since there are no users of this code in U-Boot, we can as well
  remove it without warning.

That was my thought.  If it were important enough to keep in
*this* source base, someone would have submitted some board
that uses it.  It's badly enough broken that I don't know who
would bother using it, though; anyone trying to use it has some
kind of (non-Linux?) support nightmare already.


 no necessarelly the boards Maintainer choose to use the other ECC but part
 of the U-Boot user may need it.
 So add it in the removal schedule make sense. We can evenif plan it for the 
 next
 Release.

I wouldn't mind doing that.


   After my only request will be to use the same ECC as the mainline kernel
   or if someone explain why he need it add on other ECC algo

Right, mainline does not use that broken ECC.  I can't
figure out who *does* use it, either...

- Dave


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


Re: [U-Boot] U-Boot and CONFIG_SYS_DAVINCI_BROKEN_ECC

2009-04-26 Thread Hugo Villeneuve
On Sun, 26 Apr 2009 16:56:40 -0700
David Brownell davi...@pacbell.net wrote:

 On Sunday 26 April 2009, Jean-Christophe PLAGNIOL-VILLARD wrote:
  
 Before I submit a patch to remove it from U-Boot GIT (nothing
 there enables it, and it will nastify 4-bit support), I
 thought I'd see if anyone knows exactly what software it was
 trying to emulate.  ...
   
maybe add it in the feature-removal-schedule.txt
will let people time to explain why they need it
   
   Hm... I don't think this is needed.
   
   Since there are no users of this code in U-Boot, we can as well
   remove it without warning.
 
 That was my thought.  If it were important enough to keep in
 *this* source base, someone would have submitted some board
 that uses it.  It's badly enough broken that I don't know who
 would bother using it, though; anyone trying to use it has some
 kind of (non-Linux?) support nightmare already.
 
 
  no necessarelly the boards Maintainer choose to use the other ECC
  but part of the U-Boot user may need it.
  So add it in the removal schedule make sense. We can evenif plan it
  for the next Release.
 
 I wouldn't mind doing that.
 
 
After my only request will be to use the same ECC as the
mainline kernel or if someone explain why he need it add on
other ECC algo
 
 Right, mainline does not use that broken ECC.  I can't
 figure out who *does* use it, either...

We certainly don't use it for the SFFSDR board.

Hugo V.

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source