on 17/04/2012 14:18 Jean Delvare said the following: > Hi Andriy, > > On Tue, 17 Apr 2012 00:09:08 +0300, Andriy Gapon wrote: >> It seems that Module Configuration Type ("ECC", "No Parity", etc) is not >> reported for DDR2 and DDR3 module types. Not sure if resolution could be as >> easy as adding sdram_module_configuration_type() calls in the corresponding >> decode procedures. > > Won't be so easy. For DDR2 there is one new bit to decode > (Address/Command Parity). For DDR3 byte 11 has a completely different > meaning, and the information seem to be no longer available. As I read > the specification, the only way to tell if a DDR3 module has any form > of parity or ECC is to check the extra bus width in bits 4-3 of byte 8. > But this is a boolean type of information then, telling "there is some > form of data error detection/correction". No way to tell between parity > and ECC AFAICS, and information about Address/Command Parity is gone > too. > > I am attaching two patches, one for DDR2, one for DDR3, please give > them a try. > Thanks a lot! I am able to test only the DDR2 part at the moment. With the patch I am getting the following Module Configuration Type Data ECC for these modules: http://www.valueram.com/datasheets/kvr800d2e5_2g.pdf For some definitely non-ECC modules I get the expected Module Configuration Type No Parity P.S. I've noticed that the "Decoding EEPROM" message is printed with $dimm[$current]->{eeprom} when $opt_side_by_side is true but it is printed with $dimm[$current]->{file} in the other case. Not sure if this is on purpose. -- Andriy Gapon -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html