From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Alex Xu (Hello71)" Subject: AMD IOMMU + SME + amdgpu regression Date: Thu, 11 Jun 2020 19:05:21 -0400 Message-ID: <1591915710.rakbpzst8h.none@localhost> References: <1591915710.rakbpzst8h.none.ref@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Sender: linux-kernel-owner@vger.kernel.org To: Joerg Roedel , linux-kernel@vger.kernel.org, David Rientjes , Christoph Hellwig Cc: Will Deacon , Robin Murphy , Marek Szyprowski , Kukjin Kim , Krzysztof Kozlowski , David Woodhouse , Lu Baolu , Andy Gross , Bjorn Andersson , Matthias Brugger , Rob Clark , Heiko Stuebner , Gerald Schaefer , Thierry Reding , Jonathan Hunter , Jean-Philippe Brucker , Daniel Drake , jonathan.derrick@intel.com, linux-samsung-soc@vger.kernel.org, linux-arm-msm@vger.kernel.orglinux List-Id: virtualization@lists.linuxfoundation.org Hi, amdgpu + IOMMU + SME is now working for me on 5.7, yay! But, it is=20 broken on torvalds master, boo. On boot, depending on which exact commit=20 I test, it either hangs immediately (with built-in driver, before=20 starting initramfs), displays some errors then hangs, or spams the=20 screen with many amdgpu errors. I bisected the black screen hang to: commit dce8d6964ebdb333383bacf5e7ab8c27df151218 Author: Joerg Roedel Date: Wed Apr 29 15:36:53 2020 +0200 iommu/amd: Convert to probe/release_device() call-backs Convert the AMD IOMMU Driver to use the probe_device() and release_device() call-backs of iommu_ops, so that the iommu core code does the group and sysfs setup. Signed-off-by: Joerg Roedel Link: https://lore.kernel.org/r/20200429133712.31431-16-joro@8bytes.org Signed-off-by: Joerg Roedel Testing torvalds master (623f6dc593) with the containing merge=20 (98bdc74b36) plus the DMA mapping merge (4e94d08734) reverted allows=20 amdgpu + IOMMU + SME to once again work. I think that nobody is really working on amdgpu + SME, but it would be a=20 shame if it was supported and then incidentally broken by a small=20 change. I am using an ASRock B450 Pro4 with Ryzen 1600 and ASUS RX 480. I don't=20 understand this code at all, but let me know what I can do to=20 troubleshoot. Thanks, Alex.