From patchwork Thu Nov 6 22:40:07 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Barto X-Patchwork-Id: 5248551 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.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 0342DC11AC for ; Thu, 6 Nov 2014 23:15:20 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 63A092012B for ; Thu, 6 Nov 2014 23:15:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 693C8200E8 for ; Thu, 6 Nov 2014 23:15:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752285AbaKFWk1 (ORCPT ); Thu, 6 Nov 2014 17:40:27 -0500 Received: from smtp3.tech.numericable.fr ([82.216.111.39]:43554 "EHLO smtp3.tech.numericable.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751578AbaKFWk0 (ORCPT ); Thu, 6 Nov 2014 17:40:26 -0500 Received: from [192.168.0.10] (87-231-245-37.rev.numericable.fr [87.231.245.37]) by smtp3.tech.numericable.fr (Postfix) with ESMTP id 4546517FD30; Thu, 6 Nov 2014 23:40:22 +0100 (CET) Message-ID: <545BF8C7.7070206@laposte.net> Date: Thu, 06 Nov 2014 23:40:07 +0100 From: Barto User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: "Liu, Chuansheng" CC: "aaron.lu"@intel.com, tj@kernel.org, rjw@rjwysocki.net, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: new test References: <545B7352.2040408@laposte.net> <27240C0AC20F114CBF8149A2696CBE4A01EB8625@SHSMSX101.ccr.corp.intel.com> In-Reply-To: <27240C0AC20F114CBF8149A2696CBE4A01EB8625@SHSMSX101.ccr.corp.intel.com> X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrfeejhedrheeggdejjecutefuodetggdotefrucfrrhhofhhilhgvmecupfgfoffgtffkveetuefngfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhepkfffhfgfggfvufhfjggtsehmtdgrrgdtfeejnecuhfhrohhmpeeurghrthhouceomhhishhtvghrrdhfrhgvvghmrghnsehlrghpohhsthgvrdhnvghtqe Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,T_TVD_MIME_EPI,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 Hello Liu Chuansheng, I have good news, your patch based on /drivers/pci/quirks.c works very well, I have no problems after a standby mode, my JMB363/368 SATA/IDE JMicron Pcie works without problems Le 06/11/2014 15:33, Liu, Chuansheng a écrit : > Thanks Barto. > > Could you try below patch? I made the change in file quirks.c. > > > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c > > index 90acb32..b40485f 100644 > > --- a/drivers/pci/quirks.c > > +++ b/drivers/pci/quirks.c > > @@ -29,6 +29,21 @@ > > #include "pci.h" > > /* > > + * For JMicron chips, we need to disable the async_suspend method, > otherwise > > + * they will hit the power-on issue when doing device resume, add one quick > > + * solution to disable the async_suspend method. > > + */ > > +static void pci_async_suspend_fixup(struct pci_dev *pdev) > > +{ > > + /* > > + * disabling the async_suspend method for JMicron chips to > > + * avoid device resuming issue. > > + */ > > + device_disable_async_suspend(&pdev->dev); > > +} > > +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, > pci_async_suspend_fixup); > > + > > +/* > > * Decoding should be disabled for a PCI device during BAR sizing to avoid > > * conflict. But doing so may cause problems on host bridge and perhaps > other > > * key system devices. For devices that need to have mmio decoding > always-on, > > > > > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 90acb32..b40485f 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -29,6 +29,21 @@ #include "pci.h" /* + * For JMicron chips, we need to disable the async_suspend method, otherwise + * they will hit the power-on issue when doing device resume, add one quick + * solution to disable the async_suspend method. + */ +static void pci_async_suspend_fixup(struct pci_dev *pdev) +{ + /* + * disabling the async_suspend method for JMicron chips to + * avoid device resuming issue. + */ + device_disable_async_suspend(&pdev->dev); +} +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, pci_async_suspend_fixup); + +/* * Decoding should be disabled for a PCI device during BAR sizing to avoid * conflict. But doing so may cause problems on host bridge and perhaps other * key system devices. For devices that need to have mmio decoding always-on,