Lines Matching refs:si
41 spd_parse_lp4_nbytes(spd_info_t *si, uint32_t off, uint32_t len, in spd_parse_lp4_nbytes() argument
44 const uint8_t data = si->si_data[off]; in spd_parse_lp4_nbytes()
48 spd_insert_map(si, SPD_KEY_NBYTES_USED, used, spd_lp4_nbytes_used_map, in spd_parse_lp4_nbytes()
50 spd_insert_map(si, SPD_KEY_NBYTES_TOTAL, total, in spd_parse_lp4_nbytes()
59 spd_upsert_flag(si, SPD_KEY_DEVS, SPD_DEVICE_SPD); in spd_parse_lp4_nbytes()
61 spd_nvl_insert_u32(si, SPD_KEY_DEV_SPD_TYPE, SPD_SPD_T_EE1002); in spd_parse_lp4_nbytes()
63 spd_nvl_insert_u32(si, SPD_KEY_DEV_SPD_TYPE, SPD_SPD_T_EE1004); in spd_parse_lp4_nbytes()
82 spd_parse_lp4_mod_type(spd_info_t *si, uint32_t off, uint32_t len, in spd_parse_lp4_mod_type() argument
85 const uint8_t data = si->si_data[off]; in spd_parse_lp4_mod_type()
89 spd_insert_map(si, SPD_KEY_MOD_HYBRID_TYPE, is_hyb, in spd_parse_lp4_mod_type()
92 spd_insert_map(si, SPD_KEY_MOD_TYPE, type, spd_lp4_mod_type_map, in spd_parse_lp4_mod_type()
131 spd_parse_lp4_density(spd_info_t *si, uint32_t off, uint32_t len, in spd_parse_lp4_density() argument
134 const uint8_t data = si->si_data[off]; in spd_parse_lp4_density()
139 spd_insert_range(si, SPD_KEY_NBGRP_BITS, nbg, &spd_lp4_nbgrp_range); in spd_parse_lp4_density()
140 spd_insert_range(si, SPD_KEY_NBANK_BITS, nbank, &spd_lp4_nba_range); in spd_parse_lp4_density()
141 spd_insert_map64(si, SPD_KEY_DIE_SIZE, dens, spd_lp4_density_map, in spd_parse_lp4_density()
156 spd_parse_lp4_addr(spd_info_t *si, uint32_t off, uint32_t len, in spd_parse_lp4_addr() argument
159 const uint8_t data = si->si_data[off]; in spd_parse_lp4_addr()
163 spd_insert_range(si, SPD_KEY_NROW_BITS, nrows, &spd_lp4_nrow_range); in spd_parse_lp4_addr()
164 spd_insert_range(si, SPD_KEY_NCOL_BITS, ncols, &spd_lp4_ncol_range); in spd_parse_lp4_addr()
177 spd_parse_lp4_pkg(spd_info_t *si, uint32_t off, uint32_t len, in spd_parse_lp4_pkg() argument
180 const uint8_t data = si->si_data[off]; in spd_parse_lp4_pkg()
186 spd_nvl_insert_key(si, SPD_KEY_PKG_NOT_MONO); in spd_parse_lp4_pkg()
189 spd_insert_range(si, SPD_KEY_PKG_NDIE, ndie, &spd_lp4_ndie_range); in spd_parse_lp4_pkg()
190 spd_insert_range(si, SPD_KEY_DRAM_NCHAN, nchan, &spd_lp4_nchan_range); in spd_parse_lp4_pkg()
211 spd_parse_lp4_feat(spd_info_t *si, uint32_t off, uint32_t len, in spd_parse_lp4_feat() argument
214 const uint8_t data = si->si_data[off]; in spd_parse_lp4_feat()
218 spd_insert_map(si, SPD_KEY_MAW, maw, spd_lp4_maw_map, in spd_parse_lp4_feat()
220 spd_insert_map(si, SPD_KEY_MAC, mac, spd_lp4_mac_map, in spd_parse_lp4_feat()
225 spd_parse_lp4_feat2(spd_info_t *si, uint32_t off, uint32_t len, in spd_parse_lp4_feat2() argument
228 const uint8_t data = si->si_data[off]; in spd_parse_lp4_feat2()
234 spd_nvl_insert_u32(si, SPD_KEY_PPR_GRAN, in spd_parse_lp4_feat2()
247 spd_nvl_err(si, SPD_KEY_PPR, SPD_ERROR_NO_XLATE, in spd_parse_lp4_feat2()
254 spd_nvl_insert_u32(si, SPD_KEY_PPR, flags); in spd_parse_lp4_feat2()
269 spd_parse_lp4_mod_org(spd_info_t *si, uint32_t off, uint32_t len, in spd_parse_lp4_mod_org() argument
272 const uint8_t data = si->si_data[off]; in spd_parse_lp4_mod_org()
278 spd_nvl_insert_key(si, SPD_KEY_LP_BYTE_MODE); in spd_parse_lp4_mod_org()
281 spd_insert_range(si, SPD_KEY_NRANKS, nrank, &spd_lp4_nrank_range); in spd_parse_lp4_mod_org()
282 spd_insert_range(si, SPD_KEY_DRAM_WIDTH, width, &spd_lp4_width_range); in spd_parse_lp4_mod_org()
301 spd_parse_lp4_bus_width(spd_info_t *si, uint32_t off, uint32_t len, in spd_parse_lp4_bus_width() argument
304 const uint8_t data = si->si_data[off]; in spd_parse_lp4_bus_width()
309 spd_insert_map(si, SPD_KEY_NSUBCHAN, nchan, spd_lp4_chan_map, in spd_parse_lp4_bus_width()
313 spd_nvl_err(si, SPD_KEY_ECC_WIDTH, SPD_ERROR_NO_XLATE, in spd_parse_lp4_bus_width()
316 spd_nvl_insert_u32(si, SPD_KEY_ECC_WIDTH, 0); in spd_parse_lp4_bus_width()
319 spd_insert_range(si, SPD_KEY_DATA_WIDTH, width, in spd_parse_lp4_bus_width()
324 spd_parse_lp4_therm(spd_info_t *si, uint32_t off, uint32_t len, in spd_parse_lp4_therm() argument
327 const uint8_t data = si->si_data[off]; in spd_parse_lp4_therm()
330 spd_upsert_flag(si, key, SPD_DEVICE_TEMP_1); in spd_parse_lp4_therm()
335 spd_nvl_insert_u32(si, SPD_KEY_DEV_TEMP_TYPE, SPD_TEMP_T_TSE2004av); in spd_parse_lp4_therm()
354 spd_parse_lp4_sigload(spd_info_t *si, uint32_t off, uint32_t len, in spd_parse_lp4_sigload() argument
357 const uint8_t data = si->si_data[off]; in spd_parse_lp4_sigload()
362 spd_insert_range(si, SPD_KEY_LP_LOAD_DSM, dsm, &spd_lp4_dsm_range); in spd_parse_lp4_sigload()
363 spd_insert_range(si, SPD_KEY_LP_LOAD_CAC, cac, &spd_lp4_cac_range); in spd_parse_lp4_sigload()
364 spd_insert_range(si, SPD_KEY_LP_LOAD_CS, cs, &spd_lp4_cs_range); in spd_parse_lp4_sigload()
376 spd_parse_lp4_timebase(spd_info_t *si, uint32_t off, uint32_t len, in spd_parse_lp4_timebase() argument
379 const uint8_t data = si->si_data[off]; in spd_parse_lp4_timebase()
383 spd_insert_map(si, SPD_KEY_MTB, mtb, spd_lp4_ts_mtb, in spd_parse_lp4_timebase()
385 spd_insert_map(si, SPD_KEY_FTB, ftb, spd_lp4_ts_ftb, in spd_parse_lp4_timebase()
418 spd_parse_lp4_cas(spd_info_t *si, uint32_t off, uint32_t len, in spd_parse_lp4_cas() argument
426 uint32_t data = si->si_data[off + byte]; in spd_parse_lp4_cas()
436 spd_nvl_err(si, key, SPD_ERROR_BAD_DATA, in spd_parse_lp4_cas()
445 spd_nvl_insert_u32_array(si, key, cas, ncas); in spd_parse_lp4_cas()
449 spd_parse_lp4_rwlat(spd_info_t *si, uint32_t off, uint32_t len, in spd_parse_lp4_rwlat() argument
452 const uint8_t data = si->si_data[off]; in spd_parse_lp4_rwlat()
465 spd_nvl_err(si, key, SPD_ERROR_NO_XLATE, "unknown write " in spd_parse_lp4_rwlat()
477 spd_nvl_err(si, key, SPD_ERROR_NO_XLATE, "unknown read " in spd_parse_lp4_rwlat()
482 spd_nvl_insert_u32(si, key, rwlat); in spd_parse_lp4_rwlat()
589 spd_parse_lp4_mod_specific(spd_info_t *si) in spd_parse_lp4_mod_specific() argument
593 if (nvlist_lookup_uint32(si->si_nvl, SPD_KEY_MOD_TYPE, &type) != 0) in spd_parse_lp4_mod_specific()
598 spd_parse(si, spd_lp4_lpdimm, ARRAY_SIZE(spd_lp4_lpdimm)); in spd_parse_lp4_mod_specific()
606 spd_parse_lp4(spd_info_t *si) in spd_parse_lp4() argument
608 if (SPD_LP4_SPD_REV_ENC(si->si_data[SPD_LP4_SPD_REV]) != in spd_parse_lp4()
610 si->si_error = LIBJEDEC_SPD_UNSUP_REV; in spd_parse_lp4()
614 spd_parse(si, spd_lp4_base, ARRAY_SIZE(spd_lp4_base)); in spd_parse_lp4()
615 spd_parse_lp4_mod_specific(si); in spd_parse_lp4()
616 spd_parse_ddr4_mfg(si); in spd_parse_lp4()