HomeDefectsLIN1019-9204
Fixed

LIN1019-9204 : Icelake-D - 32-Bit DMA mapping issue with intel_iommu=on iommu=pt

Created: Dec 15, 2022    Updated: Apr 4, 2023
Resolved Date: Jan 18, 2023
Found In Version: 10.19.45.23
Fix Version: 10.19.45.27
Severity: Standard
Applicable for: Wind River Linux LTS 19
Component/s: Kernel

Description

Failure logs:
[ 259.297874] linux-kernel-bde (42014): Allocating DMA memory using method dmaalloc=0
[ 259.297981] linux-kernel-bde (42014): DMA buffer pool before mapping kernel_virt:0xff17e8fb27c00000 physical:0x67c00000 size:0x1000000 dmaalloc:0
[ 259.297982] linux-kernel-bde (42014): _init(3160):use_msi = 0
[ 259.298428] linux-kernel-bde 0000:15:00.0: enabling device (0140 -> 0142)
[ 259.298507] linux-kernel-bde (12): found irq 18
[ 259.298518] linux-kernel-bde (12): Set max payload size (256)
[ 259.298519] linux-kernel-bde (12): Set max payload val (1)
[ 259.298522] linux-kernel-bde (12): Payload size exceeds current parent device setting (256)
[ 259.298533] linux-kernel-bde (12): Found VSEC (4538642)
[ 259.298583] linux-kernel-bde (12): Found VSEC (4538642)
[ 259.298589] linux-kernel-bde (12): enable PCI resources 0x146 (PCI_COMMAND)
[ 259.298589] linux-kernel-bde (12): PCI resource len 8MB
[ 259.298591] linux-kernel-bde (12): _dma_per_device_init dev_index:0 _use_dma_mapping:1 kernel_virt:0xff17e8fb27c00000 physical:0x67c00000 size:0x1000000 dmaalloc:0
[ 259.298597] linux-kernel-bde 0000:15:00.0: DMAR: 32bit DMA uses non-identity mapping
[ 259.298598] linux-kernel-bde (12): Failed to map DMA buffer pool for device 0 at kernel_virt:0xff17e8fb27c00000

Workaround

NA

Steps to Reproduce

The issue is reproducible in customer env. at the moment.

-> Setup LTS19 RCPL00{*}23{*} OVP Host target: 

$ ./wrlinux-x/setup.sh --dl-layers --distros wrlinux-ovp --machines intel-x86-64 --templates feature/initramfs,feature/kdump,feature/kexec,feature/sysklogd,feature/dpdk,feature/package-management

-> Source bitbake env.

$ . ./environment-setup-x86_64-wrlinuxsdk-linux

$ . ./oe-init-build-env build

-> Build target: 

$ bitbake wrlinux-image-ovp-kvm

-> Deploy LTS19 OVP Host image to Intel-x86-64 based Icelake-D board.

-> Verify whether 32bit DMA works when "intel_immou=on iommu=pt" are used.