Lines Matching refs:pdimm
222 dimm_params_t *pdimm, in ddr_compute_dimm_parameters() argument
233 memset(pdimm, 0, sizeof(dimm_params_t)); in ddr_compute_dimm_parameters()
248 memset(pdimm->mpart, 0, sizeof(pdimm->mpart)); in ddr_compute_dimm_parameters()
249 memcpy(pdimm->mpart, spd->mpart, sizeof(pdimm->mpart) - 1); in ddr_compute_dimm_parameters()
252 pdimm->n_ranks = spd->nrows; in ddr_compute_dimm_parameters()
253 pdimm->rank_density = compute_ranksize(spd->mem_type, spd->bank_dens); in ddr_compute_dimm_parameters()
254 pdimm->capacity = pdimm->n_ranks * pdimm->rank_density; in ddr_compute_dimm_parameters()
255 pdimm->data_width = spd->dataw_lsb; in ddr_compute_dimm_parameters()
256 pdimm->primary_sdram_width = spd->primw; in ddr_compute_dimm_parameters()
257 pdimm->ec_sdram_width = spd->ecw; in ddr_compute_dimm_parameters()
264 pdimm->registered_dimm = 0; /* unbuffered */ in ddr_compute_dimm_parameters()
267 pdimm->n_row_addr = spd->nrow_addr; in ddr_compute_dimm_parameters()
268 pdimm->n_col_addr = spd->ncol_addr; in ddr_compute_dimm_parameters()
269 pdimm->n_banks_per_sdram_device = spd->nbanks; in ddr_compute_dimm_parameters()
270 pdimm->edc_config = spd->config; in ddr_compute_dimm_parameters()
271 pdimm->burst_lengths_bitmask = spd->burstl; in ddr_compute_dimm_parameters()
278 pdimm->tckmin_x_ps in ddr_compute_dimm_parameters()
280 pdimm->tckmin_x_minus_1_ps in ddr_compute_dimm_parameters()
282 pdimm->tckmin_x_minus_2_ps in ddr_compute_dimm_parameters()
285 pdimm->tckmax_ps = compute_tckmax_from_spd_ps(spd->tckmax); in ddr_compute_dimm_parameters()
294 pdimm->caslat_x = __ilog2(spd->cas_lat); in ddr_compute_dimm_parameters()
295 pdimm->caslat_x_minus_1 = __ilog2(spd->cas_lat in ddr_compute_dimm_parameters()
296 & ~(1 << pdimm->caslat_x)); in ddr_compute_dimm_parameters()
297 pdimm->caslat_x_minus_2 = __ilog2(spd->cas_lat in ddr_compute_dimm_parameters()
298 & ~(1 << pdimm->caslat_x) in ddr_compute_dimm_parameters()
299 & ~(1 << pdimm->caslat_x_minus_1)); in ddr_compute_dimm_parameters()
302 pdimm->caslat_lowest_derated = compute_derated_DDR1_CAS_latency( in ddr_compute_dimm_parameters()
306 pdimm->trcd_ps = spd->trcd * 250; in ddr_compute_dimm_parameters()
307 pdimm->trp_ps = spd->trp * 250; in ddr_compute_dimm_parameters()
308 pdimm->tras_ps = spd->tras * 1000; in ddr_compute_dimm_parameters()
310 pdimm->twr_ps = mclk_to_picos(ctrl_num, 3); in ddr_compute_dimm_parameters()
311 pdimm->twtr_ps = mclk_to_picos(ctrl_num, 1); in ddr_compute_dimm_parameters()
312 pdimm->trfc_ps = compute_trfc_ps_from_spd(0, spd->trfc); in ddr_compute_dimm_parameters()
314 pdimm->trrd_ps = spd->trrd * 250; in ddr_compute_dimm_parameters()
315 pdimm->trc_ps = compute_trc_ps_from_spd(0, spd->trc); in ddr_compute_dimm_parameters()
317 pdimm->refresh_rate_ps = determine_refresh_rate_ps(spd->refresh); in ddr_compute_dimm_parameters()
319 pdimm->tis_ps = convert_bcd_hundredths_to_cycle_time_ps(spd->ca_setup); in ddr_compute_dimm_parameters()
320 pdimm->tih_ps = convert_bcd_hundredths_to_cycle_time_ps(spd->ca_hold); in ddr_compute_dimm_parameters()
321 pdimm->tds_ps in ddr_compute_dimm_parameters()
323 pdimm->tdh_ps in ddr_compute_dimm_parameters()
326 pdimm->trtp_ps = mclk_to_picos(ctrl_num, 2); /* By the book. */ in ddr_compute_dimm_parameters()
327 pdimm->tdqsq_max_ps = spd->tdqsq * 10; in ddr_compute_dimm_parameters()
328 pdimm->tqhs_ps = spd->tqhs * 10; in ddr_compute_dimm_parameters()