the following patch was just integrated into master: commit 770996fd86a2dfd44b0985b898af56c9dc10244b Author: Ronald G. Minnich rminnich@gmail.com Date: Tue Jan 29 11:52:05 2013 -0800
Exynos5250: make vendor enums in the timing array more debuggable.
The timing array is crucial to proper operation of DRAM.
Getting a valid pointer to it is hence very important. Unfortunately, the constants chosen for the vendor were '1', and '2', (this in a 32-bit word) which in a debug print makes it almost impossible to tell if you've got a misaligned pointer. Note: coreboot people did not choose them :-)
So, give them values which are extremely unlikely to occur elsewhere in the array (or in memory, for that matter).
Given the frequency with which this check occurs, i.e. once, I would much prefer strings but I expect I'd get shouted down on that one. Constants in this case are an almost useless optimization but we'll go with them for now. Note no space is saved by not using strings: there's an entire function somewhere devoted to mapping the enum to a string!
Debug prints of pointers to structs in this array are now far more useful than they were.
See snarky comment in the code (left there to make sure nobody gets tempted to get fancy again). Comment now less snarky.
This is tested on google snow to the point that the DRAM works.
Change-Id: I30bc44719f321f791fd82ded60e29393399d9e3d Signed-off-by: Ronald G. Minnich rminnich@gmail.com Reviewed-on: http://review.coreboot.org/2221 Reviewed-by: David Hendricks dhendrix@chromium.org Tested-by: build bot (Jenkins)
Build-Tested: build bot (Jenkins) at Tue Jan 29 23:36:55 2013, giving +1 Reviewed-By: David Hendricks dhendrix@chromium.org at Tue Jan 29 23:13:23 2013, giving +2 See http://review.coreboot.org/2221 for details.
-gerrit