From patchwork Wed Sep 30 06:35:07 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Horman X-Patchwork-Id: 7292951 X-Patchwork-Delegate: bhelgaas@google.com Return-Path: X-Original-To: patchwork-linux-pci@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id A311EBEEA4 for ; Wed, 30 Sep 2015 06:35:32 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 0131C20688 for ; Wed, 30 Sep 2015 06:35:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2BFFD206F9 for ; Wed, 30 Sep 2015 06:35:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753795AbbI3GfV (ORCPT ); Wed, 30 Sep 2015 02:35:21 -0400 Received: from mail-pa0-f54.google.com ([209.85.220.54]:33839 "EHLO mail-pa0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753752AbbI3GfV (ORCPT ); Wed, 30 Sep 2015 02:35:21 -0400 Received: by padhy16 with SMTP id hy16so30594456pad.1 for ; Tue, 29 Sep 2015 23:35:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=u2EKQUItl3bYqgKynETDCZTG6vV4MuZY7EhW3OxjEL0=; b=VTUSHetKjg368MJct7LQ37X1wjq224YLkTBk60+hEbpsVSqlfotX1Sc5T9Rd3L8RFL JFidkDn8/m2E3/X9yag2v+HSodinjKtM6XFmgvPFIObAf/oMFt9Wy/9PWIirKyLyIXCA HEnbbtMvQIQ7iminSMWVWUIucgDjZdf1Qe2ba9S2hB2lqb7b1u17XgYDi4K96TasC+Pw 15sTbPxVDLxmwWOmxqVeDH8kO9sNiTSG3EFo//8bTpO0tyfHLm9U76yotglM8+IglViA SWsmgB3f1r8h1YfqGOBC3BvBYr/DSKpozpAaxBIcchgdMHUDG6U9+a7mv/oazvOuClzO X3pw== X-Gm-Message-State: ALoCoQk30b4iqmNBdp0DcPFFjAlT3+ZKFmQw1qr8b0CXX7yuGcOWiK0b/pndZecWzt7+xB5XA2Y7 X-Received: by 10.66.163.162 with SMTP id yj2mr2863361pab.24.1443594920535; Tue, 29 Sep 2015 23:35:20 -0700 (PDT) Received: from reginn.isobedori.kobe.vergenet.net (p4119-ipbfp1002kobeminato.hyogo.ocn.ne.jp. [122.22.70.119]) by smtp.gmail.com with ESMTPSA id ip1sm29289549pbc.30.2015.09.29.23.35.18 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 29 Sep 2015 23:35:19 -0700 (PDT) From: Simon Horman To: Bjorn Helgaas Cc: linux-pci@vger.kernel.org, Simon Horman Subject: [PATCH repost 3/3] PCI: Support Netronome NFP6000 family quirks Date: Wed, 30 Sep 2015 15:35:07 +0900 Message-Id: <1443594907-16196-4-git-send-email-simon.horman@netronome.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1443594907-16196-1-git-send-email-simon.horman@netronome.com> References: <1443594907-16196-1-git-send-email-simon.horman@netronome.com> Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: "Jason S. McMullan" The NFP6000 has an errata where reading/writing to PCI config space addresses above 0x600 can cause the NFP to generate PCIe completion timeouts. This patch addresses this issue, by limiting the NFP6000's config space size to 0x600 bytes. Signed-off-by: Jason S. McMullan [simon: edited changelog] Signed-off-by: Simon Horman --- drivers/pci/quirks.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 83be0e555548..78537378021b 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -287,6 +287,17 @@ static void quirk_citrine(struct pci_dev *dev) } DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_CITRINE, quirk_citrine); +/* + * This chip can cause bus lockups if config addresses above 0x600 + * are read or written to. + */ +static void quirk_nfp6000(struct pci_dev *dev) +{ + dev->cfg_size = 0x600; +} +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NETRONOME, PCI_DEVICE_ID_NETRONOME_NFP6000, quirk_nfp6000); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NETRONOME, PCI_DEVICE_ID_NETRONOME_NFP6000_VF, quirk_nfp6000); + /* On IBM Crocodile ipr SAS adapters, expand BAR to system page size */ static void quirk_extend_bar_to_page(struct pci_dev *dev) {