Seems 0f:00.0 is not attached to a group so that it get a domain. Can you also paste your "lspci -t" and "lspci -vvv" output? Here 0f:00.0 should be a pci bridge which need set the same domain with its peripheral 0000:0f:04.0.
Please apply this patch and try again. >From 6740bc427ddfeecc4b557fcb3ceb0832f73ab33a Mon Sep 17 00:00:00 2001 From: Baoquan He <b...@redhat.com> Date: Wed, 13 Jan 2016 11:02:28 +0800 Subject: [PATCH] iommu/amd: Correct the wrong setting of alias DTE in do_attach In below commit Joerg tried to set alias DTE when its peripheral is setting DTE. But there's a code bug here to wrongly set the alias DTE, correct it in this patch. commit e25bfb56ea7f046b71414e02f80f620deb5c6362 Author: Joerg Roedel <jroe...@suse.de> Date: Tue Oct 20 17:33:38 2015 +0200 iommu/amd: Set alias DTE in do_attach/do_detach Signed-off-by: Baoquan He <b...@redhat.com> --- drivers/iommu/amd_iommu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c index 8b2be1e..fc836f5 100644 --- a/drivers/iommu/amd_iommu.c +++ b/drivers/iommu/amd_iommu.c @@ -1905,7 +1905,7 @@ static void do_attach(struct iommu_dev_data *dev_data, /* Update device table */ set_dte_entry(dev_data->devid, domain, ats); if (alias != dev_data->devid) - set_dte_entry(dev_data->devid, domain, ats); + set_dte_entry(alias, domain, ats); device_flush_dte(dev_data); } -- 2.1.0 _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu