On 2/16/22 5:13 PM, Adrian Huang wrote:
pci_real_dma_dev() in pci_for_each_dma_alias() gets the real dma device which is the VMD device 0000:59:00.5. However, pte of the VMD device 0000:59:00.5 has been configured during this message "pci 0000:59:00.5: Adding to iommu group 42". So, the status -EBUSY is returned when configuring pasid entry for device 10000:80:01.0.
So the VMD subdevice (pci 10000:80:01.0) is an alias device of the "pci 0000:59:00.5", and it uses the Source-ID of "pci 0000:59:00.5" for DMA transactions. Do I understand it right? If so, it makes sense to skip setting up pasid entry for VMD subdevices. Another thing I am still concerned is about the context entry setup. What does the context entries look like for both VMD and subdevices after domain_context_mapping() being called? Best regards, baolu