Browse Source

Introduce helper function as_ddr(), hopefully this makes the code a

little more readable.


git-svn-id: http://lm-sensors.org/svn/i2c-tools/trunk@6095 7894878c-1315-0410-8ee3-d5d059ff63e0
tags/v4.0
Jean Delvare 13 years ago
parent
commit
2633bb9166
  1. 24
      eeprom/decode-dimms

24
eeprom/decode-dimms

@ -830,6 +830,14 @@ sub decode_sdr_sdram($)
(($bytes->[35] >> 7) ? -$temp : $temp) . " ns");
}
sub as_ddr($$)
{
my ($gen, $ctime) = @_;
return " as DDR" . ($gen == 1 ? "" : $gen) . "-" .
int(2000 / $ctime);
}
sub ddr_core_timings($$$$$)
{
my ($cas, $ctime, $trcd, $trp, $tras) = @_;
@ -931,7 +939,7 @@ sub decode_ddr_sdram($)
if (exists $cas{$highestCAS}) {
$core_timings = ddr_core_timings($highestCAS, $ctime,
$trcd, $trp, $tras) . " as DDR-" . int(2000 / $ctime);
$trcd, $trp, $tras) . as_ddr(1, $ctime);
$cycle_time = "$ctime ns at CAS $highestCAS";
$access_time = (($bytes->[10] >> 4) * 0.1 + ($bytes->[10] & 0xf) * 0.01)
@ -941,7 +949,7 @@ sub decode_ddr_sdram($)
if (exists $cas{$highestCAS-0.5} && spd_written(@$bytes[23..24])) {
$ctime1 = ($bytes->[23] >> 4) + ($bytes->[23] & 0xf) * 0.1;
$core_timings .= "\n".ddr_core_timings($highestCAS-0.5, $ctime1,
$trcd, $trp, $tras) . " as DDR-" . int(2000 / $ctime1);
$trcd, $trp, $tras) . as_ddr(1, $ctime1);
$cycle_time .= "\n$ctime1 ns at CAS ".($highestCAS-0.5);
$access_time .= "\n".(($bytes->[24] >> 4) * 0.1 + ($bytes->[24] & 0xf) * 0.01)
@ -951,7 +959,7 @@ sub decode_ddr_sdram($)
if (exists $cas{$highestCAS-1} && spd_written(@$bytes[25..26])) {
$ctime2 = ($bytes->[25] >> 4) + ($bytes->[25] & 0xf) * 0.1,
$core_timings .= "\n".ddr_core_timings($highestCAS-1, $ctime2,
$trcd, $trp, $tras) . " as DDR-" . int(2000 / $ctime2);
$trcd, $trp, $tras) . as_ddr(1, $ctime2);
$cycle_time .= "\n$ctime2 ns at CAS ".($highestCAS-1);
$access_time .= "\n".(($bytes->[26] >> 4) * 0.1 + ($bytes->[26] & 0xf) * 0.01)
@ -984,7 +992,7 @@ sub decode_ddr_sdram($)
}
printl_cond($ctime >= $ctime_min && ($ctime_max < 1 || $ctime <= $ctime_max),
"tCL-tRCD-tRP-tRAS as DDR-".int(2000 / $ctime),
"tCL-tRCD-tRP-tRAS" . as_ddr(1, $ctime),
ddr_core_timings($best_cas, $ctime,
$trcd, $trp, $tras));
}
@ -1182,7 +1190,7 @@ sub decode_ddr2_sdram($)
if (exists $cas{$highestCAS}) {
$core_timings = ddr_core_timings($highestCAS, $ctime,
$trcd, $trp, $tras) . " as DDR2-" . int(2000 / $ctime);
$trcd, $trp, $tras) . as_ddr(2, $ctime);
$cycle_time = tns($ctime) . " at CAS $highestCAS (tCK min)";
$access_time = tns(ddr2_sdram_atime($bytes->[10]))
@ -1192,7 +1200,7 @@ sub decode_ddr2_sdram($)
if (exists $cas{$highestCAS-1} && spd_written(@$bytes[23..24])) {
$ctime1 = ddr2_sdram_ctime($bytes->[23]);
$core_timings .= "\n".ddr_core_timings($highestCAS-1, $ctime1,
$trcd, $trp, $tras) . " as DDR2-" . int(2000 / $ctime1);
$trcd, $trp, $tras) . as_ddr(2, $ctime1);
$cycle_time .= "\n".tns($ctime1)
. " at CAS ".($highestCAS-1);
@ -1203,7 +1211,7 @@ sub decode_ddr2_sdram($)
if (exists $cas{$highestCAS-2} && spd_written(@$bytes[25..26])) {
$ctime2 = ddr2_sdram_ctime($bytes->[25]);
$core_timings .= "\n".ddr_core_timings($highestCAS-2, $ctime2,
$trcd, $trp, $tras) . " as DDR2-" . int(2000 / $ctime2);
$trcd, $trp, $tras) . as_ddr(2, $ctime2);
$cycle_time .= "\n".tns($ctime2)
. " at CAS ".($highestCAS-2);
@ -1236,7 +1244,7 @@ sub decode_ddr2_sdram($)
}
printl_cond($ctime >= $ctime_min && $ctime <= $ctime_max,
"tCL-tRCD-tRP-tRAS as DDR2-".int(2000 / $ctime),
"tCL-tRCD-tRP-tRAS" . as_ddr(2,$ctime),
ddr_core_timings($best_cas, $ctime,
$trcd, $trp, $tras));
}

Loading…
Cancel
Save