From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH 1/4] drm/i915/bxt: Fix PPS lost state after suspend breaking eDP link training Date: Thu, 16 Jun 2016 16:37:20 +0300 Message-ID: <1466084243-5388-2-git-send-email-imre.deak@intel.com> References: <1466084243-5388-1-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 48E5C6E1BB for ; Thu, 16 Jun 2016 13:37:28 +0000 (UTC) In-Reply-To: <1466084243-5388-1-git-send-email-imre.deak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VGhlIFBQUyByZWdpc3RlcnMgYXJlIGJhY2tlZCBieSBwb3dlciB3ZWxsICMwIGFuZCBhcyBzdWNo IG1heSBiZSByZXNldAphZnRlciBzeXN0ZW0gb3IgcnVudGltZSBzdXNwZW5kIChib3RoIGltcGx5 aW5nIGEgcG9zc2libGUgREM5CnRyYW5zaXRpb24pLiBGaXggdGhpcyBieSByZXVzaW5nIHRoZSBW TFYvQ0hWIFBQUyBwaXBlLXJlYXNzaWdubWVudApsb2dpYy4gVGhlIGRpZmZlcmVuY2Ugb24gQlhU IGlzIHRoYXQgdGhlIFBQUyBpbnN0YW5jZXMgYXJlIG5vdCBwaXBlIGJ1dApwb3J0IChvciBtb3Jl IGFjY3VyYXRlbHkgcGluKSBzcGVjaWZpYywgc28gd2Ugb25seSBuZWVkIHRvIGNhcmUgYWJvdXQK dGhlIGxvc3QgSFcgc3RhdGUuIEFzIG9wcG9zZWQgdG8gVkxWL0NIViB0aGUgU1cgc3RhdGUgaXMg Zml4ZWQgYW5kCmluaXRpYWxpemVkIGR1cmluZyBjb25uZWN0b3IgaW5pdC4KClRoaXMgYWxzbyBw YXZlcyB0aGUgd2F5IHRvd2FyZHMgdXNpbmcgdGhlIGFjdHVhbCBwb3J0LT5QUFMgaW5zdGFuY2UK bWFwcGluZyBiYXNlZCBvbiBWQlQuCgpUaGlzIGZpeGVzIGVEUCBsaW5rIHRyYWluaW5nIGVycm9y cyBvbiBCWFQgYWZ0ZXIgc3VzcGVuZCwgd2hlcmUgd2UKc3RhcnRlZCB0aGUgbGluayB0cmFpbmlu ZyB0b28gZWFybHkgZHVlIHRvIGFuIGluY29ycmVjdCBUMyAocGFuZWwgcG93ZXIKb24pIHJlZ2lz dGVyIHZhbHVlLgoKQnVnemlsbGE6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19i dWcuY2dpP2lkPTk2NDM2ClNpZ25lZC1vZmYtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICAgICAgfCA3MSAr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oICAgICAgICB8ICA3ICsrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1 bnRpbWVfcG0uYyB8ICAzICstCiAzIGZpbGVzIGNoYW5nZWQsIDU4IGluc2VydGlvbnMoKyksIDIz IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCmluZGV4IGJlMDgzNTEuLjE5YThi YmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAtNDI2LDYgKzQyNiwzNyBAQCB2bHZfcG93 ZXJfc2VxdWVuY2VyX3BpcGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAlyZXR1cm4gaW50 ZWxfZHAtPnBwc19waXBlOwogfQogCitzdGF0aWMgaW50CitieHRfcG93ZXJfc2VxdWVuY2VyX2lk eChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQoreworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOworCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNlLmRldjsKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCisJbG9ja2Rl cF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPnBwc19tdXRleCk7CisKKwkvKiBXZSBzaG91bGQgbmV2 ZXIgbGFuZCBoZXJlIHdpdGggcmVndWxhciBEUCBwb3J0cyAqLworCVdBUk5fT04oIWlzX2VkcChp bnRlbF9kcCkpOworCisJLyoKKwkgKiBUT0RPOiBCWFQgaGFzIDIgUFBTIGluc3RhbmNlcy4gVGhl IGNvcnJlY3QgcG9ydC0+UFBTIGluc3RhbmNlCisJICogbWFwcGluZyBuZWVkcyB0byBiZSByZXRy aWV2ZWQgZnJvbSBWQlQsIGZvciBub3cganVzdCBoYXJkLWNvZGUgdG8KKwkgKiB1c2UgaW5zdGFu Y2UgIzAgYWx3YXlzLgorCSAqLworCWlmICghaW50ZWxfZHAtPnBwc19yZXNldCkKKwkJcmV0dXJu IDA7CisKKwlpbnRlbF9kcC0+cHBzX3Jlc2V0ID0gZmFsc2U7CisKKwkvKgorCSAqIE9ubHkgdGhl IEhXIG5lZWRzIHRvIGJlIHJlcHJvZ3JhbW1lZCwgdGhlIFNXIHN0YXRlIGlzIGZpeGVkIGFuZAor CSAqIGhhcyBiZWVuIHNldHVwIGR1cmluZyBjb25uZWN0b3IgaW5pdC4KKwkgKi8KKwlpbnRlbF9k cF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoZGV2LCBpbnRlbF9kcCk7CisK KwlyZXR1cm4gMDsKK30KKwogdHlwZWRlZiBib29sICgqdmx2X3BpcGVfY2hlY2spKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCSAgICAgICBlbnVtIHBpcGUgcGlwZSk7CiAK QEAgLTUwNywxMiArNTM4LDEzIEBAIHZsdl9pbml0aWFsX3Bvd2VyX3NlcXVlbmNlcl9zZXR1cChz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCWludGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfc2Vx dWVuY2VyX3JlZ2lzdGVycyhkZXYsIGludGVsX2RwKTsKIH0KIAotdm9pZCB2bHZfcG93ZXJfc2Vx dWVuY2VyX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3ZvaWQgaW50 ZWxfcG93ZXJfc2VxdWVuY2VyX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGV2X3ByaXYtPmRldjsKIAlzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlcjsKIAotCWlmIChXQVJOX09OKCFJU19WQUxMRVlWSUVXKGRl dikgJiYgIUlTX0NIRVJSWVZJRVcoZGV2KSkpCisJaWYgKFdBUk5fT04oIUlTX1ZBTExFWVZJRVco ZGV2KSAmJiAhSVNfQ0hFUlJZVklFVyhkZXYpICYmCisJICAgICFJU19CUk9YVE9OKGRldikpKQog CQlyZXR1cm47CiAKIAkvKgpAQCAtNTMyLDcgKzU2NCwxMCBAQCB2b2lkIHZsdl9wb3dlcl9zZXF1 ZW5jZXJfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQkJY29udGlu dWU7CiAKIAkJaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOwotCQlp bnRlbF9kcC0+cHBzX3BpcGUgPSBJTlZBTElEX1BJUEU7CisJCWlmIChJU19CUk9YVE9OKGRldikp CisJCQlpbnRlbF9kcC0+cHBzX3Jlc2V0ID0gdHJ1ZTsKKwkJZWxzZQorCQkJaW50ZWxfZHAtPnBw c19waXBlID0gSU5WQUxJRF9QSVBFOwogCX0KIH0KIApAQCAtNTQyLDcgKzU3Nyw3IEBAIF9wcF9j dHJsX3JlZyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBpbnRlbF9kcF90b19kZXYoaW50ZWxfZHApOwogCiAJaWYgKElTX0JST1hUT04oZGV2KSkK LQkJcmV0dXJuIEJYVF9QUF9DT05UUk9MKDApOworCQlyZXR1cm4gQlhUX1BQX0NPTlRST0woYnh0 X3Bvd2VyX3NlcXVlbmNlcl9pZHgoaW50ZWxfZHApKTsKIAllbHNlIGlmIChIQVNfUENIX1NQTElU KGRldikpCiAJCXJldHVybiBQQ0hfUFBfQ09OVFJPTDsKIAllbHNlCkBAIC01NTUsNyArNTkwLDcg QEAgX3BwX3N0YXRfcmVnKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7CiAKIAlpZiAoSVNfQlJPWFRP TihkZXYpKQotCQlyZXR1cm4gQlhUX1BQX1NUQVRVUygwKTsKKwkJcmV0dXJuIEJYVF9QUF9TVEFU VVMoYnh0X3Bvd2VyX3NlcXVlbmNlcl9pZHgoaW50ZWxfZHApKTsKIAllbHNlIGlmIChIQVNfUENI X1NQTElUKGRldikpCiAJCXJldHVybiBQQ0hfUFBfU1RBVFVTOwogCWVsc2UKQEAgLTQ3MjIsMTQg KzQ3NTcsMTEgQEAgaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKIAkJcmV0dXJuOwogCiAJaWYgKElTX0JST1hUT04oZGV2KSkgewotCQkv KgotCQkgKiBUT0RPOiBCWFQgaGFzIDIgc2V0cyBvZiBQUFMgcmVnaXN0ZXJzLgotCQkgKiBDb3Jy ZWN0IFJlZ2lzdGVyIGZvciBCcm94dG9uIG5lZWQgdG8gYmUgaWRlbnRpZmllZAotCQkgKiB1c2lu ZyBWQlQuIGhhcmRjb2RpbmcgZm9yIG5vdwotCQkgKi8KLQkJcHBfY3RybF9yZWcgPSBCWFRfUFBf Q09OVFJPTCgwKTsKLQkJcHBfb25fcmVnID0gQlhUX1BQX09OX0RFTEFZUygwKTsKLQkJcHBfb2Zm X3JlZyA9IEJYVF9QUF9PRkZfREVMQVlTKDApOworCQlpbnQgaWR4ID0gYnh0X3Bvd2VyX3NlcXVl bmNlcl9pZHgoaW50ZWxfZHApOworCisJCXBwX2N0cmxfcmVnID0gQlhUX1BQX0NPTlRST0woaWR4 KTsKKwkJcHBfb25fcmVnID0gQlhUX1BQX09OX0RFTEFZUyhpZHgpOworCQlwcF9vZmZfcmVnID0g QlhUX1BQX09GRl9ERUxBWVMoaWR4KTsKIAl9IGVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkg ewogCQlwcF9jdHJsX3JlZyA9IFBDSF9QUF9DT05UUk9MOwogCQlwcF9vbl9yZWcgPSBQQ0hfUFBf T05fREVMQVlTOwpAQCAtNDg0MiwxNCArNDg3NCwxMSBAQCBpbnRlbF9kcF9pbml0X3BhbmVsX3Bv d2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlsb2NrZGVw X2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKIAogCWlmIChJU19CUk9YVE9OKGRl dikpIHsKLQkJLyoKLQkJICogVE9ETzogQlhUIGhhcyAyIHNldHMgb2YgUFBTIHJlZ2lzdGVycy4K LQkJICogQ29ycmVjdCBSZWdpc3RlciBmb3IgQnJveHRvbiBuZWVkIHRvIGJlIGlkZW50aWZpZWQK LQkJICogdXNpbmcgVkJULiBoYXJkY29kaW5nIGZvciBub3cKLQkJICovCi0JCXBwX2N0cmxfcmVn ID0gQlhUX1BQX0NPTlRST0woMCk7Ci0JCXBwX29uX3JlZyA9IEJYVF9QUF9PTl9ERUxBWVMoMCk7 Ci0JCXBwX29mZl9yZWcgPSBCWFRfUFBfT0ZGX0RFTEFZUygwKTsKKwkJaW50IGlkeCA9IGJ4dF9w b3dlcl9zZXF1ZW5jZXJfaWR4KGludGVsX2RwKTsKKworCQlwcF9jdHJsX3JlZyA9IEJYVF9QUF9D T05UUk9MKGlkeCk7CisJCXBwX29uX3JlZyA9IEJYVF9QUF9PTl9ERUxBWVMoaWR4KTsKKwkJcHBf b2ZmX3JlZyA9IEJYVF9QUF9PRkZfREVMQVlTKGlkeCk7CiAKIAl9IGVsc2UgaWYgKEhBU19QQ0hf U1BMSVQoZGV2KSkgewogCQlwcF9vbl9yZWcgPSBQQ0hfUFBfT05fREVMQVlTOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAppbmRleCA4ZGM2N2FkLi44NzA4NDllIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaApAQCAtODY5LDYgKzg2OSwxMSBAQCBzdHJ1Y3QgaW50ZWxfZHAgewogCSAqIHRoaXMg cG9ydC4gT25seSByZWxldmFudCBvbiBWTFYvQ0hWLgogCSAqLwogCWVudW0gcGlwZSBwcHNfcGlw ZTsKKwkvKgorCSAqIFNldCBpZiB0aGUgc2VxdWVuY2VyIG1heSBiZSByZXNldCBkdWUgdG8gYSBw b3dlciB0cmFuc2l0aW9uLAorCSAqIHJlcXVpcmluZyBhIHJlaW5pdGlhbGl6YXRpb24uIE9ubHkg cmVsZXZhbnQgb24gQlhULgorCSAqLworCWJvb2wgcHBzX3Jlc2V0OwogCXN0cnVjdCBlZHBfcG93 ZXJfc2VxIHBwc19kZWxheXM7CiAKIAlib29sIGNhbl9tc3Q7IC8qIHRoaXMgcG9ydCBzdXBwb3J0 cyBtc3QgKi8KQEAgLTEzNDgsNyArMTM1Myw3IEBAIHZvaWQgaW50ZWxfZHBfbXN0X3Jlc3VtZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIGludCBpbnRlbF9kcF9tYXhfbGlua19yYXRlKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHApOwogaW50IGludGVsX2RwX3JhdGVfc2VsZWN0KHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAsIGludCByYXRlKTsKIHZvaWQgaW50ZWxfZHBfaG90X3BsdWcoc3Ry dWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpOwotdm9pZCB2bHZfcG93ZXJfc2VxdWVu Y2VyX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cit2b2lkIGludGVs X3Bvd2VyX3NlcXVlbmNlcl9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp OwogdWludDMyX3QgaW50ZWxfZHBfcGFja19hdXgoY29uc3QgdWludDhfdCAqc3JjLCBpbnQgc3Jj X2J5dGVzKTsKIHZvaWQgaW50ZWxfcGxhbmVfZGVzdHJveShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSk7CiB2b2lkIGludGVsX2VkcF9kcnJzX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwppbmRleCBlODU2ZDQ5Li4y MmI0NmY1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3Bt LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCkBAIC01Nzgs NiArNTc4LDcgQEAgdm9pZCBieHRfZW5hYmxlX2RjOShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCiAKIAlEUk1fREVCVUdfS01TKCJFbmFibGluZyBEQzlcbiIpOwogCisJaW50ZWxf cG93ZXJfc2VxdWVuY2VyX3Jlc2V0KGRldl9wcml2KTsKIAlnZW45X3NldF9kY19zdGF0ZShkZXZf cHJpdiwgRENfU1RBVEVfRU5fREM5KTsKIH0KIApAQCAtMTExMiw3ICsxMTEzLDcgQEAgc3RhdGlj IHZvaWQgdmx2X2Rpc3BsYXlfcG93ZXJfd2VsbF9kZWluaXQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQogCS8qIG1ha2Ugc3VyZSB3ZSdyZSBkb25lIHByb2Nlc3NpbmcgZGlzcGxh eSBpcnFzICovCiAJc3luY2hyb25pemVfaXJxKGRldl9wcml2LT5kZXYtPmlycSk7CiAKLQl2bHZf cG93ZXJfc2VxdWVuY2VyX3Jlc2V0KGRldl9wcml2KTsKKwlpbnRlbF9wb3dlcl9zZXF1ZW5jZXJf cmVzZXQoZGV2X3ByaXYpOwogfQogCiBzdGF0aWMgdm9pZCB2bHZfZGlzcGxheV9wb3dlcl93ZWxs X2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0tIAoyLjUuMAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==