From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: [PATCH 08/11] drm/i915/cnl: Add HPD support for Port F. Date: Fri, 22 Dec 2017 14:23:23 -0800 Message-ID: <20171222222326.18562-8-rodrigo.vivi@intel.com> References: <20171222222326.18562-1-rodrigo.vivi@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 2BA0C6E7A5 for ; Fri, 22 Dec 2017 22:23:34 +0000 (UTC) In-Reply-To: <20171222222326.18562-1-rodrigo.vivi@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 Cc: Lucas De Marchi , Dhinakaran Pandiyan , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gQ05QIGJvYXJkcyB0aGF0IGFyZSB1c2luZyBEREkgRiwKYml0IDI1IChTREVfUE9SVEVfSE9U UExVR19TUFQpIGlzIHJlcHJlc2VudGluZwp0aGUgRGlnaXRhbCBQb3J0IEYgaG90cGx1ZyBsaW5l IHdoZW4gdGhlIERpZ2l0YWwKUG9ydCBGIGhvdHBsdWcgZGV0ZWN0IGlucHV0IGlzIGVuYWJsZWQu Cgp2MjogUmV1c2UgYWxsIGV4aXN0ZW50IHN0cnVjdHVyZSBpbnN0ZWFkIG9mIGFkZGluZyBhCm5l dyBIUERfUE9SVF9GIHBvaW50aW5nIHRvIHBpbiBvZiBwb3J0IEUuCnYzOiBVc2UgSVNfQ05MX1dJ VEhfUE9SVF9GIHNvIHdlIGNhbiBzdGFydCB1cHN0cmVhbWluZwogICAgdGhpcyByaWdodCBub3cu IElmIHRoYXQgU0tVIGV2ZXIgZ2V0IGEgcHJvcGVyIG5hbWUKICAgIHdlIGNvbWUgYmFjayBhbmQg dXBkYXRlIGl0Lgp2NDogUmViYXNlIG9uIHRvcCBvZiBkaWdpdGFsIGNvbm5lY3RlZCBwb3J0IHVz aW5nIGVuY29kZXIKICAgIGluc3RlYWQgb2YgcG9ydC4KCkNjOiBMdWNhcyBEZSBNYXJjaGkgPGx1 Y2FzLmRlbWFyY2hpQGludGVsLmNvbT4KQ2M6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFy ZUBpbnRlbC5jb20+CkNjOiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFu QGludGVsLmNvbT4KQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRl bC5jb20+ClNpZ25lZC1vZmYtYnk6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNv bT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAgOCArKysrKyst LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgIHwgMzUgKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMg ICAgICB8ICA0ICsrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyAgICB8ICAy ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ob3RwbHVnLmMgfCAxOSArKysrKysrKysr KysrKystLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDJmYzAyOGZkZmVkOS4uNGRiYzEwZTEy ZDg1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTMwOTMsNiArMzA5Myw4IEBAIGludGVs X2luZm8oY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQkJCSAoZGV2 X3ByaXYpLT5pbmZvLmd0ID09IDIpCiAjZGVmaW5lIElTX0NGTF9HVDMoZGV2X3ByaXYpCShJU19D T0ZGRUVMQUtFKGRldl9wcml2KSAmJiBcCiAJCQkJIChkZXZfcHJpdiktPmluZm8uZ3QgPT0gMykK KyNkZWZpbmUgSVNfQ05MX1dJVEhfUE9SVF9GKGRldl9wcml2KQkoSVNfQ0FOTk9OTEFLRShkZXZf cHJpdikgJiYgXAorCQkJCSAoSU5URUxfREVWSUQoZGV2X3ByaXYpICYgMHgwMDA0KSA9PSAweDAw MDQpCiAKICNkZWZpbmUgSVNfQUxQSEFfU1VQUE9SVChpbnRlbF9pbmZvKSAoKGludGVsX2luZm8p LT5pc19hbHBoYV9zdXBwb3J0KQogCkBAIC0zMzk3LDggKzMzOTksMTAgQEAgdm9pZCBpbnRlbF9o cGRfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogdm9pZCBp bnRlbF9ocGRfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogdm9pZCBp bnRlbF9ocGRfaW5pdF93b3JrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB2 b2lkIGludGVsX2hwZF9jYW5jZWxfd29yayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpOwotZW51bSBwb3J0IGludGVsX2hwZF9waW5fdG9fcG9ydChlbnVtIGhwZF9waW4gcGluKTsK LWVudW0gaHBkX3BpbiBpbnRlbF9ocGRfcGluKGVudW0gcG9ydCBwb3J0KTsKK2VudW0gcG9ydCBp bnRlbF9ocGRfcGluX3RvX3BvcnQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAor CQkJCWVudW0gaHBkX3BpbiBwaW4pOworZW51bSBocGRfcGluIGludGVsX2hwZF9waW5fZGVmYXVs dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJICAgZW51bSBwb3J0IHBv cnQpOwogYm9vbCBpbnRlbF9ocGRfZGlzYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsIGVudW0gaHBkX3BpbiBwaW4pOwogdm9pZCBpbnRlbF9ocGRfZW5hYmxlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBocGRfcGluIHBpbik7CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2lycS5jCmluZGV4IDhiOGRmNWI4YjhhNy4uOTg5NTFlY2EwMzY3IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfaXJxLmMKQEAgLTE1NjgsMTAgKzE1NjgsMTEgQEAgc3RhdGljIGJvb2wgaTl4eF9w b3J0X2hvdHBsdWdfbG9uZ19kZXRlY3QoZW51bSBwb3J0IHBvcnQsIHUzMiB2YWwpCiAgKgogICog Tm90ZSB0aGF0IHRoZSBjYWxsZXIgaXMgZXhwZWN0ZWQgdG8gemVybyBvdXQgdGhlIG1hc2tzIGlu aXRpYWxseS4KICAqLwotc3RhdGljIHZvaWQgaW50ZWxfZ2V0X2hwZF9waW5zKHUzMiAqcGluX21h c2ssIHUzMiAqbG9uZ19tYXNrLAotCQkJICAgICB1MzIgaG90cGx1Z190cmlnZ2VyLCB1MzIgZGln X2hvdHBsdWdfcmVnLAotCQkJICAgICBjb25zdCB1MzIgaHBkW0hQRF9OVU1fUElOU10sCi0JCQkg ICAgIGJvb2wgbG9uZ19wdWxzZV9kZXRlY3QoZW51bSBwb3J0IHBvcnQsIHUzMiB2YWwpKQorc3Rh dGljIHZvaWQgaW50ZWxfZ2V0X2hwZF9waW5zKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKKwkJCSAgICAgICB1MzIgKnBpbl9tYXNrLCB1MzIgKmxvbmdfbWFzaywKKwkJCSAgICAg ICB1MzIgaG90cGx1Z190cmlnZ2VyLCB1MzIgZGlnX2hvdHBsdWdfcmVnLAorCQkJICAgICAgIGNv bnN0IHUzMiBocGRbSFBEX05VTV9QSU5TXSwKKwkJCSAgICAgICBib29sIGxvbmdfcHVsc2VfZGV0 ZWN0KGVudW0gcG9ydCBwb3J0LCB1MzIgdmFsKSkKIHsKIAllbnVtIHBvcnQgcG9ydDsKIAlpbnQg aTsKQEAgLTE1ODIsNyArMTU4Myw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2dldF9ocGRfcGlucyh1 MzIgKnBpbl9tYXNrLCB1MzIgKmxvbmdfbWFzaywKIAogCQkqcGluX21hc2sgfD0gQklUKGkpOwog Ci0JCXBvcnQgPSBpbnRlbF9ocGRfcGluX3RvX3BvcnQoaSk7CisJCXBvcnQgPSBpbnRlbF9ocGRf cGluX3RvX3BvcnQoZGV2X3ByaXYsIGkpOwogCQlpZiAocG9ydCA9PSBQT1JUX05PTkUpCiAJCQlj b250aW51ZTsKIApAQCAtMTk3MCw4ICsxOTcxLDkgQEAgc3RhdGljIHZvaWQgaTl4eF9ocGRfaXJx X2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQl1MzIgaG90cGx1 Z190cmlnZ2VyID0gaG90cGx1Z19zdGF0dXMgJiBIT1RQTFVHX0lOVF9TVEFUVVNfRzRYOwogCiAJ CWlmIChob3RwbHVnX3RyaWdnZXIpIHsKLQkJCWludGVsX2dldF9ocGRfcGlucygmcGluX21hc2ss ICZsb25nX21hc2ssIGhvdHBsdWdfdHJpZ2dlciwKLQkJCQkJICAgaG90cGx1Z190cmlnZ2VyLCBo cGRfc3RhdHVzX2c0eCwKKwkJCWludGVsX2dldF9ocGRfcGlucyhkZXZfcHJpdiwgJnBpbl9tYXNr LCAmbG9uZ19tYXNrLAorCQkJCQkgICBob3RwbHVnX3RyaWdnZXIsIGhvdHBsdWdfdHJpZ2dlciwK KwkJCQkJICAgaHBkX3N0YXR1c19nNHgsCiAJCQkJCSAgIGk5eHhfcG9ydF9ob3RwbHVnX2xvbmdf ZGV0ZWN0KTsKIAogCQkJaW50ZWxfaHBkX2lycV9oYW5kbGVyKGRldl9wcml2LCBwaW5fbWFzaywg bG9uZ19tYXNrKTsKQEAgLTE5ODMsOCArMTk4NSw5IEBAIHN0YXRpYyB2b2lkIGk5eHhfaHBkX2ly cV9oYW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJdTMyIGhvdHBs dWdfdHJpZ2dlciA9IGhvdHBsdWdfc3RhdHVzICYgSE9UUExVR19JTlRfU1RBVFVTX0k5MTU7CiAK IAkJaWYgKGhvdHBsdWdfdHJpZ2dlcikgewotCQkJaW50ZWxfZ2V0X2hwZF9waW5zKCZwaW5fbWFz aywgJmxvbmdfbWFzaywgaG90cGx1Z190cmlnZ2VyLAotCQkJCQkgICBob3RwbHVnX3RyaWdnZXIs IGhwZF9zdGF0dXNfaTkxNSwKKwkJCWludGVsX2dldF9ocGRfcGlucyhkZXZfcHJpdiwgJnBpbl9t YXNrLCAmbG9uZ19tYXNrLAorCQkJCQkgICBob3RwbHVnX3RyaWdnZXIsIGhvdHBsdWdfdHJpZ2dl ciwKKwkJCQkJICAgaHBkX3N0YXR1c19pOTE1LAogCQkJCQkgICBpOXh4X3BvcnRfaG90cGx1Z19s b25nX2RldGVjdCk7CiAJCQlpbnRlbF9ocGRfaXJxX2hhbmRsZXIoZGV2X3ByaXYsIHBpbl9tYXNr LCBsb25nX21hc2spOwogCQl9CkBAIC0yMTg1LDcgKzIxODgsNyBAQCBzdGF0aWMgdm9pZCBpYnhf aHBkX2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlpZiAo IWhvdHBsdWdfdHJpZ2dlcikKIAkJcmV0dXJuOwogCi0JaW50ZWxfZ2V0X2hwZF9waW5zKCZwaW5f bWFzaywgJmxvbmdfbWFzaywgaG90cGx1Z190cmlnZ2VyLAorCWludGVsX2dldF9ocGRfcGlucyhk ZXZfcHJpdiwgJnBpbl9tYXNrLCAmbG9uZ19tYXNrLCBob3RwbHVnX3RyaWdnZXIsCiAJCQkgICBk aWdfaG90cGx1Z19yZWcsIGhwZCwKIAkJCSAgIHBjaF9wb3J0X2hvdHBsdWdfbG9uZ19kZXRlY3Qp OwogCkBAIC0yMzI3LDggKzIzMzAsOCBAQCBzdGF0aWMgdm9pZCBzcHRfaXJxX2hhbmRsZXIoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgcGNoX2lpcikKIAkJZGlnX2hvdHBs dWdfcmVnID0gSTkxNV9SRUFEKFBDSF9QT1JUX0hPVFBMVUcpOwogCQlJOTE1X1dSSVRFKFBDSF9Q T1JUX0hPVFBMVUcsIGRpZ19ob3RwbHVnX3JlZyk7CiAKLQkJaW50ZWxfZ2V0X2hwZF9waW5zKCZw aW5fbWFzaywgJmxvbmdfbWFzaywgaG90cGx1Z190cmlnZ2VyLAotCQkJCSAgIGRpZ19ob3RwbHVn X3JlZywgaHBkX3NwdCwKKwkJaW50ZWxfZ2V0X2hwZF9waW5zKGRldl9wcml2LCAmcGluX21hc2ss ICZsb25nX21hc2ssCisJCQkJICAgaG90cGx1Z190cmlnZ2VyLCBkaWdfaG90cGx1Z19yZWcsIGhw ZF9zcHQsCiAJCQkJICAgc3B0X3BvcnRfaG90cGx1Z19sb25nX2RldGVjdCk7CiAJfQogCkBAIC0y MzM4LDggKzIzNDEsOCBAQCBzdGF0aWMgdm9pZCBzcHRfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgcGNoX2lpcikKIAkJZGlnX2hvdHBsdWdfcmVnID0g STkxNV9SRUFEKFBDSF9QT1JUX0hPVFBMVUcyKTsKIAkJSTkxNV9XUklURShQQ0hfUE9SVF9IT1RQ TFVHMiwgZGlnX2hvdHBsdWdfcmVnKTsKIAotCQlpbnRlbF9nZXRfaHBkX3BpbnMoJnBpbl9tYXNr LCAmbG9uZ19tYXNrLCBob3RwbHVnMl90cmlnZ2VyLAotCQkJCSAgIGRpZ19ob3RwbHVnX3JlZywg aHBkX3NwdCwKKwkJaW50ZWxfZ2V0X2hwZF9waW5zKGRldl9wcml2LCAmcGluX21hc2ssICZsb25n X21hc2ssCisJCQkJICAgaG90cGx1ZzJfdHJpZ2dlciwgZGlnX2hvdHBsdWdfcmVnLCBocGRfc3B0 LAogCQkJCSAgIHNwdF9wb3J0X2hvdHBsdWcyX2xvbmdfZGV0ZWN0KTsKIAl9CiAKQEAgLTIzNTks NyArMjM2Miw3IEBAIHN0YXRpYyB2b2lkIGlsa19ocGRfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAogCWRpZ19ob3RwbHVnX3JlZyA9IEk5MTVfUkVBRChESUdJ VEFMX1BPUlRfSE9UUExVR19DTlRSTCk7CiAJSTkxNV9XUklURShESUdJVEFMX1BPUlRfSE9UUExV R19DTlRSTCwgZGlnX2hvdHBsdWdfcmVnKTsKIAotCWludGVsX2dldF9ocGRfcGlucygmcGluX21h c2ssICZsb25nX21hc2ssIGhvdHBsdWdfdHJpZ2dlciwKKwlpbnRlbF9nZXRfaHBkX3BpbnMoZGV2 X3ByaXYsICZwaW5fbWFzaywgJmxvbmdfbWFzaywgaG90cGx1Z190cmlnZ2VyLAogCQkJICAgZGln X2hvdHBsdWdfcmVnLCBocGQsCiAJCQkgICBpbGtfcG9ydF9ob3RwbHVnX2xvbmdfZGV0ZWN0KTsK IApAQCAtMjUzNiw3ICsyNTM5LDcgQEAgc3RhdGljIHZvaWQgYnh0X2hwZF9pcnFfaGFuZGxlcihz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJZGlnX2hvdHBsdWdfcmVnID0gSTkx NV9SRUFEKFBDSF9QT1JUX0hPVFBMVUcpOwogCUk5MTVfV1JJVEUoUENIX1BPUlRfSE9UUExVRywg ZGlnX2hvdHBsdWdfcmVnKTsKIAotCWludGVsX2dldF9ocGRfcGlucygmcGluX21hc2ssICZsb25n X21hc2ssIGhvdHBsdWdfdHJpZ2dlciwKKwlpbnRlbF9nZXRfaHBkX3BpbnMoZGV2X3ByaXYsICZw aW5fbWFzaywgJmxvbmdfbWFzaywgaG90cGx1Z190cmlnZ2VyLAogCQkJICAgZGlnX2hvdHBsdWdf cmVnLCBocGQsCiAJCQkgICBieHRfcG9ydF9ob3RwbHVnX2xvbmdfZGV0ZWN0KTsKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMKaW5kZXggNmRiMGI2YjI1ZjYxLi4zNzdhOTc3MGJhZTUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHAuYwpAQCAtNTk3Myw4ICs1OTczLDEwIEBAIGludGVsX2RwX2luaXRfY29u bmVjdG9yX3BvcnRfaW5mbyhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9y dCkKIHsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9ICZpbnRlbF9kaWdfcG9ydC0+ YmFzZTsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gJmludGVsX2RpZ19wb3J0LT5kcDsK KwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9ICZpbnRlbF9kaWdfcG9ydC0+ YmFzZTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVs X2VuY29kZXItPmJhc2UuZGV2KTsKIAotCWVuY29kZXItPmhwZF9waW4gPSBpbnRlbF9ocGRfcGlu KGVuY29kZXItPnBvcnQpOworCWVuY29kZXItPmhwZF9waW4gPSBpbnRlbF9ocGRfcGluX2RlZmF1 bHQoZGV2X3ByaXYsIGVuY29kZXItPnBvcnQpOwogCiAJc3dpdGNoIChlbmNvZGVyLT5wb3J0KSB7 CiAJY2FzZSBQT1JUX0E6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o ZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKaW5kZXggNmY0NjBjNDUz NGZhLi5jYzc2OTM4Y2FmYzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKQEAgLTIwNDcs NyArMjA0Nyw3IEBAIHZvaWQgaW50ZWxfaGRtaV9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxf ZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKIAogCWlmIChXQVJOX09OKHBvcnQgPT0gUE9S VF9BKSkKIAkJcmV0dXJuOwotCWludGVsX2VuY29kZXItPmhwZF9waW4gPSBpbnRlbF9ocGRfcGlu KHBvcnQpOworCWludGVsX2VuY29kZXItPmhwZF9waW4gPSBpbnRlbF9ocGRfcGluX2RlZmF1bHQo ZGV2X3ByaXYsIHBvcnQpOwogCiAJaWYgKEhBU19EREkoZGV2X3ByaXYpKQogCQlpbnRlbF9jb25u ZWN0b3ItPmdldF9od19zdGF0ZSA9IGludGVsX2RkaV9jb25uZWN0b3JfZ2V0X2h3X3N0YXRlOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaG90cGx1Zy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfaG90cGx1Zy5jCmluZGV4IDg3NWQ1ZDIxOGQ1Yy4uZmUyOGMx ZWE4NGE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ob3RwbHVnLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaG90cGx1Zy5jCkBAIC03OCwxMiArNzgs MTQgQEAKIAogLyoqCiAgKiBpbnRlbF9ocGRfcG9ydCAtIHJldHVybiBwb3J0IGhhcmQgYXNzb2Np YXRlZCB3aXRoIGNlcnRhaW4gcGluLgorICogQGRldl9wcml2OiBwcml2YXRlIGRyaXZlciBkYXRh IHBvaW50ZXIKICAqIEBwaW46IHRoZSBocGQgcGluIHRvIGdldCBhc3NvY2lhdGVkIHBvcnQKICAq CiAgKiBSZXR1cm4gcG9ydCB0aGF0IGlzIGFzc29jaWF0YWRlIHdpdGggQHBpbiBhbmQgUE9SVF9O T05FIGlmIG5vIHBvcnQgaXMKICAqIGhhcmQgYXNzb2NpYXRlZCB3aXRoIHRoYXQgQHBpbi4KICAq LwotZW51bSBwb3J0IGludGVsX2hwZF9waW5fdG9fcG9ydChlbnVtIGhwZF9waW4gcGluKQorZW51 bSBwb3J0IGludGVsX2hwZF9waW5fdG9fcG9ydChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCisJCQkJZW51bSBocGRfcGluIHBpbikKIHsKIAlzd2l0Y2ggKHBpbikgewogCWNhc2Ug SFBEX1BPUlRfQToKQEAgLTk1LDYgKzk3LDggQEAgZW51bSBwb3J0IGludGVsX2hwZF9waW5fdG9f cG9ydChlbnVtIGhwZF9waW4gcGluKQogCWNhc2UgSFBEX1BPUlRfRDoKIAkJcmV0dXJuIFBPUlRf RDsKIAljYXNlIEhQRF9QT1JUX0U6CisJCWlmIChJU19DTkxfV0lUSF9QT1JUX0YoZGV2X3ByaXYp KQorCQkJcmV0dXJuIFBPUlRfRjsKIAkJcmV0dXJuIFBPUlRfRTsKIAlkZWZhdWx0OgogCQlyZXR1 cm4gUE9SVF9OT05FOyAvKiBubyBwb3J0IGZvciB0aGlzIHBpbiAqLwpAQCAtMTAyLDEzICsxMDYs MTcgQEAgZW51bSBwb3J0IGludGVsX2hwZF9waW5fdG9fcG9ydChlbnVtIGhwZF9waW4gcGluKQog fQogCiAvKioKLSAqIGludGVsX2hwZF9waW4gLSByZXR1cm4gcGluIGhhcmQgYXNzb2NpYXRlZCB3 aXRoIGNlcnRhaW4gcG9ydC4KKyAqIGludGVsX2hwZF9waW5fZGVmYXVsdCAtIHJldHVybiBkZWZh dWx0IHBpbiBhc3NvY2lhdGVkIHdpdGggY2VydGFpbiBwb3J0LgorICogQGRldl9wcml2OiBwcml2 YXRlIGRyaXZlciBkYXRhIHBvaW50ZXIKICAqIEBwb3J0OiB0aGUgaHBkIHBvcnQgdG8gZ2V0IGFz c29jaWF0ZWQgcGluCiAgKgorICogSXQgaXMgb25seSB2YWxpZCBhbmQgdXNlZCBieSBkaWdpdGFs IHBvcnQgZW5jb2Rlci4KKyAqCiAgKiBSZXR1cm4gcGluIHRoYXQgaXMgYXNzb2NpYXRhZGUgd2l0 aCBAcG9ydCBhbmQgSERQX05PTkUgaWYgbm8gcGluIGlzCiAgKiBoYXJkIGFzc29jaWF0ZWQgd2l0 aCB0aGF0IEBwb3J0LgogICovCi1lbnVtIGhwZF9waW4gaW50ZWxfaHBkX3BpbihlbnVtIHBvcnQg cG9ydCkKK2VudW0gaHBkX3BpbiBpbnRlbF9ocGRfcGluX2RlZmF1bHQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAorCQkJCSAgIGVudW0gcG9ydCBwb3J0KQogewogCXN3aXRjaCAo cG9ydCkgewogCWNhc2UgUE9SVF9BOgpAQCAtMTIxLDYgKzEyOSw5IEBAIGVudW0gaHBkX3BpbiBp bnRlbF9ocGRfcGluKGVudW0gcG9ydCBwb3J0KQogCQlyZXR1cm4gSFBEX1BPUlRfRDsKIAljYXNl IFBPUlRfRToKIAkJcmV0dXJuIEhQRF9QT1JUX0U7CisJY2FzZSBQT1JUX0Y6CisJCWlmIChJU19D TkxfV0lUSF9QT1JUX0YoZGV2X3ByaXYpKQorCQkJcmV0dXJuIEhQRF9QT1JUX0U7CiAJZGVmYXVs dDoKIAkJTUlTU0lOR19DQVNFKHBvcnQpOwogCQlyZXR1cm4gSFBEX05PTkU7CkBAIC00MTcsNyAr NDI4LDcgQEAgdm9pZCBpbnRlbF9ocGRfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAogCQlpZiAoIShCSVQoaSkgJiBwaW5fbWFzaykpCiAJCQljb250aW51ZTsK IAotCQlwb3J0ID0gaW50ZWxfaHBkX3Bpbl90b19wb3J0KGkpOworCQlwb3J0ID0gaW50ZWxfaHBk X3Bpbl90b19wb3J0KGRldl9wcml2LCBpKTsKIAkJaXNfZGlnX3BvcnQgPSBwb3J0ICE9IFBPUlRf Tk9ORSAmJgogCQkJZGV2X3ByaXYtPmhvdHBsdWcuaXJxX3BvcnRbcG9ydF07CiAKLS0gCjIuMTMu NgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==