@@ -399,6 +399,63 @@ static const char * const smca_mp5_mce_desc[] = {
399399 "Instruction Tag Cache Bank B ECC or parity error" ,
400400};
401401
402+ static const char * const smca_mpdma_mce_desc [] = {
403+ "Main SRAM [31:0] bank ECC or parity error" ,
404+ "Main SRAM [63:32] bank ECC or parity error" ,
405+ "Main SRAM [95:64] bank ECC or parity error" ,
406+ "Main SRAM [127:96] bank ECC or parity error" ,
407+ "Data Cache Bank A ECC or parity error" ,
408+ "Data Cache Bank B ECC or parity error" ,
409+ "Data Tag Cache Bank A ECC or parity error" ,
410+ "Data Tag Cache Bank B ECC or parity error" ,
411+ "Instruction Cache Bank A ECC or parity error" ,
412+ "Instruction Cache Bank B ECC or parity error" ,
413+ "Instruction Tag Cache Bank A ECC or parity error" ,
414+ "Instruction Tag Cache Bank B ECC or parity error" ,
415+ "Data Cache Bank A ECC or parity error" ,
416+ "Data Cache Bank B ECC or parity error" ,
417+ "Data Tag Cache Bank A ECC or parity error" ,
418+ "Data Tag Cache Bank B ECC or parity error" ,
419+ "Instruction Cache Bank A ECC or parity error" ,
420+ "Instruction Cache Bank B ECC or parity error" ,
421+ "Instruction Tag Cache Bank A ECC or parity error" ,
422+ "Instruction Tag Cache Bank B ECC or parity error" ,
423+ "Data Cache Bank A ECC or parity error" ,
424+ "Data Cache Bank B ECC or parity error" ,
425+ "Data Tag Cache Bank A ECC or parity error" ,
426+ "Data Tag Cache Bank B ECC or parity error" ,
427+ "Instruction Cache Bank A ECC or parity error" ,
428+ "Instruction Cache Bank B ECC or parity error" ,
429+ "Instruction Tag Cache Bank A ECC or parity error" ,
430+ "Instruction Tag Cache Bank B ECC or parity error" ,
431+ "System Hub Read Buffer ECC or parity error" ,
432+ "MPDMA TVF DVSEC Memory ECC or parity error" ,
433+ "MPDMA TVF MMIO Mailbox0 ECC or parity error" ,
434+ "MPDMA TVF MMIO Mailbox1 ECC or parity error" ,
435+ "MPDMA TVF Doorbell Memory ECC or parity error" ,
436+ "MPDMA TVF SDP Slave Memory 0 ECC or parity error" ,
437+ "MPDMA TVF SDP Slave Memory 1 ECC or parity error" ,
438+ "MPDMA TVF SDP Slave Memory 2 ECC or parity error" ,
439+ "MPDMA TVF SDP Master Memory 0 ECC or parity error" ,
440+ "MPDMA TVF SDP Master Memory 1 ECC or parity error" ,
441+ "MPDMA TVF SDP Master Memory 2 ECC or parity error" ,
442+ "MPDMA TVF SDP Master Memory 3 ECC or parity error" ,
443+ "MPDMA TVF SDP Master Memory 4 ECC or parity error" ,
444+ "MPDMA TVF SDP Master Memory 5 ECC or parity error" ,
445+ "MPDMA TVF SDP Master Memory 6 ECC or parity error" ,
446+ "MPDMA PTE Command FIFO ECC or parity error" ,
447+ "MPDMA PTE Hub Data FIFO ECC or parity error" ,
448+ "MPDMA PTE Internal Data FIFO ECC or parity error" ,
449+ "MPDMA PTE Command Memory DMA ECC or parity error" ,
450+ "MPDMA PTE Command Memory Internal ECC or parity error" ,
451+ "MPDMA PTE DMA Completion FIFO ECC or parity error" ,
452+ "MPDMA PTE Tablewalk Completion FIFO ECC or parity error" ,
453+ "MPDMA PTE Descriptor Completion FIFO ECC or parity error" ,
454+ "MPDMA PTE ReadOnly Completion FIFO ECC or parity error" ,
455+ "MPDMA PTE DirectWrite Completion FIFO ECC or parity error" ,
456+ "SDP Watchdog Timer expired" ,
457+ };
458+
402459static const char * const smca_nbio_mce_desc [] = {
403460 "ECC or Parity error" ,
404461 "PCIE error" ,
@@ -448,7 +505,7 @@ static const char * const smca_xgmipcs_mce_desc[] = {
448505 "Rx Replay Timeout Error" ,
449506 "LinkSub Tx Timeout Error" ,
450507 "LinkSub Rx Timeout Error" ,
451- "Rx CMD Pocket Error" ,
508+ "Rx CMD Packet Error" ,
452509};
453510
454511static const char * const smca_xgmiphy_mce_desc [] = {
@@ -458,11 +515,66 @@ static const char * const smca_xgmiphy_mce_desc[] = {
458515 "PHY APB error" ,
459516};
460517
461- static const char * const smca_waflphy_mce_desc [] = {
462- "RAM ECC Error" ,
463- "ARC instruction buffer parity error" ,
464- "ARC data buffer parity error" ,
465- "PHY APB error" ,
518+ static const char * const smca_nbif_mce_desc [] = {
519+ "Timeout error from GMI" ,
520+ "SRAM ECC error" ,
521+ "NTB Error Event" ,
522+ "SDP Parity error" ,
523+ };
524+
525+ static const char * const smca_sata_mce_desc [] = {
526+ "Parity error for port 0" ,
527+ "Parity error for port 1" ,
528+ "Parity error for port 2" ,
529+ "Parity error for port 3" ,
530+ "Parity error for port 4" ,
531+ "Parity error for port 5" ,
532+ "Parity error for port 6" ,
533+ "Parity error for port 7" ,
534+ };
535+
536+ static const char * const smca_usb_mce_desc [] = {
537+ "Parity error or ECC error for S0 RAM0" ,
538+ "Parity error or ECC error for S0 RAM1" ,
539+ "Parity error or ECC error for S0 RAM2" ,
540+ "Parity error for PHY RAM0" ,
541+ "Parity error for PHY RAM1" ,
542+ "AXI Slave Response error" ,
543+ };
544+
545+ static const char * const smca_gmipcs_mce_desc [] = {
546+ "Data Loss Error" ,
547+ "Training Error" ,
548+ "Replay Parity Error" ,
549+ "Rx Fifo Underflow Error" ,
550+ "Rx Fifo Overflow Error" ,
551+ "CRC Error" ,
552+ "BER Exceeded Error" ,
553+ "Tx Fifo Underflow Error" ,
554+ "Replay Buffer Parity Error" ,
555+ "Tx Overflow Error" ,
556+ "Replay Fifo Overflow Error" ,
557+ "Replay Fifo Underflow Error" ,
558+ "Elastic Fifo Overflow Error" ,
559+ "Deskew Error" ,
560+ "Offline Error" ,
561+ "Data Startup Limit Error" ,
562+ "FC Init Timeout Error" ,
563+ "Recovery Timeout Error" ,
564+ "Ready Serial Timeout Error" ,
565+ "Ready Serial Attempt Error" ,
566+ "Recovery Attempt Error" ,
567+ "Recovery Relock Attempt Error" ,
568+ "Deskew Abort Error" ,
569+ "Rx Buffer Error" ,
570+ "Rx LFDS Fifo Overflow Error" ,
571+ "Rx LFDS Fifo Underflow Error" ,
572+ "LinkSub Tx Timeout Error" ,
573+ "LinkSub Rx Timeout Error" ,
574+ "Rx CMD Packet Error" ,
575+ "LFDS Training Timeout Error" ,
576+ "LFDS FC Init Timeout Error" ,
577+ "Data Loss Error" ,
466578};
467579
468580struct smca_mce_desc {
@@ -490,12 +602,21 @@ static struct smca_mce_desc smca_mce_descs[] = {
490602 [SMCA_SMU ] = { smca_smu_mce_desc , ARRAY_SIZE (smca_smu_mce_desc ) },
491603 [SMCA_SMU_V2 ] = { smca_smu2_mce_desc , ARRAY_SIZE (smca_smu2_mce_desc ) },
492604 [SMCA_MP5 ] = { smca_mp5_mce_desc , ARRAY_SIZE (smca_mp5_mce_desc ) },
605+ [SMCA_MPDMA ] = { smca_mpdma_mce_desc , ARRAY_SIZE (smca_mpdma_mce_desc ) },
493606 [SMCA_NBIO ] = { smca_nbio_mce_desc , ARRAY_SIZE (smca_nbio_mce_desc ) },
494607 [SMCA_PCIE ] = { smca_pcie_mce_desc , ARRAY_SIZE (smca_pcie_mce_desc ) },
495608 [SMCA_PCIE_V2 ] = { smca_pcie2_mce_desc , ARRAY_SIZE (smca_pcie2_mce_desc ) },
496609 [SMCA_XGMI_PCS ] = { smca_xgmipcs_mce_desc , ARRAY_SIZE (smca_xgmipcs_mce_desc ) },
610+ /* NBIF and SHUB have the same error descriptions, for now. */
611+ [SMCA_NBIF ] = { smca_nbif_mce_desc , ARRAY_SIZE (smca_nbif_mce_desc ) },
612+ [SMCA_SHUB ] = { smca_nbif_mce_desc , ARRAY_SIZE (smca_nbif_mce_desc ) },
613+ [SMCA_SATA ] = { smca_sata_mce_desc , ARRAY_SIZE (smca_sata_mce_desc ) },
614+ [SMCA_USB ] = { smca_usb_mce_desc , ARRAY_SIZE (smca_usb_mce_desc ) },
615+ [SMCA_GMI_PCS ] = { smca_gmipcs_mce_desc , ARRAY_SIZE (smca_gmipcs_mce_desc ) },
616+ /* All the PHY bank types have the same error descriptions, for now. */
497617 [SMCA_XGMI_PHY ] = { smca_xgmiphy_mce_desc , ARRAY_SIZE (smca_xgmiphy_mce_desc ) },
498- [SMCA_WAFL_PHY ] = { smca_waflphy_mce_desc , ARRAY_SIZE (smca_waflphy_mce_desc ) },
618+ [SMCA_WAFL_PHY ] = { smca_xgmiphy_mce_desc , ARRAY_SIZE (smca_xgmiphy_mce_desc ) },
619+ [SMCA_GMI_PHY ] = { smca_xgmiphy_mce_desc , ARRAY_SIZE (smca_xgmiphy_mce_desc ) },
499620};
500621
501622static bool f12h_mc0_mce (u16 ec , u8 xec )
0 commit comments