# --- T2-COPYRIGHT-BEGIN --- # t2/package/*/linux/hotfix-kern-cont-sun-pci.patch # Copyright (C) 2024 - 2025 The T2 SDE Project # SPDX-License-Identifier: GPL-2.0 or patched project license # --- T2-COPYRIGHT-END --- Fix some more PCI logging printk to KERN_CONT correctly. --- linux-6.10/arch/sparc/kernel/pci_psycho.c.vanilla 2024-09-25 19:23:27.753383017 +0200 +++ linux-6.10/arch/sparc/kernel/pci_psycho.c 2024-09-25 19:28:03.943384215 +0200 @@ -172,19 +172,19 @@ reported = 0; if (afsr & PSYCHO_UEAFSR_SPIO) { reported++; - printk("(PIO)"); + printk(KERN_CONT "(PIO)"); } if (afsr & PSYCHO_UEAFSR_SDRD) { reported++; - printk("(DMA Read)"); + printk(KERN_CONT "(DMA Read)"); } if (afsr & PSYCHO_UEAFSR_SDWR) { reported++; - printk("(DMA Write)"); + printk(KERN_CONT "(DMA Write)"); } if (!reported) - printk("(none)"); - printk("]\n"); + printk(KERN_CONT "(none)"); + printk(KERN_CONT "]\n"); /* Interrogate both IOMMUs for error status. */ psycho_check_iommu_error(pbm, afsr, afar, UE_ERR); @@ -257,19 +257,19 @@ reported = 0; if (afsr & PSYCHO_CEAFSR_SPIO) { reported++; - printk("(PIO)"); + printk(KERN_CONT "(PIO)"); } if (afsr & PSYCHO_CEAFSR_SDRD) { reported++; - printk("(DMA Read)"); + printk(KERN_CONT "(DMA Read)"); } if (afsr & PSYCHO_CEAFSR_SDWR) { reported++; - printk("(DMA Write)"); + printk(KERN_CONT "(DMA Write)"); } if (!reported) - printk("(none)"); - printk("]\n"); + printk(KERN_CONT "(none)"); + printk(KERN_CONT "]\n"); return IRQ_HANDLED; } --- linux-6.10/arch/sparc/kernel/pci_sabre.c.vanilla 2024-09-25 19:23:27.763383016 +0200 +++ linux-6.10/arch/sparc/kernel/pci_sabre.c 2024-09-25 19:28:50.156717749 +0200 @@ -237,18 +237,18 @@ reported = 0; if (afsr & SABRE_UEAFSR_SDRD) { reported++; - printk("(DMA Read)"); + printk(KERN_CONT "(DMA Read)"); } if (afsr & SABRE_UEAFSR_SDWR) { reported++; - printk("(DMA Write)"); + printk(KERN_CONT "(DMA Write)"); } if (afsr & SABRE_UEAFSR_SDTE) { reported++; - printk("(Translation Error)"); + printk(KERN_CONT "(Translation Error)"); } if (!reported) - printk("(none)"); + printk(KERN_CONT "(none)"); printk("]\n"); /* Interrogate IOMMU for error status. */ @@ -300,14 +300,14 @@ reported = 0; if (afsr & SABRE_CEAFSR_SDRD) { reported++; - printk("(DMA Read)"); + printk(KERN_CONT "(DMA Read)"); } if (afsr & SABRE_CEAFSR_SDWR) { reported++; - printk("(DMA Write)"); + printk(KERN_CONT "(DMA Write)"); } if (!reported) - printk("(none)"); + printk(KERN_CONT "(none)"); printk("]\n"); return IRQ_HANDLED; --- linux-6.10/arch/sparc/kernel/pci_schizo.c.vanilla 2024-09-25 19:23:27.770049684 +0200 +++ linux-6.10/arch/sparc/kernel/pci_schizo.c 2024-09-25 19:32:02.060051916 +0200 @@ -427,15 +427,15 @@ reported = 0; if (afsr & SCHIZO_UEAFSR_SPIO) { reported++; - printk("(PIO)"); + printk(KERN_CONT "(PIO)"); } if (afsr & SCHIZO_UEAFSR_SDMA) { reported++; - printk("(DMA)"); + printk(KERN_CONT "(DMA)"); } if (!reported) - printk("(none)"); - printk("]\n"); + printk(KERN_CONT "(none)"); + printk(KERN_CONT "]\n"); /* Interrogate IOMMU for error status. */ schizo_check_iommu_error(pbm, UE_ERR); @@ -519,15 +519,15 @@ reported = 0; if (afsr & SCHIZO_CEAFSR_SPIO) { reported++; - printk("(PIO)"); + printk(KERN_CONT "(PIO)"); } if (afsr & SCHIZO_CEAFSR_SDMA) { reported++; - printk("(DMA)"); + printk(KERN_CONT "(DMA)"); } if (!reported) - printk("(none)"); - printk("]\n"); + printk(KERN_CONT "(none)"); + printk(KERN_CONT "]\n"); return IRQ_HANDLED; } @@ -696,31 +696,31 @@ reported = 0; if (afsr & SCHIZO_PCIAFSR_SMA) { reported++; - printk("(Master Abort)"); + printk(KERN_CONT "(Master Abort)"); } if (afsr & SCHIZO_PCIAFSR_STA) { reported++; - printk("(Target Abort)"); + printk(KERN_CONT "(Target Abort)"); } if (afsr & SCHIZO_PCIAFSR_SRTRY) { reported++; - printk("(Excessive Retries)"); + printk(KERN_CONT "(Excessive Retries)"); } if (afsr & SCHIZO_PCIAFSR_SPERR) { reported++; - printk("(Parity Error)"); + printk(KERN_CONT "(Parity Error)"); } if (afsr & SCHIZO_PCIAFSR_STTO) { reported++; - printk("(Timeout)"); + printk(KERN_CONT "(Timeout)"); } if (afsr & SCHIZO_PCIAFSR_SUNUS) { reported++; - printk("(Bus Unusable)"); + printk(KERN_CONT "(Bus Unusable)"); } if (!reported) - printk("(none)"); - printk("]\n"); + printk(KERN_CONT "(none)"); + printk(KERN_CONT "]\n"); /* For the error types shown, scan PBM's PCI bus for devices * which have logged that error type.