@jonathanh Are you still working on UEFI and/or serial?
Remember this thread… Feedback on Experimental UEFI Firmware ?
I decided to upgrade my NX devkit to L4T 34.4.1 to get UEFI 4.1 but I still need to run a stock Fedora kernel which is now 6.6.6. Since I also still have a gps on uart pins on the 40-pin header (serial@3100000) I need the UEFI to not output to it so I’m doing exactly what I did in the eariler thread… disabling serial@3100000 in the dtb flashed to bootloader-dtb and re-enabling it in the kernel dtb with compatible = "nvidia,tegra194-hsuart";
. It’s working fine except every few minutes I get…
[Fri Dec 15 16:59:53 2023] ttyTHS ttyTHS0: 1 input overrun(s)
[Fri Dec 15 17:02:45 2023] ttyTHS ttyTHS0: 2 input overrun(s)
[Fri Dec 15 17:04:11 2023] ttyTHS ttyTHS0: 2 input overrun(s)
This was not occurring with UEFI 1.1.2 and kernel 5.13.13.
So I decided to enable dma by adding …
dmas = <&gpcdma 8>, <&gpcdma 8>;
dma-names = "rx", "tx";
The gpsdma ‘8’ came from the TRM for uarta.
This however, causes the following whenever the port is opened…
[ 70.769605] arm-smmu 12000000.iommu: Unhandled context fault: fsr=0x402, iova=0xaf031080, fsynr=0x1d0011, cbfrsynra=0x20, cb=1
[ 70.781058] ==================================================================
[ 70.787672] BUG: KFENCE: use-after-free read in tegra_uart_rx_buffer_push+0x3c/0x158
[ 70.797291] Use-after-free read at 0x00000000debeda51 (in kfence-#133):
[ 70.807179] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.6.6-100.fc38.aarch64 #1
[ 70.814442] Hardware name: Unknown NVIDIA Jetson Xavier NX Developer Kit/NVIDIA Jetson Xavier NX Developer Kit, BIOS 4.1-33958178 08/01/2023
[ 70.827217] ==================================================================
[ 70.834382] tegra-mc 2c00000.memory-controller: axisw: secure write @0x00000003ffffff00: VPR violation ((null))
[ 70.844752] tegra-mc 2c00000.memory-controller: axisr: secure read @0x000000ffffffff00: EMEM address decode error (EMEM decode error)
[ 71.019843] irq 91: nobody cared (try booting with the "irqpoll" option)
[ 71.020459] handlers:
[ 71.020551] [<00000000ade5dac1>] nvidia_smmu_global_fault
[ 71.020698] Disabling IRQ #91
[ 71.020902] tegra-mc 2c00000.memory-controller: axisr: secure read @0x000000ffffffff00: EMEM address decode error (EMEM decode error)
[ 71.758197] arm-smmu 12000000.iommu: Unhandled context fault: fsr=0x402, iova=0xaf031000, fsynr=0x1d0011, cbfrsynra=0x20, cb=1
[ 71.760636] tegra-mc 2c00000.memory-controller: axisw: secure write @0x00000003ffffff00: VPR violation ((null))
[ 71.762243] tegra-mc 2c00000.memory-controller: axisw: secure write @0x00000003ffffff00: VPR violation ((null))
Turning on dma was just a test so I’m not worried about it not working but the overruns are a bit concerning since the port speed is only 115200 and the GPS is only outputting 3 NMEA sentences at the top of every second.
Any ideas?