From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH 3/6] drm/i915/lvds: Restore initial HW state during encoder enabling Date: Tue, 9 Aug 2016 14:34:09 +0300 Message-ID: <1470742452-5240-4-git-send-email-imre.deak@intel.com> References: <1470742452-5240-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 mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id DAF656E535 for ; Tue, 9 Aug 2016 11:34:16 +0000 (UTC) In-Reply-To: <1470742452-5240-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 QXRtIHRoZSBMVkRTIGVuY29kZXIgZGVwZW5kcyBvbiB0aGUgUFBTIEhXIGNvbnRleHQgYmVpbmcg c2F2ZWQvcmVzdG9yZWQKZnJvbSBnZW5lcmljIHN1c3BlbmQvcmVzdW1lIGNvZGUuIFNpbmNlIHRo ZSBQUFMgaXMgc3BlY2lmaWMgdG8gdGhlIExWRFMKYW5kIGVEUCBlbmNvZGVycyBhIGNsZWFuZXIg d2F5IGlzIHRvIHJlaW5pdGlhbGl6ZSBpdCBkdXJpbmcgZW5jb2RlcgplbmFibGluZywgc28gZG8g dGhpcyBoZXJlIGZvciBMVkRTLiBGb2xsb3ctdXAgcGF0Y2hlcyB3aWxsIGluaXQgdGhlIFBQUwpm b3IgdGhlIGVEUCBlbmNvZGVyIHNpbWlsYXJseSBhbmQgcmVtb3ZlIHRoZSBzdXNwZW5kL3Jlc3Vt ZSB0aW1lIHNhdmUgLwpyZXN0b3JlLgoKU2lnbmVkLW9mZi1ieTogSW1yZSBEZWFrIDxpbXJlLmRl YWtAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICB8ICAg MSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgfCAxMDMgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgOTEgaW5zZXJ0aW9u cygrKSwgMTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKaW5kZXggODg5NTA4 Zi4uZGE4Mjc0NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBAIC0zNzEwLDYgKzM3MTAsNyBA QCBlbnVtIHsKIAogI2RlZmluZSBfUFBfT05fREVMQVlTCQkJMHg2MTIwOAogI2RlZmluZSBQUF9P Tl9ERUxBWVMocHBzX2lkeCkJCV9NTUlPX1BQUyhwcHNfaWR4LCBfUFBfT05fREVMQVlTKQorI2Rl ZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfU0hJRlQJMzAKICNkZWZpbmUgIFBBTkVMX1BPUlRfU0VM RUNUX01BU0sJCSgzIDw8IDMwKQogI2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfTFZEUwkJKDAg PDwgMzApCiAjZGVmaW5lICBQQU5FTF9QT1JUX1NFTEVDVF9EUEEJCSgxIDw8IDMwKQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHZkcy5jCmluZGV4IGM1NzM5ZmMuLmQ1MTU4ZTUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9sdmRzLmMKQEAgLTQ4LDYgKzQ4LDIwIEBAIHN0cnVjdCBpbnRlbF9sdmRzX2Nvbm5l Y3RvciB7CiAJc3RydWN0IG5vdGlmaWVyX2Jsb2NrIGxpZF9ub3RpZmllcjsKIH07CiAKK3N0cnVj dCBpbnRlbF9sdmRzX3BwcyB7CisJLyogMTAwdXMgdW5pdHMgKi8KKwlpbnQgdDFfdDI7CisJaW50 IHQzOworCWludCB0NDsKKwlpbnQgdDU7CisJaW50IHR4OworCisJaW50IGRpdmlkZXI7CisKKwlp bnQgcG9ydDsKKwlib29sIHJlc2V0X29uX3Bvd2VyZG93bjsKK307CisKIHN0cnVjdCBpbnRlbF9s dmRzX2VuY29kZXIgewogCXN0cnVjdCBpbnRlbF9lbmNvZGVyIGJhc2U7CiAKQEAgLTU1LDYgKzY5 LDkgQEAgc3RydWN0IGludGVsX2x2ZHNfZW5jb2RlciB7CiAJaTkxNV9yZWdfdCByZWc7CiAJdTMy IGEzX3Bvd2VyOwogCisJc3RydWN0IGludGVsX2x2ZHNfcHBzIGluaXRfcHBzOworCXUzMiBpbml0 X2x2ZHNfdmFsOworCiAJc3RydWN0IGludGVsX2x2ZHNfY29ubmVjdG9yICphdHRhY2hlZF9jb25u ZWN0b3I7CiB9OwogCkBAIC0xMzYsNiArMTUzLDcyIEBAIHN0YXRpYyB2b2lkIGludGVsX2x2ZHNf Z2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlwaXBlX2NvbmZpZy0+ YmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfY2xvY2sgPSBwaXBlX2NvbmZpZy0+cG9ydF9jbG9jazsK IH0KIAorc3RhdGljIHZvaWQgaW50ZWxfbHZkc19wcHNfZ2V0X2h3X3N0YXRlKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkJc3RydWN0IGludGVsX2x2ZHNfcHBzICpwcHMp Cit7CisJdTMyIHZhbDsKKworCXBwcy0+cmVzZXRfb25fcG93ZXJkb3duID0gSTkxNV9SRUFEKFBQ X0NPTlRST0woMCkpICYgUEFORUxfUE9XRVJfUkVTRVQ7CisKKwl2YWwgPSBJOTE1X1JFQUQoUFBf T05fREVMQVlTKDApKTsKKwlwcHMtPnBvcnQgPSAodmFsICYgUEFORUxfUE9SVF9TRUxFQ1RfTUFT SykgPj4KKwkJICAgIFBBTkVMX1BPUlRfU0VMRUNUX1NISUZUOworCXBwcy0+dDFfdDIgPSAodmFs ICYgUEFORUxfUE9XRVJfVVBfREVMQVlfTUFTSykgPj4KKwkJICAgICBQQU5FTF9QT1dFUl9VUF9E RUxBWV9TSElGVDsKKwlwcHMtPnQ1ID0gKHZhbCAmIFBBTkVMX0xJR0hUX09OX0RFTEFZX01BU0sp ID4+CisJCSAgUEFORUxfTElHSFRfT05fREVMQVlfU0hJRlQ7CisKKwl2YWwgPSBJOTE1X1JFQUQo UFBfT0ZGX0RFTEFZUygwKSk7CisJcHBzLT50MyA9ICh2YWwgJiBQQU5FTF9QT1dFUl9ET1dOX0RF TEFZX01BU0spID4+CisJCSAgUEFORUxfUE9XRVJfRE9XTl9ERUxBWV9TSElGVDsKKwlwcHMtPnR4 ID0gKHZhbCAmIFBBTkVMX0xJR0hUX09GRl9ERUxBWV9NQVNLKSA+PgorCQkgIFBBTkVMX0xJR0hU X09GRl9ERUxBWV9TSElGVDsKKworCXZhbCA9IEk5MTVfUkVBRChQUF9ESVZJU09SKDApKTsKKwlw cHMtPmRpdmlkZXIgPSAodmFsICYgUFBfUkVGRVJFTkNFX0RJVklERVJfTUFTSykgPj4KKwkJICAg ICAgIFBQX1JFRkVSRU5DRV9ESVZJREVSX1NISUZUOworCS8qIENvbnZlcnQgZnJvbSAxMDBtcyB0 byAxMDB1cyB1bml0cyAqLworCXBwcy0+dDQgPSAoKHZhbCAmIFBBTkVMX1BPV0VSX0NZQ0xFX0RF TEFZX01BU0spID4+CisJCSAgIFBBTkVMX1BPV0VSX0NZQ0xFX0RFTEFZX1NISUZUKSAqIDEwMDA7 CisKKwlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA8PSA0ICYmCisJICAgIHBwcy0+dDFf dDIgPT0gMCAmJiBwcHMtPnQ1ID09IDAgJiYgcHBzLT50MyA9PSAwICYmIHBwcy0+dHggPT0gMCkg eworCQlEUk1fREVCVUdfS01TKCJQYW5lbCBwb3dlciB0aW1pbmdzIHVuaW5pdGlhbGl6ZWQsICIK KwkJCSAgICAgICJzZXR0aW5nIGRlZmF1bHRzXG4iKTsKKwkJLyogU2V0IFQyIHRvIDQwbXMgYW5k IFQ1IHRvIDIwMG1zIGluIDEwMCB1c2VjIHVuaXRzICovCisJCXBwcy0+dDFfdDIgPSA0MCAqIDEw OworCQlwcHMtPnQ1ID0gMjAwICogMTA7CisJCS8qIFNldCBUMyB0byAzNW1zIGFuZCBUeCB0byAy MDBtcyBpbiAxMDAgdXNlYyB1bml0cyAqLworCQlwcHMtPnQzID0gMzUgKiAxMDsKKwkJcHBzLT50 eCA9IDIwMCAqIDEwOworCX0KKworCURSTV9ERUJVR19EUklWRVIoIkxWRFMgUFBTOnQxK3QyICVk IHQzICVkIHQ0ICVkIHQ1ICVkIHR4ICVkICIKKwkJCSAiZGl2aWRlciAlZCBwb3J0ICVkIHJlc2V0 X29uX3Bvd2VyZG93biAlZFxuIiwKKwkJCSBwcHMtPnQxX3QyLCBwcHMtPnQzLCBwcHMtPnQ0LCBw cHMtPnQ1LCBwcHMtPnR4LAorCQkJIHBwcy0+ZGl2aWRlciwgcHBzLT5wb3J0LCBwcHMtPnJlc2V0 X29uX3Bvd2VyZG93bik7Cit9CisKK3N0YXRpYyB2b2lkIGludGVsX2x2ZHNfcHBzX2luaXRfaHco c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJCSAgIHN0cnVjdCBpbnRlbF9s dmRzX3BwcyAqcHBzKQoreworCXUzMiB2YWw7CisKKwl2YWwgPSBJOTE1X1JFQUQoUFBfQ09OVFJP TCgwKSk7CisJV0FSTl9PTigodmFsICYgUEFORUxfVU5MT0NLX01BU0spICE9IFBBTkVMX1VOTE9D S19SRUdTKTsKKwlpZiAocHBzLT5yZXNldF9vbl9wb3dlcmRvd24pCisJCXZhbCB8PSBQQU5FTF9Q T1dFUl9SRVNFVDsKKwlJOTE1X1dSSVRFKFBQX0NPTlRST0woMCksIHZhbCk7CisKKwlJOTE1X1dS SVRFKFBQX09OX0RFTEFZUygwKSwgKHBwcy0+cG9ydCA8PCBQQU5FTF9QT1JUX1NFTEVDVF9TSElG VCkgfAorCQkJCSAgICAocHBzLT50MV90MiA8PCBQQU5FTF9QT1dFUl9VUF9ERUxBWV9TSElGVCkg fAorCQkJCSAgICAocHBzLT50NSA8PCBQQU5FTF9MSUdIVF9PTl9ERUxBWV9TSElGVCkpOworCUk5 MTVfV1JJVEUoUFBfT0ZGX0RFTEFZUygwKSwgKHBwcy0+dDMgPDwgUEFORUxfUE9XRVJfRE9XTl9E RUxBWV9TSElGVCkgfAorCQkJCSAgICAgKHBwcy0+dHggPDwgUEFORUxfTElHSFRfT0ZGX0RFTEFZ X1NISUZUKSk7CisJSTkxNV9XUklURShQUF9ESVZJU09SKDApLCAocHBzLT5kaXZpZGVyIDw8IFBQ X1JFRkVSRU5DRV9ESVZJREVSX1NISUZUKSB8CisJCQkJICAoKHBwcy0+dDQgLyAxMDAwKSA8PCBQ QU5FTF9QT1dFUl9DWUNMRV9ERUxBWV9TSElGVCkpOworfQorCiBzdGF0aWMgdm9pZCBpbnRlbF9w cmVfZW5hYmxlX2x2ZHMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0 IGludGVsX2x2ZHNfZW5jb2RlciAqbHZkc19lbmNvZGVyID0gdG9fbHZkc19lbmNvZGVyKCZlbmNv ZGVyLT5iYXNlKTsKQEAgLTE1NCw3ICsyMzcsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wcmVfZW5h YmxlX2x2ZHMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJCWFzc2VydF9wbGxfZGlz YWJsZWQoZGV2X3ByaXYsIHBpcGUpOwogCX0KIAotCXRlbXAgPSBJOTE1X1JFQUQobHZkc19lbmNv ZGVyLT5yZWcpOworCWludGVsX2x2ZHNfcHBzX2luaXRfaHcoZGV2X3ByaXYsICZsdmRzX2VuY29k ZXItPmluaXRfcHBzKTsKKworCXRlbXAgPSBsdmRzX2VuY29kZXItPmluaXRfbHZkc192YWw7CiAJ dGVtcCB8PSBMVkRTX1BPUlRfRU4gfCBMVkRTX0EwQTJfQ0xLQV9QT1dFUl9VUDsKIAogCWlmIChI QVNfUENIX0NQVChkZXYpKSB7CkBAIC05MjIsMTggKzEwMDcsNiBAQCB2b2lkIGludGVsX2x2ZHNf aW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlEUk1fREVCVUdfS01TKCJMVkRTIGlzIG5v dCBwcmVzZW50IGluIFZCVCwgYnV0IGVuYWJsZWQgYW55d2F5XG4iKTsKIAl9CiAKLQkgLyogU2V0 IHRoZSBQYW5lbCBQb3dlciBPbi9PZmYgdGltaW5ncyBpZiB1bmluaXRpYWxpemVkLiAqLwotCWlm IChJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuIDwgNSAmJgotCSAgICBJOTE1X1JFQUQoUFBfT05f REVMQVlTKDApKSA9PSAwICYmIEk5MTVfUkVBRChQUF9PRkZfREVMQVlTKDApKSA9PSAwKSB7Ci0J CS8qIFNldCBUMiB0byA0MG1zIGFuZCBUNSB0byAyMDBtcyAqLwotCQlJOTE1X1dSSVRFKFBQX09O X0RFTEFZUygwKSwgMHgwMTkwMDdkMCk7Ci0KLQkJLyogU2V0IFQzIHRvIDM1bXMgYW5kIFR4IHRv IDIwMG1zICovCi0JCUk5MTVfV1JJVEUoUFBfT0ZGX0RFTEFZUygwKSwgMHgwMTVlMDdkMCk7Ci0K LQkJRFJNX0RFQlVHX0tNUygiUGFuZWwgcG93ZXIgdGltaW5ncyB1bmluaXRpYWxpemVkLCBzZXR0 aW5nIGRlZmF1bHRzXG4iKTsKLQl9Ci0KIAlsdmRzX2VuY29kZXIgPSBremFsbG9jKHNpemVvZigq bHZkc19lbmNvZGVyKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFsdmRzX2VuY29kZXIpCiAJCXJldHVy bjsKQEAgLTk5OSw2ICsxMDcyLDEwIEBAIHZvaWQgaW50ZWxfbHZkc19pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiAJCQkJICAgICAgZGV2LT5tb2RlX2NvbmZpZy5zY2FsaW5nX21vZGVfcHJv cGVydHksCiAJCQkJICAgICAgRFJNX01PREVfU0NBTEVfQVNQRUNUKTsKIAlpbnRlbF9jb25uZWN0 b3ItPnBhbmVsLmZpdHRpbmdfbW9kZSA9IERSTV9NT0RFX1NDQUxFX0FTUEVDVDsKKworCWludGVs X2x2ZHNfcHBzX2dldF9od19zdGF0ZShkZXZfcHJpdiwgJmx2ZHNfZW5jb2Rlci0+aW5pdF9wcHMp OworCWx2ZHNfZW5jb2Rlci0+aW5pdF9sdmRzX3ZhbCA9IGx2ZHM7CisKIAkvKgogCSAqIExWRFMg ZGlzY292ZXJ5OgogCSAqIDEpIGNoZWNrIGZvciBFRElEIG9uIEREQwotLSAKMi41LjAKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=