From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH 1/2] drm/i915/BXT: Get pipe conf from the port registers Date: Tue, 29 Mar 2016 23:04:50 +0530 Message-ID: <1459272891-6830-1-git-send-email-ramalingam.c@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 9C3C06E6C2 for ; Tue, 29 Mar 2016 17:43:38 +0000 (UTC) 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 Cc: jani.nikula@intel.com List-Id: intel-gfx@lists.freedesktop.org QXQgQlhUIERTSSwgUElQRSByZWdpc3RlcnMgYXJlIGluYWN0aXZlLiBTbyB3ZSBjYW4ndCBnZXQg dGhlClBJUEUncyBtb2RlIHBhcmFtZXRlcnMgZnJvbSB0aGVtLiBUaGUgcG9zc2libGUgb3B0aW9u IGlzCnJldHJpdmluZyB0aGVtIGZyb20gdGhlIFBPUlQgcmVnaXN0ZXJzLgoKVGhlIHJlcXVpcmVk IGNoYW5nZXMgYXJlIGFkZGVkIGZvciBCWFQgaW4gaW50ZWxfZHNpX2dldF9jb25maWcKKGVuY29k ZXItPmdldF9jb25maWcpLgoKU2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2Ft LmNAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBVbWEgU2hhbmthciA8dW1hLnNoYW5rYXJAaW50 ZWwuY29tPgotLS0KUHJldmlvdXNseSByZXZpZXdlZCBhdCBodHRwczovL3BhdGNod29yay5mcmVl ZGVza3RvcC5vcmcvcGF0Y2gvNzUzMDEvCgogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aCAgICAgIHwgICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAg IDQ0ICsrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYyAgICAg fCAgMTA0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdl ZCwgMTQ5IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRleCBjODM5Y2U5 Li5kYTNjZGVmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTgyMTAsNiArODIxMCw3IEBA IGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewogI2RlZmluZSAgQlhUX1BJUEVfU0VMRUNUX1NI SUZUCQkJCTcKICNkZWZpbmUgIEJYVF9QSVBFX1NFTEVDVF9NQVNLCQkJCSg3IDw8IDcpCiAjZGVm aW5lICBCWFRfUElQRV9TRUxFQ1QocGlwZSkJCQkJKChwaXBlKSA8PCA3KQorI2RlZmluZSAgQlhU X1BPUlRfVE9fUElQRShjdHJsKQkJKChjdHJsICYgQlhUX1BJUEVfU0VMRUNUX01BU0spID4+IDcp CiAKICNkZWZpbmUgX01JUElBX0RBVEFfQUREUkVTUwkJKGRldl9wcml2LT5taXBpX21taW9fYmFz ZSArIDB4YjEwOCkKICNkZWZpbmUgX01JUElDX0RBVEFfQUREUkVTUwkJKGRldl9wcml2LT5taXBp X21taW9fYmFzZSArIDB4YjkwOCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRl eCAyOWFhNjRiLi5jMDYyN2Q2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBA IC05OTQxLDExICs5OTQxLDQwIEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfZ2V0X2RkaV9wb3J0X3N0 YXRlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCX0KIH0KIAorc3RydWN0IGludGVsX2VuY29k ZXIgKmJ4dF9nZXRfZHNpX2VuY29kZXJfZm9yX2NydGMoc3RydWN0IGludGVsX2NydGMgKmNydGMs CisJCQkJCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKK3sKKwlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq aW50ZWxfZW5jb2RlcjsKKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2k7CisJZW51bSBwb3J0 IHBvcnQ7CisJdTMyIHRtcDsKKworCWZvcl9lYWNoX2ludGVsX2VuY29kZXIoZGV2LCBpbnRlbF9l bmNvZGVyKSB7CisJCWlmIChpbnRlbF9lbmNvZGVyLT50eXBlID09IElOVEVMX09VVFBVVF9EU0kp IHsKKwkJCWludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmludGVsX2VuY29kZXItPmJhc2Up OworCQkJZm9yX2VhY2hfZHNpX3BvcnQocG9ydCwgaW50ZWxfZHNpLT5wb3J0cykgeworCQkJCWlm ICghKEk5MTVfUkVBRChCWFRfTUlQSV9QT1JUX0NUUkwocG9ydCkpICYKKwkJCQkJCQkJRFBJX0VO QUJMRSkpCisJCQkJCWJyZWFrOworCisJCQkJdG1wID0gSTkxNV9SRUFEKE1JUElfQ1RSTChwb3J0 KSk7CisJCQkJaWYgKCh0bXAgJiBCWFRfUElQRV9TRUxFQ1RfTUFTSykgPT0KKwkJCQkJCUJYVF9Q SVBFX1NFTEVDVChjcnRjLT5waXBlKSkKKwkJCQkJcmV0dXJuIGludGVsX2VuY29kZXI7CisJCQl9 CisJCX0KKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKIHN0YXRpYyBib29sIGhhc3dlbGxfZ2V0X3Bp cGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCQkJCSAgICBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNy dGMtPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7CisJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsICphdHRh Y2hlZF9lbmNvZGVyID0gTlVMTDsKIAllbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIHBv d2VyX2RvbWFpbjsKIAl1bnNpZ25lZCBsb25nIHBvd2VyX2RvbWFpbl9tYXNrOwogCWJvb2wgYWN0 aXZlOwpAQCAtOTk2NSw2ICs5OTk0LDIxIEBAIHN0YXRpYyBib29sIGhhc3dlbGxfZ2V0X3BpcGVf Y29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCQlXQVJOX09OKGFjdGl2ZSAmJiBwaXBl X2NvbmZpZy0+aGFzX2RzaV9lbmNvZGVyKTsKIAkJaWYgKHBpcGVfY29uZmlnLT5oYXNfZHNpX2Vu Y29kZXIpCiAJCQlhY3RpdmUgPSB0cnVlOworCisJCWZvcl9lYWNoX2VuY29kZXJfb25fY3J0Yyhk ZXYsICZjcnRjLT5iYXNlLCBpbnRlbF9lbmNvZGVyKQorCQkJYXR0YWNoZWRfZW5jb2RlciA9IGlu dGVsX2VuY29kZXI7CisKKwkJLyoKKwkJICogYXR0YWNoZWRfZW5jb2RlciB3aWxsIGJlIE5VTEws IGlmIHRoZXJlIGlzIG5vIG1vZGVzZXQgZnJvbQorCQkgKiB0aGUga2VybmVsIGJvb3R1cC4KKwkJ ICovCisJCWlmICghYXR0YWNoZWRfZW5jb2RlciAmJiBwaXBlX2NvbmZpZy0+aGFzX2RzaV9lbmNv ZGVyKQorCQkJYXR0YWNoZWRfZW5jb2RlciA9CisJCQkJYnh0X2dldF9kc2lfZW5jb2Rlcl9mb3Jf Y3J0YyhjcnRjLCBwaXBlX2NvbmZpZyk7CisKKwkJaWYgKGF0dGFjaGVkX2VuY29kZXIgJiYgYXR0 YWNoZWRfZW5jb2Rlci0+Z2V0X2NvbmZpZykKKwkJCWF0dGFjaGVkX2VuY29kZXItPmdldF9jb25m aWcoYXR0YWNoZWRfZW5jb2RlciwKKwkJCQkJCQkJcGlwZV9jb25maWcpOwogCX0KIAogCWlmICgh YWN0aXZlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwppbmRleCAwZGU3NGUxLi42OWE4MDFlIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwpAQCAtNzQwLDE0ICs3NDAsMTE4IEBAIG91dF9wdXRf cG93ZXI6CiAJcmV0dXJuIGFjdGl2ZTsKIH0KIAorLyogcmV0dXJuIHBpeGVscyBlcXV2YWxlbnQg dG8gdHhieXRlY2xraHMgKi8KK3N0YXRpYyB1MTYgcGl4ZWxzX2Zyb21fdHhieXRlY2xraHModTE2 IGNsa19ocywgaW50IGJwcCwgaW50IGxhbmVfY291bnQsCisJCSAgICAgICB1MTYgYnVyc3RfbW9k ZV9yYXRpbykKK3sKKwlyZXR1cm4gRElWX1JPVU5EX1VQKChjbGtfaHMgKiBsYW5lX2NvdW50ICog OCAqIDEwMCksCisJCQkJCQkoYnBwICogYnVyc3RfbW9kZV9yYXRpbykpOworfQorCitzdGF0aWMg dm9pZCBieHRfZHNpX2dldF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKKwkJCQkgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQoreworCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICphZGp1c3RlZF9tb2RlID0KKwkJCQkJJnBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVk X21vZGU7CisJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0KKwkJCQllbmNfdG9faW50ZWxf ZHNpKCZlbmNvZGVyLT5iYXNlKTsKKwl1bnNpZ25lZCBpbnQgYnBwID0gbWlwaV9kc2lfcGl4ZWxf Zm9ybWF0X3RvX2JwcChpbnRlbF9kc2ktPnBpeGVsX2Zvcm1hdCk7CisJdW5zaWduZWQgaW50IGxh bmVfY291bnQgPSBpbnRlbF9kc2ktPmxhbmVfY291bnQ7CisJZW51bSBwb3J0IHBvcnQ7CisJZW51 bSBwaXBlIGRzaV9waXBlOworCXUxNiBoYWN0aXZlLCBoZnAsIGhzeW5jLCBoYnAsIHZmcCwgdnN5 bmMsIHZicDsKKwl1aW50MzJfdCB0bXA7CisKKwlmb3JfZWFjaF9kc2lfcG9ydChwb3J0LCBpbnRl bF9kc2ktPnBvcnRzKSB7CisJCWlmICghKEk5MTVfUkVBRChCWFRfTUlQSV9QT1JUX0NUUkwocG9y dCkpICYgRFBJX0VOQUJMRSkpCisJCQljb250aW51ZTsKKworCQkvKiBJbiB0ZXJtcyBvZiBwaXhl bHMgKi8KKwkJYWRqdXN0ZWRfbW9kZS0+Y3J0Y19oZGlzcGxheSA9CisJCQkJCUk5MTVfUkVBRChC WFRfTUlQSV9UUkFOU19IQUNUSVZFKHBvcnQpKTsKKwkJYWRqdXN0ZWRfbW9kZS0+Y3J0Y192ZGlz cGxheSA9CisJCQkJCUk5MTVfUkVBRChCWFRfTUlQSV9UUkFOU19WQUNUSVZFKHBvcnQpKTsKKwkJ YWRqdXN0ZWRfbW9kZS0+Y3J0Y192dG90YWwgPQorCQkJCQlJOTE1X1JFQUQoQlhUX01JUElfVFJB TlNfVlRPVEFMKHBvcnQpKTsKKworCQloYWN0aXZlID0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y19oZGlz cGxheTsKKwkJaGZwID0gSTkxNV9SRUFEKE1JUElfSEZQX0NPVU5UKHBvcnQpKTsKKworCQkvKgor CQkgKiBtZWFuaW5nZnVsIGZvciB2aWRlbyBtb2RlIG5vbi1idXJzdCBzeW5jIHB1bHNlIG1vZGUg b25seSwKKwkJICogY2FuIGJlIHplcm8gZm9yIG5vbi1idXJzdCBzeW5jIGV2ZW50cyBhbmQgYnVy c3QgbW9kZXMKKwkJICovCisJCWhzeW5jID0gSTkxNV9SRUFEKE1JUElfSFNZTkNfUEFERElOR19D T1VOVChwb3J0KSk7CisJCWhicCA9IEk5MTVfUkVBRChNSVBJX0hCUF9DT1VOVChwb3J0KSk7CisK KwkJLyogaG9yaXpvbnRhbCB2YWx1ZXMgYXJlIGluIHRlcm1zIG9mIGhpZ2ggc3BlZWQgYnl0ZSBj bG9jayAqLworCQloZnAgPSBwaXhlbHNfZnJvbV90eGJ5dGVjbGtocyhoZnAsIGJwcCwgbGFuZV9j b3VudCwKKwkJCQkJCWludGVsX2RzaS0+YnVyc3RfbW9kZV9yYXRpbyk7CisJCWhzeW5jID0gcGl4 ZWxzX2Zyb21fdHhieXRlY2xraHMoaHN5bmMsIGJwcCwgbGFuZV9jb3VudCwKKwkJCQkJCWludGVs X2RzaS0+YnVyc3RfbW9kZV9yYXRpbyk7CisJCWhicCA9IHBpeGVsc19mcm9tX3R4Ynl0ZWNsa2hz KGhicCwgYnBwLCBsYW5lX2NvdW50LAorCQkJCQkJaW50ZWxfZHNpLT5idXJzdF9tb2RlX3JhdGlv KTsKKworCQlpZiAoaW50ZWxfZHNpLT5kdWFsX2xpbmspIHsKKwkJCWhmcCAqPSAyOworCQkJaHN5 bmMgKj0gMjsKKwkJCWhicCAqPSAyOworCQl9CisKKwkJLyogdmVydGljYWwgdmFsdWVzIGFyZSBp biB0ZXJtcyBvZiBsaW5lcyAqLworCQl2ZnAgPSBJOTE1X1JFQUQoTUlQSV9WRlBfQ09VTlQocG9y dCkpOworCQl2c3luYyA9IEk5MTVfUkVBRChNSVBJX1ZTWU5DX1BBRERJTkdfQ09VTlQocG9ydCkp OworCQl2YnAgPSBJOTE1X1JFQUQoTUlQSV9WQlBfQ09VTlQocG9ydCkpOworCisJCWFkanVzdGVk X21vZGUtPmNydGNfaHRvdGFsID0gaGFjdGl2ZSArIGhmcCArIGhzeW5jICsgaGJwOworCQlhZGp1 c3RlZF9tb2RlLT5jcnRjX2hzeW5jX3N0YXJ0ID0KKwkJCQkJaGZwICsgYWRqdXN0ZWRfbW9kZS0+ Y3J0Y19oZGlzcGxheTsKKwkJYWRqdXN0ZWRfbW9kZS0+Y3J0Y19oc3luY19lbmQgPQorCQkJCQlo c3luYyArIGFkanVzdGVkX21vZGUtPmNydGNfaHN5bmNfc3RhcnQ7CisJCWFkanVzdGVkX21vZGUt PmNydGNfaGJsYW5rX3N0YXJ0ID0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y19oZGlzcGxheTsKKwkJYWRq dXN0ZWRfbW9kZS0+Y3J0Y19oYmxhbmtfZW5kID0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y19odG90YWw7 CisKKwkJYWRqdXN0ZWRfbW9kZS0+Y3J0Y192c3luY19zdGFydCA9CisJCQkJCXZmcCArIGFkanVz dGVkX21vZGUtPmNydGNfdmRpc3BsYXk7CisJCWFkanVzdGVkX21vZGUtPmNydGNfdnN5bmNfZW5k ID0KKwkJCQkJdnN5bmMgKyBhZGp1c3RlZF9tb2RlLT5jcnRjX3ZzeW5jX3N0YXJ0OworCQlhZGp1 c3RlZF9tb2RlLT5jcnRjX3ZibGFua19zdGFydCA9IGFkanVzdGVkX21vZGUtPmNydGNfdmRpc3Bs YXk7CisJCWFkanVzdGVkX21vZGUtPmNydGNfdmJsYW5rX2VuZCA9IGFkanVzdGVkX21vZGUtPmNy dGNfdnRvdGFsOworCisJCXBpcGVfY29uZmlnLT5waXBlX2JwcCA9CisJCQltaXBpX2RzaV9waXhl bF9mb3JtYXRfdG9fYnBwKGludGVsX2RzaS0+cGl4ZWxfZm9ybWF0KTsKKworCQlkc2lfcGlwZSA9 IEJYVF9QT1JUX1RPX1BJUEUoSTkxNV9SRUFEKE1JUElfQ1RSTChwb3J0KSkpOworCQlpZiAoZHNp X3BpcGUgPiBQSVBFX0MpIHsKKwkJCURSTV9FUlJPUigiSW52YWxpZCBQSVBFIGNvbmZpZ3VyZWRc biIpOworCQkJYnJlYWs7CisJCX0KKworCQl0bXAgPSBJOTE1X1JFQUQoUElQRVNSQyhkc2lfcGlw ZSkpOworCQlwaXBlX2NvbmZpZy0+cGlwZV9zcmNfaCA9ICh0bXAgJiAweGZmZmYpICsgMTsKKwkJ cGlwZV9jb25maWctPnBpcGVfc3JjX3cgPSAoKHRtcCA+PiAxNikgJiAweGZmZmYpICsgMTsKKwor CQlwaXBlX2NvbmZpZy0+YmFzZS5tb2RlLnZkaXNwbGF5ID0gcGlwZV9jb25maWctPnBpcGVfc3Jj X2g7CisJCXBpcGVfY29uZmlnLT5iYXNlLm1vZGUuaGRpc3BsYXkgPSBwaXBlX2NvbmZpZy0+cGlw ZV9zcmNfdzsKKwkJYnJlYWs7CisJfQorfQorCisKIHN0YXRpYyB2b2lkIGludGVsX2RzaV9nZXRf Y29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCiB7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVu Y29kZXItPmJhc2UuZGV2OwogCXUzMiBwY2xrOwogCURSTV9ERUJVR19LTVMoIlxuIik7CiAKIAlw aXBlX2NvbmZpZy0+aGFzX2RzaV9lbmNvZGVyID0gdHJ1ZTsKIAorCWlmIChJU19CUk9YVE9OKGRl dikpCisJCWJ4dF9kc2lfZ2V0X3BpcGVfY29uZmlnKGVuY29kZXIsIHBpcGVfY29uZmlnKTsKKwog CS8qCiAJICogRFBMTF9NRCBpcyBub3QgdXNlZCBpbiBjYXNlIG9mIERTSSwgcmVhZGluZyB3aWxs IGdldCBzb21lIGRlZmF1bHQgdmFsdWUKIAkgKiBzZXQgZHBsbF9tZCA9IDAKLS0gCjEuNy45LjUK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=