This is an error from the CSI2AXI (a.k.a. CSIDMA) block.
As you probably guessed, it means a packet was received whose {VC,DT} didn't match any of the channels. It might just be metadata, which would be harmless. If you set up a channel with VC=0,DT=0 it should be a wildcard that should match everything.
About the buffer: DMA addresses for RP1 are not physical addresses in the SDRAM. They have to be offset by 0x10_00000000 which is where 2712's SDRAM gets mapped into RP1's address space. Apart from that, they can be anywhere.
[In Linux we use BCM2712's IOMMU to support non-contiguous buffers. Because we're using an unusual topology (IOMMU in one chip serves a subset of blocks in another chip), that offset had to be hacked into the IOMMU driver and a region 40GB above it reserved as an IOVA "aperture". Otherwise, one would expect the Linux DMA framework to fix up the addresses automatically.]
As you probably guessed, it means a packet was received whose {VC,DT} didn't match any of the channels. It might just be metadata, which would be harmless. If you set up a channel with VC=0,DT=0 it should be a wildcard that should match everything.
About the buffer: DMA addresses for RP1 are not physical addresses in the SDRAM. They have to be offset by 0x10_00000000 which is where 2712's SDRAM gets mapped into RP1's address space. Apart from that, they can be anywhere.
[In Linux we use BCM2712's IOMMU to support non-contiguous buffers. Because we're using an unusual topology (IOMMU in one chip serves a subset of blocks in another chip), that offset had to be hacked into the IOMMU driver and a region 40GB above it reserved as an IOVA "aperture". Otherwise, one would expect the Linux DMA framework to fix up the addresses automatically.]
Statistics: Posted by njh — Fri Feb 28, 2025 9:57 am