From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pavel Machek Subject: Re: [PATCH] drm/i915: apply the PCI_D0/D3 hibernation workaround everywhere on pre GEN6 Date: Wed, 1 Jul 2015 10:45:00 +0200 Message-ID: <20150701084459.GA6946@amd> References: <1435673207-23030-1-git-send-email-imre.deak@intel.com> <20150630172706.GA28262@amd> <873818w9zv.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from atrey.karlin.mff.cuni.cz (atrey.karlin.mff.cuni.cz [195.113.26.193]) by gabe.freedesktop.org (Postfix) with ESMTP id E6BEA6EA8F for ; Wed, 1 Jul 2015 01:45:03 -0700 (PDT) Content-Disposition: inline In-Reply-To: <873818w9zv.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: Paul Bolle , Dirk Griesbach , Mikko Rapeli , "Rafael J. Wysocki" , stable@vger.kernel.org, Daniel Vetter , intel-gfx@lists.freedesktop.org, Ilya Tumaykin List-Id: intel-gfx@lists.freedesktop.org T24gV2VkIDIwMTUtMDctMDEgMTE6MzU6NDgsIEphbmkgTmlrdWxhIHdyb3RlOgo+IE9uIFR1ZSwg MzAgSnVuIDIwMTUsIFBhdmVsIE1hY2hlayA8cGF2ZWxAdWN3LmN6PiB3cm90ZToKPiA+IEhpIQo+ ID4KPiA+PiBjb21taXQgZGEyYmMxYjlkYjMzNTFhZGRkMjkzZTViODI3NTdlZmUxZjc3ZWQxZAo+ ID4+IEF1dGhvcjogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgo+ID4+IERhdGU6ICAg VGh1IE9jdCAyMyAxOToyMzoyNiAyMDE0ICswMzAwCj4gPj4gCj4gPj4gICAgIGRybS9pOTE1OiBh ZGQgcG93ZXJvZmZfbGF0ZSBoYW5kbGVyCj4gPj4gCj4gPj4gaW50cm9kdWNlZCBhIHJlZ3Jlc3Np b24gb24gb2xkIHBsYXRmb3JtcyBkdXJpbmcgaGliZXJuYXRpb24uIEEgd29ya2Fyb3VuZCB3YXMK PiA+PiBhZGRlZCBpbgo+ID4+IAo+ID4+IGNvbW1pdCBhYjNiZTczZmE3YjQzZjRjMzY0OGNlMjli NWZkNjQ5ZWE1NGQzYWRiCj4gPj4gQXV0aG9yOiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5j b20+Cj4gPj4gRGF0ZTogICBNb24gTWFyIDIgMTM6MDQ6NDEgMjAxNSArMDIwMAo+ID4+IAo+ID4+ ICAgICBkcm0vaTkxNTogZ2VuNDogd29yayBhcm91bmQgaGFuZyBkdXJpbmcgaGliZXJuYXRpb24K PiA+PiAKPiA+PiB1c2luZyBhbiBleHBsaWNpdCBibGFja2xpc3QgZm9yIHRoZSBHRU5zL0JJT1Mg dmVuZG9ycyB3aGVyZSB0aGUgaXNzdWUgd2FzCj4gPj4gcmVwb3J0ZWQuIExhdGVyIHRoZXJlIHdl IGhhZCByZXBvcnRzIG9mIHRoZSBzYW1lIGZhaWx1cmUgb24gcGxhdGZvcm1zIG5vdCBvbgo+ID4+ IHRoaXMgbGlzdC4KPiA+PiAKPiA+PiBUbyBteSBiZXN0IGtub3dsZWRnZSB0aGUgY29ycmVjdCB0 aGluZyB0byBkbyBpcyBzdGlsbCB0byBwdXQgdGhlIGRldmljZSB0byBQQ0kKPiA+PiBEMyBzdGF0 ZSBkdXJpbmcgaGliZXJuYXRpb24sIHNlZSBbMV0gYW5kIFsyXSBmb3IgdGhlIHJlYXNvbnMuIFRo aXMKPiA+PiBhbHNvIGFsaWducwo+ID4KPiA+IEhtbSwgc28gdGhlIHJlYXNvbnMgYWNjb3JkaW5n IHRvIHlvdSBhcmU6Cj4gPgo+ID4+IC0gQUNQSSBtYW5kYXRlcyB0aGF0IHRoZSBPU1BNICh0aGUg a2VybmVsIGluIG91ciBjYXNlKSBwdXRzIGFsbAo+ID4+ICAgZGV2aWNlcwo+ID4+ICAgaW50byBE MyB0aGF0IGFyZSBub3Qgd2FrZS11cCBzb3VyY2VzIChpOTE1IGlzIG5vdCkgKEt1ZG9zIHRvIFZp bGxlCj4gPj4gICBmb3IKPiA+PiAgIHBvaW50aW5nIHRoaXMgb3V0KQo+ID4KPiA+IENsZWFybHks IEJJT1MgdmVuZG9ycyBkaWQgbm90IHJlYWQgdGhpcywgYW5kIHByZXR0eSBjbGVhcmx5IFdpbmRv d3MKPiA+IGRvIG5vdCBmb2xsb3cgdGhlIHNwZWNzLCBlaXRoZXIuIFRoYXQgbWVhbnMgdGhhdCBp dCBpcyBiYWQgaWRlYSBmb3IgdXMKPiA+IHRvIGZvbGxvdyB0aGUgc3BlY3MsIGFuZCB0cmlnZ2Vy IEJJT1MgYnVncy4gCj4gPgo+ID4+IC0gRW1iZWRkZWQgcGFuZWxzIGhhdmUgYSB3ZWxsIGRlZmlu ZWQgc2h1dGRvd24gc2VxdWVuY2UuIFdlIGRvbid0Cj4gPj4gICBoYXZlCj4gPj4gICBhbnkgZ29v ZCByZWFzb24gdG8gbm90IGZvbGxvdyB0aGlzLCBpbiBmYWN0IGZvciBzb21lIHBhbmVscyB0aGUK PiA+PiAgIHN1YnNlcXVlbnQgcmVpbml0aWFsaXphdGlvbiBjb3VsZCBiZSBwcm9ibGVtYXRpYyBp biBjYXNlIG9mIGEgaGFyZAo+ID4+ICAgcG93ZXItb2ZmLiAoVGhhbmtzIHRvIEphbmkgZm9yIHRo aXMgaW5mbykKPiA+Cj4gPiBQbGVhc2UgY2l0ZSBjb25jcmV0ZSBleGFtcGxlLiBJIGhhdmUgeWV0 IHRvIHNlZSBtYWNoaW5lIHRoYXQgd291bGQgbm90Cj4gPiBwb3dlciB1cCBvbiBmb3JjZWQgcG93 ZXIgZG93bi4gSW4gZmFjdCwgSSBhcmd1ZSB0aGF0IHN1Y2ggbWFjaGluZQo+ID4gd291bGQgYmUg dmVyeSBicm9rZW4sIGFuZCB0aGF0IHN1Y2ggbWFjaGluZSBkb2VzIG5vdCBleGlzdC4gV2hpbGUg d2UKPiA+IGhhdmUgdGhlc2UgcmVhbCBtYWNoaW5lcyBicm9rZW46Cj4gCj4gSSB3YXMgb3JpZ2lu YWxseSByZWZlcnJpbmcgdG8gcmVib290cywgd2hpY2ggbWlnaHQgbm90IGJlIGFwcGxpY2FibGUK PiBoZXJlLiBBbnl3YXksIHdlIGhhdmUgdG8gZ28gb3V0IG9mIG91ciB3YXkgdG8gaGFuZGxlIHRo YXQgcHJvcGVybHkgaW4KPiBzb21lIGNhc2VzOgo+IAo+IGNvbW1pdCAwMTUyN2IzMTI3OTk3ZWY2 MzcwZDVhZDRmYTI1ZDk2ODQ3ZmJmMTJhCj4gQXV0aG9yOiBDbGludCBUYXlsb3IgPGNsaW50b24u YS50YXlsb3JAaW50ZWwuY29tPgo+IERhdGU6ICAgTW9uIEp1bCA3IDEzOjAxOjQ2IDIwMTQgLTA3 MDAKPiAKPiAgICAgZHJtL2k5MTUvdmx2OiBUMTIgZURQIHBhbmVsIHRpbWluZyBlbmZvcmNlbWVu dCBkdXJpbmcgcmVib290CgpTbyB3ZSBub3cgaGF2ZSBzaW5nbGUgYXJndW1lbnQgIkFDUEkgc3Bl Y3Mgc2F5cyBzbyIuIFVuZm9ydHVuYXRlbHksCkJJT1NlcyBjYW4gbm90IHJlYWQsIGFuZCBXaW5k b3dzIGRvZXMgaXQgdGhlIG90aGVyIHdheSBhcm91bmQuLi4KCldoYXQgaXMgc3BlY2lhbCBhYm91 dCBnZW42PwoJCQkJCQkJCQlQYXZlbAotLSAKKGVuZ2xpc2gpIGh0dHA6Ly93d3cubGl2ZWpvdXJu YWwuY29tL35wYXZlbG1hY2hlawooY2Vza3ksIHBpY3R1cmVzKSBodHRwOi8vYXRyZXkua2FybGlu Lm1mZi5jdW5pLmN6L35wYXZlbC9waWN0dXJlL2hvcnNlcy9ibG9nLmh0bWwKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from atrey.karlin.mff.cuni.cz ([195.113.26.193]:49076 "EHLO atrey.karlin.mff.cuni.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751772AbbGAIpD (ORCPT ); Wed, 1 Jul 2015 04:45:03 -0400 Date: Wed, 1 Jul 2015 10:45:00 +0200 From: Pavel Machek To: Jani Nikula Cc: Imre Deak , intel-gfx@lists.freedesktop.org, "Rafael J. Wysocki" , Ilya Tumaykin , Dirk Griesbach , Mikko Rapeli , Paul Bolle , Ville =?iso-8859-1?Q?Syrj=E4l=E4?= , Daniel Vetter , stable@vger.kernel.org Subject: Re: [PATCH] drm/i915: apply the PCI_D0/D3 hibernation workaround everywhere on pre GEN6 Message-ID: <20150701084459.GA6946@amd> References: <1435673207-23030-1-git-send-email-imre.deak@intel.com> <20150630172706.GA28262@amd> <873818w9zv.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <873818w9zv.fsf@intel.com> Sender: stable-owner@vger.kernel.org List-ID: On Wed 2015-07-01 11:35:48, Jani Nikula wrote: > On Tue, 30 Jun 2015, Pavel Machek wrote: > > Hi! > > > >> commit da2bc1b9db3351addd293e5b82757efe1f77ed1d > >> Author: Imre Deak > >> Date: Thu Oct 23 19:23:26 2014 +0300 > >> > >> drm/i915: add poweroff_late handler > >> > >> introduced a regression on old platforms during hibernation. A workaround was > >> added in > >> > >> commit ab3be73fa7b43f4c3648ce29b5fd649ea54d3adb > >> Author: Imre Deak > >> Date: Mon Mar 2 13:04:41 2015 +0200 > >> > >> drm/i915: gen4: work around hang during hibernation > >> > >> using an explicit blacklist for the GENs/BIOS vendors where the issue was > >> reported. Later there we had reports of the same failure on platforms not on > >> this list. > >> > >> To my best knowledge the correct thing to do is still to put the device to PCI > >> D3 state during hibernation, see [1] and [2] for the reasons. This > >> also aligns > > > > Hmm, so the reasons according to you are: > > > >> - ACPI mandates that the OSPM (the kernel in our case) puts all > >> devices > >> into D3 that are not wake-up sources (i915 is not) (Kudos to Ville > >> for > >> pointing this out) > > > > Clearly, BIOS vendors did not read this, and pretty clearly Windows > > do not follow the specs, either. That means that it is bad idea for us > > to follow the specs, and trigger BIOS bugs. > > > >> - Embedded panels have a well defined shutdown sequence. We don't > >> have > >> any good reason to not follow this, in fact for some panels the > >> subsequent reinitialization could be problematic in case of a hard > >> power-off. (Thanks to Jani for this info) > > > > Please cite concrete example. I have yet to see machine that would not > > power up on forced power down. In fact, I argue that such machine > > would be very broken, and that such machine does not exist. While we > > have these real machines broken: > > I was originally referring to reboots, which might not be applicable > here. Anyway, we have to go out of our way to handle that properly in > some cases: > > commit 01527b3127997ef6370d5ad4fa25d96847fbf12a > Author: Clint Taylor > Date: Mon Jul 7 13:01:46 2014 -0700 > > drm/i915/vlv: T12 eDP panel timing enforcement during reboot So we now have single argument "ACPI specs says so". Unfortunately, BIOSes can not read, and Windows does it the other way around... What is special about gen6? Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html