Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp7156922imm; Tue, 24 Jul 2018 09:16:06 -0700 (PDT) X-Google-Smtp-Source: AAOMgpehICb5mhyQnHk35KYt/SmKZ55vfrdVi3XYvzN3LVWAkr7YpGCHATaViWLIWAIHoob3rrxE X-Received: by 2002:a17:902:bd97:: with SMTP id q23-v6mr1100177pls.311.1532448966820; Tue, 24 Jul 2018 09:16:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532448966; cv=none; d=google.com; s=arc-20160816; b=odh3AaeZz5Pb69/HcuEp20WiYv966tZpVi1m/dXS4DBUhtCd4jn4rOGTg32l/1dddo jHXMJPOb9LptyndKdKGehoBy8A7jtkDdbKvS9QNcktqTlqX4wyDjAXmBjqrOAH1jhFFw p+iIB7PSvQmnkKuZck2k8KCfvLG9SX8YC3BRuNf9QPtOvJYLLNi8ARYd2fEfFLvk7jaz AReqguTKk7RcyVvyk46yiZXsFG747AtQAUh0oscG5TavsBvxAn0SFZWlkaphNjHmSqG3 BOxeD1sQjWPLDd2g0ce7TtDznU8UJ2rZeHd01ebEL94BA1NIsq/jpRrJa0ofvfCyITmE bQ+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:message-id:date:cc:to:from:subject :arc-authentication-results; bh=w6NEejaOrFfTXEt/h6zS4xxuTugcjefw01kq3MEIkMw=; b=RMdT8DNvIH04tfeW0p7LJ1Qdjw2jBwPvEwwFnPWtyo8u0BOTAPHn1Ux+8s9K+5DXkE HxnuNGoqqoxRRq+Cl4VBezHLFTOFp6glLXqcz9AhylqN92NtXNIZvn5be/CSuiK3vTUu d0v5PS/QBFg2Yi9DC61y6ClTnsS1Jn0Qjl4od5XpDBIAY0e3cCoCK/Rki0YekGcq9zys aTYC+83F9dxVeAlzxJ9SXw4jyrd4znzsnMdc2pz5uCeRw0iQZXZEDRH2LQCNnuzP8fg/ Wacoq+4cmnkxitI5PjXaSPFe1GiWsxyeptD4Rkt0jurwvxGU9adMjWbCXiqS/OonDq1E n4OQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i2-v6si11417091pgo.121.2018.07.24.09.15.51; Tue, 24 Jul 2018 09:16:06 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388508AbeGXRVf (ORCPT + 99 others); Tue, 24 Jul 2018 13:21:35 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41446 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388350AbeGXRVe (ORCPT ); Tue, 24 Jul 2018 13:21:34 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 42CB6308FBAD; Tue, 24 Jul 2018 16:14:23 +0000 (UTC) Received: from gimli.home (ovpn-116-105.phx2.redhat.com [10.3.116.105]) by smtp.corp.redhat.com (Postfix) with ESMTP id 76A105B680; Tue, 24 Jul 2018 16:14:19 +0000 (UTC) Subject: [PATCH v3 0/3] PCI: NVMe reset quirks From: Alex Williamson To: linux-pci@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org Date: Tue, 24 Jul 2018 10:14:19 -0600 Message-ID: <20180724160440.2729.75178.stgit@gimli.home> User-Agent: StGit/0.18-102-gdf9f MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Tue, 24 Jul 2018 16:14:23 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org v3: Separate quirks, only for the afflicted devices v2: Add bug link, use Samsung vendor ID, add spec references Fix two different NVMe device reset issues with device specific quirks. The Samsung controller in patch 2 sometimes doesn't like being reset while enabled, so disable the NVMe controller prior to FLR. This quirk is generic to all NVMe class devices, though I've dropped the additional delay some devices require between disabling and checking ready status. This can be added later should any of those devices need this quirk. The Intel controller quirk is now just a simple delay after FLR, which clearly any device needing similar behavior can also use. Thanks, Alex --- Alex Williamson (3): PCI: Export pcie_has_flr() PCI: Samsung SM961/PM961 NVMe disable before FLR quirk PCI: Intel DC P3700 NVMe delay after FLR quirk drivers/pci/pci.c | 3 + drivers/pci/quirks.c | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++ include/linux/pci.h | 1 3 files changed, 108 insertions(+), 1 deletion(-)