From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lekensteyn.nl ([178.21.112.251]:39177 "EHLO lekensteyn.nl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727170AbeH3Nll (ORCPT ); Thu, 30 Aug 2018 09:41:41 -0400 Date: Thu, 30 Aug 2018 11:40:16 +0200 From: Peter Wu To: Daniel Drake Cc: linux-pci@vger.kernel.org, nouveau@lists.freedesktop.org, Linux PM , Endless Linux Upstreaming Team Subject: Re: [Nouveau] Rewriting Intel PCI bridge prefetch base address bits solves nvidia graphics issues Message-ID: <20180830094016.GA18925@al> References: <20180824154212.GB8601@al> <20180828095722.GA8820@al> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: Sender: linux-pci-owner@vger.kernel.org List-ID: On Thu, Aug 30, 2018 at 03:41:43PM +0800, Daniel Drake wrote: > On Tue, Aug 28, 2018 at 5:57 PM, Peter Wu wrote: > > Just to be sure, after "sleep", do both devices report "suspended" in > > /sys/bus/pci/devices/0000:00:1c.0/power/runtime_status > > /sys/bus/pci/devices/0000:01:00.0/power/runtime_status > > > > and was this reproduced with a recent mainline kernel with no special > > cmdline options? The endlessm kernel on Github seems to have quite some > > patches, one of them explicitly disable runtime PM: > > https://github.com/endlessm/linux/commit/8b128b50cd6725eee2ae9025a1510a221d9b42f2 > > Yes, I checked for this issue in the past and I'm certain that nouveau > runtime pm works fine. > > I also checked again now on X542UQ and the results are the same. > nouveau can do runtime suspend/resume (confirmed by reading > runtime_status) and then render 3D graphics OK. lspci is fine too. It > is just S3 suspend that is affected. This was testing on Linux 4.18 > unmodified. I had to set nouveau runpm parameter to 1 for it to use > runtime pm. > > Also checked with Karol's patch, the S3 issue is still there. Seems > like 2 different issues. > > > Could you share some details: > > - acpidump > > - lspci -nnxxxxvvv > > - BIOS version (from /sys/class/dmi/id/) > > - kernel version (mainline?) > > Linux 4.18 mainline > BIOS version: X542UQ.202 > acpidump: https://gist.githubusercontent.com/dsd/79352284d4adce14f30d70e94fad89f2/raw/ed9480e924be413fff567da2edd5a2a7a86619d0/gistfile1.txt > pci: https://gist.githubusercontent.com/dsd/79352284d4adce14f30d70e94fad89f2/raw/ed9480e924be413fff567da2edd5a2a7a86619d0/pci Thanks, based on the \_SB.PCI0.HGOF implementation, it looks like this model will not be affected by the runtime suspend issue (it sets the "Link Disable" register which is known to work for other models). As the BIOS date is not visible, can you also confirm that this message is visible in dmesg? nouveau: detected PR support, will not use DSM FWIW, the latest BIOS version is 305, released at 2018/08/07: https://www.asus.com/Laptops/ASUS-VivoBook-15-X542UQ/HelpDesk_BIOS/ > > Only non-bridge devices can be passed to a guest, but perhaps logging > > access to the emulated bridge is already sufficient. The Prefetchable > > Base Upper 32 Bits register is at offset 0x28. > > > > In a trace where the Nvidia device is disabled/enabled via Device > > Manager, I see writes on the enable path: > > > > 2571@1535108904.593107:rp_write_config (ioh3420, @0x28, 0x0, len=0x4) > > > > For Linux, I only see one write at startup, none on runtime resume. > > I did not test system sleep/resume. (disable/enable is arguably a bit > > different from system s/r, you may want to do additional testing here.) > > I managed to install Win10 Home under virt-manager with the nvidia > device passed through. > However the nvidia windows driver installer refuses to install, says: > The NVIDIA graphics driver is not compatible with this version of Windows. > This graphics driver could not find compatible graphics hardware. > > One trick for similar sounding problems is to change hypervisor vendor > ID but no luck here. For laptops, it appears that you have to do at least two things: - Ensure that the Subsystem Vendor/Product ID are set. - Expose a _ROM ACPI method that provides VBIOS. Perhaps you also need to provide a "_DSM" method that emulates at least the "Optimus" interface for GUID a486d8f8-0bda-471b-a72b-6042a6b5bee0. You probably lost interest here, but if you want to continue anyway this is what allowed me to install the driver on the XPS 9560: https://github.com/Lekensteyn/acpi-stuff/blob/master/d3test/fakedev.asl If you adapt if for your environment, note: - I have only tested this with the q35 machine type with an additional ioh3420 root port. See the XPS956/boot-vm script. - The \_SB.PCI0.SE0 device should match the root port: cat /sys/bus/pci/devices/0000:00:1c.0/firmware_node/path (the SE0 name is chosen by QEMU.) - The "NET" (\_SB.PCI0.SE0.NET) device name is arbitrary chosen by me, it currently assumes PCI address 01:00.0: Name (_ADR, 0x00000000) // _ADR: Address (dev+fn only, 01:00.0) - The _DSM method is copied from the XPS 9560 SSDT with external method references removed (focus on the code with "OPCI" true, the other two with NBCI and SGCI are irrelevant). One obvious difference with your SSDT is function 0x10, your OPVK ("Optimus Validation Key Object" is different and there is another "OPDR" check afterwards. > I was going to check if I can monitor PCI bridge config space access > even without the nvidia driver installed, but I can't find a way to > make the windows VM suspend and resume - the option is not available > in the VM. The system cannot be suspended if the GPU device has no driver. -- Kind regards, Peter Wu https://lekensteyn.nl From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Wu Subject: Re: Rewriting Intel PCI bridge prefetch base address bits solves nvidia graphics issues Date: Thu, 30 Aug 2018 11:40:16 +0200 Message-ID: <20180830094016.GA18925@al> References: <20180824154212.GB8601@al> <20180828095722.GA8820@al> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Daniel Drake Cc: linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Linux PM , Endless Linux Upstreaming Team , nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-pm@vger.kernel.org T24gVGh1LCBBdWcgMzAsIDIwMTggYXQgMDM6NDE6NDNQTSArMDgwMCwgRGFuaWVsIERyYWtlIHdy b3RlOgo+IE9uIFR1ZSwgQXVnIDI4LCAyMDE4IGF0IDU6NTcgUE0sIFBldGVyIFd1IDxwZXRlckBs ZWtlbnN0ZXluLm5sPiB3cm90ZToKPiA+IEp1c3QgdG8gYmUgc3VyZSwgYWZ0ZXIgInNsZWVwIiwg ZG8gYm90aCBkZXZpY2VzIHJlcG9ydCAic3VzcGVuZGVkIiBpbgo+ID4gL3N5cy9idXMvcGNpL2Rl dmljZXMvMDAwMDowMDoxYy4wL3Bvd2VyL3J1bnRpbWVfc3RhdHVzCj4gPiAvc3lzL2J1cy9wY2kv ZGV2aWNlcy8wMDAwOjAxOjAwLjAvcG93ZXIvcnVudGltZV9zdGF0dXMKPiA+Cj4gPiBhbmQgd2Fz IHRoaXMgcmVwcm9kdWNlZCB3aXRoIGEgcmVjZW50IG1haW5saW5lIGtlcm5lbCB3aXRoIG5vIHNw ZWNpYWwKPiA+IGNtZGxpbmUgb3B0aW9ucz8gVGhlIGVuZGxlc3NtIGtlcm5lbCBvbiBHaXRodWIg c2VlbXMgdG8gaGF2ZSBxdWl0ZSBzb21lCj4gPiBwYXRjaGVzLCBvbmUgb2YgdGhlbSBleHBsaWNp dGx5IGRpc2FibGUgcnVudGltZSBQTToKPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS9lbmRsZXNzbS9s aW51eC9jb21taXQvOGIxMjhiNTBjZDY3MjVlZWUyYWU5MDI1YTE1MTBhMjIxZDliNDJmMgo+IAo+ IFllcywgSSBjaGVja2VkIGZvciB0aGlzIGlzc3VlIGluIHRoZSBwYXN0IGFuZCBJJ20gY2VydGFp biB0aGF0IG5vdXZlYXUKPiBydW50aW1lIHBtIHdvcmtzIGZpbmUuCj4gCj4gSSBhbHNvIGNoZWNr ZWQgYWdhaW4gbm93IG9uIFg1NDJVUSBhbmQgdGhlIHJlc3VsdHMgYXJlIHRoZSBzYW1lLgo+IG5v dXZlYXUgY2FuIGRvIHJ1bnRpbWUgc3VzcGVuZC9yZXN1bWUgKGNvbmZpcm1lZCBieSByZWFkaW5n Cj4gcnVudGltZV9zdGF0dXMpIGFuZCB0aGVuIHJlbmRlciAzRCBncmFwaGljcyBPSy4gbHNwY2kg aXMgZmluZSB0b28uIEl0Cj4gaXMganVzdCBTMyBzdXNwZW5kIHRoYXQgaXMgYWZmZWN0ZWQuIFRo aXMgd2FzIHRlc3Rpbmcgb24gTGludXggNC4xOAo+IHVubW9kaWZpZWQuIEkgaGFkIHRvIHNldCBu b3V2ZWF1IHJ1bnBtIHBhcmFtZXRlciB0byAxIGZvciBpdCB0byB1c2UKPiBydW50aW1lIHBtLgo+ IAo+IEFsc28gY2hlY2tlZCB3aXRoIEthcm9sJ3MgcGF0Y2gsIHRoZSBTMyBpc3N1ZSBpcyBzdGls bCB0aGVyZS4gU2VlbXMKPiBsaWtlIDIgZGlmZmVyZW50IGlzc3Vlcy4KPiAKPiA+IENvdWxkIHlv dSBzaGFyZSBzb21lIGRldGFpbHM6Cj4gPiAtIGFjcGlkdW1wCj4gPiAtIGxzcGNpIC1ubnh4eHh2 dnYKPiA+IC0gQklPUyB2ZXJzaW9uIChmcm9tIC9zeXMvY2xhc3MvZG1pL2lkLykKPiA+IC0ga2Vy bmVsIHZlcnNpb24gKG1haW5saW5lPykKPiAKPiBMaW51eCA0LjE4IG1haW5saW5lCj4gQklPUyB2 ZXJzaW9uOiBYNTQyVVEuMjAyCj4gYWNwaWR1bXA6IGh0dHBzOi8vZ2lzdC5naXRodWJ1c2VyY29u dGVudC5jb20vZHNkLzc5MzUyMjg0ZDRhZGNlMTRmMzBkNzBlOTRmYWQ4OWYyL3Jhdy9lZDk0ODBl OTI0YmU0MTNmZmY1NjdkYTJlZGQ1YTJhN2E4NjYxOWQwL2dpc3RmaWxlMS50eHQKPiBwY2k6IGh0 dHBzOi8vZ2lzdC5naXRodWJ1c2VyY29udGVudC5jb20vZHNkLzc5MzUyMjg0ZDRhZGNlMTRmMzBk NzBlOTRmYWQ4OWYyL3Jhdy9lZDk0ODBlOTI0YmU0MTNmZmY1NjdkYTJlZGQ1YTJhN2E4NjYxOWQw L3BjaQoKVGhhbmtzLCBiYXNlZCBvbiB0aGUgXF9TQi5QQ0kwLkhHT0YgaW1wbGVtZW50YXRpb24s IGl0IGxvb2tzIGxpa2UgdGhpcwptb2RlbCB3aWxsIG5vdCBiZSBhZmZlY3RlZCBieSB0aGUgcnVu dGltZSBzdXNwZW5kIGlzc3VlIChpdCBzZXRzIHRoZQoiTGluayBEaXNhYmxlIiByZWdpc3RlciB3 aGljaCBpcyBrbm93biB0byB3b3JrIGZvciBvdGhlciBtb2RlbHMpLgoKQXMgdGhlIEJJT1MgZGF0 ZSBpcyBub3QgdmlzaWJsZSwgY2FuIHlvdSBhbHNvIGNvbmZpcm0gdGhhdCB0aGlzIG1lc3NhZ2UK aXMgdmlzaWJsZSBpbiBkbWVzZz8KCiAgICBub3V2ZWF1OiBkZXRlY3RlZCBQUiBzdXBwb3J0LCB3 aWxsIG5vdCB1c2UgRFNNCgpGV0lXLCB0aGUgbGF0ZXN0IEJJT1MgdmVyc2lvbiBpcyAzMDUsIHJl bGVhc2VkIGF0IDIwMTgvMDgvMDc6Cmh0dHBzOi8vd3d3LmFzdXMuY29tL0xhcHRvcHMvQVNVUy1W aXZvQm9vay0xNS1YNTQyVVEvSGVscERlc2tfQklPUy8KCj4gPiBPbmx5IG5vbi1icmlkZ2UgZGV2 aWNlcyBjYW4gYmUgcGFzc2VkIHRvIGEgZ3Vlc3QsIGJ1dCBwZXJoYXBzIGxvZ2dpbmcKPiA+IGFj Y2VzcyB0byB0aGUgZW11bGF0ZWQgYnJpZGdlIGlzIGFscmVhZHkgc3VmZmljaWVudC4gVGhlIFBy ZWZldGNoYWJsZQo+ID4gQmFzZSBVcHBlciAzMiBCaXRzIHJlZ2lzdGVyIGlzIGF0IG9mZnNldCAw eDI4Lgo+ID4KPiA+IEluIGEgdHJhY2Ugd2hlcmUgdGhlIE52aWRpYSBkZXZpY2UgaXMgZGlzYWJs ZWQvZW5hYmxlZCB2aWEgRGV2aWNlCj4gPiBNYW5hZ2VyLCBJIHNlZSB3cml0ZXMgb24gdGhlIGVu YWJsZSBwYXRoOgo+ID4KPiA+ICAgICAyNTcxQDE1MzUxMDg5MDQuNTkzMTA3OnJwX3dyaXRlX2Nv bmZpZyAoaW9oMzQyMCwgQDB4MjgsIDB4MCwgbGVuPTB4NCkKPiA+Cj4gPiBGb3IgTGludXgsIEkg b25seSBzZWUgb25lIHdyaXRlIGF0IHN0YXJ0dXAsIG5vbmUgb24gcnVudGltZSByZXN1bWUuCj4g PiBJIGRpZCBub3QgdGVzdCBzeXN0ZW0gc2xlZXAvcmVzdW1lLiAoZGlzYWJsZS9lbmFibGUgaXMg YXJndWFibHkgYSBiaXQKPiA+IGRpZmZlcmVudCBmcm9tIHN5c3RlbSBzL3IsIHlvdSBtYXkgd2Fu dCB0byBkbyBhZGRpdGlvbmFsIHRlc3RpbmcgaGVyZS4pCj4gCj4gSSBtYW5hZ2VkIHRvIGluc3Rh bGwgV2luMTAgSG9tZSB1bmRlciB2aXJ0LW1hbmFnZXIgd2l0aCB0aGUgbnZpZGlhCj4gZGV2aWNl IHBhc3NlZCB0aHJvdWdoLgo+IEhvd2V2ZXIgdGhlIG52aWRpYSB3aW5kb3dzIGRyaXZlciBpbnN0 YWxsZXIgcmVmdXNlcyB0byBpbnN0YWxsLCBzYXlzOgo+ICAgICBUaGUgTlZJRElBIGdyYXBoaWNz IGRyaXZlciBpcyBub3QgY29tcGF0aWJsZSB3aXRoIHRoaXMgdmVyc2lvbiBvZiBXaW5kb3dzLgo+ ICAgICBUaGlzIGdyYXBoaWNzIGRyaXZlciBjb3VsZCBub3QgZmluZCBjb21wYXRpYmxlIGdyYXBo aWNzIGhhcmR3YXJlLgo+IAo+IE9uZSB0cmljayBmb3Igc2ltaWxhciBzb3VuZGluZyBwcm9ibGVt cyBpcyB0byBjaGFuZ2UgaHlwZXJ2aXNvciB2ZW5kb3IKPiBJRCBidXQgbm8gbHVjayBoZXJlLgoK Rm9yIGxhcHRvcHMsIGl0IGFwcGVhcnMgdGhhdCB5b3UgaGF2ZSB0byBkbyBhdCBsZWFzdCB0d28g dGhpbmdzOgotIEVuc3VyZSB0aGF0IHRoZSBTdWJzeXN0ZW0gVmVuZG9yL1Byb2R1Y3QgSUQgYXJl IHNldC4KLSBFeHBvc2UgYSBfUk9NIEFDUEkgbWV0aG9kIHRoYXQgcHJvdmlkZXMgVkJJT1MuCgpQ ZXJoYXBzIHlvdSBhbHNvIG5lZWQgdG8gcHJvdmlkZSBhICJfRFNNIiBtZXRob2QgdGhhdCBlbXVs YXRlcyBhdCBsZWFzdAp0aGUgIk9wdGltdXMiIGludGVyZmFjZSBmb3IgR1VJRCBhNDg2ZDhmOC0w YmRhLTQ3MWItYTcyYi02MDQyYTZiNWJlZTAuCgpZb3UgcHJvYmFibHkgbG9zdCBpbnRlcmVzdCBo ZXJlLCBidXQgaWYgeW91IHdhbnQgdG8gY29udGludWUgYW55d2F5IHRoaXMKaXMgd2hhdCBhbGxv d2VkIG1lIHRvIGluc3RhbGwgdGhlIGRyaXZlciBvbiB0aGUgWFBTIDk1NjA6Cmh0dHBzOi8vZ2l0 aHViLmNvbS9MZWtlbnN0ZXluL2FjcGktc3R1ZmYvYmxvYi9tYXN0ZXIvZDN0ZXN0L2Zha2VkZXYu YXNsCgpJZiB5b3UgYWRhcHQgaWYgZm9yIHlvdXIgZW52aXJvbm1lbnQsIG5vdGU6Ci0gSSBoYXZl IG9ubHkgdGVzdGVkIHRoaXMgd2l0aCB0aGUgcTM1IG1hY2hpbmUgdHlwZSB3aXRoIGFuIGFkZGl0 aW9uYWwKICBpb2gzNDIwIHJvb3QgcG9ydC4gU2VlIHRoZSBYUFM5NTYvYm9vdC12bSBzY3JpcHQu Ci0gVGhlIFxfU0IuUENJMC5TRTAgZGV2aWNlIHNob3VsZCBtYXRjaCB0aGUgcm9vdCBwb3J0Ogog IGNhdCAvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwOjAwOjFjLjAvZmlybXdhcmVfbm9kZS9wYXRo CiAgKHRoZSBTRTAgbmFtZSBpcyBjaG9zZW4gYnkgUUVNVS4pCi0gVGhlICJORVQiIChcX1NCLlBD STAuU0UwLk5FVCkgZGV2aWNlIG5hbWUgaXMgYXJiaXRyYXJ5IGNob3NlbiBieSBtZSwKICBpdCBj dXJyZW50bHkgYXNzdW1lcyBQQ0kgYWRkcmVzcyAwMTowMC4wOgogIE5hbWUgKF9BRFIsIDB4MDAw MDAwMDApIC8vIF9BRFI6IEFkZHJlc3MgKGRlditmbiBvbmx5LCAwMTowMC4wKQotIFRoZSBfRFNN IG1ldGhvZCBpcyBjb3BpZWQgZnJvbSB0aGUgWFBTIDk1NjAgU1NEVCB3aXRoIGV4dGVybmFsIG1l dGhvZAogIHJlZmVyZW5jZXMgcmVtb3ZlZCAoZm9jdXMgb24gdGhlIGNvZGUgd2l0aCAiT1BDSSIg dHJ1ZSwgdGhlIG90aGVyIHR3bwogIHdpdGggTkJDSSBhbmQgU0dDSSBhcmUgaXJyZWxldmFudCku IE9uZSBvYnZpb3VzIGRpZmZlcmVuY2Ugd2l0aCB5b3VyCiAgU1NEVCBpcyBmdW5jdGlvbiAweDEw LCB5b3VyIE9QVksgKCJPcHRpbXVzIFZhbGlkYXRpb24gS2V5IE9iamVjdCIgaXMKICBkaWZmZXJl bnQgYW5kIHRoZXJlIGlzIGFub3RoZXIgIk9QRFIiIGNoZWNrIGFmdGVyd2FyZHMuCgo+IEkgd2Fz IGdvaW5nIHRvIGNoZWNrIGlmIEkgY2FuIG1vbml0b3IgUENJIGJyaWRnZSBjb25maWcgc3BhY2Ug YWNjZXNzCj4gZXZlbiB3aXRob3V0IHRoZSBudmlkaWEgZHJpdmVyIGluc3RhbGxlZCwgYnV0IEkg Y2FuJ3QgZmluZCBhIHdheSB0bwo+IG1ha2UgdGhlIHdpbmRvd3MgVk0gc3VzcGVuZCBhbmQgcmVz dW1lIC0gdGhlIG9wdGlvbiBpcyBub3QgYXZhaWxhYmxlCj4gaW4gdGhlIFZNLgoKVGhlIHN5c3Rl bSBjYW5ub3QgYmUgc3VzcGVuZGVkIGlmIHRoZSBHUFUgZGV2aWNlIGhhcyBubyBkcml2ZXIuCi0t IApLaW5kIHJlZ2FyZHMsClBldGVyIFd1Cmh0dHBzOi8vbGVrZW5zdGV5bi5ubApfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOb3V2ZWF1IG1haWxpbmcgbGlz dApOb3V2ZWF1QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL25vdXZlYXUK