/* This implements the tables for bytes 9, 23 and 25 for both DDR I and II. No allowance for distinguishing the invalid fields absent for DDR I yet present in DDR II is made. (That is, cycle times of .25, .33, .66 and .75 ns are allowed for both DDR II and I.)  */
static unsigned int convert_bcd_tenths_to_cycle_time_ps(unsigned int spd_val)
/* This implements the tables for bytes 9, 23 and 25 for both DDR I and II. No allowance for distinguishing the invalid fields absent for DDR I yet present in DDR II is made. (That is, cycle times of .25, .33, .66 and .75 ns are allowed for both DDR II and I.)  */
static unsigned int convert_bcd_tenths_to_cycle_time_ps(unsigned int spd_val)
{
	unsigned int tenths_ps[16] = {
		0,
		100,
		200,
		300,
		400,
		500,
		600,
		700,
		800,
		900,
		250,
		330,
		660,
		750,
		0,
		0
	};
	unsigned int whole_ns = (spd_val & 0xF0) >> 4;
	unsigned int tenth_ns = spd_val & 0x0F;
	unsigned int ps = whole_ns * 1000 + tenths_ps[tenth_ns];
	return ps;
}