From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 1/2] drm/i915: Reuse normal state readout for LVDS/DVO fixed mode Date: Mon, 9 Oct 2017 19:19:50 +0300 Message-ID: <20171009161951.22420-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id ED5176E356 for ; Mon, 9 Oct 2017 16:19:55 +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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClJl dXNlIHRoZSBub3JtYWwgc3RhdGUgcmVhZG91dCBjb2RlIHRvIGdldCB0aGUgZml4ZWQgbW9kZSBm b3IgTFZEUy9EVk8KZW5jb2RlcnMuIFRoaXMgcmVtb3ZlcyBzb21lIHBhcnRpYWxseSBkdXBsaWNh dGVkIHN0YXRlIHJlYWRvdXQgY29kZQpmcm9tIExWRFMvRFZPIGVuY29kZXJzLiBUaGUgZHVwbGlj YXRlZCBjb2RlIHdhc24ndCBhY3R1YWxseSBldmVuCnBvcHVsYXRpbmcgdGhlIG5lZ2F0aXZlIGgv dnN5bmMgZmxhZ3MsIGxlYWRpbmcgdG8gcG9zc2libGUgc3RhdGUgY2hlY2tlcgpjb21wbGFpbnRz LiBUaGUgbm9ybWFsIHJlYWRvdXQgY29kZSBwb3B1bGF0ZXMgdGhhdCBzdHVmZiBmdWxseS4KCkNj OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KU2lnbmVkLW9mZi1ieTog VmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA1MCArKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8 ICA1ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jICAgICB8IDMzICsrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jICAg IHwgMTggKysrKy0tLS0tLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCA2 NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggMTU4 NDRiZjkyNDM0Li5mODY5MzM3NDk1NWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKQEAgLTEwMjQ3LDQ4ICsxMDI0Nyw0NCBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9wY2hfY2xv Y2tfZ2V0KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCQkJCQkgJnBpcGVfY29uZmlnLT5mZGlf bV9uKTsKIH0KIAotLyoqIFJldHVybnMgdGhlIGN1cnJlbnRseSBwcm9ncmFtbWVkIG1vZGUgb2Yg dGhlIGdpdmVuIHBpcGUuICovCi1zdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqaW50ZWxfY3J0Y19t b2RlX2dldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQkJCQkgICAgIHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKKy8qIFJldHVybnMgdGhlIGN1cnJlbnRseSBwcm9ncmFtbWVkIG1vZGUgb2YgdGhl IGdpdmVuIGVuY29kZXIuICovCitzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqCitpbnRlbF9lbmNv ZGVyX2N1cnJlbnRfbW9kZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIHsKLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Ci0Jc3RydWN0IGlu dGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOworCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOworCXN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwogCXN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlOwotCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZzsKLQllbnVt IHBpcGUgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7CisJc3RydWN0IGludGVsX2NydGMgKmNydGM7 CisJZW51bSBwaXBlIHBpcGU7CisKKwlpZiAoIWVuY29kZXItPmdldF9od19zdGF0ZShlbmNvZGVy LCAmcGlwZSkpCisJCXJldHVybiBOVUxMOworCisJY3J0YyA9IGludGVsX2dldF9jcnRjX2Zvcl9w aXBlKGRldl9wcml2LCBwaXBlKTsKIAogCW1vZGUgPSBremFsbG9jKHNpemVvZigqbW9kZSksIEdG UF9LRVJORUwpOwogCWlmICghbW9kZSkKIAkJcmV0dXJuIE5VTEw7CiAKLQlwaXBlX2NvbmZpZyA9 IGt6YWxsb2Moc2l6ZW9mKCpwaXBlX2NvbmZpZyksIEdGUF9LRVJORUwpOwotCWlmICghcGlwZV9j b25maWcpIHsKKwljcnRjX3N0YXRlID0ga3phbGxvYyhzaXplb2YoKmNydGNfc3RhdGUpLCBHRlBf S0VSTkVMKTsKKwlpZiAoIWNydGNfc3RhdGUpIHsKIAkJa2ZyZWUobW9kZSk7CiAJCXJldHVybiBO VUxMOwogCX0KIAotCS8qCi0JICogQ29uc3RydWN0IGEgcGlwZV9jb25maWcgc3VmZmljaWVudCBm b3IgZ2V0dGluZyB0aGUgY2xvY2sgaW5mbwotCSAqIGJhY2sgb3V0IG9mIGNydGNfY2xvY2tfZ2V0 LgotCSAqCi0JICogTm90ZSwgaWYgTFZEUyBldmVyIHVzZXMgYSBub24tMSBwaXhlbCBtdWx0aXBs aWVyLCB3ZSdsbCBuZWVkCi0JICogdG8gdXNlIGEgcmVhbCB2YWx1ZSBoZXJlIGluc3RlYWQuCi0J ICovCi0JcGlwZV9jb25maWctPmNwdV90cmFuc2NvZGVyID0gKGVudW0gdHJhbnNjb2RlcikgcGlw ZTsKLQlwaXBlX2NvbmZpZy0+cGl4ZWxfbXVsdGlwbGllciA9IDE7Ci0JcGlwZV9jb25maWctPmRw bGxfaHdfc3RhdGUuZHBsbCA9IEk5MTVfUkVBRChEUExMKHBpcGUpKTsKLQlwaXBlX2NvbmZpZy0+ ZHBsbF9od19zdGF0ZS5mcDAgPSBJOTE1X1JFQUQoRlAwKHBpcGUpKTsKLQlwaXBlX2NvbmZpZy0+ ZHBsbF9od19zdGF0ZS5mcDEgPSBJOTE1X1JFQUQoRlAxKHBpcGUpKTsKLQlpOXh4X2NydGNfY2xv Y2tfZ2V0KGludGVsX2NydGMsIHBpcGVfY29uZmlnKTsKKwljcnRjX3N0YXRlLT5iYXNlLmNydGMg PSAmY3J0Yy0+YmFzZTsKIAotCXBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y19j bG9jayA9Ci0JCXBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrIC8gcGlwZV9jb25maWctPnBpeGVsX211 bHRpcGxpZXI7CisJaWYgKCFkZXZfcHJpdi0+ZGlzcGxheS5nZXRfcGlwZV9jb25maWcoY3J0Yywg Y3J0Y19zdGF0ZSkpIHsKKwkJa2ZyZWUoY3J0Y19zdGF0ZSk7CisJCWtmcmVlKG1vZGUpOworCQly ZXR1cm4gTlVMTDsKKwl9CiAKLQlpbnRlbF9nZXRfcGlwZV90aW1pbmdzKGludGVsX2NydGMsIHBp cGVfY29uZmlnKTsKKwllbmNvZGVyLT5nZXRfY29uZmlnKGVuY29kZXIsIGNydGNfc3RhdGUpOwog Ci0JaW50ZWxfbW9kZV9mcm9tX3BpcGVfY29uZmlnKG1vZGUsIHBpcGVfY29uZmlnKTsKKwlpbnRl bF9tb2RlX2Zyb21fcGlwZV9jb25maWcobW9kZSwgY3J0Y19zdGF0ZSk7CiAKLQlrZnJlZShwaXBl X2NvbmZpZyk7CisJa2ZyZWUoY3J0Y19zdGF0ZSk7CiAKIAlyZXR1cm4gbW9kZTsKIH0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggMGNhYjY2N2ZmZjU3Li5iNTdhNjkxNDA5YzQgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC0xMzYzLDggKzEzNjMsOSBAQCBzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yICppbnRlbF9jb25uZWN0b3JfYWxsb2Modm9pZCk7CiBib29sIGludGVsX2Nvbm5l Y3Rvcl9nZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIHZv aWQgaW50ZWxfY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKHN0cnVjdCBpbnRlbF9jb25uZWN0b3Ig KmNvbm5lY3RvciwKIAkJCQkgICAgc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwotc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKmludGVsX2NydGNfbW9kZV9nZXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKLQkJCQkJICAgICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOworc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKgoraW50ZWxfZW5jb2Rlcl9jdXJyZW50X21vZGUoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIpOworCiBlbnVtIHBpcGUgaW50ZWxfZ2V0X3BpcGVfZnJvbV9jb25uZWN0 b3Ioc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIGludCBpbnRlbF9nZXRfcGlw ZV9mcm9tX2NydGNfaWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCQlz dHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jCmluZGV4 IDVjNTYyZTFmNTZhZS4uNTNjOWI3NjNmNGNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kdm8uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYwpA QCAtMzc5LDMyICszNzksMTUgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZW5jb2Rlcl9mdW5j cyBpbnRlbF9kdm9fZW5jX2Z1bmNzID0gewogICogY2hpcCBiZWluZyBvbiBEVk9CL0MgYW5kIGhh dmluZyBtdWx0aXBsZSBwaXBlcy4KICAqLwogc3RhdGljIHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICoKLWludGVsX2R2b19nZXRfY3VycmVudF9tb2RlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IpCitpbnRlbF9kdm9fZ2V0X2N1cnJlbnRfbW9kZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlcikKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7Ci0J c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwotCXN0cnVj dCBpbnRlbF9kdm8gKmludGVsX2R2byA9IGludGVsX2F0dGFjaGVkX2R2byhjb25uZWN0b3IpOwot CXVpbnQzMl90IGR2b192YWwgPSBJOTE1X1JFQUQoaW50ZWxfZHZvLT5kZXYuZHZvX3JlZyk7Ci0J c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSBOVUxMOworCXN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICptb2RlOwogCi0JLyogSWYgdGhlIERWTyBwb3J0IGlzIGFjdGl2ZSwgdGhhdCdsbCBi ZSB0aGUgTFZEUywgc28gd2UgY2FuIHB1bGwgb3V0Ci0JICogaXRzIHRpbWluZ3MgdG8gZ2V0IGhv dyB0aGUgQklPUyBzZXQgdXAgdGhlIHBhbmVsLgotCSAqLwotCWlmIChkdm9fdmFsICYgRFZPX0VO QUJMRSkgewotCQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YzsKLQkJaW50IHBpcGUgPSAoZHZvX3Zh bCAmIERWT19QSVBFX0JfU0VMRUNUKSA/IDEgOiAwOwotCi0JCWNydGMgPSBpbnRlbF9nZXRfY3J0 Y19mb3JfcGlwZShkZXZfcHJpdiwgcGlwZSk7Ci0JCWlmIChjcnRjKSB7Ci0JCQltb2RlID0gaW50 ZWxfY3J0Y19tb2RlX2dldChkZXYsICZjcnRjLT5iYXNlKTsKLQkJCWlmIChtb2RlKSB7Ci0JCQkJ bW9kZS0+dHlwZSB8PSBEUk1fTU9ERV9UWVBFX1BSRUZFUlJFRDsKLQkJCQlpZiAoZHZvX3ZhbCAm IERWT19IU1lOQ19BQ1RJVkVfSElHSCkKLQkJCQkJbW9kZS0+ZmxhZ3MgfD0gRFJNX01PREVfRkxB R19QSFNZTkM7Ci0JCQkJaWYgKGR2b192YWwgJiBEVk9fVlNZTkNfQUNUSVZFX0hJR0gpCi0JCQkJ CW1vZGUtPmZsYWdzIHw9IERSTV9NT0RFX0ZMQUdfUFZTWU5DOwotCQkJfQotCQl9CisJbW9kZSA9 IGludGVsX2VuY29kZXJfY3VycmVudF9tb2RlKGVuY29kZXIpOworCWlmIChtb2RlKSB7CisJCURS TV9ERUJVR19LTVMoInVzaW5nIGN1cnJlbnQgKEJJT1MpIG1vZGU6ICIpOworCQlkcm1fbW9kZV9k ZWJ1Z19wcmludG1vZGVsaW5lKG1vZGUpOworCQltb2RlLT50eXBlIHw9IERSTV9NT0RFX1RZUEVf UFJFRkVSUkVEOwogCX0KIAogCXJldHVybiBtb2RlOwpAQCAtNTUxLDcgKzUzNCw3IEBAIHZvaWQg aW50ZWxfZHZvX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQkJICog bW9kZSBiZWluZyBvdXRwdXQgdGhyb3VnaCBEVk8uCiAJCQkgKi8KIAkJCWludGVsX3BhbmVsX2lu aXQoJmludGVsX2Nvbm5lY3Rvci0+cGFuZWwsCi0JCQkJCSBpbnRlbF9kdm9fZ2V0X2N1cnJlbnRf bW9kZShjb25uZWN0b3IpLAorCQkJCQkgaW50ZWxfZHZvX2dldF9jdXJyZW50X21vZGUoaW50ZWxf ZW5jb2RlciksCiAJCQkJCSBOVUxMLCBOVUxMKTsKIAkJCWludGVsX2R2by0+cGFuZWxfd2FudHNf ZGl0aGVyID0gdHJ1ZTsKIAkJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHZkcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCmluZGV4IGE1NTk1 NGE4OTE0OC4uYzUwNzJiOTUxYjljIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9sdmRzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCkBAIC05 MzksMTAgKzkzOSw4IEBAIHZvaWQgaW50ZWxfbHZkc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZml4ZWRfbW9kZSA9IE5V TEw7CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmRvd25jbG9ja19tb2RlID0gTlVMTDsKIAlz dHJ1Y3QgZWRpZCAqZWRpZDsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YzsKIAlpOTE1X3JlZ190 IGx2ZHNfcmVnOwogCXUzMiBsdmRzOwotCWludCBwaXBlOwogCXU4IHBpbjsKIAl1MzIgYWxsb3dl ZF9zY2FsZXJzOwogCkBAIC0xMTE4LDE3ICsxMTE2LDExIEBAIHZvaWQgaW50ZWxfbHZkc19pbml0 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpZiAoSEFTX1BDSF9TUExJVChk ZXZfcHJpdikpCiAJCWdvdG8gZmFpbGVkOwogCi0JcGlwZSA9IChsdmRzICYgTFZEU19QSVBFQl9T RUxFQ1QpID8gMSA6IDA7Ci0JY3J0YyA9IGludGVsX2dldF9jcnRjX2Zvcl9waXBlKGRldl9wcml2 LCBwaXBlKTsKLQotCWlmIChjcnRjICYmIChsdmRzICYgTFZEU19QT1JUX0VOKSkgewotCQlmaXhl ZF9tb2RlID0gaW50ZWxfY3J0Y19tb2RlX2dldChkZXYsICZjcnRjLT5iYXNlKTsKLQkJaWYgKGZp eGVkX21vZGUpIHsKLQkJCURSTV9ERUJVR19LTVMoInVzaW5nIGN1cnJlbnQgKEJJT1MpIG1vZGU6 ICIpOwotCQkJZHJtX21vZGVfZGVidWdfcHJpbnRtb2RlbGluZShmaXhlZF9tb2RlKTsKLQkJCWZp eGVkX21vZGUtPnR5cGUgfD0gRFJNX01PREVfVFlQRV9QUkVGRVJSRUQ7Ci0JCQlnb3RvIG91dDsK LQkJfQorCWZpeGVkX21vZGUgPSBpbnRlbF9lbmNvZGVyX2N1cnJlbnRfbW9kZShpbnRlbF9lbmNv ZGVyKTsKKwlpZiAoZml4ZWRfbW9kZSkgeworCQlEUk1fREVCVUdfS01TKCJ1c2luZyBjdXJyZW50 IChCSU9TKSBtb2RlOiAiKTsKKwkJZHJtX21vZGVfZGVidWdfcHJpbnRtb2RlbGluZShmaXhlZF9t b2RlKTsKKwkJZml4ZWRfbW9kZS0+dHlwZSB8PSBEUk1fTU9ERV9UWVBFX1BSRUZFUlJFRDsKIAl9 CiAKIAkvKiBJZiB3ZSBzdGlsbCBkb24ndCBoYXZlIGEgbW9kZSBhZnRlciBhbGwgdGhhdCwgZ2l2 ZSB1cC4gKi8KLS0gCjIuMTMuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==