@@ -399,6 +399,63 @@ static const char * const smca_mp5_mce_desc[] = {
399
399
"Instruction Tag Cache Bank B ECC or parity error" ,
400
400
};
401
401
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
+
402
459
static const char * const smca_nbio_mce_desc [] = {
403
460
"ECC or Parity error" ,
404
461
"PCIE error" ,
@@ -448,7 +505,7 @@ static const char * const smca_xgmipcs_mce_desc[] = {
448
505
"Rx Replay Timeout Error" ,
449
506
"LinkSub Tx Timeout Error" ,
450
507
"LinkSub Rx Timeout Error" ,
451
- "Rx CMD Pocket Error" ,
508
+ "Rx CMD Packet Error" ,
452
509
};
453
510
454
511
static const char * const smca_xgmiphy_mce_desc [] = {
@@ -458,11 +515,66 @@ static const char * const smca_xgmiphy_mce_desc[] = {
458
515
"PHY APB error" ,
459
516
};
460
517
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" ,
466
578
};
467
579
468
580
struct smca_mce_desc {
@@ -490,12 +602,21 @@ static struct smca_mce_desc smca_mce_descs[] = {
490
602
[SMCA_SMU ] = { smca_smu_mce_desc , ARRAY_SIZE (smca_smu_mce_desc ) },
491
603
[SMCA_SMU_V2 ] = { smca_smu2_mce_desc , ARRAY_SIZE (smca_smu2_mce_desc ) },
492
604
[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 ) },
493
606
[SMCA_NBIO ] = { smca_nbio_mce_desc , ARRAY_SIZE (smca_nbio_mce_desc ) },
494
607
[SMCA_PCIE ] = { smca_pcie_mce_desc , ARRAY_SIZE (smca_pcie_mce_desc ) },
495
608
[SMCA_PCIE_V2 ] = { smca_pcie2_mce_desc , ARRAY_SIZE (smca_pcie2_mce_desc ) },
496
609
[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. */
497
617
[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 ) },
499
620
};
500
621
501
622
static bool f12h_mc0_mce (u16 ec , u8 xec )
0 commit comments