Lines Matching refs:dimm

1003 imc_decode_mtr(imc_t *imc, imc_mc_t *icn, imc_dimm_t *dimm, uint32_t mtr)  in imc_decode_mtr()  argument
1012 dimm->idimm_present = B_FALSE; in imc_decode_mtr()
1016 dimm->idimm_present = B_FALSE; in imc_decode_mtr()
1020 dimm->idimm_present = B_TRUE; in imc_decode_mtr()
1021 dimm->idimm_ncolumns = IMC_MTR_CA_WIDTH(mtr) + IMC_MTR_CA_BASE; in imc_decode_mtr()
1022 if (dimm->idimm_ncolumns < IMC_MTR_CA_MIN || in imc_decode_mtr()
1023 dimm->idimm_ncolumns > IMC_MTR_CA_MAX) { in imc_decode_mtr()
1024 dimm->idimm_valid |= IMC_DIMM_V_BAD_COLUMNS; in imc_decode_mtr()
1027 dimm->idimm_nrows = IMC_MTR_RA_WIDTH(mtr) + IMC_MTR_RA_BASE; in imc_decode_mtr()
1028 if (dimm->idimm_nrows < IMC_MTR_RA_MIN || in imc_decode_mtr()
1029 dimm->idimm_nrows > IMC_MTR_RA_MAX) { in imc_decode_mtr()
1030 dimm->idimm_valid |= IMC_DIMM_V_BAD_ROWS; in imc_decode_mtr()
1038 dimm->idimm_density = 1U << IMC_MTR_DENSITY_IVY_BRD(mtr); in imc_decode_mtr()
1045 dimm->idimm_density = 0; in imc_decode_mtr()
1046 dimm->idimm_valid |= IMC_DIMM_V_BAD_DENSITY; in imc_decode_mtr()
1049 dimm->idimm_density = 2; in imc_decode_mtr()
1052 dimm->idimm_density = 4; in imc_decode_mtr()
1055 dimm->idimm_density = 8; in imc_decode_mtr()
1063 dimm->idimm_density = 0; in imc_decode_mtr()
1064 dimm->idimm_valid |= IMC_DIMM_V_BAD_DENSITY; in imc_decode_mtr()
1067 dimm->idimm_density = 2; in imc_decode_mtr()
1070 dimm->idimm_density = 4; in imc_decode_mtr()
1073 dimm->idimm_density = 8; in imc_decode_mtr()
1076 dimm->idimm_density = 16; in imc_decode_mtr()
1079 dimm->idimm_density = 12; in imc_decode_mtr()
1085 dimm->idimm_density = 0; in imc_decode_mtr()
1103 dimm->idimm_width = 4; in imc_decode_mtr()
1106 dimm->idimm_width = 8; in imc_decode_mtr()
1109 dimm->idimm_width = 16; in imc_decode_mtr()
1112 dimm->idimm_width = 0; in imc_decode_mtr()
1113 dimm->idimm_valid |= IMC_DIMM_V_BAD_WIDTH; in imc_decode_mtr()
1117 dimm->idimm_width = 0; in imc_decode_mtr()
1120 dimm->idimm_nranks = 1 << IMC_MTR_DDR_RANKS(mtr); in imc_decode_mtr()
1125 if (dimm->idimm_nranks > IMC_MTR_DDR_RANKS_MAX_HAS_SKX) { in imc_decode_mtr()
1126 dimm->idimm_nranks = 0; in imc_decode_mtr()
1127 dimm->idimm_valid |= IMC_DIMM_V_BAD_RANKS; in imc_decode_mtr()
1131 if (dimm->idimm_nranks > IMC_MTR_DDR_RANKS_MAX) { in imc_decode_mtr()
1132 dimm->idimm_nranks = 0; in imc_decode_mtr()
1133 dimm->idimm_valid |= IMC_DIMM_V_BAD_RANKS; in imc_decode_mtr()
1138 dimm->idimm_ranks_disabled[0] = (disable & 0x1) != 0; in imc_decode_mtr()
1139 dimm->idimm_ranks_disabled[1] = (disable & 0x2) != 0; in imc_decode_mtr()
1140 dimm->idimm_ranks_disabled[2] = (disable & 0x4) != 0; in imc_decode_mtr()
1141 dimm->idimm_ranks_disabled[3] = (disable & 0x8) != 0; in imc_decode_mtr()
1147 dimm->idimm_hdrl = IMC_MTR_HDRL_HAS_SKX(mtr) != 0; in imc_decode_mtr()
1148 dimm->idimm_hdrl_parity = IMC_MTR_HDRL_PARITY_HAS_SKX(mtr) != 0; in imc_decode_mtr()
1149 dimm->idimm_3dsranks = IMC_MTR_3DSRANKS_HAS_SKX(mtr); in imc_decode_mtr()
1150 if (dimm->idimm_3dsranks != 0) { in imc_decode_mtr()
1151 dimm->idimm_3dsranks = 1 << dimm->idimm_3dsranks; in imc_decode_mtr()
1157 dimm->idimm_nbanks = 16; in imc_decode_mtr()
1159 dimm->idimm_nbanks = 8; in imc_decode_mtr()
1168 dimm->idimm_size = dimm->idimm_nbanks * dimm->idimm_nranks * 8 * in imc_decode_mtr()
1169 (1ULL << (dimm->idimm_ncolumns + dimm->idimm_nrows)); in imc_decode_mtr()
1184 imc_dimm_t *dimm = &chan->ich_dimms[i]; in imc_fill_dimms() local
1186 bzero(dimm, sizeof (imc_dimm_t)); in imc_fill_dimms()
1189 dimm->idimm_mtr = mtr; in imc_fill_dimms()
1195 dimm->idimm_valid |= IMC_DIMM_V_BAD_PCI_READ; in imc_fill_dimms()
1199 imc_decode_mtr(imc, icn, dimm, mtr); in imc_fill_dimms()
1284 imc_nvl_create_dimm(imc_t *imc, imc_dimm_t *dimm) in imc_nvl_create_dimm() argument
1290 dimm->idimm_present); in imc_nvl_create_dimm()
1291 if (!dimm->idimm_present) { in imc_nvl_create_dimm()
1295 fnvlist_add_uint64(nvl, MCINTEL_NVLIST_V1_DIMM_SIZE, dimm->idimm_size); in imc_nvl_create_dimm()
1297 dimm->idimm_ncolumns); in imc_nvl_create_dimm()
1299 dimm->idimm_nrows); in imc_nvl_create_dimm()
1303 dimm->idimm_density * (1ULL << 30)); in imc_nvl_create_dimm()
1305 dimm->idimm_width); in imc_nvl_create_dimm()
1308 dimm->idimm_nranks); in imc_nvl_create_dimm()
1310 dimm->idimm_nbanks); in imc_nvl_create_dimm()
1312 dimm->idimm_ranks_disabled, IMC_MAX_RANK_DISABLE); in imc_nvl_create_dimm()
1316 dimm->idimm_hdrl); in imc_nvl_create_dimm()
1318 dimm->idimm_hdrl_parity); in imc_nvl_create_dimm()
1319 if (dimm->idimm_3dsranks > 0) { in imc_nvl_create_dimm()
1321 dimm->idimm_3dsranks); in imc_nvl_create_dimm()