From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: [PATCH 07/11] drm/i915: For HPD connected port use hpd_pin instead of port. Date: Fri, 22 Dec 2017 14:23:22 -0800 Message-ID: <20171222222326.18562-7-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 9825E6E7A3 for ; Fri, 22 Dec 2017 22:23:33 +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 , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org TGV0J3MgdHJ5IHRvIHNpbXBsaWZ5IHRoaXMgbWFwcGluZyB0byBocGRfcGluIC0+IGJpdAppbnN0 ZWFkIHVzaW5nIHBvcnQuClNvIGZvciBDTkwgd2l0aCBwb3J0IEYgd2hlcmUgd2UgaGF2ZSB0aGlz IHBvcnQgdXNpbmcKaGRwX3BpbiBhbmQgYml0cyBvZiBvdGhlciBwb3J0cyB3ZSBkb24ndCBuZWVk IHRvIGR1cGxpY2F0ZWQKdGhlIG1hcHBpbmcuCgpCdXQgZm9yIG5vdyB0aGlzIGlzIG9ubHkgYSBy ZS1vcmcgd2l0aCBubyBmdW5jdGlvbmFsIGNoYW5nZQpleHBlY3RlZC4KCkNjOiBMdWNhcyBEZSBN YXJjaGkgPGx1Y2FzLmRlbWFyY2hpQGludGVsLmNvbT4KU3VnZ2VzdGVkLWJ5OiBWaWxsZSBTeXJq w6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpDYzogVmlsbGUgU3lyasOkbMOk IDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogUm9kcmlnbyBW aXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwLmMgICAgIHwgMTQ0ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgfCAgIDMgKy0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jIHwgICAzICstCiAzIGZpbGVzIGNoYW5nZWQsIDcyIGlu c2VydGlvbnMoKyksIDc4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCmluZGV4 IDkxZTAyYTM1YzAzNi4uNmRiMGI2YjI1ZjYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKQEAg LTQ0NjIsMTczICs0NDYyLDE3MCBAQCBlZHBfZGV0ZWN0KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApCiAJcmV0dXJuIHN0YXR1czsKIH0KIAotc3RhdGljIGJvb2wgaWJ4X2RpZ2l0YWxfcG9ydF9j b25uZWN0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAotCQkJCSAgICAgICBz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpwb3J0KQorc3RhdGljIGJvb2wgaWJ4X2RpZ2l0YWxf cG9ydF9jb25uZWN0ZWQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7CisJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7 CiAJdTMyIGJpdDsKIAotCXN3aXRjaCAocG9ydC0+YmFzZS5wb3J0KSB7Ci0JY2FzZSBQT1JUX0I6 CisJc3dpdGNoIChlbmNvZGVyLT5ocGRfcGluKSB7CisJY2FzZSBIUERfUE9SVF9COgogCQliaXQg PSBTREVfUE9SVEJfSE9UUExVRzsKIAkJYnJlYWs7Ci0JY2FzZSBQT1JUX0M6CisJY2FzZSBIUERf UE9SVF9DOgogCQliaXQgPSBTREVfUE9SVENfSE9UUExVRzsKIAkJYnJlYWs7Ci0JY2FzZSBQT1JU X0Q6CisJY2FzZSBIUERfUE9SVF9EOgogCQliaXQgPSBTREVfUE9SVERfSE9UUExVRzsKIAkJYnJl YWs7CiAJZGVmYXVsdDoKLQkJTUlTU0lOR19DQVNFKHBvcnQtPmJhc2UucG9ydCk7CisJCU1JU1NJ TkdfQ0FTRShlbmNvZGVyLT5ocGRfcGluKTsKIAkJcmV0dXJuIGZhbHNlOwogCX0KIAogCXJldHVy biBJOTE1X1JFQUQoU0RFSVNSKSAmIGJpdDsKIH0KIAotc3RhdGljIGJvb2wgY3B0X2RpZ2l0YWxf cG9ydF9jb25uZWN0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAotCQkJCSAg ICAgICBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpwb3J0KQorc3RhdGljIGJvb2wgY3B0X2Rp Z2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7CisJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNl LmRldik7CiAJdTMyIGJpdDsKIAotCXN3aXRjaCAocG9ydC0+YmFzZS5wb3J0KSB7Ci0JY2FzZSBQ T1JUX0I6CisJc3dpdGNoIChlbmNvZGVyLT5ocGRfcGluKSB7CisJY2FzZSBIUERfUE9SVF9COgog CQliaXQgPSBTREVfUE9SVEJfSE9UUExVR19DUFQ7CiAJCWJyZWFrOwotCWNhc2UgUE9SVF9DOgor CWNhc2UgSFBEX1BPUlRfQzoKIAkJYml0ID0gU0RFX1BPUlRDX0hPVFBMVUdfQ1BUOwogCQlicmVh azsKLQljYXNlIFBPUlRfRDoKKwljYXNlIEhQRF9QT1JUX0Q6CiAJCWJpdCA9IFNERV9QT1JURF9I T1RQTFVHX0NQVDsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJTUlTU0lOR19DQVNFKHBvcnQtPmJh c2UucG9ydCk7CisJCU1JU1NJTkdfQ0FTRShlbmNvZGVyLT5ocGRfcGluKTsKIAkJcmV0dXJuIGZh bHNlOwogCX0KIAogCXJldHVybiBJOTE1X1JFQUQoU0RFSVNSKSAmIGJpdDsKIH0KIAotc3RhdGlj IGJvb2wgc3B0X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAotCQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpwb3J0KQor c3RhdGljIGJvb2wgc3B0X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIpCiB7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJdTMyIGJpdDsKIAotCXN3aXRjaCAocG9ydC0+YmFz ZS5wb3J0KSB7Ci0JY2FzZSBQT1JUX0E6CisJc3dpdGNoIChlbmNvZGVyLT5ocGRfcGluKSB7CisJ Y2FzZSBIUERfUE9SVF9BOgogCQliaXQgPSBTREVfUE9SVEFfSE9UUExVR19TUFQ7CiAJCWJyZWFr OwotCWNhc2UgUE9SVF9FOgorCWNhc2UgSFBEX1BPUlRfRToKIAkJYml0ID0gU0RFX1BPUlRFX0hP VFBMVUdfU1BUOwogCQlicmVhazsKIAlkZWZhdWx0OgotCQlyZXR1cm4gY3B0X2RpZ2l0YWxfcG9y dF9jb25uZWN0ZWQoZGV2X3ByaXYsIHBvcnQpOworCQlyZXR1cm4gY3B0X2RpZ2l0YWxfcG9ydF9j b25uZWN0ZWQoZW5jb2Rlcik7CiAJfQogCiAJcmV0dXJuIEk5MTVfUkVBRChTREVJU1IpICYgYml0 OwogfQogCi1zdGF0aWMgYm9vbCBnNHhfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkJICAgICAgIHN0cnVjdCBpbnRlbF9kaWdpdGFs X3BvcnQgKnBvcnQpCitzdGF0aWMgYm9vbCBnNHhfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIHsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAl1MzIgYml0OwogCi0Jc3dp dGNoIChwb3J0LT5iYXNlLnBvcnQpIHsKLQljYXNlIFBPUlRfQjoKKwlzd2l0Y2ggKGVuY29kZXIt PmhwZF9waW4pIHsKKwljYXNlIEhQRF9QT1JUX0I6CiAJCWJpdCA9IFBPUlRCX0hPVFBMVUdfTElW RV9TVEFUVVNfRzRYOwogCQlicmVhazsKLQljYXNlIFBPUlRfQzoKKwljYXNlIEhQRF9QT1JUX0M6 CiAJCWJpdCA9IFBPUlRDX0hPVFBMVUdfTElWRV9TVEFUVVNfRzRYOwogCQlicmVhazsKLQljYXNl IFBPUlRfRDoKKwljYXNlIEhQRF9QT1JUX0Q6CiAJCWJpdCA9IFBPUlREX0hPVFBMVUdfTElWRV9T VEFUVVNfRzRYOwogCQlicmVhazsKIAlkZWZhdWx0OgotCQlNSVNTSU5HX0NBU0UocG9ydC0+YmFz ZS5wb3J0KTsKKwkJTUlTU0lOR19DQVNFKGVuY29kZXItPmhwZF9waW4pOwogCQlyZXR1cm4gZmFs c2U7CiAJfQogCiAJcmV0dXJuIEk5MTVfUkVBRChQT1JUX0hPVFBMVUdfU1RBVCkgJiBiaXQ7CiB9 CiAKLXN0YXRpYyBib29sIGdtNDVfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkJCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKnBv cnQpCitzdGF0aWMgYm9vbCBnbTQ1X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIpCiB7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJdTMyIGJpdDsKIAotCXN3aXRjaCAocG9y dC0+YmFzZS5wb3J0KSB7Ci0JY2FzZSBQT1JUX0I6CisJc3dpdGNoIChlbmNvZGVyLT5ocGRfcGlu KSB7CisJY2FzZSBIUERfUE9SVF9COgogCQliaXQgPSBQT1JUQl9IT1RQTFVHX0xJVkVfU1RBVFVT X0dNNDU7CiAJCWJyZWFrOwotCWNhc2UgUE9SVF9DOgorCWNhc2UgSFBEX1BPUlRfQzoKIAkJYml0 ID0gUE9SVENfSE9UUExVR19MSVZFX1NUQVRVU19HTTQ1OwogCQlicmVhazsKLQljYXNlIFBPUlRf RDoKKwljYXNlIEhQRF9QT1JUX0Q6CiAJCWJpdCA9IFBPUlREX0hPVFBMVUdfTElWRV9TVEFUVVNf R000NTsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJTUlTU0lOR19DQVNFKHBvcnQtPmJhc2UucG9y dCk7CisJCU1JU1NJTkdfQ0FTRShlbmNvZGVyLT5ocGRfcGluKTsKIAkJcmV0dXJuIGZhbHNlOwog CX0KIAogCXJldHVybiBJOTE1X1JFQUQoUE9SVF9IT1RQTFVHX1NUQVQpICYgYml0OwogfQogCi1z dGF0aWMgYm9vbCBpbGtfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCi0JCQkJICAgICAgIHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKnBv cnQpCitzdGF0aWMgYm9vbCBpbGtfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlcikKIHsKLQlpZiAocG9ydC0+YmFzZS5wb3J0ID09IFBPUlRfQSkKKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2Uu ZGV2KTsKKwlpZiAoZW5jb2Rlci0+aHBkX3BpbiA9PSBIUERfUE9SVF9BKQogCQlyZXR1cm4gSTkx NV9SRUFEKERFSVNSKSAmIERFX0RQX0FfSE9UUExVRzsKIAllbHNlCi0JCXJldHVybiBpYnhfZGln aXRhbF9wb3J0X2Nvbm5lY3RlZChkZXZfcHJpdiwgcG9ydCk7CisJCXJldHVybiBpYnhfZGlnaXRh bF9wb3J0X2Nvbm5lY3RlZChlbmNvZGVyKTsKIH0KIAotc3RhdGljIGJvb2wgc25iX2RpZ2l0YWxf cG9ydF9jb25uZWN0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAotCQkJCSAg ICAgICBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpwb3J0KQorc3RhdGljIGJvb2wgc25iX2Rp Z2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7Ci0J aWYgKHBvcnQtPmJhc2UucG9ydCA9PSBQT1JUX0EpCisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CisJaWYgKGVuY29kZXItPmhw ZF9waW4gPT0gSFBEX1BPUlRfQSkKIAkJcmV0dXJuIEk5MTVfUkVBRChERUlTUikgJiBERV9EUF9B X0hPVFBMVUc7CiAJZWxzZQotCQlyZXR1cm4gY3B0X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZGV2 X3ByaXYsIHBvcnQpOworCQlyZXR1cm4gY3B0X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZW5jb2Rl cik7CiB9CiAKLXN0YXRpYyBib29sIGl2Yl9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJCQkgICAgICAgc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqcG9ydCkKK3N0YXRpYyBib29sIGl2Yl9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogewotCWlmIChwb3J0LT5iYXNlLnBvcnQgPT0g UE9SVF9BKQorCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5j b2Rlci0+YmFzZS5kZXYpOworCWlmIChlbmNvZGVyLT5ocGRfcGluID09IEhQRF9QT1JUX0EpCiAJ CXJldHVybiBJOTE1X1JFQUQoREVJU1IpICYgREVfRFBfQV9IT1RQTFVHX0lWQjsKIAllbHNlCi0J CXJldHVybiBjcHRfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChkZXZfcHJpdiwgcG9ydCk7CisJCXJl dHVybiBjcHRfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChlbmNvZGVyKTsKIH0KIAotc3RhdGljIGJv b2wgYmR3X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAotCQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpwb3J0KQorc3Rh dGljIGJvb2wgYmR3X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIpCiB7Ci0JaWYgKHBvcnQtPmJhc2UucG9ydCA9PSBQT1JUX0EpCisJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CisJ aWYgKGVuY29kZXItPmhwZF9waW4gPT0gSFBEX1BPUlRfQSkKIAkJcmV0dXJuIEk5MTVfUkVBRChH RU44X0RFX1BPUlRfSVNSKSAmIEdFTjhfUE9SVF9EUF9BX0hPVFBMVUc7CiAJZWxzZQotCQlyZXR1 cm4gY3B0X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZGV2X3ByaXYsIHBvcnQpOworCQlyZXR1cm4g Y3B0X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZW5jb2Rlcik7CiB9CiAKLXN0YXRpYyBib29sIGJ4 dF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKLQkJCQkgICAgICAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQp CitzdGF0aWMgYm9vbCBieHRfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlcikKIHsKLQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9 ICZpbnRlbF9kaWdfcG9ydC0+YmFzZTsKLQllbnVtIHBvcnQgcG9ydDsKKwlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAl1MzIg Yml0OwogCi0JcG9ydCA9IGludGVsX2hwZF9waW5fdG9fcG9ydChpbnRlbF9lbmNvZGVyLT5ocGRf cGluKTsKLQlzd2l0Y2ggKHBvcnQpIHsKLQljYXNlIFBPUlRfQToKKwlzd2l0Y2ggKGVuY29kZXIt PmhwZF9waW4pIHsKKwljYXNlIEhQRF9QT1JUX0E6CiAJCWJpdCA9IEJYVF9ERV9QT1JUX0hQX0RE SUE7CiAJCWJyZWFrOwotCWNhc2UgUE9SVF9COgorCWNhc2UgSFBEX1BPUlRfQjoKIAkJYml0ID0g QlhUX0RFX1BPUlRfSFBfRERJQjsKIAkJYnJlYWs7Ci0JY2FzZSBQT1JUX0M6CisJY2FzZSBIUERf UE9SVF9DOgogCQliaXQgPSBCWFRfREVfUE9SVF9IUF9ERElDOwogCQlicmVhazsKIAlkZWZhdWx0 OgotCQlNSVNTSU5HX0NBU0UocG9ydCk7CisJCU1JU1NJTkdfQ0FTRShlbmNvZGVyLT5ocGRfcGlu KTsKIAkJcmV0dXJuIGZhbHNlOwogCX0KIApAQCAtNDYzNywzMyArNDYzNCwzMyBAQCBzdGF0aWMg Ym9vbCBieHRfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCiAKIC8qCiAgKiBpbnRlbF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkIC0gaXMgdGhl IHNwZWNpZmllZCBwb3J0IGNvbm5lY3RlZD8KLSAqIEBkZXZfcHJpdjogaTkxNSBwcml2YXRlIHN0 cnVjdHVyZQotICogQHBvcnQ6IHRoZSBwb3J0IHRvIHRlc3QKKyAqIEBlbmNvZGVyOiBpbnRlbF9l bmNvZGVyCiAgKgogICogUmV0dXJuICV0cnVlIGlmIEBwb3J0IGlzIGNvbm5lY3RlZCwgJWZhbHNl IG90aGVyd2lzZS4KICAqLwotYm9vbCBpbnRlbF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJCQkgIHN0cnVjdCBpbnRlbF9kaWdpdGFs X3BvcnQgKnBvcnQpCitib29sIGludGVsX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIpCiB7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CisKIAlpZiAoSEFTX0dNQ0hfRElTUExB WShkZXZfcHJpdikpIHsKIAkJaWYgKElTX0dNNDUoZGV2X3ByaXYpKQotCQkJcmV0dXJuIGdtNDVf ZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChkZXZfcHJpdiwgcG9ydCk7CisJCQlyZXR1cm4gZ200NV9k aWdpdGFsX3BvcnRfY29ubmVjdGVkKGVuY29kZXIpOwogCQllbHNlCi0JCQlyZXR1cm4gZzR4X2Rp Z2l0YWxfcG9ydF9jb25uZWN0ZWQoZGV2X3ByaXYsIHBvcnQpOworCQkJcmV0dXJuIGc0eF9kaWdp dGFsX3BvcnRfY29ubmVjdGVkKGVuY29kZXIpOwogCX0KIAogCWlmIChJU19HRU41KGRldl9wcml2 KSkKLQkJcmV0dXJuIGlsa19kaWdpdGFsX3BvcnRfY29ubmVjdGVkKGRldl9wcml2LCBwb3J0KTsK KwkJcmV0dXJuIGlsa19kaWdpdGFsX3BvcnRfY29ubmVjdGVkKGVuY29kZXIpOwogCWVsc2UgaWYg KElTX0dFTjYoZGV2X3ByaXYpKQotCQlyZXR1cm4gc25iX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQo ZGV2X3ByaXYsIHBvcnQpOworCQlyZXR1cm4gc25iX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZW5j b2Rlcik7CiAJZWxzZSBpZiAoSVNfR0VONyhkZXZfcHJpdikpCi0JCXJldHVybiBpdmJfZGlnaXRh bF9wb3J0X2Nvbm5lY3RlZChkZXZfcHJpdiwgcG9ydCk7CisJCXJldHVybiBpdmJfZGlnaXRhbF9w b3J0X2Nvbm5lY3RlZChlbmNvZGVyKTsKIAllbHNlIGlmIChJU19HRU44KGRldl9wcml2KSkKLQkJ cmV0dXJuIGJkd19kaWdpdGFsX3BvcnRfY29ubmVjdGVkKGRldl9wcml2LCBwb3J0KTsKKwkJcmV0 dXJuIGJkd19kaWdpdGFsX3BvcnRfY29ubmVjdGVkKGVuY29kZXIpOwogCWVsc2UgaWYgKElTX0dF TjlfTFAoZGV2X3ByaXYpKQotCQlyZXR1cm4gYnh0X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZGV2 X3ByaXYsIHBvcnQpOworCQlyZXR1cm4gYnh0X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZW5jb2Rl cik7CiAJZWxzZQotCQlyZXR1cm4gc3B0X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZGV2X3ByaXYs IHBvcnQpOworCQlyZXR1cm4gc3B0X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZW5jb2Rlcik7CiB9 CiAKIHN0YXRpYyBzdHJ1Y3QgZWRpZCAqCkBAIC00NzIyLDggKzQ3MTksNyBAQCBpbnRlbF9kcF9s b25nX3B1bHNlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAkvKiBDYW4ndCBk aXNjb25uZWN0IGVEUCwgYnV0IHlvdSBjYW4gY2xvc2UgdGhlIGxpZC4uLiAqLwogCWlmIChpbnRl bF9kcF9pc19lZHAoaW50ZWxfZHApKQogCQlzdGF0dXMgPSBlZHBfZGV0ZWN0KGludGVsX2RwKTsK LQllbHNlIGlmIChpbnRlbF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKGRldl9wcml2LAotCQkJCQkg ICAgICBkcF90b19kaWdfcG9ydChpbnRlbF9kcCkpKQorCWVsc2UgaWYgKGludGVsX2RpZ2l0YWxf cG9ydF9jb25uZWN0ZWQoJmRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+YmFzZSkpCiAJCXN0YXR1 cyA9IGludGVsX2RwX2RldGVjdF9kcGNkKGludGVsX2RwKTsKIAllbHNlCiAJCXN0YXR1cyA9IGNv bm5lY3Rvcl9zdGF0dXNfZGlzY29ubmVjdGVkOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRl eCAzMGY3OTFmODlkNjQuLjJkMjFhNTRhNTA0YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK QEAgLTE1OTAsOCArMTU5MCw3IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGludGVsX2Rw X3VudXNlZF9sYW5lX21hc2soaW50IGxhbmVfY291bnQpCiBib29sIGludGVsX2RwX3JlYWRfZHBj ZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKIGludCBpbnRlbF9kcF9saW5rX3JlcXVpcmVk KGludCBwaXhlbF9jbG9jaywgaW50IGJwcCk7CiBpbnQgaW50ZWxfZHBfbWF4X2RhdGFfcmF0ZShp bnQgbWF4X2xpbmtfY2xvY2ssIGludCBtYXhfbGFuZXMpOwotYm9vbCBpbnRlbF9kaWdpdGFsX3Bv cnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJCQkgIHN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKnBvcnQpOworYm9vbCBpbnRlbF9kaWdpdGFsX3BvcnRf Y29ubmVjdGVkKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKTsKIAogLyogaW50ZWxfZHBf YXV4X2JhY2tsaWdodC5jICovCiBpbnQgaW50ZWxfZHBfYXV4X2luaXRfYmFja2xpZ2h0X2Z1bmNz KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3Rvcik7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xzcGNvbi5jCmluZGV4IGRjYmM3ODY0NzlmOS4uOGFlOGY0MmY0MzBhIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYwpAQCAtMTY3LDExICsxNjcsMTAgQEAgc3RhdGljIHZv aWQgbHNwY29uX3Jlc3VtZV9pbl9wY29uX3dhKHN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbikK IHsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gbHNwY29uX3RvX2ludGVsX2RwKGxzcGNv bik7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBkcF90b19kaWdfcG9y dChpbnRlbF9kcCk7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7CiAJdW5zaWduZWQgbG9uZyBzdGFydCA9IGppZmZp ZXM7CiAKIAl3aGlsZSAoMSkgewotCQlpZiAoaW50ZWxfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChk ZXZfcHJpdiwgZGlnX3BvcnQpKSB7CisJCWlmIChpbnRlbF9kaWdpdGFsX3BvcnRfY29ubmVjdGVk KCZkaWdfcG9ydC0+YmFzZSkpIHsKIAkJCURSTV9ERUJVR19LTVMoIkxTUENPTiByZWNvdmVyaW5n IGluIFBDT04gbW9kZSBhZnRlciAldSBtc1xuIiwKIAkJCQkgICAgICBqaWZmaWVzX3RvX21zZWNz KGppZmZpZXMgLSBzdGFydCkpOwogCQkJcmV0dXJuOwotLSAKMi4xMy42CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK