From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752933AbdEDOla (ORCPT ); Thu, 4 May 2017 10:41:30 -0400 Received: from mail-co1nam03on0068.outbound.protection.outlook.com ([104.47.40.68]:26538 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751616AbdEDOl1 (ORCPT ); Thu, 4 May 2017 10:41:27 -0400 From: "Deucher, Alexander" To: "'David Woodhouse'" , "'Joerg Roedel'" , Bjorn Helgaas CC: "linux-pci@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Daniel Drake , Samuel Sieb , Joerg Roedel Subject: RE: [PATCH v2] PCI: Add ATS-disable quirk for AMD Stoney GPUs Thread-Topic: [PATCH v2] PCI: Add ATS-disable quirk for AMD Stoney GPUs Thread-Index: AQHSr6vHBMNtgiI4D0yTU57sgEnxvKG6HXRQgCoDoICAAEf48A== Date: Thu, 4 May 2017 14:41:24 +0000 Message-ID: References: <1491575538-22694-1-git-send-email-joro@8bytes.org> <1493893297.4904.71.camel@infradead.org> In-Reply-To: <1493893297.4904.71.camel@infradead.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: infradead.org; dkim=none (message not signed) header.d=none;infradead.org; dmarc=none action=none header.from=amd.com; x-originating-ip: [165.204.55.251] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;BN6PR12MB1650;7:CW+GcCkGp9rY0xsXNqebAQa586KiMrEJ6v8Ss105R4GIq2np72R1qJoGIiBB/SSsoWaijrER2h6tmGblPHEUx086MaOKkvLLWofZzUfkhKaF0drvQrl80/YrBhHtkO3CrvLNq9vtF0nc669XiKMLulsnjHSZ/HTCUOLTre8myrlcYq95BRyf4y4Rh/ubYaYNXUtO8z06QMxtQemq0tLnXUAzy5nD/+hRXaSxdQjPBtKrb9RRLjG6t4/Ilp/fhgospe+/JG4af4f2IoWtrAeqfc/TmrjS4w2QhUtYmlV413liLBymGXWlOwFBZe7CYVFCUu0/RFq1h3ZB5zC9NUomFA==;20:EIBhpKO+qahxzocPw4N9Fedntw0RSfDcfROeoIXuVoNfF9E44gX/zYwQCikSNu3n5300Yty+usYZo3CumeJMYC7hQI8KOvs3HCDgCBBxd6KJUWOC4N0Kk5Cx/fBsGmBe8LKH9M7B7a9Wc1And+TwzoIs01OSefpGEIdt5t8FGyNdTBsj9bWpH9l484VaHSvxJvHnLBv5zvFijrsNBqd0/EwyY3uRvDQWCih9t6JU0K4cbc0SGyJukxljjYKw0J10 x-ms-office365-filtering-correlation-id: 6a3b7407-1576-4c93-2e0f-08d492fba3f5 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081);SRVR:BN6PR12MB1650; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(9452136761055)(767451399110); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(6055026)(6041248)(20161123555025)(20161123562025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123564025)(6072148);SRVR:BN6PR12MB1650;BCL:0;PCL:0;RULEID:;SRVR:BN6PR12MB1650; x-forefront-prvs: 02973C87BC x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(6009001)(39410400002)(39840400002)(39450400003)(39400400002)(39850400002)(39860400002)(377454003)(13464003)(24454002)(377424004)(55016002)(2950100002)(9686003)(6246003)(122556002)(53936002)(38730400002)(99286003)(66066001)(6116002)(478600001)(74316002)(3660700001)(3280700002)(305945005)(86362001)(81166006)(8676002)(8936002)(2906002)(7736002)(2900100001)(53546009)(25786009)(54356999)(229853002)(4326008)(5660300001)(3846002)(6506006)(7696004)(76176999)(6436002)(189998001)(50986999)(77096006)(102836003)(33656002);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR12MB1650;H:BN6PR12MB1652.namprd12.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2017 14:41:24.9732 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1650 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id v44Eg3X5001204 > -----Original Message----- > From: David Woodhouse [mailto:dwmw2@infradead.org] > Sent: Thursday, May 04, 2017 6:22 AM > To: Deucher, Alexander; 'Joerg Roedel'; Bjorn Helgaas > Cc: linux-pci@vger.kernel.org; linux-kernel@vger.kernel.org; Daniel Drake; > Samuel Sieb; Joerg Roedel > Subject: Re: [PATCH v2] PCI: Add ATS-disable quirk for AMD Stoney GPUs > > On Fri, 2017-04-07 at 16:46 +0000, Deucher, Alexander wrote: > > > > > > -----Original Message----- > > > From: Joerg Roedel [mailto:joro@8bytes.org] > > > Sent: Friday, April 07, 2017 10:32 AM > > > To: Bjorn Helgaas > > > Cc: linux-pci@vger.kernel.org; linux-kernel@vger.kernel.org; Daniel > Drake; > > > Deucher, Alexander; Samuel Sieb; David Woodhouse; Joerg Roedel > > > Subject: [PATCH v2] PCI: Add ATS-disable quirk for AMD Stoney GPUs > > > > > > From: Joerg Roedel > > > > > > ATS is broken on this hardware and causes IOMMU stalls and > > > system failure. Disable ATS on these devices to make them > > > usable again with IOMMU enabled. > > > > > > Note that the commit in the Fixes-tag is not buggy, it > > > just uncovers the problem in the hardware by increasing > > > the ATS-flush rate. > > > > > > Fixes: b1516a14657a ('iommu/amd: Implement flush queue') > > > Signed-off-by: Joerg Roedel > > Acked-by: Alex Deucher > > Alex, are you able to confirm that it is *only* the device with PCI ID > 0x98e4 which has this problem, or (more likely) come up with an > exhaustive list? Thanks. It's just Stoney, that is the only ID. ATS is validated on the other GPU parts. Alex > > We'll want the same blacklist in Xen too, won't we? > > > > > > > --- > > >  drivers/pci/quirks.c | 19 +++++++++++++++++++ > > >  1 file changed, 19 insertions(+) > > > > > > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c > > > index 6736836..7cbe316 100644 > > > --- a/drivers/pci/quirks.c > > > +++ b/drivers/pci/quirks.c > > > @@ -4634,3 +4634,22 @@ static void quirk_no_aersid(struct pci_dev > *pdev) > > >  DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2031, > > > quirk_no_aersid); > > >  DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2032, > > > quirk_no_aersid); > > >  DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2033, > > > quirk_no_aersid); > > > + > > > +#ifdef CONFIG_PCI_ATS > > > +/* > > > + * Some devices have a broken ATS implementation causing IOMMU > stalls. > > > + * Don't use ATS for those devices. > > > + */ > > > +static void quirk_disable_ats(struct pci_dev *pdev) > > > +{ > > > + /* > > > +  * Set pdev->ats_cap = 0 to make pci_enable_ats() bail out > > > +  * early. > > > +  */ > > > + dev_info(&pdev->dev, "QUIRK: Disabling ATS"); > > > + pdev->ats_cap = 0; > > > +} > > > + > > > +/* AMD Stoney platform GPU */ > > > +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x98e4, > quirk_disable_ats); > > > +#endif /* CONFIG_PCI_ATS */ > > > -- > > > 1.9.1