From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Wu Subject: Re: Kernel Freeze with American Megatrends BIOS Date: Tue, 30 Aug 2016 21:53:37 +0200 Message-ID: <20160830195337.GA18805@al> References: <004c7dbe-2014-c691-29d1-7a45f3b73dfa@desertbit.com> <20160829160210.GA24451@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20160829160210.GA24451@localhost> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Bjorn Helgaas Cc: linux-pci@vger.kernel.org, Roland Singer , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-acpi@vger.kernel.org List-Id: linux-acpi@vger.kernel.org T24gTW9uLCBBdWcgMjksIDIwMTYgYXQgMTE6MDI6MTBBTSAtMDUwMCwgQmpvcm4gSGVsZ2FhcyB3 cm90ZToKPiBbK2NjIGxpbnV4LWFjcGksIGxpbnV4LWtlcm5lbCwgZHJpLWRldmVsXQo+IAo+IEhp IFJvbGFuZCwKPiAKPiBJIGhhdmUgbm8gaWRlYSBob3cgdG8gZGVidWcgdGhpcyBwcm9ibGVtLiAg QXJlIHlvdSBzZWVpbmcgc29tZXRoaW5nCj4gdGhhdCBzdWdnZXN0cyBpdCBtYXkgYmUgYSBQQ0kg cHJvYmxlbT8KClllcyBJIHN1c3BlY3QgdGhlcmUgaXMgYW4gQUNQSSBhbmQvIG9yIFBDSSBwcm9i bGVtLCBwb3NzaWJseQpkZXZpY2Utc3BlY2lmaWMuIFN0ZXBzIHRvIHJlcHJvZHVjZSBvbiB0aGUg YWZmZWN0ZWQgbWFjaGluZXM6CgogMS4gTG9hZCBub3V2ZWF1LgogMi4gV2FpdCBmb3IgaXQgdG8g cnVudGltZSBzdXNwZW5kLgogMi4gSW52b2tlICdsc3BjaScsIHRoaXMgcmVzdW1lcyB0aGUgTnZp ZGlhIFBDSSBkZXZpY2UgdmlhIG5vdXZlYXUuCiAzLiBsc3BjaSBuZXZlciByZXR1cm5zLCBmZXcg bW9tZW50cyBsYXRlciBhbiBBTUxfSU5GSU5JVEVfTE9PUCBpcwogICAgcmVwb3J0ZWQuCgpJZiB5 b3UgdXNlIHRoZSBleHRlcm5hbCBiYnN3aXRjaCBtb2R1bGUsIHRoZSBlZmZlY3QgaXMgdGhlIHNh bWUuIEkgaGF2ZQpiZWVuIHRyeWluZyB0byBkZWJ1ZyB0aGlzIGZvciBzb21lIHRpbWUgb24gbm91 dmVhdSB3aXRoIG5vIGx1Y2suIFRoZQpQQ0kvUE0gRDNjb2xkIHBhdGNoZXMgZnJvbSBNaWthIG1h a2VzIG5vIGRpZmZlcmVuY2UuCgpSdW50aW1lIHJlc3VtZSB2aWEgbm91dmVhdSB0cmlnZ2VycyBz b21lIEFDUEkgbWV0aG9kcyAoSSdsbCBhc3N1bWUgdGhlCldpbmRvd3MgOC1zdHlsZSBQUiBtZXRo b2QgYW5kIHRha2UgdGhlIENsZXZvIFA2NTEgYXMgZXhhbXBsZSk6CgogICAgXF9TQi5QQ0kwLlBF RzAuUEcwMC5fT04gKCkgLT4KICAgICAgICBcX1NCLlBDSTAuUEdPTiAoMCkKClRoZW46CgogICAg TWV0aG9kIChQR09OLCAxLCBTZXJpYWxpemVkKSB7CiAgICAgICAgUElPTiA9IEFyZzAgICAgIC8v IG5vdGU6IDAgZm9yIFBHMDAKICAgICAgICAvLyAuLi4KICAgICAgICBJZiAoKE9TWVMgIT0gMHgw N0RGKSkgeyAvKiBOb3QgV2luZG93cyAyMDE1IChXaW5kb3dzIDEwKSwgc2VlIGJlbG93ICovIH0K ICAgICAgICBFbHNlIHsKICAgICAgICAgICAgTEtFTiAoUElPTikKICAgICAgICB9CiAgICAgICAg Ly8gdGhpcyBpcyB0aGUgaW5maW5pdGUgbG9vcDogaXQgdHJpZXMgdG8gYnJpbmcgdGhlIFBDSWUg bGluayB0bwogICAgICAgIC8vIGZ1bGwgc3BlZWQsIGJ1dCBmYWlscyB0byBkbyBzby4KICAgICAg ICBXaGlsZSAoKFxfU0IuUENJMC5QRUcwLkxOS1MgPCAweDA3KSkgewogICAgICAgICAgICBMb2Nh bDAgPSAweDIwCiAgICAgICAgICAgIFdoaWxlIChMb2NhbDApIHsKICAgICAgICAgICAgICAgIElm ICgoXF9TQi5QQ0kwLlBFRzAuTE5LUyA8IDB4MDcpKSB7CiAgICAgICAgICAgICAgICAgICAgU3Rh bGwgKDB4NjQpCiAgICAgICAgICAgICAgICAgICAgTG9jYWwwLS0KICAgICAgICAgICAgICAgIH0g RWxzZSB7IEJyZWFrIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBJZiAoKExvY2FsMCA9PSBa ZXJvKSkgewogICAgICAgICAgICAgICAgXF9TQi5QQ0kwLlBFRzAuUlRMSyA9IE9uZQogICAgICAg ICAgICAgICAgU3RhbGwgKDB4NjQpCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy8g Li4uCiAgICB9CgpXaXRob3V0IGFueSB3b3JrYXJvdW5kLCB0aGlzIHBpZWNlIG9mIGNvZGUgaXMg aW52b2tlZDoKCiAgICBNZXRob2QgKExLRU4sIDEsIE5vdFNlcmlhbGl6ZWQpIHsKICAgICAgICBM b2NhbDMgPSAoQ1BFWCAmIDB4MEYpICAvLyBDUEVYIGF0IDB4NWZmOWJlN2YgYW5kIGhhcyB2YWx1 ZSAwMDA1MDZlMwogICAgICAgIElmICgoTG9jYWwzID09IFplcm8pKSB7CiAgICAgICAgICAgIC8q IFNpbWlsYXIgdG8gYmVsb3csIGJ1dCB3aXRoIFEwTDAgLT4gUDBMMCAocmVnaXN0ZXIgMHhCQyBi aXQgNikgKi8KICAgICAgICB9IEVsc2VJZiAoKExvY2FsMyAhPSBaZXJvKSkgewogICAgICAgICAg ICBJZiAoKEFyZzAgPT0gWmVybykpIHsKICAgICAgICAgICAgICAgIC8qIEVudGVyIEwwIEFjdGl2 YXRlIHN0YXRlLgogICAgICAgICAgICAgICAgICogKExLRFMgdHJpZXMgdG8gZW50ZXIgTDIsIGRl ZXAtZW5lcmd5LXNhdmluZyBzdGF0ZS4pICovCiAgICAgICAgICAgICAgICBRMEwwID0gT25lICAg ICAgLy8gcmVnaXN0ZXIgMHgyNDkgYml0IDA7IFxfU0IuUENJMC5PUEcwLlEwTDAgMDA6MDEuMAog ICAgICAgICAgICAgICAgU2xlZXAgKDB4MTApCiAgICAgICAgICAgICAgICBMb2NhbDAgPSBaZXJv CiAgICAgICAgICAgICAgICBXaGlsZSAoUTBMMCkgewogICAgICAgICAgICAgICAgICAgIElmICgo TG9jYWwwID4gMHgwNCkpIHsgQnJlYWsgfQogICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDEw KQogICAgICAgICAgICAgICAgICAgIExvY2FsMCsrCiAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgIH0gZWxzZSB7IC8qIG90aGVyIGNhc2VzLCBidXQgd2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBp biBQR09OKDApICovIH0KICAgICAgICB9CiAgICB9CgpUaGUgYWNwaV9vc2k9IiFXaW5kb3dzIDIw MTUiIHdvcmthcm91bmQgd2lsbCBpbnZva2UgdGhpcyBpbnN0ZWFkOgoKICAgIElmICgoT1NZUyAh PSAweDA3REYpKSB7CiAgICAgICAgSWYgKChQSU9OID09IFplcm8pKSB7CiAgICAgICAgICAgIFAw QVAgPSBaZXJvICAvKiBQR09GIHdyaXRlcyAzICovCiAgICAgICAgICAgIFAwUk0gPSBaZXJvICAv KiBQR09GIHdyaXRlcyAxICovCiAgICAgICAgfQogICAgICAgIElmICgoUEJHRSAhPSBaZXJvKSkg eyAvKiBPYnNlcnZlZCB0byBiZSBmYWxzZSAoUEJHRSA9PSAwKSAqLwogICAgICAgICAgICBJZiAo U0JETCAoUElPTikpIHsKICAgICAgICAgICAgICAgIFBVQUIgKFBJT04pCiAgICAgICAgICAgICAg ICBDQkRMID0gR1VCQyAoUElPTikKICAgICAgICAgICAgICAgIE1CREwgPSBHTVhCIChQSU9OKQog ICAgICAgICAgICAgICAgSWYgKChDQkRMID4gTUJETCkpIHsKICAgICAgICAgICAgICAgICAgICBD QkRMID0gTUJETCAvKiBcX1NCXy5QQ0kwLk1CREwgKi8KICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgIFBEVUIgKFBJT04sIENCREwpCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAg ICAgSWYgKChQSU9OID09IFplcm8pKSB7CiAgICAgICAgICAgIFAwTEQgPSBaZXJvICAgICAvKiBM aW5rIERpc2FibGUgPSAwLCBQR09GIHNldHMgMSBpbnN0ZWFkLiAqLwogICAgICAgICAgICBQMFRS ID0gT25lICAgICAgLyogVHJhaW4/IChQR09GIGRvZXMgbm90IHNldCB0aGlzKS4gKi8KICAgICAg ICAgICAgVENOVCA9IFplcm8KICAgICAgICAgICAgV2hpbGUgKChUQ05UIDwgTERMWSkpIHsgLyog TERMWSA9IDMwMCAqLwogICAgICAgICAgICAgICAgSWYgKChQMFZDID09IFplcm8pKSB7CiAgICAg ICAgICAgICAgICAgICAgLyogVkMgTmVnb3RpYXRpb24gUGVuZGluZyAwIG1lYW5zIFZDIG5lZ290 YXRpb24gaXMgY29tcGxldGUuICovCiAgICAgICAgICAgICAgICAgICAgQnJlYWsKICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgIFNsZWVwICgweDEwKQogICAgICAgICAgICAgICAgVENO VCArPSAweDEwIC8qIEF0IG1vc3QgMTkgaXRlcmF0aW9ucywgc2xlZXBpbmcgZm9yIDMwNG1zLiAq LwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKVGhlIGNvbW1lbnRzIGFib3ZlIGFyZSBt eSBvd24gaW50ZXJwcmV0YXRpb24gYmFzZWQgb24gdGhlIGFjcGlkdW1wcyBJCmV4dHJhY3RlZCBm cm9tIHRoZSBtYWNoaW5lLiBUaGVzZSBub3RlcyBhbmQgQUNQSSB0YWJsZXMgY2FuIGJlIGZvdW5k IGF0Cmh0dHBzOi8vZ2l0aHViLmNvbS9MZWtlbnN0ZXluL2FjcGktc3R1ZmYvYmxvYi9tYXN0ZXIv Q2xldm8tUDY1MVJBL25vdGVzLnR4dApodHRwczovL2dpdGh1Yi5jb20vTGVrZW5zdGV5bi9hY3Bp LXN0dWZmL3RyZWUvbWFzdGVyL2RzbC9DbGV2b19QNjUxUkEKCk90aGVyIGFmZmVjdGVkIGRldmlj ZXMgaGF2ZSBzaW1pbGFyIGNvZGUsIGRpZmZlcmVuY2VzIGFyZSBzbWFsbDoKIC0gTm8gY2hlY2sg Zm9yIExOS1MgKGF2b2lkcyB0aGUgaW5maW5pdGUgbG9vcCwgYnV0IGRldmljZSBpcyBzdGlsbCBv ZmYpCiAtIEluc3RlYWQgb2YgYSBjaGVjayBmb3IgIT0gIldpbmRvd3MgMjAxNSIsIHRoZXkgY2hl Y2sgZm9yID09ICJXaW5kb3dzCiAgIDIwMDkiIG9yIGV2ZW4gZm9yID09ICJXaW5kb3dzIDIwMDki IHx8ICJXaW5kb3dzIDIwMTMiIChEZWxsIEluc3Bpcm9uCiAgIDc1NTkpLgoKVGhlIHRlc3RlZCBr ZXJuZWxzICh3aXRoIGJic3dpdGNoIG9yIG5vdXZlYXUpIHdlcmUgTGludXggNC40LjAsIDQuNiwK NC43IChub3V2ZWF1ICsgUENJL1BNICsgbm91dmVhdSBQUiBwYXRjaGVzKS4gVGhlIFBDSWUgZGV2 aWNlIGlzCnNvbWV0aGluZyBmcm9tIHRoZSBHVFggOXh4TSBmYW1pbHkgaW4gYWxsIGNhc2VzLgoK SSBoYXZlIGEgYnVuY2ggb2YgUENJIGNvbmZpZyBkdW1wcyBmcm9tIFdpbmRvd3MgYW5kIExpbnV4 LCBidXQgdGhlcmUgaXMKbm90aGluZyBleHRyYW9yZGluYXJ5LiBBbHNvIGRpZCBhbiBBQ1BJIHRy YWNlIHZpYSBhIENoZWNrZWQvRGVidWcgYnVpbGQKb2YgV2luZG93cywgYnV0IGl0IGp1c3QgY29u ZmlybXMgdGhhdCB0aGUgQUNQSSBtZXRob2Qgd2UgdXNlIGZvciB0aGUKTnZpZGlhIGRldmljZSBp cyB0aGUgY29ycmVjdCBvbmUuCgpMZXQgbWUga25vdyBpZiB5b3UgbmVlZCBtb3JlIGluZm9ybWF0 aW9uLCBJIHdvdWxkIGJlIGdsYWQgdG8gcHJvdmlkZS4KCktpbmQgcmVnYXJkcywKUGV0ZXIKCj4g T24gVHVlLCBBdWcgMjMsIDIwMTYgYXQgMTE6MjM6NDVBTSArMDIwMCwgUm9sYW5kIFNpbmdlciB3 cm90ZToKPiA+IEhpLAo+ID4gCj4gPiBob3BlIHNvbWVib2R5IGNhbiBoZWxwIG1lIGZpeCB0aGlz IGtlcm5lbCBwcm9ibGVtIHdoaWNoIGFmZmVjdHMgdGhlIGZvbGxvd2luZyBtYWNoaW5lczoKPiA+ IAo+ID4gLSBDbGV2byBQNjUxUkEgKGk3LTY3MDBIUS9HVFggOTY1TSwgcGFydCBvZiB0aGUgUDZ4 eFJ4IGZhbWlseSB3aGljaCBhcmUgYWxzbyBhZmZlY3RlZCkKPiA+IC0gTVNJIEdFNjIgQXBhY2hl IFBybyAoaTctNjcwMEhRL0dUWCA5NjBNKQo+ID4gLSBHaWdhYnl0ZSBQMzVWNSAoaTctNjcwMEhR L0dUWCA5NzBNKQo+ID4gLSBSYXplciBCbGFkZSAxNCIgKDIwMTYpIChpNy02NzAwSFEvR1RYIDk3 ME0pIChCSU9TIDUuMTEsIDA0LzA3LzIwMTYpCj4gPiAKPiA+IAo+ID4gVGhlIGtlcm5lbCBmcmVl emVzIGlmIHRoZSBncmFwaGljYWwgdXNlciBzZXNzaW9uIChYb3JnICYgV2F5bGFuZCkgaXMKPiA+ IHN0YXJ0ZWQgd2l0aCBhIHN3aXRjaGVkIG9mZiBkaXNjcmV0ZSBHUFUgY2FyZCAoTlZJRElBKS4K PiA+IElmIHRoZSBkaXNjcmV0ZSBHUFUgaXMgc3dpdGNoZWQgb2ZmIGFmdGVyIHRoZSBncmFwaGlj YWwgc2Vzc2lvbiBzdGFydCwKPiA+IHRoZW4gZXZlcnl0aGluZyB3b3JrcyBhcyBleHBlY3RlZCwg dW50aWwgdGhlIGdyYXBoaWNhbCBzZXNzaW9uIGlzIHJlc3RhcnRlZC4KPiA+IAo+ID4gVGhpcyBw cm9ibGVtIHNlYW1zIHRvIGJlIGxpbmtlZCB0byBzcGVjaWZpYyBCSU9TIHNldHRpbmdzLiBJZiB0 aGUgY29tcHV0ZXIKPiA+IGlzIHN0YXJ0ZWQgd2l0aCB0aGUgZm9sbG93aW5nIGNvbW1hbmQgbGlu ZToKPiA+IAo+ID4gYWNwaV9vc2k9ISBhY3BpX29zaT0iV2luZG93cyAyMDA5Igo+ID4gCj4gPiB0 aGVuIHRoZSBrZXJuZWwgZnJlZXplIGRvZXMgbm90IG9jY3VyIGFueW1vcmUuIEhvd2V2ZXIgdGhp cyByZXF1aXJlZCBhIHNwZWNpYWwKPiA+IEFDUEkgRFNEVCBmaXJtd2FyZSBwYXRjaCBmb3IgdGhl IFJhemVyIEJsYWRlIDIwMTYgbGFwdG9wOgo+ID4gCj4gPiBodHRwczovL2dpdGh1Yi5jb20vbTRu ZzBzcXU0c2gvcmF6ZXJfYmxhZGVfMTRfMjAxNl9hY3BpX2RzZHQKPiA+IAo+ID4gSSBzdHJvbmds eSByZWNvbW1lbmQgdG8gZml4IHRoaXMgaW4gdGhlIGtlcm5lbCBhbmQgSSBhbSByZWFkeSB0byBo ZWxwIGFuZCBzb2x2ZQo+ID4gdGhpcyBwcm9ibGVtIHdpdGggc29tZSBoZWxwLgo+ID4gCj4gPiBI ZXJlIGlzIGEgbGluayB0byB0aGUgR2l0SHViIGlzc3VlIHdpdGggZnVydGhlciBpbmZvcm1hdGlv bjoKPiA+IAo+ID4gaHR0cHM6Ly9naXRodWIuY29tL0J1bWJsZWJlZS1Qcm9qZWN0L0J1bWJsZWJl ZS9pc3N1ZXMvNzY0I2lzc3VlY29tbWVudC0yNDEyMTI1OTUKPiA+IAo+ID4gSGVyZSBhcmUgc29t ZSBtb3JlIGRldGFpbGVkIGluZm9ybWF0aW9uOgo+ID4gCj4gPiBodHRwczovL2dpdGh1Yi5jb20v TGVrZW5zdGV5bi9hY3BpLXN0dWZmL2Jsb2IvbWFzdGVyL0NsZXZvLVA2NTFSQS9ub3Rlcy50eHQK PiA+IAo+ID4gSG9wZSBzb21lYm9keSBjYW4gaGVscC4KX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Return-Path: Date: Tue, 30 Aug 2016 21:53:37 +0200 From: Peter Wu To: Bjorn Helgaas Cc: Roland Singer , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: Re: Kernel Freeze with American Megatrends BIOS Message-ID: <20160830195337.GA18805@al> References: <004c7dbe-2014-c691-29d1-7a45f3b73dfa@desertbit.com> <20160829160210.GA24451@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <20160829160210.GA24451@localhost> List-ID: On Mon, Aug 29, 2016 at 11:02:10AM -0500, Bjorn Helgaas wrote: > [+cc linux-acpi, linux-kernel, dri-devel] > > Hi Roland, > > I have no idea how to debug this problem. Are you seeing something > that suggests it may be a PCI problem? Yes I suspect there is an ACPI and/ or PCI problem, possibly device-specific. Steps to reproduce on the affected machines: 1. Load nouveau. 2. Wait for it to runtime suspend. 2. Invoke 'lspci', this resumes the Nvidia PCI device via nouveau. 3. lspci never returns, few moments later an AML_INFINITE_LOOP is reported. If you use the external bbswitch module, the effect is the same. I have been trying to debug this for some time on nouveau with no luck. The PCI/PM D3cold patches from Mika makes no difference. Runtime resume via nouveau triggers some ACPI methods (I'll assume the Windows 8-style PR method and take the Clevo P651 as example): \_SB.PCI0.PEG0.PG00._ON () -> \_SB.PCI0.PGON (0) Then: Method (PGON, 1, Serialized) { PION = Arg0 // note: 0 for PG00 // ... If ((OSYS != 0x07DF)) { /* Not Windows 2015 (Windows 10), see below */ } Else { LKEN (PION) } // this is the infinite loop: it tries to bring the PCIe link to // full speed, but fails to do so. While ((\_SB.PCI0.PEG0.LNKS < 0x07)) { Local0 = 0x20 While (Local0) { If ((\_SB.PCI0.PEG0.LNKS < 0x07)) { Stall (0x64) Local0-- } Else { Break } } If ((Local0 == Zero)) { \_SB.PCI0.PEG0.RTLK = One Stall (0x64) } } // ... } Without any workaround, this piece of code is invoked: Method (LKEN, 1, NotSerialized) { Local3 = (CPEX & 0x0F) // CPEX at 0x5ff9be7f and has value 000506e3 If ((Local3 == Zero)) { /* Similar to below, but with Q0L0 -> P0L0 (register 0xBC bit 6) */ } ElseIf ((Local3 != Zero)) { If ((Arg0 == Zero)) { /* Enter L0 Activate state. * (LKDS tries to enter L2, deep-energy-saving state.) */ Q0L0 = One // register 0x249 bit 0; \_SB.PCI0.OPG0.Q0L0 00:01.0 Sleep (0x10) Local0 = Zero While (Q0L0) { If ((Local0 > 0x04)) { Break } Sleep (0x10) Local0++ } } else { /* other cases, but we are only interested in PGON(0) */ } } } The acpi_osi="!Windows 2015" workaround will invoke this instead: If ((OSYS != 0x07DF)) { If ((PION == Zero)) { P0AP = Zero /* PGOF writes 3 */ P0RM = Zero /* PGOF writes 1 */ } If ((PBGE != Zero)) { /* Observed to be false (PBGE == 0) */ If (SBDL (PION)) { PUAB (PION) CBDL = GUBC (PION) MBDL = GMXB (PION) If ((CBDL > MBDL)) { CBDL = MBDL /* \_SB_.PCI0.MBDL */ } PDUB (PION, CBDL) } } If ((PION == Zero)) { P0LD = Zero /* Link Disable = 0, PGOF sets 1 instead. */ P0TR = One /* Train? (PGOF does not set this). */ TCNT = Zero While ((TCNT < LDLY)) { /* LDLY = 300 */ If ((P0VC == Zero)) { /* VC Negotiation Pending 0 means VC negotation is complete. */ Break } Sleep (0x10) TCNT += 0x10 /* At most 19 iterations, sleeping for 304ms. */ } } } The comments above are my own interpretation based on the acpidumps I extracted from the machine. These notes and ACPI tables can be found at https://github.com/Lekensteyn/acpi-stuff/blob/master/Clevo-P651RA/notes.txt https://github.com/Lekensteyn/acpi-stuff/tree/master/dsl/Clevo_P651RA Other affected devices have similar code, differences are small: - No check for LNKS (avoids the infinite loop, but device is still off) - Instead of a check for != "Windows 2015", they check for == "Windows 2009" or even for == "Windows 2009" || "Windows 2013" (Dell Inspiron 7559). The tested kernels (with bbswitch or nouveau) were Linux 4.4.0, 4.6, 4.7 (nouveau + PCI/PM + nouveau PR patches). The PCIe device is something from the GTX 9xxM family in all cases. I have a bunch of PCI config dumps from Windows and Linux, but there is nothing extraordinary. Also did an ACPI trace via a Checked/Debug build of Windows, but it just confirms that the ACPI method we use for the Nvidia device is the correct one. Let me know if you need more information, I would be glad to provide. Kind regards, Peter > On Tue, Aug 23, 2016 at 11:23:45AM +0200, Roland Singer wrote: > > Hi, > > > > hope somebody can help me fix this kernel problem which affects the following machines: > > > > - Clevo P651RA (i7-6700HQ/GTX 965M, part of the P6xxRx family which are also affected) > > - MSI GE62 Apache Pro (i7-6700HQ/GTX 960M) > > - Gigabyte P35V5 (i7-6700HQ/GTX 970M) > > - Razer Blade 14" (2016) (i7-6700HQ/GTX 970M) (BIOS 5.11, 04/07/2016) > > > > > > The kernel freezes if the graphical user session (Xorg & Wayland) is > > started with a switched off discrete GPU card (NVIDIA). > > If the discrete GPU is switched off after the graphical session start, > > then everything works as expected, until the graphical session is restarted. > > > > This problem seams to be linked to specific BIOS settings. If the computer > > is started with the following command line: > > > > acpi_osi=! acpi_osi="Windows 2009" > > > > then the kernel freeze does not occur anymore. However this required a special > > ACPI DSDT firmware patch for the Razer Blade 2016 laptop: > > > > https://github.com/m4ng0squ4sh/razer_blade_14_2016_acpi_dsdt > > > > I strongly recommend to fix this in the kernel and I am ready to help and solve > > this problem with some help. > > > > Here is a link to the GitHub issue with further information: > > > > https://github.com/Bumblebee-Project/Bumblebee/issues/764#issuecomment-241212595 > > > > Here are some more detailed information: > > > > https://github.com/Lekensteyn/acpi-stuff/blob/master/Clevo-P651RA/notes.txt > > > > Hope somebody can help.