Lines Matching defs:rp

95 fat_memory_error(const nb_regs_t *rp, void *data)
103 ferr_fat_fbd = rp->nb.fat_fbd_regs.ferr_fat_fbd;
106 intel_fat_fbd_err(rp->nb.fat_fbd_regs.nerr_fat_fbd);
127 nrecmema = rp->nb.fat_fbd_regs.nrecmema;
128 nrecmemb = rp->nb.fat_fbd_regs.nrecmemb;
231 nf_memory_error(const nb_regs_t *rp, void *data)
246 ferr_nf_fbd = rp->nb.nf_fbd_regs.ferr_nf_fbd;
268 recmema = rp->nb.nf_fbd_regs.recmema;
269 recmemb = rp->nb.nf_fbd_regs.recmemb;
282 recmema = rp->nb.nf_fbd_regs.recmema;
293 recmema = rp->nb.nf_fbd_regs.recmema;
294 recmemb = rp->nb.nf_fbd_regs.recmemb;
296 redmemb = rp->nb.nf_fbd_regs.redmemb;
311 if (rp->nb.nf_fbd_regs.spcps & SPCPS_SPARE_DEPLOYED) {
313 SPCPS_FAILED_RANK(rp->nb.nf_fbd_regs.spcps);
388 nf_mem_error(const nb_regs_t *rp, void *data)
403 ferr_nf_mem = rp->nb.nf_mem_regs.ferr_nf_mem;
409 intel_nf_mem_err(rp->nb.nf_mem_regs.nerr_nf_mem);
426 validlog = rp->nb.nf_mem_regs.validlog;
428 nrecmema = rp->nb.nf_mem_regs.nrecmema;
429 nrecmemb = rp->nb.nf_mem_regs.nrecmemb;
438 recmema = rp->nb.nf_mem_regs.recmema;
439 recmemb = rp->nb.nf_mem_regs.recmemb;
451 recmema = rp->nb.nf_mem_regs.recmema;
452 recmemb = rp->nb.nf_mem_regs.recmemb;
453 validlog = rp->nb.nf_mem_regs.validlog;
475 if (rp->nb.nf_mem_regs.spcps & SPCPS_SPARE_DEPLOYED) {
477 SPCPS_FAILED_RANK(rp->nb.nf_mem_regs.spcps);
589 log_int_err(nb_regs_t *rp, int willpanic, int *interpose)
594 rp->flag = NB_REG_LOG_INT;
595 rp->nb.int_regs.ferr_fat_int = FERR_FAT_INT_RD(interpose);
596 rp->nb.int_regs.ferr_nf_int = FERR_NF_INT_RD(&t);
598 rp->nb.int_regs.nerr_fat_int = NERR_FAT_INT_RD(&t);
600 rp->nb.int_regs.nerr_nf_int = NERR_NF_INT_RD(&t);
602 rp->nb.int_regs.nrecint = NRECINT_RD();
603 rp->nb.int_regs.recint = RECINT_RD();
604 rp->nb.int_regs.nrecsf = NRECSF_RD();
605 rp->nb.int_regs.recsf = RECSF_RD();
608 if (rp->nb.int_regs.ferr_fat_int || *interpose)
609 FERR_FAT_INT_WR(rp->nb.int_regs.ferr_fat_int);
610 if (rp->nb.int_regs.ferr_nf_int || *interpose)
611 FERR_NF_INT_WR(rp->nb.int_regs.ferr_nf_int);
612 if (rp->nb.int_regs.nerr_fat_int)
613 NERR_FAT_INT_WR(rp->nb.int_regs.nerr_fat_int);
614 if (rp->nb.int_regs.nerr_nf_int)
615 NERR_NF_INT_WR(rp->nb.int_regs.nerr_nf_int);
627 if (rp->nb.int_regs.ferr_fat_int == 0 &&
628 rp->nb.int_regs.nerr_fat_int == 0 &&
629 (rp->nb.int_regs.ferr_nf_int == ERR_NF_INT_B18 ||
630 (rp->nb.int_regs.ferr_nf_int == 0 &&
631 rp->nb.int_regs.nerr_nf_int == ERR_NF_INT_B18))) {
638 log_thermal_err(nb_regs_t *rp, int willpanic, int *interpose)
642 rp->flag = NB_REG_LOG_THR;
643 rp->nb.thr_regs.ferr_fat_thr = FERR_FAT_THR_RD(interpose);
644 rp->nb.thr_regs.nerr_fat_thr = NERR_FAT_THR_RD(&t);
646 rp->nb.thr_regs.ferr_nf_thr = FERR_NF_THR_RD(&t);
648 rp->nb.thr_regs.nerr_nf_thr = NERR_NF_THR_RD(&t);
650 rp->nb.thr_regs.ctsts = CTSTS_RD();
651 rp->nb.thr_regs.thrtsts = THRTSTS_RD();
654 if (rp->nb.thr_regs.ferr_fat_thr || *interpose)
655 FERR_FAT_THR_WR(rp->nb.thr_regs.ferr_fat_thr);
656 if (rp->nb.thr_regs.nerr_fat_thr || *interpose)
657 NERR_FAT_THR_WR(rp->nb.thr_regs.nerr_fat_thr);
658 if (rp->nb.thr_regs.ferr_nf_thr || *interpose)
659 FERR_NF_THR_WR(rp->nb.thr_regs.ferr_nf_thr);
660 if (rp->nb.thr_regs.nerr_nf_thr || *interpose)
661 NERR_NF_THR_WR(rp->nb.thr_regs.nerr_nf_thr);
664 CTSTS_WR(rp->nb.thr_regs.ctsts);
665 THRTSTS_WR(rp->nb.thr_regs.thrtsts);
671 log_dma_err(nb_regs_t *rp, int *interpose)
673 rp->flag = NB_REG_LOG_DMA;
675 rp->nb.dma_regs.pcists = PCISTS_RD(interpose);
676 rp->nb.dma_regs.pexdevsts = PCIDEVSTS_RD();
728 log_fsb_err(uint64_t ferr, nb_regs_t *rp, int willpanic, int *interpose)
734 rp->flag = NB_REG_LOG_FSB;
736 rp->nb.fsb_regs.fsb = fsb;
737 rp->nb.fsb_regs.ferr_fat_fsb = FERR_FAT_FSB_RD(fsb, interpose);
738 rp->nb.fsb_regs.ferr_nf_fsb = FERR_NF_FSB_RD(fsb, &t);
740 rp->nb.fsb_regs.nerr_fat_fsb = NERR_FAT_FSB_RD(fsb, &t);
742 rp->nb.fsb_regs.nerr_nf_fsb = NERR_NF_FSB_RD(fsb, &t);
744 rp->nb.fsb_regs.nrecfsb = NRECFSB_RD(fsb);
745 rp->nb.fsb_regs.nrecfsb_addr = NRECADDR_RD(fsb);
746 rp->nb.fsb_regs.recfsb = RECFSB_RD(fsb);
749 if (rp->nb.fsb_regs.ferr_fat_fsb || *interpose)
750 FERR_FAT_FSB_WR(fsb, rp->nb.fsb_regs.ferr_fat_fsb);
751 if (rp->nb.fsb_regs.ferr_nf_fsb || *interpose)
752 FERR_NF_FSB_WR(fsb, rp->nb.fsb_regs.ferr_nf_fsb);
753 if (rp->nb.fsb_regs.nerr_fat_fsb || *interpose)
754 NERR_FAT_FSB_WR(fsb, rp->nb.fsb_regs.nerr_fat_fsb);
755 if (rp->nb.fsb_regs.nerr_nf_fsb || *interpose)
756 NERR_NF_FSB_WR(fsb, rp->nb.fsb_regs.nerr_nf_fsb);
1091 log_pex_err(uint64_t ferr, nb_regs_t *rp, int willpanic, int *interpose)
1096 rp->flag = NB_REG_LOG_PEX;
1099 rp->nb.pex_regs.pex = pex;
1100 rp->nb.pex_regs.pex_fat_ferr = PEX_FAT_FERR_RD(pex, interpose);
1101 rp->nb.pex_regs.pex_fat_nerr = PEX_FAT_NERR_RD(pex, &t);
1103 rp->nb.pex_regs.pex_nf_corr_ferr = PEX_NF_FERR_RD(pex, &t);
1105 rp->nb.pex_regs.pex_nf_corr_nerr = PEX_NF_NERR_RD(pex, &t);
1107 if (rp->nb.pex_regs.pex_fat_ferr == 0 &&
1108 rp->nb.pex_regs.pex_fat_nerr == 0 &&
1109 rp->nb.pex_regs.pex_nf_corr_ferr == 0 &&
1110 rp->nb.pex_regs.pex_nf_corr_nerr == 0)
1112 rp->nb.pex_regs.uncerrsev = UNCERRSEV_RD(pex);
1113 rp->nb.pex_regs.rperrsts = RPERRSTS_RD(pex);
1114 rp->nb.pex_regs.rperrsid = RPERRSID_RD(pex);
1116 rp->nb.pex_regs.uncerrsts = UNCERRSTS_RD(pex);
1118 rp->nb.pex_regs.uncerrsts = 0;
1119 rp->nb.pex_regs.aerrcapctrl = AERRCAPCTRL_RD(pex);
1120 rp->nb.pex_regs.corerrsts = CORERRSTS_RD(pex);
1121 rp->nb.pex_regs.pexdevsts = PEXDEVSTS_RD(pex);
1124 if (rp->nb.pex_regs.pex_fat_ferr || *interpose)
1125 PEX_FAT_FERR_WR(pex, rp->nb.pex_regs.pex_fat_ferr);
1126 if (rp->nb.pex_regs.pex_fat_nerr)
1127 PEX_FAT_NERR_WR(pex, rp->nb.pex_regs.pex_fat_nerr);
1128 if (rp->nb.pex_regs.pex_nf_corr_ferr || *interpose)
1129 PEX_NF_FERR_WR(pex, rp->nb.pex_regs.pex_nf_corr_ferr);
1130 if (rp->nb.pex_regs.pex_nf_corr_nerr)
1131 PEX_NF_NERR_WR(pex, rp->nb.pex_regs.pex_nf_corr_nerr);
1133 UNCERRSTS_WR(pex, rp->nb.pex_regs.uncerrsts);
1135 RPERRSTS_WR(pex, rp->nb.pex_regs.rperrsts);
1143 log_fat_fbd_err(nb_regs_t *rp, int willpanic, int *interpose)
1148 rp->flag = NB_REG_LOG_FAT_FBD;
1149 rp->nb.fat_fbd_regs.ferr_fat_fbd = FERR_FAT_FBD_RD(interpose);
1150 channel = (rp->nb.fat_fbd_regs.ferr_fat_fbd >> 28) & 3;
1152 rp->nb.fat_fbd_regs.nerr_fat_fbd = NERR_FAT_FBD_RD(&t);
1154 rp->nb.fat_fbd_regs.nrecmema = NRECMEMA_RD(branch);
1155 rp->nb.fat_fbd_regs.nrecmemb = NRECMEMB_RD(branch);
1156 rp->nb.fat_fbd_regs.nrecfglog = NRECFGLOG_RD(branch);
1157 rp->nb.fat_fbd_regs.nrecfbda = NRECFBDA_RD(branch);
1158 rp->nb.fat_fbd_regs.nrecfbdb = NRECFBDB_RD(branch);
1159 rp->nb.fat_fbd_regs.nrecfbdc = NRECFBDC_RD(branch);
1160 rp->nb.fat_fbd_regs.nrecfbdd = NRECFBDD_RD(branch);
1161 rp->nb.fat_fbd_regs.nrecfbde = NRECFBDE_RD(branch);
1162 rp->nb.fat_fbd_regs.nrecfbdf = NRECFBDF_RD(branch);
1163 rp->nb.fat_fbd_regs.spcps = SPCPS_RD(branch);
1164 rp->nb.fat_fbd_regs.spcpc = SPCPC_RD(branch);
1165 rp->nb.fat_fbd_regs.uerrcnt = UERRCNT_RD(branch);
1166 rp->nb.fat_fbd_regs.uerrcnt_last = uerrcnt[branch];
1167 uerrcnt[branch] = rp->nb.fat_fbd_regs.uerrcnt;
1168 rp->nb.fat_fbd_regs.badrama = BADRAMA_RD(branch);
1169 rp->nb.fat_fbd_regs.badramb = BADRAMB_RD(branch);
1170 rp->nb.fat_fbd_regs.badcnt = BADCNT_RD(branch);
1172 if (rp->nb.fat_fbd_regs.ferr_fat_fbd || *interpose)
1173 FERR_FAT_FBD_WR(rp->nb.fat_fbd_regs.ferr_fat_fbd);
1174 if (rp->nb.fat_fbd_regs.nerr_fat_fbd)
1175 NERR_FAT_FBD_WR(rp->nb.fat_fbd_regs.nerr_fat_fbd);
1195 log_nf_fbd_err(nb_regs_t *rp, int willpanic, int *interpose)
1200 rp->flag = NB_REG_LOG_NF_FBD;
1201 rp->nb.nf_fbd_regs.ferr_nf_fbd = FERR_NF_FBD_RD(interpose);
1202 channel = (rp->nb.nf_fbd_regs.ferr_nf_fbd >> 28) & 3;
1204 rp->nb.nf_fbd_regs.nerr_nf_fbd = NERR_NF_FBD_RD(&t);
1206 rp->nb.nf_fbd_regs.redmemb = REDMEMB_RD();
1207 rp->nb.nf_fbd_regs.recmema = RECMEMA_RD(branch);
1208 rp->nb.nf_fbd_regs.recmemb = RECMEMB_RD(branch);
1209 rp->nb.nf_fbd_regs.recfglog = RECFGLOG_RD(branch);
1210 rp->nb.nf_fbd_regs.recfbda = RECFBDA_RD(branch);
1211 rp->nb.nf_fbd_regs.recfbdb = RECFBDB_RD(branch);
1212 rp->nb.nf_fbd_regs.recfbdc = RECFBDC_RD(branch);
1213 rp->nb.nf_fbd_regs.recfbdd = RECFBDD_RD(branch);
1214 rp->nb.nf_fbd_regs.recfbde = RECFBDE_RD(branch);
1215 rp->nb.nf_fbd_regs.recfbdf = RECFBDF_RD(branch);
1216 rp->nb.nf_fbd_regs.spcps = SPCPS_RD(branch);
1217 rp->nb.nf_fbd_regs.spcpc = SPCPC_RD(branch);
1219 rp->nb.nf_fbd_regs.cerrcnta = CERRCNTA_RD(branch, channel);
1220 rp->nb.nf_fbd_regs.cerrcntb = CERRCNTB_RD(branch, channel);
1221 rp->nb.nf_fbd_regs.cerrcntc = CERRCNTC_RD(branch, channel);
1222 rp->nb.nf_fbd_regs.cerrcntd = CERRCNTD_RD(branch, channel);
1224 rp->nb.nf_fbd_regs.cerrcnta = CERRCNT_RD(branch);
1225 rp->nb.nf_fbd_regs.cerrcntb = 0;
1226 rp->nb.nf_fbd_regs.cerrcntc = 0;
1227 rp->nb.nf_fbd_regs.cerrcntd = 0;
1229 rp->nb.nf_fbd_regs.cerrcnta_last = cerrcnta[branch][channel & 1];
1230 rp->nb.nf_fbd_regs.cerrcntb_last = cerrcntb[branch][channel & 1];
1231 rp->nb.nf_fbd_regs.cerrcntc_last = cerrcntc[branch][channel & 1];
1232 rp->nb.nf_fbd_regs.cerrcntd_last = cerrcntd[branch][channel & 1];
1233 cerrcnta[branch][channel & 1] = rp->nb.nf_fbd_regs.cerrcnta;
1234 cerrcntb[branch][channel & 1] = rp->nb.nf_fbd_regs.cerrcntb;
1235 cerrcntc[branch][channel & 1] = rp->nb.nf_fbd_regs.cerrcntc;
1236 cerrcntd[branch][channel & 1] = rp->nb.nf_fbd_regs.cerrcntd;
1237 rp->nb.nf_fbd_regs.badrama = BADRAMA_RD(branch);
1238 rp->nb.nf_fbd_regs.badramb = BADRAMB_RD(branch);
1239 rp->nb.nf_fbd_regs.badcnt = BADCNT_RD(branch);
1241 if (rp->nb.nf_fbd_regs.ferr_nf_fbd || *interpose)
1242 FERR_NF_FBD_WR(rp->nb.nf_fbd_regs.ferr_nf_fbd);
1243 if (rp->nb.nf_fbd_regs.nerr_nf_fbd)
1244 NERR_NF_FBD_WR(rp->nb.nf_fbd_regs.nerr_nf_fbd);
1265 log_nf_mem_err(nb_regs_t *rp, int willpanic, int *interpose)
1271 rp->flag = NB_REG_LOG_NF_MEM;
1274 rp->nb.nf_mem_regs.ferr_nf_mem = FERR_NF_MEM_RD(interpose);
1275 channel = (rp->nb.nf_mem_regs.ferr_nf_mem >> 28) & 0x1;
1277 rp->nb.nf_mem_regs.nerr_nf_mem = NERR_NF_MEM_RD(&t);
1279 rp->nb.nf_mem_regs.redmema = MEM_REDMEMA_RD(branch);
1280 rp->nb.nf_mem_regs.redmemb = MEM_REDMEMB_RD(branch);
1281 rp->nb.nf_mem_regs.recmema = MEM_RECMEMA_RD(branch);
1282 rp->nb.nf_mem_regs.recmemb = MEM_RECMEMB_RD(branch);
1283 rp->nb.nf_mem_regs.nrecmema = MEM_NRECMEMA_RD(branch);
1284 rp->nb.nf_mem_regs.nrecmemb = MEM_NRECMEMB_RD(branch);
1287 rp->nb.nf_mem_regs.spcps = SPCPS_RD(branch);
1288 rp->nb.nf_mem_regs.spcpc = SPCPC_RD(branch);
1291 rp->nb.nf_mem_regs.cerrcnt = MEM_CERRCNT_RD(branch);
1292 rp->nb.nf_mem_regs.cerrcnt_ext = (uint32_t)MEM_CERRCNT_EXT_RD(branch);
1293 rp->nb.nf_mem_regs.cerrcnt_last = cerrcnta[branch][channel & 1];
1294 rp->nb.nf_mem_regs.cerrcnt_ext_last = cerrcntb[branch][channel & 1];
1295 cerrcnta[branch][channel & 1] = rp->nb.nf_mem_regs.cerrcnt;
1296 cerrcntb[branch][channel & 1] = rp->nb.nf_mem_regs.cerrcnt_ext;
1297 rp->nb.nf_mem_regs.badram = BADRAMA_RD(branch);
1298 rp->nb.nf_mem_regs.badcnt = BADCNT_RD(branch);
1299 rp->nb.nf_mem_regs.validlog = VALIDLOG_RD(branch);
1302 if (rp->nb.nf_mem_regs.ferr_nf_mem || *interpose)
1303 FERR_NF_MEM_WR(rp->nb.nf_mem_regs.ferr_nf_mem);
1304 if (rp->nb.nf_mem_regs.nerr_nf_mem)
1305 NERR_NF_MEM_WR(rp->nb.nf_mem_regs.nerr_nf_mem);
1333 nb_regs_t *rp = &log->nb_regs;
1341 if (log_pex_err(ferr, rp, willpanic, &interpose) == 0)
1344 log_fat_fbd_err(rp, willpanic, &interpose);
1347 log_nf_fbd_err(rp, willpanic, &interpose);
1350 spurious = log_nf_mem_err(rp, willpanic, &interpose);
1353 log_fsb_err(ferr, rp, willpanic, &interpose);
1356 log_dma_err(rp, &interpose);
1359 spurious = log_int_err(rp, willpanic, &interpose);
1363 log_thermal_err(rp, willpanic, &interpose);
1380 nb_regs_t *rp = &log->nb_regs;
1388 if (log_pex_err(err, rp, willpanic, &interpose) == 0)
1391 log_fat_fbd_err(rp, willpanic, &interpose);
1394 log_nf_fbd_err(rp, willpanic, &interpose);
1397 spurious = log_nf_mem_err(rp, willpanic, &interpose);
1400 log_fsb_err(GE_NERR_TO_FERR_FSB(err), rp, willpanic,
1404 log_dma_err(rp, &interpose);
1407 spurious = log_int_err(rp, willpanic, &interpose);