Received: by 2002:a25:ca44:0:0:0:0:0 with SMTP id a65csp200015ybg; Tue, 28 Jul 2020 03:49:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzhMl0ZIHdSZI9zXCVBbw9hn6+79Rjvmrqq/BGZZQ1Jdipdf3sGh6e6KpeHFKcLkIPsH3L5 X-Received: by 2002:a05:6402:b32:: with SMTP id bo18mr10010412edb.201.1595933391103; Tue, 28 Jul 2020 03:49:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595933391; cv=none; d=google.com; s=arc-20160816; b=ntXcIehCo57//FmJExaFVyKBpwmUCk4asHs4CsGc5mO9NlAJMxZ/M+1n+iVCZMYJ6n l4tnWRae22xGzCcJS7iE5Dkx5c06+nqtzQuZ4xeAt1dKfJWrvZCNXC3ejV3ytCi+qIHK oUrxmE8eCaTaTDePqHwZV2vnHsj+LINjaAJmx+FLk44IsWEzZ3nGeP42IJxHmiRkyfB3 kGXlBUJoTqhVIzfL8p0pyq5TRB52QQBoMKL1q5bJBJSCWYeh6yRguwoBM/7yQvGyy5S6 Df/Ydcrs8u5mU7+U0UMc/2d4byOzu/PjsUBG3M0DgGjAwVfcizas2x1IT1JAoOXgTGwF B9eg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=M2tBVh9THOyt4+fJ6wZMCx7kahRfaBFbNWbJh8JqRtY=; b=XKpoZzoFDM2HaYKPU/RHxubfFzqHyEtFYyfbDdkanWQClvdQU12tmk6Wz4N3rzCNIq eI2wVOi0cJjp8A3hoaQtCaRGCum8L50jNtKI/ZVDGluvN5zmFVyMma6xkq29egGD4a8c bnlTy3lEd3KmnUSIww2e0sCyTlToD0mUdzSjSmumkLPQiFniNcqWWB8BGhlHQPagZnzL 91m5W3B2sfSqZiiq9nSjgD1JIdjHpY9g6vjkNi7AAmQS4ArsKNulmLPyuasIUa866NUv OgO+FK791FwaHTnO8scM+eQNiTZ1EZfd68LsT+xlO88igtEleqwG1dW9MCBVXCi8JQZg Q+ug== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dm6si7265039edb.169.2020.07.28.03.49.27; Tue, 28 Jul 2020 03:49:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728907AbgG1KqF (ORCPT + 99 others); Tue, 28 Jul 2020 06:46:05 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:50252 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728784AbgG1KqE (ORCPT ); Tue, 28 Jul 2020 06:46:04 -0400 Received: from 61-220-137-37.hinet-ip.hinet.net ([61.220.137.37] helo=localhost) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1k0N7R-0004YP-H8; Tue, 28 Jul 2020 10:46:02 +0000 From: Kai-Heng Feng To: bhelgaas@google.com Cc: Kai-Heng Feng , Alex Deucher , linux-pci@vger.kernel.org (open list:PCI SUBSYSTEM), linux-kernel@vger.kernel.org (open list) Subject: [PATCH] PCI: Mark AMD Navi10 GPU rev 0x00 ATS as broken Date: Tue, 28 Jul 2020 18:45:53 +0800 Message-Id: <20200728104554.28927-1-kai.heng.feng@canonical.com> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We are seeing AMD Radeon Pro W5700 doesn't work when IOMMU is enabled: [ 3.375841] iommu ivhd0: AMD-Vi: Event logged [IOTLB_INV_TIMEOUT device=63:00.0 address=0x42b5b01a0] [ 3.375845] iommu ivhd0: AMD-Vi: Event logged [IOTLB_INV_TIMEOUT device=63:00.0 address=0x42b5b01c0] The error also makes graphics driver fail to probe the device. It appears to be the same issue as commit 5e89cd303e3a ("PCI: Mark AMD Navi14 GPU rev 0xc5 ATS as broken") addresses, and indeed the same ATS quirk can workaround the issue. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=208725 Cc: Alex Deucher Signed-off-by: Kai-Heng Feng --- drivers/pci/quirks.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 812bfc32ecb8..052efeb9f053 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -5192,7 +5192,8 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0422, quirk_no_ext_tags); */ static void quirk_amd_harvest_no_ats(struct pci_dev *pdev) { - if (pdev->device == 0x7340 && pdev->revision != 0xc5) + if ((pdev->device == 0x7312 && pdev->revision != 0x00) || + (pdev->device == 0x7340 && pdev->revision != 0xc5)) return; pci_info(pdev, "disabling ATS\n"); @@ -5203,6 +5204,8 @@ static void quirk_amd_harvest_no_ats(struct pci_dev *pdev) DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x98e4, quirk_amd_harvest_no_ats); /* AMD Iceland dGPU */ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x6900, quirk_amd_harvest_no_ats); +/* AMD Navi10 dGPU */ +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x7312, quirk_amd_harvest_no_ats); /* AMD Navi14 dGPU */ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x7340, quirk_amd_harvest_no_ats); #endif /* CONFIG_PCI_ATS */ -- 2.17.1