From mboxrd@z Thu Jan 1 00:00:00 1970 From: Martin Peres Subject: [RFC PATCH xserver] modesetting: re-set the crtc's mode when link-status goes BAD Date: Thu, 26 Jan 2017 14:37:28 +0200 Message-ID: <20170126123728.5680-1-martin.peres@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0F6DB6EB69 for ; Thu, 26 Jan 2017 12:37:41 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: xorg-devel@lists.x.org Cc: Manasi Navare , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RGVzcGl0ZSBhbGwgdGhlIGNhcmVmdWwgcGxhbmluZyBvZiB0aGUga2VybmVsLCBhIGxpbmsgbWF5 IGJlY29tZQppbnN1ZmZpY2llbnQgdG8gaGFuZGxlIHRoZSBjdXJyZW50bHktc2V0IG1vZGUuIEF0 IHRoaXMgcG9pbnQsIHRoZQprZXJuZWwgc2hvdWxkIG1hcmsgdGhpcyBwYXJ0aWN1bGFyIGNvbmZp Z3VyYXRpb24gYXMgYmVpbmcgYnJva2VuCmFuZCBwb3RlbnRpYWxseSBwcnVuZSB0aGUgbW9kZSBi ZWZvcmUgc2V0dGluZyB0aGUgb2ZmZW5kaW5nIGNvbm5lY3RvcidzCmxpbmstc3RhdHVzIHRvIEJB RCBhbmQgc2VuZCB0aGUgdXNlcnNwYWNlIGEgaG90cGx1ZyBldmVudC4gVGhpcyBtYXkKaGFwcGVu IHJpZ2h0IGFmdGVyIGEgbW9kZXNldCBvciBsYXRlciBvbi4KCldoZW4gYXZhaWxhYmxlLCB3ZSBz aG91bGQgdXNlIHRoZSBsaW5rLXN0YXR1cyBpbmZvcm1hdGlvbiB0byByZXNldAp0aGUgd2FudGVk IG1vZGUuCgpTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gUGVyZXMgPG1hcnRpbi5wZXJlc0BsaW51eC5p bnRlbC5jb20+Ci0tLQoKV0FSTklORzogVGhlIHBhdGNoZXMgaGF2ZSBub3QgYmVlbiBtZXJnZWQg aW4gdGhlIGtlcm5lbCB5ZXQsIHNvIHRoaXMgcGF0Y2ggaXMKbWVyZWx5IGFuIFJGQy4KClRoaXMg cGF0Y2ggaXMgdGhlIHJlc3VsdCBvZiBkaXNjdXNzaW9ucyBoYXBwZW5pbmcgbW9zdGx5IGluIERS SS1kZXZlbCBhbmQKSW50ZWwtR0ZYIG9uIGhvdyB0byBoYW5kbGUgbGluayB0cmFpbmluZyBmYWls dXJlcy4gSSB3b3VsZCBhZHZpc2UgcmVhZGluZyB0aGUKdGhyZWFkIFswXSBmaXJzdCBhbmQgdGhl biB0aGlzIHRocmVhZCBbMV0gd2hpY2ggZXhwbGFpbiBpbiBncmVhdCBsZW5ndGggd2h5IHRoaXMK aXMgbmVlZGVkIGFuZCB3aHkgdGhlIHNlbGVjdGVkIGFwcHJvYWNoIHNlZW1zIHRvIGJlIHRoZSBi ZXN0LgoKVGhlIHJlbGV2YW50IGtlcm5lbCBwYXRjaGVzICsgdGhpcyBwYXRjaCBhcmUgZW5vdWdo IHRvIHBhc3MgdGhlIHJlbGV2YW50CkRpc3BsYXlQb3J0IGNvbXBsaWFuY2UgdGVzdHMsIHByb3Zp ZGVkIHRoYXQgdGhlIERlc2t0b3AgRW52aXJvbm1lbnQgb3IgYW5vdGhlcgpwcm9ncmFtIChbMl0/ KSBwcm92aWRlcyB0aGUgaW5pdGlhbCBtb2Rlc2V0dGluZyBvbiBob3RwbHVnLgoKV291bGQgdGhp cyBwYXRjaCBiZSBhY2NlcHRhYmxlIHRvIHlvdT8gQW55IGNvbW1lbnRzIG9yIHN1Z2dlc3Rpb25z PwoKWzBdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2RyaS1kZXZlbC8y MDE2LU5vdmVtYmVyLzEyMzM2Ni5odG1sClsxXSBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9hcmNoaXZlcy9kcmktZGV2ZWwvMjAxNi1Ob3ZlbWJlci8xMjQ3MzYuaHRtbApbMl0gaHR0cHM6 Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9+bXBlcmVzL2F1dG8tcmFuZHIvCgoKIGh3L3hmcmVlODYv ZHJpdmVycy9tb2Rlc2V0dGluZy9kcm1tb2RlX2Rpc3BsYXkuYyB8IDUxICsrKysrKysrKysrKysr KysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDUxIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQg YS9ody94ZnJlZTg2L2RyaXZlcnMvbW9kZXNldHRpbmcvZHJtbW9kZV9kaXNwbGF5LmMgYi9ody94 ZnJlZTg2L2RyaXZlcnMvbW9kZXNldHRpbmcvZHJtbW9kZV9kaXNwbGF5LmMKaW5kZXggNmU3NTVl OTQ4Mi4uMzE0NDYyMGM2NyAxMDA2NDQKLS0tIGEvaHcveGZyZWU4Ni9kcml2ZXJzL21vZGVzZXR0 aW5nL2RybW1vZGVfZGlzcGxheS5jCisrKyBiL2h3L3hmcmVlODYvZHJpdmVycy9tb2Rlc2V0dGlu Zy9kcm1tb2RlX2Rpc3BsYXkuYwpAQCAtMjI2Miw2ICsyMjYyLDEwIEBAIGRybW1vZGVfc2V0dXBf Y29sb3JtYXAoU2NyZWVuUHRyIHBTY3JlZW4sIFNjcm5JbmZvUHRyIHBTY3JuKQogfQogCiAjaWZk ZWYgQ09ORklHX1VERVZfS01TCisKKyNkZWZpbmUgRFJNX01PREVfTElOS19TVEFUVVNfR09PRCAg ICAgICAwCisjZGVmaW5lIERSTV9NT0RFX0xJTktfU1RBVFVTX0JBRCAgICAgICAgMQorCiBzdGF0 aWMgdm9pZAogZHJtbW9kZV9oYW5kbGVfdWV2ZW50cyhpbnQgZmQsIHZvaWQgKmNsb3N1cmUpCiB7 CkBAIC0yMjgxLDYgKzIyODUsNDkgQEAgZHJtbW9kZV9oYW5kbGVfdWV2ZW50cyhpbnQgZmQsIHZv aWQgKmNsb3N1cmUpCiAgICAgaWYgKCFmb3VuZCkKICAgICAgICAgcmV0dXJuOwogCisgICAgLyog VHJ5IHRvIHJlLXNldCB0aGUgbW9kZSBvbiBhbGwgdGhlIGNvbm5lY3RvcnMgd2l0aCBhIEJBRCBs aW5rLXN0YXRlOgorICAgICAqIFRoaXMgbWF5IGhhcHBlbiBpZiBhIGxpbmsgZGVncmFkZXMgYW5k IGEgbmV3IG1vZGVzZXQgaXMgbmVjZXNzYXJ5LCB1c2luZworICAgICAqIGRpZmZlcmVudCBsaW5r LXRyYWluaW5nIHBhcmFtZXRlcnMuIElmIHRoZSBrZXJuZWwgZm91bmQgdGhhdCB0aGUgY3VycmVu dAorICAgICAqIG1vZGUgaXMgbm90IGFjaGlldmFibGUgYW55bW9yZSwgaXQgc2hvdWxkIGhhdmUg cHJ1bmVkIHRoZSBtb2RlIGJlZm9yZQorICAgICAqIHNlbmRpbmcgdGhlIGhvdHBsdWcgZXZlbnQu IFRyeSB0byByZS1zZXQgdGhlIGN1cnJlbnRseS1zZXQgbW9kZSB0byBrZWVwCisgICAgICogdGhl IGRpc3BsYXkgYWxpdmUsIHRoaXMgd2lsbCBmYWlsIGlmIHRoZSBtb2RlIGhhcyBiZWVuIHBydW5l ZC4KKyAgICAgKiBJbiBhbnkgY2FzZSwgd2Ugd2lsbCBzZW5kIHJhbmRyIGV2ZW50cyBmb3IgdGhl IERlc2t0b3AgRW52aXJvbm1lbnQgdG8KKyAgICAgKiBkZWFsIHdpdGggaXQsIGlmIGl0IHdhbnRz IHRvLgorICAgICAqLworICAgIGZvciAoaSA9IDA7IGkgPCBjb25maWctPm51bV9vdXRwdXQ7IGkr KykgeworICAgICAgICB4Zjg2T3V0cHV0UHRyIG91dHB1dCA9IGNvbmZpZy0+b3V0cHV0W2ldOwor ICAgICAgICBkcm1tb2RlX291dHB1dF9wcml2YXRlX3B0ciBkcm1tb2RlX291dHB1dCA9IG91dHB1 dC0+ZHJpdmVyX3ByaXZhdGU7CisgICAgICAgIHVpbnQzMl90IGNvbl9pZCA9IGRybW1vZGVfb3V0 cHV0LT5tb2RlX291dHB1dC0+Y29ubmVjdG9yX2lkOworICAgICAgICBkcm1Nb2RlQ29ubmVjdG9y UHRyIGtvdXRwdXQ7CisKKyAgICAgICAgLyogR2V0IGFuIHVwZGF0ZWQgdmlldyBvZiB0aGUgcHJv cGVydGllcyBmb3IgdGhlIGN1cnJlbnQgY29ubmVjdG9yIGFuZAorICAgICAgICAgKiBsb29rIGZv ciB0aGUgbGluay1zdGF0dXMgcHJvcGVydHkKKyAgICAgICAgICovCisgICAgICAgIGtvdXRwdXQg PSBkcm1Nb2RlR2V0Q29ubmVjdG9yQ3VycmVudChkcm1tb2RlLT5mZCwgY29uX2lkKTsKKyAgICAg ICAgZm9yIChqID0gMDsga291dHB1dCAmJiBqIDwga291dHB1dC0+Y291bnRfcHJvcHM7IGorKykg eworICAgICAgICAgICAgZHJtTW9kZVByb3BlcnR5UHRyIHByb3BzOworICAgICAgICAgICAgcHJv cHMgPSBkcm1Nb2RlR2V0UHJvcGVydHkoZHJtbW9kZS0+ZmQsIGtvdXRwdXQtPnByb3BzW2pdKTsK KyAgICAgICAgICAgIGlmIChwcm9wcyAmJiBwcm9wcy0+ZmxhZ3MgJiBEUk1fTU9ERV9QUk9QX0VO VU0gJiYKKyAgICAgICAgICAgICAgICAhc3RyY21wKHByb3BzLT5uYW1lLCAibGluay1zdGF0dXMi KSAmJgorICAgICAgICAgICAgICAgIGtvdXRwdXQtPnByb3BfdmFsdWVzW2pdID09IERSTV9NT0RF X0xJTktfU1RBVFVTX0JBRCkgeworICAgICAgICAgICAgICAgIHhmODZDcnRjUHRyIGNydGMgPSBv dXRwdXQtPmNydGM7CisgICAgICAgICAgICAgICAgaWYgKCFjcnRjKQorICAgICAgICAgICAgICAg ICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgIC8qIHRoZSBjb25uZWN0b3IgZ290IGEg bGluayBmYWlsdXJlLCByZS1zZXQgdGhlIGN1cnJlbnQgbW9kZSAqLworICAgICAgICAgICAgICAg IGRybW1vZGVfc2V0X21vZGVfbWFqb3IoY3J0YywgJmNydGMtPm1vZGUsIGNydGMtPnJvdGF0aW9u LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3J0Yy0+eCwgY3J0Yy0+ eSk7CisKKyAgICAgICAgICAgICAgICB4Zjg2RHJ2TXNnKHNjcm4tPnNjcm5JbmRleCwgWF9XQVJO SU5HLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgImhvdHBsdWcgZXZlbnQ6IGNvbm5lY3Rv ciAldSdzIGxpbmstc3RhdGUgaXMgQkFELCAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAi dHJpZWQgcmVzZXR0aW5nIHRoZSBjdXJyZW50IG1vZGUuIFlvdSBtYXkgYmUgbGVmdCIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICJ3aXRoIGEgYmxhY2sgc2NyZWVuIGlmIHRoaXMgZmFpbHMu Li5cbiIsIGNvbl9pZCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBkcm1Nb2RlRnJlZVBy b3BlcnR5KHByb3BzKTsKKyAgICAgICAgfQorICAgICAgICBkcm1Nb2RlRnJlZUNvbm5lY3Rvcihr b3V0cHV0KTsKKyAgICB9CisKICAgICBtb2RlX3JlcyA9IGRybU1vZGVHZXRSZXNvdXJjZXMoZHJt bW9kZS0+ZmQpOwogICAgIGlmICghbW9kZV9yZXMpCiAgICAgICAgIGdvdG8gb3V0OwpAQCAtMjM0 NSw2ICsyMzkyLDEwIEBAIG91dF9mcmVlX3JlczoKIG91dDoKICAgICBSUkdldEluZm8oeGY4NlNj cm5Ub1NjcmVlbihzY3JuKSwgVFJVRSk7CiB9CisKKyN1bmRlZiBEUk1fTU9ERV9MSU5LX1NUQVRV U19CQUQKKyN1bmRlZiBEUk1fTU9ERV9MSU5LX1NUQVRVU19HT09ECisKICNlbmRpZgogCiB2b2lk Ci0tIAoyLjExLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=