Received: by 10.223.164.202 with SMTP id h10csp779614wrb; Mon, 6 Nov 2017 15:40:15 -0800 (PST) X-Google-Smtp-Source: ABhQp+RnNNOTtTvLWDwczSLPmbjmvGNPcLJhR+YM980tqaJAovxsRM/tisQcvHa+sQkst22FS0i3 X-Received: by 10.84.129.98 with SMTP id 89mr16355450plb.379.1510011615173; Mon, 06 Nov 2017 15:40:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510011615; cv=none; d=google.com; s=arc-20160816; b=SRJo6iHL1DXruzkboqNT4zTi0cmTaj05eSD8du44is7V0gQUT77rbomtQrwh+BRrmw hf7ZZz7nVS1tcd/PLaZzx0VQiPIlF83UKQLRuSRbS+hmKSSSgUiqdVY3TZo1Gkg4qBxH a/tWkbiS66nqKqiNBxNlxsKO4fmwl0mAwsCKkb8cVyj/KJ40paEgrViyenVkpZTbc5kL Pz6CUESvrM4nyvZJzDRt+4lnQrtJx5M2gBklKAXTGdwNmXLpBBHTiyQzYM4hGfipsMsL /6sXkQF2jfnILTFwxspRBpeerT2EMlj4BQdR+dlwnulyivT8b2AJMZDw59OWMA94d9oL JdBA== 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:to:from:subject :arc-authentication-results; bh=416aMZ4TAuFxP+wXksH5kKH6PO9YKoEiKar5vCrdhcA=; b=JHZFiKqtoeIuAvAgw3xxZH/7vLGdpXcFhKc9uGEKD25ixFg2b2YwCz8Fg/1ZY78S2s XgbEUyXMTgHIQTi2EgQawL7Q0uiMcm5Rdd14Wr9H/bDy9HOpvmN0BzSvO0DRfW/+NL2u Jl+XZKoG1CJ+TSusaZtegGOi6siqDYTVLQ3j0A+sPE9nT9RxSxZnceOKJ1aZ8c65tSPW 40JGFCMnXrV6ykcX30jQhL6FWpyZDNLMKP3sIrIFgkn8RaD2zRo6VB7tvFLn+IBiKFWW dSzFwqyFzmT0ImC7L8s8lNZMPiPiXu2NNluYf0wAHUZz3R8iRG51ONVplfu7RM3fCmlG Dp4g== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y38si10989247plh.61.2017.11.06.15.40.02; Mon, 06 Nov 2017 15:40:15 -0800 (PST) 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754330AbdKFXin (ORCPT + 94 others); Mon, 6 Nov 2017 18:38:43 -0500 Received: from www.llwyncelyn.cymru ([82.70.14.225]:48148 "EHLO fuzix.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754272AbdKFXil (ORCPT ); Mon, 6 Nov 2017 18:38:41 -0500 Received: from [10.40.0.25] (82-70-14-226.dsl.in-addr.zen.co.uk [82.70.14.226]) by fuzix.org (8.15.2/8.15.2) with ESMTP id vA6NcdjM018765; Mon, 6 Nov 2017 23:38:39 GMT Subject: [PATCH] x86,pci: do not D3 the Intel ISP on BYT or CHT From: Alan To: vincent.hervieux@gmail.com, x86@vger.kernel.org, linux-kernel@vger.kernel.org Date: Mon, 06 Nov 2017 23:38:38 +0000 Message-ID: <151001149558.77355.6431578387776396473.stgit@alans-desktop> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If this happens the device crashes and all the config space reports 0xFF forever. That can make a nasty mess if anything then tries to process the resulting PCI headers. If the staging driver is loaded the device is managed via the PUNIT interface to avoid this erratum. Signed-off-by: Alan Cox --- arch/x86/pci/fixup.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arch/x86/pci/fixup.c b/arch/x86/pci/fixup.c index 8f5a4f3d08dc..513f9eb565fe 100644 --- a/arch/x86/pci/fixup.c +++ b/arch/x86/pci/fixup.c @@ -637,6 +637,19 @@ 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); +/* + * The BYT and CHT ISP advertises PCI runtime PM but it doesn't work and crashes + * the device. Disable so the kernel framework doesn't hang the device trying. + * The device itself has to be managed by the PUNIT directly. + */ +static void isp_pm_cap_fixup(struct pci_dev *dev) +{ + dev_info(&dev->dev, "Disabling PCI power management on camera ISP\n"); + dev->pm_cap = 0; +} +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0f38, isp_pm_cap_fixup); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x22b8, isp_pm_cap_fixup); + #ifdef CONFIG_PHYS_ADDR_T_64BIT #define AMD_141b_MMIO_BASE(x) (0x80 + (x) * 0x8) From 1583362661066902184@xxx Mon Nov 06 23:51:43 +0000 2017 X-GM-THRID: 1583362661066902184 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread