Use of "iommu-map-mask" for PCIe root complex device tree node, does it make actual requester ID ignored?

Chan Kim ckim at etri.re.kr
Fri Feb 10 06:44:14 EST 2023


Hello all,

For pcie RC's iommu, (this iommu translates address for each PCI device dma
masters when they access memory or io in the system), we can set "iommus"
specifier in the device tree node for the PCIe RC. The "iommus" property
generally tells for a bus master devices which iommu device's master
interface it is connected to. (iommu device sits between the interconnect
and the dma master device). For PCIe RC case, we can use RID(requester ID)
from the PCIe device in the iommu processing so that the PCIe devices can
use their own address translation table in the iommu.  

I briefly saw 'of_iommu_configure_dev_id' and 'of_map_id' functions and
guessed even if the hardware connects the RID from the PCIe to the iommu
device, if I set 'iommu-map-mask' value to zero, the software sets the iommu
translation table so that the actual RID is not used in the processing. But
I'm not sure if my guess is correct. 

Can any one tell me what the case is?

Thank you.

Chan Kim







More information about the Kernelnewbies mailing list