From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: 4.8-rc1: it is now common that machine needs re-run of xrandr after resume Date: Wed, 14 Sep 2016 14:14:35 +0300 Message-ID: <87h99iraw4.fsf@intel.com> References: <20160913202350.GA30707@amd> <20160913210437.GA4097@amd> <87y42vrkwl.fsf@intel.com> <20160914075410.GA7540@amd> <87h99isuv2.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <87h99isuv2.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: Pavel Machek , Martin Steigerwald Cc: daniel.vetter@intel.com, intel-gfx@lists.freedesktop.org, "Rafael J. Wysocki" , kernel list , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCAxNCBTZXAgMjAxNiwgSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVs LmNvbT4gd3JvdGU6Cj4gT24gV2VkLCAxNCBTZXAgMjAxNiwgUGF2ZWwgTWFjaGVrIDxwYXZlbEB1 Y3cuY3o+IHdyb3RlOgo+PiBGb3IgdGhlICJzb21ldGltZXMgbmVlZCB4cmFuZHIgYWZ0ZXIgcmVz dW1lIjogSSBkb24ndCB0aGluayBJIGNhbgo+PiBiaXNlY3QgdGhhdC4gSXQgb25seSBoYXBwZW5z IHNvbWV0aW1lcyA6LSguIEJ1dCB0aGVyZSdzIHNvbWV0aGluZwo+PiBoZWxwZnVsIGluIHRoZSBs b2dzOgo+Cj4+IFsgMTg1Ni4yMTg4NjNdIFtkcm06ZHJtX2VkaWRfYmxvY2tfdmFsaWRdICpFUlJP UiogRURJRCBjaGVja3N1bSBpcwo+PiBpbnZhbGlkLCByZW1haW5kZXIgaXMgMTMwCj4+IFsgMTg1 Ni4yMTg4NjNdIFJhdyBFRElEOgo+PiBbIDE4NTYuMjE4ODYzXSAgICAgMDAgZmYgZmYgZmYgZmYg ZmYgZmYgMDAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYKPj4gWyAxODU2LjIxODg2M10gICAgIGZm IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmCj4+IFsgMTg1Ni4y MTg4NjNdICAgICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBm Zgo+PiBbIDE4NTYuMjE4ODYzXSAgICAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYg ZmYgZmYgZmYgZmYgZmYKPj4gWyAxODU2LjIxODg2M10gICAgIGZmIGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmCj4+IFsgMTg1Ni4yMTg4NjNdICAgICBmZiBmZiBm ZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZgo+PiBbIDE4NTYuMjE4ODYz XSAgICAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYKPj4g WyAxODU2LjIxODg2M10gICAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmIGZmCj4+IFsgMTg1Ni4yMTg4NjNdIFtkcm06ZHJtX2VkaWRfYmxvY2tfdmFsaWRdICpF UlJPUiogRURJRCBjaGVja3N1bSBpcwo+PiBpbnZhbGlkLCByZW1haW5kZXIgaXMgMTMwCj4+IFsg MTg1Ni4yMTg4NjNdIFJhdyBFRElEOgo+PiBbIDE4NTYuMjE4ODYzXSAgICAgMDAgZmYgZmYgZmYg ZmYgZmYgZmYgMDAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYKPj4gWyAxODU2LjIxODg2M10gICAg IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmCj4+IFsgMTg1 Ni4yMTg4NjNdICAgICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBm ZiBmZgo+PiBbIDE4NTYuMjE4ODYzXSAgICAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYg ZmYgZmYgZmYgZmYgZmYgZmYKPj4gWyAxODU2LjIxODg2M10gICAgIGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmCj4+IFsgMTg1Ni4yMTg4NjNdICAgICBmZiBm ZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZgo+PiBbIDE4NTYuMjE4 ODYzXSAgICAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYK Pj4gWyAxODU2LjIxODg2M10gICAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmCj4+IFsgMTg1Ni4yMTg4NjNdIFtkcm06ZHJtX2VkaWRfYmxvY2tfdmFsaWRd ICpFUlJPUiogRURJRCBjaGVja3N1bSBpcwo+PiBpbnZhbGlkLCByZW1haW5kZXIgaXMgMTMwCj4+ IFsgMTg1Ni4yMTg4NjNdIFJhdyBFRElEOgo+PiBbIDE4NTYuMjE4ODYzXSAgICAgMDAgZmYgZmYg ZmYgZmYgZmYgZmYgMDAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYKPj4gWyAxODU2LjIxODg2M10g ICAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmCj4+IFsg MTg1Ni4yMTg4NjNdICAgICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBm ZiBmZiBmZgo+PiBbIDE4NTYuMjE4ODYzXSAgICAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYg ZmYgZmYgZmYgZmYgZmYgZmYgZmYKPj4gWyAxODU2LjIxODg2M10gICAgIGZmIGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmCj4+IFsgMTg1Ni4yMTg4NjNdICAgICBm ZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZgo+PiBbIDE4NTYu MjE4ODYzXSAgICAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYg ZmYKPj4gWyAxODU2LjIxODg2M10gICAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmIGZmCj4+IFsgMTg1Ni4yMTg4NjNdIFtkcm06ZHJtX2VkaWRfYmxvY2tfdmFs aWRdICpFUlJPUiogRURJRCBjaGVja3N1bSBpcwo+PiBpbnZhbGlkLCByZW1haW5kZXIgaXMgMTMw Cj4+IFsgMTg1Ni4yMTg4NjNdIFJhdyBFRElEOgo+PiBbIDE4NTYuMjE4ODYzXSAgICAgMDAgZmYg ZmYgZmYgZmYgZmYgZmYgMDAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYKPj4gWyAxODU2LjIxODg2 M10gICAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmCj4+ IFsgMTg1Ni4yMTg4NjNdICAgICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBm ZiBmZiBmZiBmZgo+PiBbIDE4NTYuMjE4ODYzXSAgICAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYg ZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYKPj4gWyAxODU2LjIxODg2M10gICAgIGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmCj4+IFsgMTg1Ni4yMTg4NjNdICAg ICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZgo+PiBbIDE4 NTYuMjE4ODYzXSAgICAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYg ZmYgZmYKPj4gWyAxODU2LjIxODg2M10gICAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmIGZmIGZmCj4+IFsgMTg1Ni4yMTg4NjNdIGk5MTUgMDAwMDowMDowMi4wOiBI RE1JLUEtMTogRURJRCBibG9jayAwIGludmFsaWQuCj4KPiBQYXZlbCwgTWFydGluLCBkbyB5b3Ug YWx3YXlzIHNlZSB0aGlzIHdoZW4gdGhlIGRpc3BsYXkgZmFpbHMgdG8gcmVzdW1lPwo+IElzIGl0 IEhETUkvRFZJIGZvciBib3RoIG9mIHlvdT8KClBsZWFzZSB0cnkgdGhpcyBwYXRjaCwgYmFja3Bv cnRlZCBmcm9tIG91ciBuZXh0LgoKQlIsCkphbmkuCgpGcm9tIGM1Y2VjN2IyZGYxYTUxOGE2MzI5 OThhZWNkNmY3M2YzZmVmZTU5ZWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IERhdmlk IFdlaW5laGFsbCA8ZGF2aWQud2VpbmVoYWxsQGxpbnV4LmludGVsLmNvbT4KRGF0ZTogV2VkLCAx NyBBdWcgMjAxNiAxNTo0Nzo0OCArMDMwMApTdWJqZWN0OiBbUEFUQ0hdIFJldmVydCAiZHJtL2k5 MTU6IENoZWNrIGxpdmUgc3RhdHVzIGJlZm9yZSByZWFkaW5nIGVkaWQiCk9yZ2FuaXphdGlvbjog SW50ZWwgRmlubGFuZCBPeSAtIEJJQyAwMzU3NjA2LTQgLSBXZXN0ZW5kaW5rYXR1IDcsIDAyMTYw IEVzcG9vCkNjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgoKVGhpcyByZXZl cnRzIGNvbW1pdCAyMzdlZDg2YzY5M2Q4YThlNGRiNDc2OTc2YWViMzBkZjRkZWFjNzRiLgoKT3Vy IGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb2YgbGl2ZSBzdGF0dXMgY2hlY2sgKHJlcGVhdCA5IHRp bWVzCndpdGggMTBtcyBkZWxheXMgYmV0d2VlbiBlYWNoIGF0dGVtcHQgYXMgYSB3b3JrYXJvdW5k IGZvcgpidWdneSBkaXNwbGF5cykgaW1wb3NlcyBhIHJhdGhlciBzZXJpb3VzIHBlbmFsdHksIHRp bWUgd2lzZSwKb24gaW50ZWxfaGRtaV9kZXRlY3QoKS4gIFNpbmNlIHdlIHdlIGFscmVhZHkgc2tp cCBsaXZlIHN0YXR1cwpjaGVja3Mgb24gcGxhdGZvcm1zIGJlZm9yZSBnZW4gNywgYW5kIHNpbmNl IHdlIHNlZW0gdG8gaGF2ZQpjb3BlZCBxdWl0ZSB3ZWxsIGJlZm9yZSB0aGUgbGl2ZSBzdGF0dXMg Y2hlY2sgd2FzIGludHJvZHVjZWQKZm9yIG5ld2VyIHBsYXRmb3JtcyB0b28sIHRoZSBwcmV2aW91 cyBiZWhhdmlvdXIgaXMgcHJvYmFibHkKcHJlZmVyYWJsZSwgYXQgbGVhc3QgdW5sZXNzIHNvbWVv bmUgY2FuIHBvaW50IHRvIGEgdXNlLWNhc2UKdGhhdCB0aGUgbGl2ZSBzdGF0dXMgY2hlY2sgaW1w cm92ZXMgKGFwYXJ0IGZyb20gIkJzcGVjIHNheXMgc28iLikKClNpZ25lZC1vZmYtYnk6IERhdmlk IFdlaW5laGFsbCA8ZGF2aWQud2VpbmVoYWxsQGxpbnV4LmludGVsLmNvbT4KRml4ZXM6IDIzN2Vk ODZjNjkzZCAoImRybS9pOTE1OiBDaGVjayBsaXZlIHN0YXR1cyBiZWZvcmUgcmVhZGluZyBlZGlk IikKRml4ZXM6IGY4ZDAzZWEwMDUzYiAoImRybS9pOTE1OiBpbmNyZWFzZSB0aGUgdHJpZXMgZm9y IEhETUkgaG90cGx1ZyBsaXZlIHN0YXR1cyBjaGVja2luZyIpCkJ1Z3ppbGxhOiBodHRwczovL2J1 Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05NzEzOQpCdWd6aWxsYTogaHR0cHM6 Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQwMTQKQWNrZWQtYnk6IENo cmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogc3RhYmxlQHZnZXIua2Vy bmVsLm9yZyAjIHY0LjQrClNpZ25lZC1vZmYtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBp bnRlbC5jb20+Ckxpbms6IGh0dHA6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoL21z Z2lkLzIwMTYwODE3MTI0NzQ4LjMxMjA4LTEtZGF2aWQud2VpbmVoYWxsQGxpbnV4LmludGVsLmNv bQoKQ29uZmxpY3RzOgoJZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmggIHwgIDIgLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWku YyB8IDQzICsrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMyBmaWxlcyBj aGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHAuYwppbmRleCAyMWIwNGMzZWRhNDEuLjgxYzliODliN2EzOCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcC5jCkBAIC00MTQ4LDcgKzQxNDgsNyBAQCBzdGF0aWMgYm9vbCBieHRfZGlnaXRhbF9w b3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAgKgogICog UmV0dXJuICV0cnVlIGlmIEBwb3J0IGlzIGNvbm5lY3RlZCwgJWZhbHNlIG90aGVyd2lzZS4KICAq LwotYm9vbCBpbnRlbF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKK3N0YXRpYyBib29sIGludGVsX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCQkgc3RydWN0IGludGVsX2Rp Z2l0YWxfcG9ydCAqcG9ydCkKIHsKIAlpZiAoSEFTX1BDSF9JQlgoZGV2X3ByaXYpKQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaAppbmRleCBmZjM5OWI5YTVjMWYuLjJjNzQyMTNhODQ2NyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTEzODcsOCArMTM4Nyw2IEBAIHZvaWQgaW50ZWxfZWRw X2RycnNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKIHZvaWQgaW50ZWxfZWRw X2RycnNfaW52YWxpZGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQl1bnNpZ25lZCBmcm9u dGJ1ZmZlcl9iaXRzKTsKIHZvaWQgaW50ZWxfZWRwX2RycnNfZmx1c2goc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdW5zaWduZWQgZnJvbnRidWZmZXJfYml0cyk7Ci1ib29sIGludGVsX2RpZ2l0YWxf cG9ydF9jb25uZWN0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAotCQkJCQkg c3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqcG9ydCk7CiAKIHZvaWQKIGludGVsX2RwX3Byb2dy YW1fbGlua190cmFpbmluZ19wYXR0ZXJuKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9oZG1pLmMKaW5kZXggNGRmOWYzODQ5MTBjLi5jM2FhOWU2NzBkMTUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKQEAgLTE0MjIsMjQgKzE0MjIsMjIgQEAgaW50ZWxf aGRtaV9kcF9kdWFsX21vZGVfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Is IGJvb2wgaGFzX2VkaWQpCiB9CiAKIHN0YXRpYyBib29sCi1pbnRlbF9oZG1pX3NldF9lZGlkKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wgZm9yY2UpCitpbnRlbF9oZG1pX3Nl dF9lZGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiB7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmRldik7CiAJc3RydWN0 IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBpbnRlbF9hdHRhY2hlZF9oZG1pKGNvbm5lY3Rvcik7 Ci0Jc3RydWN0IGVkaWQgKmVkaWQgPSBOVUxMOworCXN0cnVjdCBlZGlkICplZGlkOwogCWJvb2wg Y29ubmVjdGVkID0gZmFsc2U7CiAKLQlpZiAoZm9yY2UpIHsKLQkJaW50ZWxfZGlzcGxheV9wb3dl cl9nZXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9HTUJVUyk7CisJaW50ZWxfZGlzcGxheV9wb3dl cl9nZXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9HTUJVUyk7CiAKLQkJZWRpZCA9IGRybV9nZXRf ZWRpZChjb25uZWN0b3IsCi0JCQkJICAgIGludGVsX2dtYnVzX2dldF9hZGFwdGVyKGRldl9wcml2 LAotCQkJCSAgICBpbnRlbF9oZG1pLT5kZGNfYnVzKSk7CisJZWRpZCA9IGRybV9nZXRfZWRpZChj b25uZWN0b3IsCisJCQkgICAgaW50ZWxfZ21idXNfZ2V0X2FkYXB0ZXIoZGV2X3ByaXYsCisJCQkg ICAgaW50ZWxfaGRtaS0+ZGRjX2J1cykpOwogCi0JCWludGVsX2hkbWlfZHBfZHVhbF9tb2RlX2Rl dGVjdChjb25uZWN0b3IsIGVkaWQgIT0gTlVMTCk7CisJaW50ZWxfaGRtaV9kcF9kdWFsX21vZGVf ZGV0ZWN0KGNvbm5lY3RvciwgZWRpZCAhPSBOVUxMKTsKIAotCQlpbnRlbF9kaXNwbGF5X3Bvd2Vy X3B1dChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX0dNQlVTKTsKLQl9CisJaW50ZWxfZGlzcGxheV9w b3dlcl9wdXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9HTUJVUyk7CiAKIAl0b19pbnRlbF9jb25u ZWN0b3IoY29ubmVjdG9yKS0+ZGV0ZWN0X2VkaWQgPSBlZGlkOwogCWlmIChlZGlkICYmIGVkaWQt PmlucHV0ICYgRFJNX0VESURfSU5QVVRfRElHSVRBTCkgewpAQCAtMTQ2NSwzNyArMTQ2MywxNiBA QCBzdGF0aWMgZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cwogaW50ZWxfaGRtaV9kZXRlY3Qoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgYm9vbCBmb3JjZSkKIHsKIAllbnVtIGRybV9j b25uZWN0b3Jfc3RhdHVzIHN0YXR1czsKLQlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9 IGludGVsX2F0dGFjaGVkX2hkbWkoY29ubmVjdG9yKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+ZGV2KTsKLQlib29sIGxpdmVfc3RhdHVz ID0gZmFsc2U7Ci0JdW5zaWduZWQgaW50IHRyeTsKIAogCURSTV9ERUJVR19LTVMoIltDT05ORUNU T1I6JWQ6JXNdXG4iLAogCQkgICAgICBjb25uZWN0b3ItPmJhc2UuaWQsIGNvbm5lY3Rvci0+bmFt ZSk7CiAKIAlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX0dN QlVTKTsKIAotCWZvciAodHJ5ID0gMDsgIWxpdmVfc3RhdHVzICYmIHRyeSA8IDk7IHRyeSsrKSB7 Ci0JCWlmICh0cnkpCi0JCQltc2xlZXAoMTApOwotCQlsaXZlX3N0YXR1cyA9IGludGVsX2RpZ2l0 YWxfcG9ydF9jb25uZWN0ZWQoZGV2X3ByaXYsCi0JCQkJaGRtaV90b19kaWdfcG9ydChpbnRlbF9o ZG1pKSk7Ci0JfQotCi0JaWYgKCFsaXZlX3N0YXR1cykgewotCQlEUk1fREVCVUdfS01TKCJIRE1J IGxpdmUgc3RhdHVzIGRvd25cbiIpOwotCQkvKgotCQkgKiBMaXZlIHN0YXR1cyByZWdpc3RlciBp cyBub3QgcmVsaWFibGUgb24gYWxsIGludGVsIHBsYXRmb3Jtcy4KLQkJICogU28gY29uc2lkZXIg bGl2ZV9zdGF0dXMgb25seSBmb3IgY2VydGFpbiBwbGF0Zm9ybXMsIGZvcgotCQkgKiBvdGhlcnMs IHJlYWQgRURJRCB0byBkZXRlcm1pbmUgcHJlc2VuY2Ugb2Ygc2luay4KLQkJICovCi0JCWlmIChJ TlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuIDwgNyB8fCBJU19JVllCUklER0UoZGV2X3ByaXYpKQot CQkJbGl2ZV9zdGF0dXMgPSB0cnVlOwotCX0KLQogCWludGVsX2hkbWlfdW5zZXRfZWRpZChjb25u ZWN0b3IpOwogCi0JaWYgKGludGVsX2hkbWlfc2V0X2VkaWQoY29ubmVjdG9yLCBsaXZlX3N0YXR1 cykpIHsKKwlpZiAoaW50ZWxfaGRtaV9zZXRfZWRpZChjb25uZWN0b3IpKSB7CiAJCXN0cnVjdCBp bnRlbF9oZG1pICppbnRlbF9oZG1pID0gaW50ZWxfYXR0YWNoZWRfaGRtaShjb25uZWN0b3IpOwog CiAJCWhkbWlfdG9fZGlnX3BvcnQoaW50ZWxfaGRtaSktPmJhc2UudHlwZSA9IElOVEVMX09VVFBV VF9IRE1JOwpAQCAtMTUyMSw3ICsxNDk4LDcgQEAgaW50ZWxfaGRtaV9mb3JjZShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCWlmIChjb25uZWN0b3ItPnN0YXR1cyAhPSBjb25uZWN0 b3Jfc3RhdHVzX2Nvbm5lY3RlZCkKIAkJcmV0dXJuOwogCi0JaW50ZWxfaGRtaV9zZXRfZWRpZChj b25uZWN0b3IsIHRydWUpOworCWludGVsX2hkbWlfc2V0X2VkaWQoY29ubmVjdG9yKTsKIAloZG1p X3RvX2RpZ19wb3J0KGludGVsX2hkbWkpLT5iYXNlLnR5cGUgPSBJTlRFTF9PVVRQVVRfSERNSTsK IH0KIAotLSAKMi4xLjQKCgoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNo bm9sb2d5IENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761995AbcINLQ3 (ORCPT ); Wed, 14 Sep 2016 07:16:29 -0400 Received: from mga06.intel.com ([134.134.136.31]:55717 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933241AbcINLOj (ORCPT ); Wed, 14 Sep 2016 07:14:39 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.30,333,1470726000"; d="scan'208";a="1055805479" From: Jani Nikula To: Pavel Machek , Martin Steigerwald Cc: kernel list , daniel.vetter@intel.com, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, "Rafael J. Wysocki" Subject: Re: 4.8-rc1: it is now common that machine needs re-run of xrandr after resume In-Reply-To: <87h99isuv2.fsf@intel.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20160913202350.GA30707@amd> <20160913210437.GA4097@amd> <87y42vrkwl.fsf@intel.com> <20160914075410.GA7540@amd> <87h99isuv2.fsf@intel.com> User-Agent: Notmuch/0.22.1+63~g648dcc7 (https://notmuchmail.org) Emacs/24.4.1 (x86_64-pc-linux-gnu) Date: Wed, 14 Sep 2016 14:14:35 +0300 Message-ID: <87h99iraw4.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 14 Sep 2016, Jani Nikula wrote: > On Wed, 14 Sep 2016, Pavel Machek wrote: >> For the "sometimes need xrandr after resume": I don't think I can >> bisect that. It only happens sometimes :-(. But there's something >> helpful in the logs: > >> [ 1856.218863] [drm:drm_edid_block_valid] *ERROR* EDID checksum is >> invalid, remainder is 130 >> [ 1856.218863] Raw EDID: >> [ 1856.218863] 00 ff ff ff ff ff ff 00 ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] [drm:drm_edid_block_valid] *ERROR* EDID checksum is >> invalid, remainder is 130 >> [ 1856.218863] Raw EDID: >> [ 1856.218863] 00 ff ff ff ff ff ff 00 ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] [drm:drm_edid_block_valid] *ERROR* EDID checksum is >> invalid, remainder is 130 >> [ 1856.218863] Raw EDID: >> [ 1856.218863] 00 ff ff ff ff ff ff 00 ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] [drm:drm_edid_block_valid] *ERROR* EDID checksum is >> invalid, remainder is 130 >> [ 1856.218863] Raw EDID: >> [ 1856.218863] 00 ff ff ff ff ff ff 00 ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >> [ 1856.218863] i915 0000:00:02.0: HDMI-A-1: EDID block 0 invalid. > > Pavel, Martin, do you always see this when the display fails to resume? > Is it HDMI/DVI for both of you? Please try this patch, backported from our next. BR, Jani. >>From c5cec7b2df1a518a632998aecd6f73f3fefe59ec Mon Sep 17 00:00:00 2001 From: David Weinehall Date: Wed, 17 Aug 2016 15:47:48 +0300 Subject: [PATCH] Revert "drm/i915: Check live status before reading edid" Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo Cc: Jani Nikula This reverts commit 237ed86c693d8a8e4db476976aeb30df4deac74b. Our current implementation of live status check (repeat 9 times with 10ms delays between each attempt as a workaround for buggy displays) imposes a rather serious penalty, time wise, on intel_hdmi_detect(). Since we we already skip live status checks on platforms before gen 7, and since we seem to have coped quite well before the live status check was introduced for newer platforms too, the previous behaviour is probably preferable, at least unless someone can point to a use-case that the live status check improves (apart from "Bspec says so".) Signed-off-by: David Weinehall Fixes: 237ed86c693d ("drm/i915: Check live status before reading edid") Fixes: f8d03ea0053b ("drm/i915: increase the tries for HDMI hotplug live status checking") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97139 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94014 Acked-by: Chris Wilson Cc: stable@vger.kernel.org # v4.4+ Signed-off-by: Jani Nikula Link: http://patchwork.freedesktop.org/patch/msgid/20160817124748.31208-1-david.weinehall@linux.intel.com Conflicts: drivers/gpu/drm/i915/intel_drv.h --- drivers/gpu/drm/i915/intel_dp.c | 2 +- drivers/gpu/drm/i915/intel_drv.h | 2 -- drivers/gpu/drm/i915/intel_hdmi.c | 43 +++++++++------------------------------ 3 files changed, 11 insertions(+), 36 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 21b04c3eda41..81c9b89b7a38 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -4148,7 +4148,7 @@ static bool bxt_digital_port_connected(struct drm_i915_private *dev_priv, * * Return %true if @port is connected, %false otherwise. */ -bool intel_digital_port_connected(struct drm_i915_private *dev_priv, +static bool intel_digital_port_connected(struct drm_i915_private *dev_priv, struct intel_digital_port *port) { if (HAS_PCH_IBX(dev_priv)) diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index ff399b9a5c1f..2c74213a8467 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h @@ -1387,8 +1387,6 @@ void intel_edp_drrs_disable(struct intel_dp *intel_dp); void intel_edp_drrs_invalidate(struct drm_device *dev, unsigned frontbuffer_bits); void intel_edp_drrs_flush(struct drm_device *dev, unsigned frontbuffer_bits); -bool intel_digital_port_connected(struct drm_i915_private *dev_priv, - struct intel_digital_port *port); void intel_dp_program_link_training_pattern(struct intel_dp *intel_dp, diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index 4df9f384910c..c3aa9e670d15 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c @@ -1422,24 +1422,22 @@ intel_hdmi_dp_dual_mode_detect(struct drm_connector *connector, bool has_edid) } static bool -intel_hdmi_set_edid(struct drm_connector *connector, bool force) +intel_hdmi_set_edid(struct drm_connector *connector) { struct drm_i915_private *dev_priv = to_i915(connector->dev); struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector); - struct edid *edid = NULL; + struct edid *edid; bool connected = false; - if (force) { - intel_display_power_get(dev_priv, POWER_DOMAIN_GMBUS); + intel_display_power_get(dev_priv, POWER_DOMAIN_GMBUS); - edid = drm_get_edid(connector, - intel_gmbus_get_adapter(dev_priv, - intel_hdmi->ddc_bus)); + edid = drm_get_edid(connector, + intel_gmbus_get_adapter(dev_priv, + intel_hdmi->ddc_bus)); - intel_hdmi_dp_dual_mode_detect(connector, edid != NULL); + intel_hdmi_dp_dual_mode_detect(connector, edid != NULL); - intel_display_power_put(dev_priv, POWER_DOMAIN_GMBUS); - } + intel_display_power_put(dev_priv, POWER_DOMAIN_GMBUS); to_intel_connector(connector)->detect_edid = edid; if (edid && edid->input & DRM_EDID_INPUT_DIGITAL) { @@ -1465,37 +1463,16 @@ static enum drm_connector_status intel_hdmi_detect(struct drm_connector *connector, bool force) { enum drm_connector_status status; - struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector); struct drm_i915_private *dev_priv = to_i915(connector->dev); - bool live_status = false; - unsigned int try; DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", connector->base.id, connector->name); intel_display_power_get(dev_priv, POWER_DOMAIN_GMBUS); - for (try = 0; !live_status && try < 9; try++) { - if (try) - msleep(10); - live_status = intel_digital_port_connected(dev_priv, - hdmi_to_dig_port(intel_hdmi)); - } - - if (!live_status) { - DRM_DEBUG_KMS("HDMI live status down\n"); - /* - * Live status register is not reliable on all intel platforms. - * So consider live_status only for certain platforms, for - * others, read EDID to determine presence of sink. - */ - if (INTEL_INFO(dev_priv)->gen < 7 || IS_IVYBRIDGE(dev_priv)) - live_status = true; - } - intel_hdmi_unset_edid(connector); - if (intel_hdmi_set_edid(connector, live_status)) { + if (intel_hdmi_set_edid(connector)) { struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector); hdmi_to_dig_port(intel_hdmi)->base.type = INTEL_OUTPUT_HDMI; @@ -1521,7 +1498,7 @@ intel_hdmi_force(struct drm_connector *connector) if (connector->status != connector_status_connected) return; - intel_hdmi_set_edid(connector, true); + intel_hdmi_set_edid(connector); hdmi_to_dig_port(intel_hdmi)->base.type = INTEL_OUTPUT_HDMI; } -- 2.1.4 -- Jani Nikula, Intel Open Source Technology Center