Lines Matching defs:dimm

90  * check if a dimm has n CEs with the same symbol-in-error
93 upos_thresh_check(cmd_dimm_t *dimm, uint16_t upos, uint32_t threshold)
100 for (ip = cmd_list_next(&dimm->mq_root[i]); ip != NULL;
218 ce_thresh_check(fmd_hdl_t *hdl, cmd_dimm_t *dimm)
225 if (dimm->dimm_flags & CMD_MEM_F_FAULTING)
229 nret = dimm->dimm_nretired;
230 if (dimm->dimm_bank != NULL)
231 nret += dimm->dimm_bank->bank_nretired;
236 if (dimm->dimm_phys_addr_hi >= dimm->dimm_phys_addr_low)
238 (dimm->dimm_phys_addr_hi - dimm->dimm_phys_addr_low) /
243 dimm->dimm_flags |= CMD_MEM_F_FAULTING;
244 cmd_dimm_dirty(hdl, dimm);
247 flt = cmd_dimm_create_fault(hdl, dimm,
248 "fault.memory.dimm-page-retires-excessive", CMD_FLTMAXCONF);
263 mq_5b_check(fmd_hdl_t *hdl, cmd_dimm_t *dimm)
271 for (ip = cmd_list_next(&dimm->mq_root[cw]);
276 flt = cmd_dimm_create_fault(hdl, dimm,
277 "fault.memory.dimm-page-retires-excessive",
279 dimm->dimm_flags |= CMD_MEM_F_FAULTING;
280 cmd_dimm_dirty(hdl, dimm);
408 mq_add(fmd_hdl_t *hdl, cmd_dimm_t *dimm, fmd_event_t *ep,
418 for (ip = cmd_list_next(&dimm->mq_root[cw]); ip != NULL; ) {
437 cmd_list_append(&dimm->mq_root[cw], jp);
439 cmd_list_insert_before(&dimm->mq_root[cw], ip, jp);
448 mq_prune(fmd_hdl_t *hdl, cmd_dimm_t *dimm, uint64_t now)
454 for (ip = cmd_list_next(&dimm->mq_root[cw]); ip != NULL; ) {
460 ip = mq_destroy(hdl, &dimm->mq_root[cw], ip);
486 mq_check(fmd_hdl_t *hdl, cmd_dimm_t *dimm)
524 for (ip = cmd_list_next(&dimm->mq_root[cw]); ip != NULL;
550 dimm, "fault.memory.dimm-ue-imminent",
554 dimm->dimm_case.cc_cp,
557 dimm->dimm_case.cc_cp,
560 dimm->dimm_flags |= CMD_MEM_F_FAULTING;
561 cmd_dimm_dirty(hdl, dimm);
562 fmd_case_add_suspect(hdl, dimm->dimm_case.cc_cp, flt);
563 fmd_case_solve(hdl, dimm->dimm_case.cc_cp);
577 cmd_dimm_t *dimm;
608 if ((dimm = cmd_dimm_lookup(hdl, asru)) == NULL &&
609 (dimm = cmd_dimm_create(hdl, asru)) == NULL)
612 if (dimm->dimm_case.cc_cp == NULL) {
613 dimm->dimm_case.cc_cp = cmd_case_create(hdl,
614 &dimm->dimm_header, CMD_PTR_DIMM_CASE, &uuid);
623 * Add mq_t when there is no bad r/w or dimm fault.
626 skip_error = cmd_dimm_check_symbol_error(dimm, synd);
631 if (!skip_error || !(dimm->dimm_flags & CMD_MEM_F_FAULTING)) {
636 mq_add(hdl, dimm, ep, afar, synd, *now, cpuid);
639 mq_prune(hdl, dimm, *now);
642 bad_reader_writer_check(hdl, dimm, det);
644 if (!(dimm->dimm_flags & CMD_MEM_F_FAULTING)) {
645 mq_check(hdl, dimm);
646 mq_5b_check(hdl, dimm);
696 if (cmd_dimm_check_symbol_error(dimm, synd))
747 if (afar > dimm->dimm_phys_addr_hi)
748 dimm->dimm_phys_addr_hi = addr;
750 if (afar < dimm->dimm_phys_addr_low)
751 dimm->dimm_phys_addr_low = addr;
753 dimm->dimm_nretired++;
754 dimm->dimm_retstat.fmds_value.ui64++;
755 cmd_dimm_dirty(hdl, dimm);
757 cmd_page_fault(hdl, asru, cmd_dimm_fru(dimm), ep, afar);
758 ce_thresh_check(hdl, dimm);
788 /* create separate fault for each dimm in bank */
898 * If dimm structure doesn't already exist for
899 * each dimm, create and link to bank.