Lines Matching refs:status

169  * Various status data gathered and manipulated when checking and
170 * reporting ECC status.
269 * @status: A pointer to the ECC status structure to check for an
280 ppc4xx_edac_check_bank_error(const struct ppc4xx_ecc_status *status,
285 return status->ecces & SDRAM_ECCES_BK0ER;
287 return status->ecces & SDRAM_ECCES_BK1ER;
294 * ppc4xx_edac_generate_bank_message - generate interpretted bank status message
297 * @status: A pointer to the ECC status structure to generate the
305 * field of the specified ECC status.
312 const struct ppc4xx_ecc_status *status,
329 if (ppc4xx_edac_check_bank_error(status, row)) {
359 * @status: A pointer to the ECC status structure to generate the
367 * field of the specified ECC status.
374 const struct ppc4xx_ecc_status *status,
381 switch (status->ecces & SDRAM_ECCES_CKBER_MASK) {
417 * @status: A pointer to the ECC status structure to generate the
425 * field of the specified ECC status.
432 const struct ppc4xx_ecc_status *status,
451 if ((status->ecces & SDRAM_ECCES_BNCE_ENCODE(lane)) != 0) {
479 * ppc4xx_edac_generate_ecc_message - generate interpretted ECC status message
482 * @status: A pointer to the ECC status structure to generate the
490 * the specified ECC status.
497 const struct ppc4xx_ecc_status *status,
503 n = ppc4xx_edac_generate_bank_message(mci, status, buffer, size);
512 n = ppc4xx_edac_generate_checkbit_message(mci, status, buffer, size);
521 n = ppc4xx_edac_generate_lane_message(mci, status, buffer, size);
535 * ppc4xx_edac_generate_plb_message - generate interpretted PLB status message
538 * @status: A pointer to the ECC status structure to generate the
546 * and/or WMIRQ registers of the specified ECC status.
553 const struct ppc4xx_ecc_status *status,
560 if ((status->besr & SDRAM_BESR_MASK) == 0)
563 if ((status->besr & SDRAM_BESR_M0ET_MASK) == SDRAM_BESR_M0ET_NONE)
566 read = ((status->besr & SDRAM_BESR_M0RW_MASK) == SDRAM_BESR_M0RW_READ);
568 master = SDRAM_BESR_M0ID_DECODE(status->besr);
580 * ppc4xx_edac_generate_message - generate interpretted status message
583 * @status: A pointer to the ECC status structure to generate the
590 * EDAC report message from the specified ECC status.
594 const struct ppc4xx_ecc_status *status,
603 n = ppc4xx_edac_generate_ecc_message(mci, status, buffer, size);
611 ppc4xx_edac_generate_plb_message(mci, status, buffer, size);
616 * ppc4xx_ecc_dump_status - dump controller ECC status registers
618 * associated with the status being dumped.
619 * @status: A pointer to the ECC status structure to generate the
623 * interpretted specified ECC status.
627 const struct ppc4xx_ecc_status *status)
631 ppc4xx_edac_generate_message(mci, status, message, sizeof(message));
640 status->ecces,
641 status->wmirq,
642 status->besr,
643 status->bearh,
644 status->bearl,
650 * ppc4xx_ecc_get_status - get controller ECC status
652 * associated with the status being retrieved.
653 * @status: A pointer to the ECC status structure to populate the
654 * ECC status with.
657 * status registers that deal with ibm,sdram-4xx-ddr2 ECC errors.
664 struct ppc4xx_ecc_status *status)
669 status->ecces = mfsdram(dcr_host, SDRAM_ECCES) & SDRAM_ECCES_MASK;
670 status->wmirq = mfsdram(dcr_host, SDRAM_WMIRQ) & SDRAM_WMIRQ_MASK;
671 status->besr = mfsdram(dcr_host, SDRAM_BESR) & SDRAM_BESR_MASK;
672 status->bearl = mfsdram(dcr_host, SDRAM_BEARL);
673 status->bearh = mfsdram(dcr_host, SDRAM_BEARH);
677 * ppc4xx_ecc_clear_status - clear controller ECC status
679 * associated with the status being cleared.
680 * @status: A pointer to the ECC status structure containing the
681 * values to write to clear the ECC status.
683 * This routine clears--by writing the masked (as appropriate) status
684 * values back to--the status registers that deal with
689 const struct ppc4xx_ecc_status *status)
694 mtsdram(dcr_host, SDRAM_ECCES, status->ecces & SDRAM_ECCES_MASK);
695 mtsdram(dcr_host, SDRAM_WMIRQ, status->wmirq & SDRAM_WMIRQ_MASK);
696 mtsdram(dcr_host, SDRAM_BESR, status->besr & SDRAM_BESR_MASK);
705 * @status: A pointer to the ECC status structure associated with
710 * enough status available to use the full EDAC correctable error
716 const struct ppc4xx_ecc_status *status)
721 ppc4xx_edac_generate_message(mci, status, message, sizeof(message));
724 if (ppc4xx_edac_check_bank_error(status, row))
736 * @status: A pointer to the ECC status structure associated with
744 const struct ppc4xx_ecc_status *status)
746 const u64 bear = ((u64)status->bearh << 32 | status->bearl);
752 ppc4xx_edac_generate_message(mci, status, message, sizeof(message));
755 if (ppc4xx_edac_check_bank_error(status, row))
778 struct ppc4xx_ecc_status status;
780 ppc4xx_ecc_get_status(mci, &status);
784 ppc4xx_ecc_dump_status(mci, &status);
787 if (status.ecces & SDRAM_ECCES_UE)
788 ppc4xx_edac_handle_ue(mci, &status);
790 if (status.ecces & SDRAM_ECCES_CE)
791 ppc4xx_edac_handle_ce(mci, &status);
793 ppc4xx_ecc_clear_status(mci, &status);
805 * polling to check, report and clear the ECC status.
892 int status = 0;
955 status = -EINVAL;
985 return status;
1010 int status = 0;
1071 status = ppc4xx_edac_init_csrows(mci, mcopt1);
1073 if (status)
1077 return status;
1098 int status = 0;
1109 status = -ENODEV;
1113 status = request_irq(ded_irq,
1119 if (status < 0) {
1123 status = -ENODEV;
1127 status = request_irq(sec_irq,
1133 if (status < 0) {
1137 status = -ENODEV;
1156 return status;
1224 int status = 0;
1249 status = ppc4xx_edac_map_dcrs(np, &dcr_host);
1251 if (status)
1252 return status;
1266 status = -ENODEV;
1287 status = -ENOMEM;
1291 status = ppc4xx_edac_mc_init(mci, op, &dcr_host, mcopt1);
1293 if (status) {
1308 status = -ENODEV;
1313 status = ppc4xx_edac_register_irq(op, mci);
1315 if (status)
1330 return status;