From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH v2 3/6] drm/i915/lvds: Restore initial HW state during encoder enabling Date: Tue, 9 Aug 2016 20:21:32 +0300 Message-ID: <1470763294-7183-2-git-send-email-imre.deak@intel.com> References: <1470763294-7183-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 019716E60F for ; Tue, 9 Aug 2016 17:21:42 +0000 (UTC) In-Reply-To: <1470763294-7183-1-git-send-email-imre.deak@intel.com> In-Reply-To: <1470742452-5240-4-git-send-email-imre.deak@intel.com> References: <1470742452-5240-4-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 QXRtIHRoZSBMVkRTIGVuY29kZXIgZGVwZW5kcyBvbiB0aGUgUFBTIEhXIGNvbnRleHQgYmVpbmcg c2F2ZWQvcmVzdG9yZWQKZnJvbSBnZW5lcmljIHN1c3BlbmQvcmVzdW1lIGNvZGUuIFNpbmNlIHRo ZSBQUFMgaXMgc3BlY2lmaWMgdG8gdGhlIExWRFMKYW5kIGVEUCBlbmNvZGVycyBhIGNsZWFuZXIg d2F5IGlzIHRvIHJlaW5pdGlhbGl6ZSBpdCBkdXJpbmcgZW5jb2RlcgplbmFibGluZywgc28gZG8g dGhpcyBoZXJlIGZvciBMVkRTLiBGb2xsb3ctdXAgcGF0Y2hlcyB3aWxsIGluaXQgdGhlIFBQUwpm b3IgdGhlIGVEUCBlbmNvZGVyIHNpbWlsYXJseSBhbmQgcmVtb3ZlIHRoZSBzdXNwZW5kL3Jlc3Vt ZSB0aW1lIHNhdmUgLwpyZXN0b3JlLgoKdjI6Ci0gQXBwbHkgQlNwZWMgKzEgb2Zmc2V0IGFuZCB1 c2UgRElWX1JPVU5EX1VQKCkgd2hlbiBwcm9ncmFtbWluZyB0aGUKcG93ZXIgY3ljbGUgZGVsYXku IChWaWxsZSkKClNpZ25lZC1vZmYtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgfCAgIDEgKwogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jIHwgMTEzICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDEwMSBpbnNlcnRpb25zKCspLCAxMyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRleCA4ODk1MDhmLi5kYTgyNzQ0IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTM3MTAsNiArMzcxMCw3IEBAIGVudW0gewogCiAj ZGVmaW5lIF9QUF9PTl9ERUxBWVMJCQkweDYxMjA4CiAjZGVmaW5lIFBQX09OX0RFTEFZUyhwcHNf aWR4KQkJX01NSU9fUFBTKHBwc19pZHgsIF9QUF9PTl9ERUxBWVMpCisjZGVmaW5lICBQQU5FTF9Q T1JUX1NFTEVDVF9TSElGVAkzMAogI2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfTUFTSwkJKDMg PDwgMzApCiAjZGVmaW5lICBQQU5FTF9QT1JUX1NFTEVDVF9MVkRTCQkoMCA8PCAzMCkKICNkZWZp bmUgIFBBTkVMX1BPUlRfU0VMRUNUX0RQQQkJKDEgPDwgMzApCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s dmRzLmMKaW5kZXggYzU3MzlmYy4uOTM5ZjUxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHZkcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMu YwpAQCAtNDgsNiArNDgsMjAgQEAgc3RydWN0IGludGVsX2x2ZHNfY29ubmVjdG9yIHsKIAlzdHJ1 Y3Qgbm90aWZpZXJfYmxvY2sgbGlkX25vdGlmaWVyOwogfTsKIAorc3RydWN0IGludGVsX2x2ZHNf cHBzIHsKKwkvKiAxMDB1cyB1bml0cyAqLworCWludCB0MV90MjsKKwlpbnQgdDM7CisJaW50IHQ0 OworCWludCB0NTsKKwlpbnQgdHg7CisKKwlpbnQgZGl2aWRlcjsKKworCWludCBwb3J0OworCWJv b2wgcmVzZXRfb25fcG93ZXJkb3duOworfTsKKwogc3RydWN0IGludGVsX2x2ZHNfZW5jb2RlciB7 CiAJc3RydWN0IGludGVsX2VuY29kZXIgYmFzZTsKIApAQCAtNTUsNiArNjksOSBAQCBzdHJ1Y3Qg aW50ZWxfbHZkc19lbmNvZGVyIHsKIAlpOTE1X3JlZ190IHJlZzsKIAl1MzIgYTNfcG93ZXI7CiAK KwlzdHJ1Y3QgaW50ZWxfbHZkc19wcHMgaW5pdF9wcHM7CisJdTMyIGluaXRfbHZkc192YWw7CisK IAlzdHJ1Y3QgaW50ZWxfbHZkc19jb25uZWN0b3IgKmF0dGFjaGVkX2Nvbm5lY3RvcjsKIH07CiAK QEAgLTEzNiw2ICsxNTMsODIgQEAgc3RhdGljIHZvaWQgaW50ZWxfbHZkc19nZXRfY29uZmlnKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVk X21vZGUuY3J0Y19jbG9jayA9IHBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrOwogfQogCitzdGF0aWMg dm9pZCBpbnRlbF9sdmRzX3Bwc19nZXRfaHdfc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAorCQkJCQlzdHJ1Y3QgaW50ZWxfbHZkc19wcHMgKnBwcykKK3sKKwl1MzIgdmFs OworCisJcHBzLT5yZXNldF9vbl9wb3dlcmRvd24gPSBJOTE1X1JFQUQoUFBfQ09OVFJPTCgwKSkg JiBQQU5FTF9QT1dFUl9SRVNFVDsKKworCXZhbCA9IEk5MTVfUkVBRChQUF9PTl9ERUxBWVMoMCkp OworCXBwcy0+cG9ydCA9ICh2YWwgJiBQQU5FTF9QT1JUX1NFTEVDVF9NQVNLKSA+PgorCQkgICAg UEFORUxfUE9SVF9TRUxFQ1RfU0hJRlQ7CisJcHBzLT50MV90MiA9ICh2YWwgJiBQQU5FTF9QT1dF Ul9VUF9ERUxBWV9NQVNLKSA+PgorCQkgICAgIFBBTkVMX1BPV0VSX1VQX0RFTEFZX1NISUZUOwor CXBwcy0+dDUgPSAodmFsICYgUEFORUxfTElHSFRfT05fREVMQVlfTUFTSykgPj4KKwkJICBQQU5F TF9MSUdIVF9PTl9ERUxBWV9TSElGVDsKKworCXZhbCA9IEk5MTVfUkVBRChQUF9PRkZfREVMQVlT KDApKTsKKwlwcHMtPnQzID0gKHZhbCAmIFBBTkVMX1BPV0VSX0RPV05fREVMQVlfTUFTSykgPj4K KwkJICBQQU5FTF9QT1dFUl9ET1dOX0RFTEFZX1NISUZUOworCXBwcy0+dHggPSAodmFsICYgUEFO RUxfTElHSFRfT0ZGX0RFTEFZX01BU0spID4+CisJCSAgUEFORUxfTElHSFRfT0ZGX0RFTEFZX1NI SUZUOworCisJdmFsID0gSTkxNV9SRUFEKFBQX0RJVklTT1IoMCkpOworCXBwcy0+ZGl2aWRlciA9 ICh2YWwgJiBQUF9SRUZFUkVOQ0VfRElWSURFUl9NQVNLKSA+PgorCQkgICAgICAgUFBfUkVGRVJF TkNFX0RJVklERVJfU0hJRlQ7CisJdmFsID0gKHZhbCAmIFBBTkVMX1BPV0VSX0NZQ0xFX0RFTEFZ X01BU0spID4+CisJICAgICAgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlfU0hJRlQ7CisJLyoKKwkg KiBSZW1vdmUgdGhlIEJTcGVjIHNwZWNpZmllZCArMSAoMTAwbXMpIG9mZnNldCB0aGF0IGFjY291 bnRzIGZvciBhCisJICogdG9vIHNob3J0IHBvd2VyLWN5Y2xlIGRlbGF5IGR1ZSB0byB0aGUgYXN5 bmNocm9ub3VzIHByb2dyYW1taW5nIG9mCisJICogdGhlIHJlZ2lzdGVyLgorCSAqLworCWlmICh2 YWwpCisJCXZhbC0tOworCS8qIENvbnZlcnQgZnJvbSAxMDBtcyB0byAxMDB1cyB1bml0cyAqLwor CXBwcy0+dDQgPSB2YWwgKiAxMDAwOworCisJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4g PD0gNCAmJgorCSAgICBwcHMtPnQxX3QyID09IDAgJiYgcHBzLT50NSA9PSAwICYmIHBwcy0+dDMg PT0gMCAmJiBwcHMtPnR4ID09IDApIHsKKwkJRFJNX0RFQlVHX0tNUygiUGFuZWwgcG93ZXIgdGlt aW5ncyB1bmluaXRpYWxpemVkLCAiCisJCQkgICAgICAic2V0dGluZyBkZWZhdWx0c1xuIik7CisJ CS8qIFNldCBUMiB0byA0MG1zIGFuZCBUNSB0byAyMDBtcyBpbiAxMDAgdXNlYyB1bml0cyAqLwor CQlwcHMtPnQxX3QyID0gNDAgKiAxMDsKKwkJcHBzLT50NSA9IDIwMCAqIDEwOworCQkvKiBTZXQg VDMgdG8gMzVtcyBhbmQgVHggdG8gMjAwbXMgaW4gMTAwIHVzZWMgdW5pdHMgKi8KKwkJcHBzLT50 MyA9IDM1ICogMTA7CisJCXBwcy0+dHggPSAyMDAgKiAxMDsKKwl9CisKKwlEUk1fREVCVUdfRFJJ VkVSKCJMVkRTIFBQUzp0MSt0MiAlZCB0MyAlZCB0NCAlZCB0NSAlZCB0eCAlZCAiCisJCQkgImRp dmlkZXIgJWQgcG9ydCAlZCByZXNldF9vbl9wb3dlcmRvd24gJWRcbiIsCisJCQkgcHBzLT50MV90 MiwgcHBzLT50MywgcHBzLT50NCwgcHBzLT50NSwgcHBzLT50eCwKKwkJCSBwcHMtPmRpdmlkZXIs IHBwcy0+cG9ydCwgcHBzLT5yZXNldF9vbl9wb3dlcmRvd24pOworfQorCitzdGF0aWMgdm9pZCBp bnRlbF9sdmRzX3Bwc19pbml0X2h3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK KwkJCQkgICBzdHJ1Y3QgaW50ZWxfbHZkc19wcHMgKnBwcykKK3sKKwl1MzIgdmFsOworCisJdmFs ID0gSTkxNV9SRUFEKFBQX0NPTlRST0woMCkpOworCVdBUk5fT04oKHZhbCAmIFBBTkVMX1VOTE9D S19NQVNLKSAhPSBQQU5FTF9VTkxPQ0tfUkVHUyk7CisJaWYgKHBwcy0+cmVzZXRfb25fcG93ZXJk b3duKQorCQl2YWwgfD0gUEFORUxfUE9XRVJfUkVTRVQ7CisJSTkxNV9XUklURShQUF9DT05UUk9M KDApLCB2YWwpOworCisJSTkxNV9XUklURShQUF9PTl9ERUxBWVMoMCksIChwcHMtPnBvcnQgPDwg UEFORUxfUE9SVF9TRUxFQ1RfU0hJRlQpIHwKKwkJCQkgICAgKHBwcy0+dDFfdDIgPDwgUEFORUxf UE9XRVJfVVBfREVMQVlfU0hJRlQpIHwKKwkJCQkgICAgKHBwcy0+dDUgPDwgUEFORUxfTElHSFRf T05fREVMQVlfU0hJRlQpKTsKKwlJOTE1X1dSSVRFKFBQX09GRl9ERUxBWVMoMCksIChwcHMtPnQz IDw8IFBBTkVMX1BPV0VSX0RPV05fREVMQVlfU0hJRlQpIHwKKwkJCQkgICAgIChwcHMtPnR4IDw8 IFBBTkVMX0xJR0hUX09GRl9ERUxBWV9TSElGVCkpOworCisJdmFsID0gcHBzLT5kaXZpZGVyIDw8 IFBQX1JFRkVSRU5DRV9ESVZJREVSX1NISUZUOworCXZhbCB8PSBESVZfUk9VTkRfVVAocHBzLT50 NCArIDEsIDEwMDApIDw8IFBBTkVMX1BPV0VSX0NZQ0xFX0RFTEFZX1NISUZUOworCUk5MTVfV1JJ VEUoUFBfRElWSVNPUigwKSwgdmFsKTsKK30KKwogc3RhdGljIHZvaWQgaW50ZWxfcHJlX2VuYWJs ZV9sdmRzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogewogCXN0cnVjdCBpbnRlbF9s dmRzX2VuY29kZXIgKmx2ZHNfZW5jb2RlciA9IHRvX2x2ZHNfZW5jb2RlcigmZW5jb2Rlci0+YmFz ZSk7CkBAIC0xNTQsNyArMjQ3LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHJlX2VuYWJsZV9sdmRz KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCQlhc3NlcnRfcGxsX2Rpc2FibGVkKGRl dl9wcml2LCBwaXBlKTsKIAl9CiAKLQl0ZW1wID0gSTkxNV9SRUFEKGx2ZHNfZW5jb2Rlci0+cmVn KTsKKwlpbnRlbF9sdmRzX3Bwc19pbml0X2h3KGRldl9wcml2LCAmbHZkc19lbmNvZGVyLT5pbml0 X3Bwcyk7CisKKwl0ZW1wID0gbHZkc19lbmNvZGVyLT5pbml0X2x2ZHNfdmFsOwogCXRlbXAgfD0g TFZEU19QT1JUX0VOIHwgTFZEU19BMEEyX0NMS0FfUE9XRVJfVVA7CiAKIAlpZiAoSEFTX1BDSF9D UFQoZGV2KSkgewpAQCAtOTIyLDE4ICsxMDE3LDYgQEAgdm9pZCBpbnRlbF9sdmRzX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKIAkJRFJNX0RFQlVHX0tNUygiTFZEUyBpcyBub3QgcHJlc2Vu dCBpbiBWQlQsIGJ1dCBlbmFibGVkIGFueXdheVxuIik7CiAJfQogCi0JIC8qIFNldCB0aGUgUGFu ZWwgUG93ZXIgT24vT2ZmIHRpbWluZ3MgaWYgdW5pbml0aWFsaXplZC4gKi8KLQlpZiAoSU5URUxf SU5GTyhkZXZfcHJpdiktPmdlbiA8IDUgJiYKLQkgICAgSTkxNV9SRUFEKFBQX09OX0RFTEFZUygw KSkgPT0gMCAmJiBJOTE1X1JFQUQoUFBfT0ZGX0RFTEFZUygwKSkgPT0gMCkgewotCQkvKiBTZXQg VDIgdG8gNDBtcyBhbmQgVDUgdG8gMjAwbXMgKi8KLQkJSTkxNV9XUklURShQUF9PTl9ERUxBWVMo MCksIDB4MDE5MDA3ZDApOwotCi0JCS8qIFNldCBUMyB0byAzNW1zIGFuZCBUeCB0byAyMDBtcyAq LwotCQlJOTE1X1dSSVRFKFBQX09GRl9ERUxBWVMoMCksIDB4MDE1ZTA3ZDApOwotCi0JCURSTV9E RUJVR19LTVMoIlBhbmVsIHBvd2VyIHRpbWluZ3MgdW5pbml0aWFsaXplZCwgc2V0dGluZyBkZWZh dWx0c1xuIik7Ci0JfQotCiAJbHZkc19lbmNvZGVyID0ga3phbGxvYyhzaXplb2YoKmx2ZHNfZW5j b2RlciksIEdGUF9LRVJORUwpOwogCWlmICghbHZkc19lbmNvZGVyKQogCQlyZXR1cm47CkBAIC05 OTksNiArMTA4MiwxMCBAQCB2b2lkIGludGVsX2x2ZHNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQogCQkJCSAgICAgIGRldi0+bW9kZV9jb25maWcuc2NhbGluZ19tb2RlX3Byb3BlcnR5LAog CQkJCSAgICAgIERSTV9NT0RFX1NDQUxFX0FTUEVDVCk7CiAJaW50ZWxfY29ubmVjdG9yLT5wYW5l bC5maXR0aW5nX21vZGUgPSBEUk1fTU9ERV9TQ0FMRV9BU1BFQ1Q7CisKKwlpbnRlbF9sdmRzX3Bw c19nZXRfaHdfc3RhdGUoZGV2X3ByaXYsICZsdmRzX2VuY29kZXItPmluaXRfcHBzKTsKKwlsdmRz X2VuY29kZXItPmluaXRfbHZkc192YWwgPSBsdmRzOworCiAJLyoKIAkgKiBMVkRTIGRpc2NvdmVy eToKIAkgKiAxKSBjaGVjayBmb3IgRURJRCBvbiBEREMKLS0gCjIuNS4wCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK