Lines Matching refs:status
285 ppc4xx_edac_check_bank_error(const struct ppc4xx_ecc_status *status, in ppc4xx_edac_check_bank_error() argument
290 return status->ecces & SDRAM_ECCES_BK0ER; in ppc4xx_edac_check_bank_error()
292 return status->ecces & SDRAM_ECCES_BK1ER; in ppc4xx_edac_check_bank_error()
317 const struct ppc4xx_ecc_status *status, in ppc4xx_edac_generate_bank_message() argument
334 if (ppc4xx_edac_check_bank_error(status, row)) { in ppc4xx_edac_generate_bank_message()
379 const struct ppc4xx_ecc_status *status, in ppc4xx_edac_generate_checkbit_message() argument
386 switch (status->ecces & SDRAM_ECCES_CKBER_MASK) { in ppc4xx_edac_generate_checkbit_message()
437 const struct ppc4xx_ecc_status *status, in ppc4xx_edac_generate_lane_message() argument
456 if ((status->ecces & SDRAM_ECCES_BNCE_ENCODE(lane)) != 0) { in ppc4xx_edac_generate_lane_message()
502 const struct ppc4xx_ecc_status *status, in ppc4xx_edac_generate_ecc_message() argument
508 n = ppc4xx_edac_generate_bank_message(mci, status, buffer, size); in ppc4xx_edac_generate_ecc_message()
517 n = ppc4xx_edac_generate_checkbit_message(mci, status, buffer, size); in ppc4xx_edac_generate_ecc_message()
526 n = ppc4xx_edac_generate_lane_message(mci, status, buffer, size); in ppc4xx_edac_generate_ecc_message()
558 const struct ppc4xx_ecc_status *status, in ppc4xx_edac_generate_plb_message() argument
565 if ((status->besr & SDRAM_BESR_MASK) == 0) in ppc4xx_edac_generate_plb_message()
568 if ((status->besr & SDRAM_BESR_M0ET_MASK) == SDRAM_BESR_M0ET_NONE) in ppc4xx_edac_generate_plb_message()
571 read = ((status->besr & SDRAM_BESR_M0RW_MASK) == SDRAM_BESR_M0RW_READ); in ppc4xx_edac_generate_plb_message()
573 master = SDRAM_BESR_M0ID_DECODE(status->besr); in ppc4xx_edac_generate_plb_message()
599 const struct ppc4xx_ecc_status *status, in ppc4xx_edac_generate_message() argument
608 n = ppc4xx_edac_generate_ecc_message(mci, status, buffer, size); in ppc4xx_edac_generate_message()
616 ppc4xx_edac_generate_plb_message(mci, status, buffer, size); in ppc4xx_edac_generate_message()
632 const struct ppc4xx_ecc_status *status) in ppc4xx_ecc_dump_status() argument
636 ppc4xx_edac_generate_message(mci, status, message, sizeof(message)); in ppc4xx_ecc_dump_status()
645 status->ecces, in ppc4xx_ecc_dump_status()
646 status->wmirq, in ppc4xx_ecc_dump_status()
647 status->besr, in ppc4xx_ecc_dump_status()
648 status->bearh, in ppc4xx_ecc_dump_status()
649 status->bearl, in ppc4xx_ecc_dump_status()
669 struct ppc4xx_ecc_status *status) in ppc4xx_ecc_get_status() argument
674 status->ecces = mfsdram(dcr_host, SDRAM_ECCES) & SDRAM_ECCES_MASK; in ppc4xx_ecc_get_status()
675 status->wmirq = mfsdram(dcr_host, SDRAM_WMIRQ) & SDRAM_WMIRQ_MASK; in ppc4xx_ecc_get_status()
676 status->besr = mfsdram(dcr_host, SDRAM_BESR) & SDRAM_BESR_MASK; in ppc4xx_ecc_get_status()
677 status->bearl = mfsdram(dcr_host, SDRAM_BEARL); in ppc4xx_ecc_get_status()
678 status->bearh = mfsdram(dcr_host, SDRAM_BEARH); in ppc4xx_ecc_get_status()
694 const struct ppc4xx_ecc_status *status) in ppc4xx_ecc_clear_status() argument
699 mtsdram(dcr_host, SDRAM_ECCES, status->ecces & SDRAM_ECCES_MASK); in ppc4xx_ecc_clear_status()
700 mtsdram(dcr_host, SDRAM_WMIRQ, status->wmirq & SDRAM_WMIRQ_MASK); in ppc4xx_ecc_clear_status()
701 mtsdram(dcr_host, SDRAM_BESR, status->besr & SDRAM_BESR_MASK); in ppc4xx_ecc_clear_status()
721 const struct ppc4xx_ecc_status *status) in ppc4xx_edac_handle_ce() argument
726 ppc4xx_edac_generate_message(mci, status, message, sizeof(message)); in ppc4xx_edac_handle_ce()
729 if (ppc4xx_edac_check_bank_error(status, row)) in ppc4xx_edac_handle_ce()
749 const struct ppc4xx_ecc_status *status) in ppc4xx_edac_handle_ue() argument
751 const u64 bear = ((u64)status->bearh << 32 | status->bearl); in ppc4xx_edac_handle_ue()
757 ppc4xx_edac_generate_message(mci, status, message, sizeof(message)); in ppc4xx_edac_handle_ue()
760 if (ppc4xx_edac_check_bank_error(status, row)) in ppc4xx_edac_handle_ue()
783 struct ppc4xx_ecc_status status; in ppc4xx_edac_check() local
785 ppc4xx_ecc_get_status(mci, &status); in ppc4xx_edac_check()
789 ppc4xx_ecc_dump_status(mci, &status); in ppc4xx_edac_check()
792 if (status.ecces & SDRAM_ECCES_UE) in ppc4xx_edac_check()
793 ppc4xx_edac_handle_ue(mci, &status); in ppc4xx_edac_check()
795 if (status.ecces & SDRAM_ECCES_CE) in ppc4xx_edac_check()
796 ppc4xx_edac_handle_ce(mci, &status); in ppc4xx_edac_check()
798 ppc4xx_ecc_clear_status(mci, &status); in ppc4xx_edac_check()
897 int status = 0; in ppc4xx_edac_init_csrows() local
960 status = -EINVAL; in ppc4xx_edac_init_csrows()
990 return status; in ppc4xx_edac_init_csrows()
1015 int status = 0; in ppc4xx_edac_mc_init() local
1079 status = ppc4xx_edac_init_csrows(mci, mcopt1); in ppc4xx_edac_mc_init()
1081 if (status) in ppc4xx_edac_mc_init()
1085 return status; in ppc4xx_edac_mc_init()
1106 int status = 0; in ppc4xx_edac_register_irq() local
1117 status = -ENODEV; in ppc4xx_edac_register_irq()
1121 status = request_irq(ded_irq, in ppc4xx_edac_register_irq()
1127 if (status < 0) { in ppc4xx_edac_register_irq()
1131 status = -ENODEV; in ppc4xx_edac_register_irq()
1135 status = request_irq(sec_irq, in ppc4xx_edac_register_irq()
1141 if (status < 0) { in ppc4xx_edac_register_irq()
1145 status = -ENODEV; in ppc4xx_edac_register_irq()
1164 return status; in ppc4xx_edac_register_irq()
1232 int status = 0; in ppc4xx_edac_probe() local
1257 status = ppc4xx_edac_map_dcrs(np, &dcr_host); in ppc4xx_edac_probe()
1259 if (status) in ppc4xx_edac_probe()
1260 return status; in ppc4xx_edac_probe()
1274 status = -ENODEV; in ppc4xx_edac_probe()
1295 status = -ENOMEM; in ppc4xx_edac_probe()
1299 status = ppc4xx_edac_mc_init(mci, op, &dcr_host, mcopt1); in ppc4xx_edac_probe()
1301 if (status) { in ppc4xx_edac_probe()
1316 status = -ENODEV; in ppc4xx_edac_probe()
1321 status = ppc4xx_edac_register_irq(op, mci); in ppc4xx_edac_probe()
1323 if (status) in ppc4xx_edac_probe()
1338 return status; in ppc4xx_edac_probe()