From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Return-Path: Date: Tue, 31 May 2016 14:20:26 +0200 From: Lukas Wunner To: Peter Wu Cc: Mika Westerberg , linux-pm@vger.kernel.org, linux-pci@vger.kernel.org, "Rafael J. Wysocki" , dri-devel@lists.freedesktop.org, Bjorn Helgaas , nouveau@lists.freedesktop.org, Dave Airlie Subject: Re: [Nouveau] [PATCH 4/4] drm/nouveau/acpi: fix lockup with PCIe runtime PM Message-ID: <20160531122026.GA14129@wunner.de> References: <1464130381-4797-1-git-send-email-peter@lekensteyn.nl> <1464130381-4797-5-git-send-email-peter@lekensteyn.nl> <20160525135535.GN1789@lahna.fi.intel.com> <20160527111037.GA1436@al> <20160530095709.GK1789@lahna.fi.intel.com> <20160530122010.GB1149@al> <20160530130909.GA1743@lahna.fi.intel.com> <20160530161351.GA1355@al> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <20160530161351.GA1355@al> List-ID: On Mon, May 30, 2016 at 06:13:51PM +0200, Peter Wu wrote: > Do you have any suggestions for the case where the pcieport driver > refuses to put the bridge in D3 (because the BIOS is too old)? In that > case the nouveau driver needs to fallback to the DSM method (but not > when runtime PM is deliberately disabled by writing control=on). The BIOS cut-off date is meant to avoid issues when suspending ports on older chipsets. However if the port is used for an Optimus GPU and we can clearly identify that, and there's a _PR3 method provided, it's probably safe to say that the port is *intended* to be suspended. So you may want to consider amending pci_bridge_d3_possible() to allow D3 for such ports regardless of the BIOS date, as I've done for Thunderbolt in this commit: https://github.com/l1k/linux/commit/3cb8549cd4e5 Not sure how to uniquely identify such ports though. Perhaps check if there's a device in slot 0 below the port which has (pdev->class >> 16) == PCI_BASE_CLASS_DISPLAY && (pdev->vendor == PCI_VENDOR_ID_NVIDIA || pdev->vendor == PCI_VENDOR_ID_ATI) Best regards, Lukas From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukas Wunner Subject: Re: [PATCH 4/4] drm/nouveau/acpi: fix lockup with PCIe runtime PM Date: Tue, 31 May 2016 14:20:26 +0200 Message-ID: <20160531122026.GA14129@wunner.de> References: <1464130381-4797-1-git-send-email-peter@lekensteyn.nl> <1464130381-4797-5-git-send-email-peter@lekensteyn.nl> <20160525135535.GN1789@lahna.fi.intel.com> <20160527111037.GA1436@al> <20160530095709.GK1789@lahna.fi.intel.com> <20160530122010.GB1149@al> <20160530130909.GA1743@lahna.fi.intel.com> <20160530161351.GA1355@al> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20160530161351.GA1355@al> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Peter Wu Cc: linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, "Rafael J. Wysocki" , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Bjorn Helgaas , nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Dave Airlie , Mika Westerberg List-Id: linux-pm@vger.kernel.org T24gTW9uLCBNYXkgMzAsIDIwMTYgYXQgMDY6MTM6NTFQTSArMDIwMCwgUGV0ZXIgV3Ugd3JvdGU6 Cj4gRG8geW91IGhhdmUgYW55IHN1Z2dlc3Rpb25zIGZvciB0aGUgY2FzZSB3aGVyZSB0aGUgcGNp ZXBvcnQgZHJpdmVyCj4gcmVmdXNlcyB0byBwdXQgdGhlIGJyaWRnZSBpbiBEMyAoYmVjYXVzZSB0 aGUgQklPUyBpcyB0b28gb2xkKT8gSW4gdGhhdAo+IGNhc2UgdGhlIG5vdXZlYXUgZHJpdmVyIG5l ZWRzIHRvIGZhbGxiYWNrIHRvIHRoZSBEU00gbWV0aG9kIChidXQgbm90Cj4gd2hlbiBydW50aW1l IFBNIGlzIGRlbGliZXJhdGVseSBkaXNhYmxlZCBieSB3cml0aW5nIGNvbnRyb2w9b24pLgoKVGhl IEJJT1MgY3V0LW9mZiBkYXRlIGlzIG1lYW50IHRvIGF2b2lkIGlzc3VlcyB3aGVuIHN1c3BlbmRp bmcgcG9ydHMKb24gb2xkZXIgY2hpcHNldHMuIEhvd2V2ZXIgaWYgdGhlIHBvcnQgaXMgdXNlZCBm b3IgYW4gT3B0aW11cyBHUFUKYW5kIHdlIGNhbiBjbGVhcmx5IGlkZW50aWZ5IHRoYXQsIGFuZCB0 aGVyZSdzIGEgX1BSMyBtZXRob2QgcHJvdmlkZWQsCml0J3MgcHJvYmFibHkgc2FmZSB0byBzYXkg dGhhdCB0aGUgcG9ydCBpcyAqaW50ZW5kZWQqIHRvIGJlIHN1c3BlbmRlZC4KClNvIHlvdSBtYXkg d2FudCB0byBjb25zaWRlciBhbWVuZGluZyBwY2lfYnJpZGdlX2QzX3Bvc3NpYmxlKCkgdG8KYWxs b3cgRDMgZm9yIHN1Y2ggcG9ydHMgcmVnYXJkbGVzcyBvZiB0aGUgQklPUyBkYXRlLCBhcyBJJ3Zl IGRvbmUKZm9yIFRodW5kZXJib2x0IGluIHRoaXMgY29tbWl0OgpodHRwczovL2dpdGh1Yi5jb20v bDFrL2xpbnV4L2NvbW1pdC8zY2I4NTQ5Y2Q0ZTUKCk5vdCBzdXJlIGhvdyB0byB1bmlxdWVseSBp ZGVudGlmeSBzdWNoIHBvcnRzIHRob3VnaC4gUGVyaGFwcyBjaGVjawppZiB0aGVyZSdzIGEgZGV2 aWNlIGluIHNsb3QgMCBiZWxvdyB0aGUgcG9ydCB3aGljaCBoYXMKCShwZGV2LT5jbGFzcyA+PiAx NikgPT0gUENJX0JBU0VfQ0xBU1NfRElTUExBWSAmJgoJKHBkZXYtPnZlbmRvciA9PSBQQ0lfVkVO RE9SX0lEX05WSURJQSB8fAoJIHBkZXYtPnZlbmRvciA9PSBQQ0lfVkVORE9SX0lEX0FUSSkKCkJl c3QgcmVnYXJkcywKCkx1a2FzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCk5vdXZlYXUgbWFpbGluZyBsaXN0Ck5vdXZlYXVAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vbm91dmVh dQo=