Browse Source

DDR3: Don't print the medium and fine time bases, they aren't directly

useful to the user. Simply store them for later use.


git-svn-id: http://lm-sensors.org/svn/i2c-tools/trunk@6132 7894878c-1315-0410-8ee3-d5d059ff63e0
tags/v4.0
Jean Delvare 12 years ago
parent
commit
b4e1cbb787
  1. 1
      CHANGES
  2. 18
      eeprom/decode-dimms

1
CHANGES

@ -27,6 +27,7 @@ SVN HEAD
Fix DDR3 tRAS decoding
Fix DDR3 core timings rounding
Round down PC3 numbers to comply with Jedec
Don't print the DDR3 time bases
i2cdetect: Do a best effort detection if functionality is missing
Clarify the SMBus commands used for probing by default
i2c-dev.h: Minimize differences with kernel flavor

18
eeprom/decode-dimms

@ -1335,6 +1335,7 @@ sub decode_ddr3_sdram($)
my $bytes = shift;
my $temp;
my $ctime;
my ($ftb, $mtb);
my @module_types = ("Undefined", "RDIMM", "UDIMM", "SO-DIMM",
"Micro-DIMM", "Mini-RDIMM", "Mini-UDIMM",
@ -1346,18 +1347,17 @@ sub decode_ddr3_sdram($)
$module_types[$bytes->[3]] :
sprintf("Reserved (0x%.2X)", $bytes->[3]));
# time bases
if (($bytes->[9] & 0x0f) == 0 || $bytes->[11] == 0) {
print STDERR "Invalid time base divisor, can't decode\n";
return;
}
$ftb = ($bytes->[9] >> 4) / ($bytes->[9] & 0x0f);
$mtb = $bytes->[10] / $bytes->[11];
# speed
prints("Memory Characteristics");
my $dividend = ($bytes->[9] >> 4) & 15;
my $divisor = $bytes->[9] & 15;
printl("Fine time base", sprintf("%.3f", $dividend / $divisor) . " ps");
$dividend = $bytes->[10];
$divisor = $bytes->[11];
my $mtb = $dividend / $divisor;
printl("Medium time base", tns3($mtb));
$ctime = $bytes->[12] * $mtb;
my $ddrclk = 2 * (1000 / $ctime);
my $tbits = 1 << (($bytes->[8] & 7) + 3);

Loading…
Cancel
Save