From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH v3 3/6] drm/i915/lvds: Restore initial HW state during encoder enabling Date: Tue, 9 Aug 2016 21:59:16 +0300 Message-ID: <1470769157-13170-1-git-send-email-imre.deak@intel.com> References: <1470763294-7183-2-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id DCEDE6E643 for ; Tue, 9 Aug 2016 18:59:20 +0000 (UTC) In-Reply-To: <1470763294-7183-2-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 IChWaWxsZSkKdjM6IChWaWxsZSkKLSBGaXggKzEgdnMuIHJvdW5kLXVwIG9yZGVyLgotIHMvcmVz ZXRfb25fcG93ZXJkb3duL3Bvd2VyZG93bl9vbl9yZXNldC8KClNpZ25lZC1vZmYtYnk6IEltcmUg RGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8 dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaCAgIHwgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYyB8 IDExNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQogMiBmaWxlcyBjaGFu Z2VkLCAxMDIgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cmVnLmgKaW5kZXggODg5NTA4Zi4uZGE4Mjc0NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBA IC0zNzEwLDYgKzM3MTAsNyBAQCBlbnVtIHsKIAogI2RlZmluZSBfUFBfT05fREVMQVlTCQkJMHg2 MTIwOAogI2RlZmluZSBQUF9PTl9ERUxBWVMocHBzX2lkeCkJCV9NTUlPX1BQUyhwcHNfaWR4LCBf UFBfT05fREVMQVlTKQorI2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfU0hJRlQJMzAKICNkZWZp bmUgIFBBTkVMX1BPUlRfU0VMRUNUX01BU0sJCSgzIDw8IDMwKQogI2RlZmluZSAgUEFORUxfUE9S VF9TRUxFQ1RfTFZEUwkJKDAgPDwgMzApCiAjZGVmaW5lICBQQU5FTF9QT1JUX1NFTEVDVF9EUEEJ CSgxIDw8IDMwKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCmluZGV4IGM1NzM5ZmMuLmU3OWZh ZTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMKQEAgLTQ4LDYgKzQ4LDIwIEBAIHN0cnVj dCBpbnRlbF9sdmRzX2Nvbm5lY3RvciB7CiAJc3RydWN0IG5vdGlmaWVyX2Jsb2NrIGxpZF9ub3Rp ZmllcjsKIH07CiAKK3N0cnVjdCBpbnRlbF9sdmRzX3BwcyB7CisJLyogMTAwdXMgdW5pdHMgKi8K KwlpbnQgdDFfdDI7CisJaW50IHQzOworCWludCB0NDsKKwlpbnQgdDU7CisJaW50IHR4OworCisJ aW50IGRpdmlkZXI7CisKKwlpbnQgcG9ydDsKKwlib29sIHBvd2VyZG93bl9vbl9yZXNldDsKK307 CisKIHN0cnVjdCBpbnRlbF9sdmRzX2VuY29kZXIgewogCXN0cnVjdCBpbnRlbF9lbmNvZGVyIGJh c2U7CiAKQEAgLTU1LDYgKzY5LDkgQEAgc3RydWN0IGludGVsX2x2ZHNfZW5jb2RlciB7CiAJaTkx NV9yZWdfdCByZWc7CiAJdTMyIGEzX3Bvd2VyOwogCisJc3RydWN0IGludGVsX2x2ZHNfcHBzIGlu aXRfcHBzOworCXUzMiBpbml0X2x2ZHNfdmFsOworCiAJc3RydWN0IGludGVsX2x2ZHNfY29ubmVj dG9yICphdHRhY2hlZF9jb25uZWN0b3I7CiB9OwogCkBAIC0xMzYsNiArMTUzLDgzIEBAIHN0YXRp YyB2b2lkIGludGVsX2x2ZHNfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKIAlwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfY2xvY2sgPSBwaXBlX2Nv bmZpZy0+cG9ydF9jbG9jazsKIH0KIAorc3RhdGljIHZvaWQgaW50ZWxfbHZkc19wcHNfZ2V0X2h3 X3N0YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkJc3RydWN0IGlu dGVsX2x2ZHNfcHBzICpwcHMpCit7CisJdTMyIHZhbDsKKworCXBwcy0+cG93ZXJkb3duX29uX3Jl c2V0ID0gSTkxNV9SRUFEKFBQX0NPTlRST0woMCkpICYgUEFORUxfUE9XRVJfUkVTRVQ7CisKKwl2 YWwgPSBJOTE1X1JFQUQoUFBfT05fREVMQVlTKDApKTsKKwlwcHMtPnBvcnQgPSAodmFsICYgUEFO RUxfUE9SVF9TRUxFQ1RfTUFTSykgPj4KKwkJICAgIFBBTkVMX1BPUlRfU0VMRUNUX1NISUZUOwor CXBwcy0+dDFfdDIgPSAodmFsICYgUEFORUxfUE9XRVJfVVBfREVMQVlfTUFTSykgPj4KKwkJICAg ICBQQU5FTF9QT1dFUl9VUF9ERUxBWV9TSElGVDsKKwlwcHMtPnQ1ID0gKHZhbCAmIFBBTkVMX0xJ R0hUX09OX0RFTEFZX01BU0spID4+CisJCSAgUEFORUxfTElHSFRfT05fREVMQVlfU0hJRlQ7CisK Kwl2YWwgPSBJOTE1X1JFQUQoUFBfT0ZGX0RFTEFZUygwKSk7CisJcHBzLT50MyA9ICh2YWwgJiBQ QU5FTF9QT1dFUl9ET1dOX0RFTEFZX01BU0spID4+CisJCSAgUEFORUxfUE9XRVJfRE9XTl9ERUxB WV9TSElGVDsKKwlwcHMtPnR4ID0gKHZhbCAmIFBBTkVMX0xJR0hUX09GRl9ERUxBWV9NQVNLKSA+ PgorCQkgIFBBTkVMX0xJR0hUX09GRl9ERUxBWV9TSElGVDsKKworCXZhbCA9IEk5MTVfUkVBRChQ UF9ESVZJU09SKDApKTsKKwlwcHMtPmRpdmlkZXIgPSAodmFsICYgUFBfUkVGRVJFTkNFX0RJVklE RVJfTUFTSykgPj4KKwkJICAgICAgIFBQX1JFRkVSRU5DRV9ESVZJREVSX1NISUZUOworCXZhbCA9 ICh2YWwgJiBQQU5FTF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLKSA+PgorCSAgICAgIFBBTkVMX1BP V0VSX0NZQ0xFX0RFTEFZX1NISUZUOworCS8qCisJICogUmVtb3ZlIHRoZSBCU3BlYyBzcGVjaWZp ZWQgKzEgKDEwMG1zKSBvZmZzZXQgdGhhdCBhY2NvdW50cyBmb3IgYQorCSAqIHRvbyBzaG9ydCBw b3dlci1jeWNsZSBkZWxheSBkdWUgdG8gdGhlIGFzeW5jaHJvbm91cyBwcm9ncmFtbWluZyBvZgor CSAqIHRoZSByZWdpc3Rlci4KKwkgKi8KKwlpZiAodmFsKQorCQl2YWwtLTsKKwkvKiBDb252ZXJ0 IGZyb20gMTAwbXMgdG8gMTAwdXMgdW5pdHMgKi8KKwlwcHMtPnQ0ID0gdmFsICogMTAwMDsKKwor CWlmIChJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuIDw9IDQgJiYKKwkgICAgcHBzLT50MV90MiA9 PSAwICYmIHBwcy0+dDUgPT0gMCAmJiBwcHMtPnQzID09IDAgJiYgcHBzLT50eCA9PSAwKSB7CisJ CURSTV9ERUJVR19LTVMoIlBhbmVsIHBvd2VyIHRpbWluZ3MgdW5pbml0aWFsaXplZCwgIgorCQkJ ICAgICAgInNldHRpbmcgZGVmYXVsdHNcbiIpOworCQkvKiBTZXQgVDIgdG8gNDBtcyBhbmQgVDUg dG8gMjAwbXMgaW4gMTAwIHVzZWMgdW5pdHMgKi8KKwkJcHBzLT50MV90MiA9IDQwICogMTA7CisJ CXBwcy0+dDUgPSAyMDAgKiAxMDsKKwkJLyogU2V0IFQzIHRvIDM1bXMgYW5kIFR4IHRvIDIwMG1z IGluIDEwMCB1c2VjIHVuaXRzICovCisJCXBwcy0+dDMgPSAzNSAqIDEwOworCQlwcHMtPnR4ID0g MjAwICogMTA7CisJfQorCisJRFJNX0RFQlVHX0RSSVZFUigiTFZEUyBQUFM6dDErdDIgJWQgdDMg JWQgdDQgJWQgdDUgJWQgdHggJWQgIgorCQkJICJkaXZpZGVyICVkIHBvcnQgJWQgcG93ZXJkb3du X29uX3Jlc2V0ICVkXG4iLAorCQkJIHBwcy0+dDFfdDIsIHBwcy0+dDMsIHBwcy0+dDQsIHBwcy0+ dDUsIHBwcy0+dHgsCisJCQkgcHBzLT5kaXZpZGVyLCBwcHMtPnBvcnQsIHBwcy0+cG93ZXJkb3du X29uX3Jlc2V0KTsKK30KKworc3RhdGljIHZvaWQgaW50ZWxfbHZkc19wcHNfaW5pdF9odyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJICAgc3RydWN0IGludGVsX2x2ZHNf cHBzICpwcHMpCit7CisJdTMyIHZhbDsKKworCXZhbCA9IEk5MTVfUkVBRChQUF9DT05UUk9MKDAp KTsKKwlXQVJOX09OKCh2YWwgJiBQQU5FTF9VTkxPQ0tfTUFTSykgIT0gUEFORUxfVU5MT0NLX1JF R1MpOworCWlmIChwcHMtPnBvd2VyZG93bl9vbl9yZXNldCkKKwkJdmFsIHw9IFBBTkVMX1BPV0VS X1JFU0VUOworCUk5MTVfV1JJVEUoUFBfQ09OVFJPTCgwKSwgdmFsKTsKKworCUk5MTVfV1JJVEUo UFBfT05fREVMQVlTKDApLCAocHBzLT5wb3J0IDw8IFBBTkVMX1BPUlRfU0VMRUNUX1NISUZUKSB8 CisJCQkJICAgIChwcHMtPnQxX3QyIDw8IFBBTkVMX1BPV0VSX1VQX0RFTEFZX1NISUZUKSB8CisJ CQkJICAgIChwcHMtPnQ1IDw8IFBBTkVMX0xJR0hUX09OX0RFTEFZX1NISUZUKSk7CisJSTkxNV9X UklURShQUF9PRkZfREVMQVlTKDApLCAocHBzLT50MyA8PCBQQU5FTF9QT1dFUl9ET1dOX0RFTEFZ X1NISUZUKSB8CisJCQkJICAgICAocHBzLT50eCA8PCBQQU5FTF9MSUdIVF9PRkZfREVMQVlfU0hJ RlQpKTsKKworCXZhbCA9IHBwcy0+ZGl2aWRlciA8PCBQUF9SRUZFUkVOQ0VfRElWSURFUl9TSElG VDsKKwl2YWwgfD0gKERJVl9ST1VORF9VUChwcHMtPnQ0LCAxMDAwKSArIDEpIDw8CisJICAgICAg IFBBTkVMX1BPV0VSX0NZQ0xFX0RFTEFZX1NISUZUOworCUk5MTVfV1JJVEUoUFBfRElWSVNPUigw KSwgdmFsKTsKK30KKwogc3RhdGljIHZvaWQgaW50ZWxfcHJlX2VuYWJsZV9sdmRzKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyKQogewogCXN0cnVjdCBpbnRlbF9sdmRzX2VuY29kZXIgKmx2 ZHNfZW5jb2RlciA9IHRvX2x2ZHNfZW5jb2RlcigmZW5jb2Rlci0+YmFzZSk7CkBAIC0xNTQsNyAr MjQ4LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHJlX2VuYWJsZV9sdmRzKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyKQogCQlhc3NlcnRfcGxsX2Rpc2FibGVkKGRldl9wcml2LCBwaXBlKTsK IAl9CiAKLQl0ZW1wID0gSTkxNV9SRUFEKGx2ZHNfZW5jb2Rlci0+cmVnKTsKKwlpbnRlbF9sdmRz X3Bwc19pbml0X2h3KGRldl9wcml2LCAmbHZkc19lbmNvZGVyLT5pbml0X3Bwcyk7CisKKwl0ZW1w ID0gbHZkc19lbmNvZGVyLT5pbml0X2x2ZHNfdmFsOwogCXRlbXAgfD0gTFZEU19QT1JUX0VOIHwg TFZEU19BMEEyX0NMS0FfUE9XRVJfVVA7CiAKIAlpZiAoSEFTX1BDSF9DUFQoZGV2KSkgewpAQCAt OTIyLDE4ICsxMDE4LDYgQEAgdm9pZCBpbnRlbF9sdmRzX2luaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKIAkJRFJNX0RFQlVHX0tNUygiTFZEUyBpcyBub3QgcHJlc2VudCBpbiBWQlQsIGJ1dCBl bmFibGVkIGFueXdheVxuIik7CiAJfQogCi0JIC8qIFNldCB0aGUgUGFuZWwgUG93ZXIgT24vT2Zm IHRpbWluZ3MgaWYgdW5pbml0aWFsaXplZC4gKi8KLQlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdikt PmdlbiA8IDUgJiYKLQkgICAgSTkxNV9SRUFEKFBQX09OX0RFTEFZUygwKSkgPT0gMCAmJiBJOTE1 X1JFQUQoUFBfT0ZGX0RFTEFZUygwKSkgPT0gMCkgewotCQkvKiBTZXQgVDIgdG8gNDBtcyBhbmQg VDUgdG8gMjAwbXMgKi8KLQkJSTkxNV9XUklURShQUF9PTl9ERUxBWVMoMCksIDB4MDE5MDA3ZDAp OwotCi0JCS8qIFNldCBUMyB0byAzNW1zIGFuZCBUeCB0byAyMDBtcyAqLwotCQlJOTE1X1dSSVRF KFBQX09GRl9ERUxBWVMoMCksIDB4MDE1ZTA3ZDApOwotCi0JCURSTV9ERUJVR19LTVMoIlBhbmVs IHBvd2VyIHRpbWluZ3MgdW5pbml0aWFsaXplZCwgc2V0dGluZyBkZWZhdWx0c1xuIik7Ci0JfQot CiAJbHZkc19lbmNvZGVyID0ga3phbGxvYyhzaXplb2YoKmx2ZHNfZW5jb2RlciksIEdGUF9LRVJO RUwpOwogCWlmICghbHZkc19lbmNvZGVyKQogCQlyZXR1cm47CkBAIC05OTksNiArMTA4MywxMCBA QCB2b2lkIGludGVsX2x2ZHNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQkJCSAgICAg IGRldi0+bW9kZV9jb25maWcuc2NhbGluZ19tb2RlX3Byb3BlcnR5LAogCQkJCSAgICAgIERSTV9N T0RFX1NDQUxFX0FTUEVDVCk7CiAJaW50ZWxfY29ubmVjdG9yLT5wYW5lbC5maXR0aW5nX21vZGUg PSBEUk1fTU9ERV9TQ0FMRV9BU1BFQ1Q7CisKKwlpbnRlbF9sdmRzX3Bwc19nZXRfaHdfc3RhdGUo ZGV2X3ByaXYsICZsdmRzX2VuY29kZXItPmluaXRfcHBzKTsKKwlsdmRzX2VuY29kZXItPmluaXRf bHZkc192YWwgPSBsdmRzOworCiAJLyoKIAkgKiBMVkRTIGRpc2NvdmVyeToKIAkgKiAxKSBjaGVj ayBmb3IgRURJRCBvbiBEREMKLS0gCjIuNS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK