From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Subject: [PATCH CI 2/6] drm/i915/tgl: Finish modular FIA support on registers Date: Fri, 20 Sep 2019 13:58:06 -0700 Message-ID: <20190920205810.211048-3-jose.souza@intel.com> References: <20190920205810.211048-1-jose.souza@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 15E2C6FDEC for ; Fri, 20 Sep 2019 20:58:37 +0000 (UTC) In-Reply-To: <20190920205810.211048-1-jose.souza@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 List-Id: intel-gfx@lists.freedesktop.org SWYgcGxhdGZvcm0gc3VwcG9ydHMgYW5kIGhhcyBtb2R1bGFyIEZJQSBpcyBlbmFibGVkLCB0aGUg cmVnaXN0ZXJzCmJpdHMgYWxzbyBjaGFuZ2UsIGV4YW1wbGU6IHJlYWRpbmcgVEMzIHJlZ2lzdGVy cyB3aXRoIG1vZHVsYXIgRklBCmVuYWJsZWQsIGRyaXZlciBzaG91bGQgcmVhZCBmcm9tIEZJQTIg YnV0IHdpdGggVEMxIGJpdHMgb2Zmc2V0cy4KCkl0IGlzIGRlc2NyaWJlZCBpbiBCU3BlYyA1MDIz MSBmb3IgREZMRVhEUFNQLCBvdGhlciByZWdpc3RlcnMgZG9uJ3QKaGF2ZSB0aGUgQlNwZWMgZGVz Y3JpcHRpb24gYnV0IHRlc3RpbmcgaW4gcmVhbCBoYXJkd2FyZSBoYXZlIHByb3Zlbgp0aGF0IGl0 IGhhZCBtb3ZlZCBmb3IgYWxsIG90aGVyIHJlZ2lzdGVycyB0b28uCgp2MjoKLSBDYWNoaW5nIGlu ZGV4IGluIHRjX3BoeV9maWFfaWR4LCBpbnN0ZWFkIG9mIGNhbGN1bGF0ZSBpdCBlYWNoIHRpbWUK CnYzOgotIFNldHRpbmcgdGNfcGh5X2ZpYSBhbmQgdGNfcGh5X2ZpYV9pZHggaW4gdGhlIHNhbWUg ZnVuY3Rpb24KCkNjOiBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQGludGVsLmNvbT4K UmV2aWV3ZWQtYnk6IEx1Y2FzIERlIE1hcmNoaSA8bHVjYXMuZGVtYXJjaGlAaW50ZWwuY29tPgpT aWduZWQtb2ZmLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNv bT4KLS0tCiAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggICAgfCAg MSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmMgICAgICAgfCA3MiAr KysrKysrKysrLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAg ICAgICAgICAgfCAyOCArKysrLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCsp LCA0OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZGlzcGxheV90eXBlcy5oCmluZGV4IGQ1Y2M0YjgxMGQ5ZS4uZDI1OGE0OGY3N2QzIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlw ZXMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlw ZXMuaApAQCAtMTI4NSw2ICsxMjg1LDcgQEAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCB7CiAJ Y2hhciB0Y19wb3J0X25hbWVbOF07CiAJZW51bSB0Y19wb3J0X21vZGUgdGNfbW9kZTsKIAllbnVt IHBoeV9maWEgdGNfcGh5X2ZpYTsKKwl1OCB0Y19waHlfZmlhX2lkeDsKIAogCXZvaWQgKCp3cml0 ZV9pbmZvZnJhbWUpKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCWNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF90Yy5jCmluZGV4IDg1NzQzYTQzYmVlMi4uZjkyM2Y5Y2JkMzNjIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90Yy5jCkBAIC0yMywzMiArMjMsMzggQEAgc3Rh dGljIGNvbnN0IGNoYXIgKnRjX3BvcnRfbW9kZV9uYW1lKGVudW0gdGNfcG9ydF9tb2RlIG1vZGUp CiAJcmV0dXJuIG5hbWVzW21vZGVdOwogfQogCi1zdGF0aWMgYm9vbCBoYXNfbW9kdWxhcl9maWEo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCi17Ci0JaWYgKCFJTlRFTF9JTkZPKGk5MTUp LT5kaXNwbGF5Lmhhc19tb2R1bGFyX2ZpYSkKLQkJcmV0dXJuIGZhbHNlOwotCi0JcmV0dXJuIGlu dGVsX3VuY29yZV9yZWFkKCZpOTE1LT51bmNvcmUsCi0JCQkJIFBPUlRfVFhfREZMRVhEUFNQKEZJ QTEpKSAmIE1PRFVMQVJfRklBX01BU0s7Ci19Ci0KLXN0YXRpYyBlbnVtIHBoeV9maWEgdGNfcG9y dF90b19maWEoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCi0JCQkJICAgZW51bSB0Y19w b3J0IHRjX3BvcnQpCitzdGF0aWMgdm9pZAordGNfcG9ydF9sb2FkX2ZpYV9wYXJhbXMoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCisJCQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpk aWdfcG9ydCkKIHsKLQlpZiAoIWhhc19tb2R1bGFyX2ZpYShpOTE1KSkKLQkJcmV0dXJuIEZJQTE7 CisJZW51bSBwb3J0IHBvcnQgPSBkaWdfcG9ydC0+YmFzZS5wb3J0OworCWVudW0gdGNfcG9ydCB0 Y19wb3J0ID0gaW50ZWxfcG9ydF90b190YyhpOTE1LCBwb3J0KTsKKwl1MzIgbW9kdWxhcl9maWE7 CisKKwlpZiAoSU5URUxfSU5GTyhpOTE1KS0+ZGlzcGxheS5oYXNfbW9kdWxhcl9maWEpIHsKKwkJ bW9kdWxhcl9maWEgPSBpbnRlbF91bmNvcmVfcmVhZCgmaTkxNS0+dW5jb3JlLAorCQkJCQkJUE9S VF9UWF9ERkxFWERQU1AoRklBMSkpOworCQltb2R1bGFyX2ZpYSAmPSBNT0RVTEFSX0ZJQV9NQVNL OworCX0gZWxzZSB7CisJCW1vZHVsYXJfZmlhID0gMDsKKwl9CiAKIAkvKgogCSAqIEVhY2ggTW9k dWxhciBGSUEgaW5zdGFuY2UgaG91c2VzIDIgVEMgcG9ydHMuIEluIFNPQyB0aGF0IGhhcyBtb3Jl CiAJICogdGhhbiB0d28gVEMgcG9ydHMsIHRoZXJlIGFyZSBtdWx0aXBsZSBpbnN0YW5jZXMgb2Yg TW9kdWxhciBGSUEuCiAJICovCi0JcmV0dXJuIHRjX3BvcnQgLyAyOworCWlmIChtb2R1bGFyX2Zp YSkgeworCQlkaWdfcG9ydC0+dGNfcGh5X2ZpYSA9IHRjX3BvcnQgLyAyOworCQlkaWdfcG9ydC0+ dGNfcGh5X2ZpYV9pZHggPSB0Y19wb3J0ICUgMjsKKwl9IGVsc2UgeworCQlkaWdfcG9ydC0+dGNf cGh5X2ZpYSA9IEZJQTE7CisJCWRpZ19wb3J0LT50Y19waHlfZmlhX2lkeCA9IHRjX3BvcnQ7CisJ fQogfQogCiB1MzIgaW50ZWxfdGNfcG9ydF9nZXRfbGFuZV9tYXNrKHN0cnVjdCBpbnRlbF9kaWdp dGFsX3BvcnQgKmRpZ19wb3J0KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0g dG9faTkxNShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Ci0JZW51bSB0Y19wb3J0IHRjX3BvcnQg PSBpbnRlbF9wb3J0X3RvX3RjKGk5MTUsIGRpZ19wb3J0LT5iYXNlLnBvcnQpOwogCXN0cnVjdCBp bnRlbF91bmNvcmUgKnVuY29yZSA9ICZpOTE1LT51bmNvcmU7CiAJdTMyIGxhbmVfbWFzazsKIApA QCAtNTcsOCArNjMsOCBAQCB1MzIgaW50ZWxfdGNfcG9ydF9nZXRfbGFuZV9tYXNrKHN0cnVjdCBp bnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQogCiAJV0FSTl9PTihsYW5lX21hc2sgPT0gMHhm ZmZmZmZmZik7CiAKLQlyZXR1cm4gKGxhbmVfbWFzayAmIERQX0xBTkVfQVNTSUdOTUVOVF9NQVNL KHRjX3BvcnQpKSA+PgotCSAgICAgICBEUF9MQU5FX0FTU0lHTk1FTlRfU0hJRlQodGNfcG9ydCk7 CisJbGFuZV9tYXNrICY9IERQX0xBTkVfQVNTSUdOTUVOVF9NQVNLKGRpZ19wb3J0LT50Y19waHlf ZmlhX2lkeCk7CisJcmV0dXJuIGxhbmVfbWFzayA+PiBEUF9MQU5FX0FTU0lHTk1FTlRfU0hJRlQo ZGlnX3BvcnQtPnRjX3BoeV9maWFfaWR4KTsKIH0KIAogaW50IGludGVsX3RjX3BvcnRfZmlhX21h eF9sYW5lX2NvdW50KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQpAQCAtOTUs NyArMTAxLDYgQEAgdm9pZCBpbnRlbF90Y19wb3J0X3NldF9maWFfbGFuZV9jb3VudChzdHJ1Y3Qg aW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCwKIAkJCQkgICAgICBpbnQgcmVxdWlyZWRfbGFu ZXMpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGRpZ19wb3J0 LT5iYXNlLmJhc2UuZGV2KTsKLQllbnVtIHRjX3BvcnQgdGNfcG9ydCA9IGludGVsX3BvcnRfdG9f dGMoaTkxNSwgZGlnX3BvcnQtPmJhc2UucG9ydCk7CiAJYm9vbCBsYW5lX3JldmVyc2FsID0gZGln X3BvcnQtPnNhdmVkX3BvcnRfYml0cyAmIERESV9CVUZfUE9SVF9SRVZFUlNBTDsKIAlzdHJ1Y3Qg aW50ZWxfdW5jb3JlICp1bmNvcmUgPSAmaTkxNS0+dW5jb3JlOwogCXUzMiB2YWw7CkBAIC0xMDQs MTkgKzEwOSwyMSBAQCB2b2lkIGludGVsX3RjX3BvcnRfc2V0X2ZpYV9sYW5lX2NvdW50KHN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0LAogCiAJdmFsID0gaW50ZWxfdW5jb3JlX3Jl YWQodW5jb3JlLAogCQkJCVBPUlRfVFhfREZMRVhEUE1MRTEoZGlnX3BvcnQtPnRjX3BoeV9maWEp KTsKLQl2YWwgJj0gfkRGTEVYRFBNTEUxX0RQTUxFVENfTUFTSyh0Y19wb3J0KTsKKwl2YWwgJj0g fkRGTEVYRFBNTEUxX0RQTUxFVENfTUFTSyhkaWdfcG9ydC0+dGNfcGh5X2ZpYV9pZHgpOwogCiAJ c3dpdGNoIChyZXF1aXJlZF9sYW5lcykgewogCWNhc2UgMToKLQkJdmFsIHw9IGxhbmVfcmV2ZXJz YWwgPyBERkxFWERQTUxFMV9EUE1MRVRDX01MMyh0Y19wb3J0KSA6Ci0JCQlERkxFWERQTUxFMV9E UE1MRVRDX01MMCh0Y19wb3J0KTsKKwkJdmFsIHw9IGxhbmVfcmV2ZXJzYWwgPworCQkJREZMRVhE UE1MRTFfRFBNTEVUQ19NTDMoZGlnX3BvcnQtPnRjX3BoeV9maWFfaWR4KSA6CisJCQlERkxFWERQ TUxFMV9EUE1MRVRDX01MMChkaWdfcG9ydC0+dGNfcGh5X2ZpYV9pZHgpOwogCQlicmVhazsKIAlj YXNlIDI6Ci0JCXZhbCB8PSBsYW5lX3JldmVyc2FsID8gREZMRVhEUE1MRTFfRFBNTEVUQ19NTDNf Mih0Y19wb3J0KSA6Ci0JCQlERkxFWERQTUxFMV9EUE1MRVRDX01MMV8wKHRjX3BvcnQpOworCQl2 YWwgfD0gbGFuZV9yZXZlcnNhbCA/CisJCQlERkxFWERQTUxFMV9EUE1MRVRDX01MM18yKGRpZ19w b3J0LT50Y19waHlfZmlhX2lkeCkgOgorCQkJREZMRVhEUE1MRTFfRFBNTEVUQ19NTDFfMChkaWdf cG9ydC0+dGNfcGh5X2ZpYV9pZHgpOwogCQlicmVhazsKIAljYXNlIDQ6Ci0JCXZhbCB8PSBERkxF WERQTUxFMV9EUE1MRVRDX01MM18wKHRjX3BvcnQpOworCQl2YWwgfD0gREZMRVhEUE1MRTFfRFBN TEVUQ19NTDNfMChkaWdfcG9ydC0+dGNfcGh5X2ZpYV9pZHgpOwogCQlicmVhazsKIAlkZWZhdWx0 OgogCQlNSVNTSU5HX0NBU0UocmVxdWlyZWRfbGFuZXMpOwpAQCAtMTY0LDkgKzE3MSw5IEBAIHN0 YXRpYyB1MzIgdGNfcG9ydF9saXZlX3N0YXR1c19tYXNrKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmRpZ19wb3J0KQogCQlyZXR1cm4gbWFzazsKIAl9CiAKLQlpZiAodmFsICYgVENfTElWRV9T VEFURV9UQlQodGNfcG9ydCkpCisJaWYgKHZhbCAmIFRDX0xJVkVfU1RBVEVfVEJUKGRpZ19wb3J0 LT50Y19waHlfZmlhX2lkeCkpCiAJCW1hc2sgfD0gQklUKFRDX1BPUlRfVEJUX0FMVCk7Ci0JaWYg KHZhbCAmIFRDX0xJVkVfU1RBVEVfVEModGNfcG9ydCkpCisJaWYgKHZhbCAmIFRDX0xJVkVfU1RB VEVfVEMoZGlnX3BvcnQtPnRjX3BoeV9maWFfaWR4KSkKIAkJbWFzayB8PSBCSVQoVENfUE9SVF9E UF9BTFQpOwogCiAJaWYgKGludGVsX3VuY29yZV9yZWFkKHVuY29yZSwgU0RFSVNSKSAmIFNERV9U Q19IT1RQTFVHX0lDUCh0Y19wb3J0KSkKQEAgLTE4Miw3ICsxODksNiBAQCBzdGF0aWMgdTMyIHRj X3BvcnRfbGl2ZV9zdGF0dXNfbWFzayhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9y dCkKIHN0YXRpYyBib29sIGljbF90Y19waHlfc3RhdHVzX2NvbXBsZXRlKHN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgKmRpZ19wb3J0KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 ID0gdG9faTkxNShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Ci0JZW51bSB0Y19wb3J0IHRjX3Bv cnQgPSBpbnRlbF9wb3J0X3RvX3RjKGk5MTUsIGRpZ19wb3J0LT5iYXNlLnBvcnQpOwogCXN0cnVj dCBpbnRlbF91bmNvcmUgKnVuY29yZSA9ICZpOTE1LT51bmNvcmU7CiAJdTMyIHZhbDsKIApAQCAt MTk0LDE0ICsyMDAsMTMgQEAgc3RhdGljIGJvb2wgaWNsX3RjX3BoeV9zdGF0dXNfY29tcGxldGUo c3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCiAJCXJldHVybiBmYWxzZTsKIAl9 CiAKLQlyZXR1cm4gdmFsICYgRFBfUEhZX01PREVfU1RBVFVTX0NPTVBMRVRFRCh0Y19wb3J0KTsK KwlyZXR1cm4gdmFsICYgRFBfUEhZX01PREVfU1RBVFVTX0NPTVBMRVRFRChkaWdfcG9ydC0+dGNf cGh5X2ZpYV9pZHgpOwogfQogCiBzdGF0aWMgYm9vbCBpY2xfdGNfcGh5X3NldF9zYWZlX21vZGUo c3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQsCiAJCQkJICAgICBib29sIGVuYWJs ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUoZGlnX3BvcnQt PmJhc2UuYmFzZS5kZXYpOwotCWVudW0gdGNfcG9ydCB0Y19wb3J0ID0gaW50ZWxfcG9ydF90b190 YyhpOTE1LCBkaWdfcG9ydC0+YmFzZS5wb3J0KTsKIAlzdHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNv cmUgPSAmaTkxNS0+dW5jb3JlOwogCXUzMiB2YWw7CiAKQEAgLTIxNSw5ICsyMjAsOSBAQCBzdGF0 aWMgYm9vbCBpY2xfdGNfcGh5X3NldF9zYWZlX21vZGUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9y dCAqZGlnX3BvcnQsCiAJCXJldHVybiBmYWxzZTsKIAl9CiAKLQl2YWwgJj0gfkRQX1BIWV9NT0RF X1NUQVRVU19OT1RfU0FGRSh0Y19wb3J0KTsKKwl2YWwgJj0gfkRQX1BIWV9NT0RFX1NUQVRVU19O T1RfU0FGRShkaWdfcG9ydC0+dGNfcGh5X2ZpYV9pZHgpOwogCWlmICghZW5hYmxlKQotCQl2YWwg fD0gRFBfUEhZX01PREVfU1RBVFVTX05PVF9TQUZFKHRjX3BvcnQpOworCQl2YWwgfD0gRFBfUEhZ X01PREVfU1RBVFVTX05PVF9TQUZFKGRpZ19wb3J0LT50Y19waHlfZmlhX2lkeCk7CiAKIAlpbnRl bF91bmNvcmVfd3JpdGUodW5jb3JlLAogCQkJICAgUE9SVF9UWF9ERkxFWERQQ1NTUyhkaWdfcG9y dC0+dGNfcGh5X2ZpYSksIHZhbCk7CkBAIC0yMzIsNyArMjM3LDYgQEAgc3RhdGljIGJvb2wgaWNs X3RjX3BoeV9zZXRfc2FmZV9tb2RlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0 LAogc3RhdGljIGJvb2wgaWNsX3RjX3BoeV9pc19pbl9zYWZlX21vZGUoc3RydWN0IGludGVsX2Rp Z2l0YWxfcG9ydCAqZGlnX3BvcnQpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUg PSB0b19pOTE1KGRpZ19wb3J0LT5iYXNlLmJhc2UuZGV2KTsKLQllbnVtIHRjX3BvcnQgdGNfcG9y dCA9IGludGVsX3BvcnRfdG9fdGMoaTkxNSwgZGlnX3BvcnQtPmJhc2UucG9ydCk7CiAJc3RydWN0 IGludGVsX3VuY29yZSAqdW5jb3JlID0gJmk5MTUtPnVuY29yZTsKIAl1MzIgdmFsOwogCkBAIC0y NDQsNyArMjQ4LDcgQEAgc3RhdGljIGJvb2wgaWNsX3RjX3BoeV9pc19pbl9zYWZlX21vZGUoc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCiAJCXJldHVybiB0cnVlOwogCX0KIAot CXJldHVybiAhKHZhbCAmIERQX1BIWV9NT0RFX1NUQVRVU19OT1RfU0FGRSh0Y19wb3J0KSk7CisJ cmV0dXJuICEodmFsICYgRFBfUEhZX01PREVfU1RBVFVTX05PVF9TQUZFKGRpZ19wb3J0LT50Y19w aHlfZmlhX2lkeCkpOwogfQogCiAvKgpAQCAtNTQwLDUgKzU0NCw1IEBAIHZvaWQgaW50ZWxfdGNf cG9ydF9pbml0KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0LCBib29sIGlzX2xl Z2FjeSkKIAltdXRleF9pbml0KCZkaWdfcG9ydC0+dGNfbG9jayk7CiAJZGlnX3BvcnQtPnRjX2xl Z2FjeV9wb3J0ID0gaXNfbGVnYWN5OwogCWRpZ19wb3J0LT50Y19saW5rX3JlZmNvdW50ID0gMDsK LQlkaWdfcG9ydC0+dGNfcGh5X2ZpYSA9IHRjX3BvcnRfdG9fZmlhKGk5MTUsIHRjX3BvcnQpOwor CXRjX3BvcnRfbG9hZF9maWFfcGFyYW1zKGk5MTUsIGRpZ19wb3J0KTsKIH0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oCmluZGV4IGFjYmRhNmQ4OWE5Yi4uYTZhY2RhOTQ1ZTU2IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmgKQEAgLTIxNjYsMTMgKzIxNjYsMTMgQEAgc3RhdGljIGlubGluZSBib29sIGk5 MTVfbW1pb19yZWdfdmFsaWQoaTkxNV9yZWdfdCByZWcpCiAjZGVmaW5lIF9NTUlPX0ZJQShmaWEs IG9mZikJCV9NTUlPKF9GSUEoZmlhKSArIChvZmYpKQogCiAvKiBJQ0wgUEhZIERGTEVYIHJlZ2lz dGVycyAqLwotI2RlZmluZSBQT1JUX1RYX0RGTEVYRFBNTEUxKGZpYSkJX01NSU9fRklBKChmaWEp LCAgMHgwMDhDMCkKLSNkZWZpbmUgICBERkxFWERQTUxFMV9EUE1MRVRDX01BU0sodGNfcG9ydCkJ KDB4ZiA8PCAoNCAqICh0Y19wb3J0KSkpCi0jZGVmaW5lICAgREZMRVhEUE1MRTFfRFBNTEVUQ19N TDAodGNfcG9ydCkJKDEgPDwgKDQgKiAodGNfcG9ydCkpKQotI2RlZmluZSAgIERGTEVYRFBNTEUx X0RQTUxFVENfTUwxXzAodGNfcG9ydCkJKDMgPDwgKDQgKiAodGNfcG9ydCkpKQotI2RlZmluZSAg IERGTEVYRFBNTEUxX0RQTUxFVENfTUwzKHRjX3BvcnQpCSg4IDw8ICg0ICogKHRjX3BvcnQpKSkK LSNkZWZpbmUgICBERkxFWERQTUxFMV9EUE1MRVRDX01MM18yKHRjX3BvcnQpCSgxMiA8PCAoNCAq ICh0Y19wb3J0KSkpCi0jZGVmaW5lICAgREZMRVhEUE1MRTFfRFBNTEVUQ19NTDNfMCh0Y19wb3J0 KQkoMTUgPDwgKDQgKiAodGNfcG9ydCkpKQorI2RlZmluZSBQT1JUX1RYX0RGTEVYRFBNTEUxKGZp YSkJCV9NTUlPX0ZJQSgoZmlhKSwgIDB4MDA4QzApCisjZGVmaW5lICAgREZMRVhEUE1MRTFfRFBN TEVUQ19NQVNLKGlkeCkJCSgweGYgPDwgKDQgKiAoaWR4KSkpCisjZGVmaW5lICAgREZMRVhEUE1M RTFfRFBNTEVUQ19NTDAoaWR4KQkJKDEgPDwgKDQgKiAoaWR4KSkpCisjZGVmaW5lICAgREZMRVhE UE1MRTFfRFBNTEVUQ19NTDFfMChpZHgpCSgzIDw8ICg0ICogKGlkeCkpKQorI2RlZmluZSAgIERG TEVYRFBNTEUxX0RQTUxFVENfTUwzKGlkeCkJCSg4IDw8ICg0ICogKGlkeCkpKQorI2RlZmluZSAg IERGTEVYRFBNTEUxX0RQTUxFVENfTUwzXzIoaWR4KQkoMTIgPDwgKDQgKiAoaWR4KSkpCisjZGVm aW5lICAgREZMRVhEUE1MRTFfRFBNTEVUQ19NTDNfMChpZHgpCSgxNSA8PCAoNCAqIChpZHgpKSkK IAogLyogQlhUIFBIWSBSZWYgcmVnaXN0ZXJzICovCiAjZGVmaW5lIF9QT1JUX1JFRl9EVzNfQQkJ CTB4MTYyMThDCkBAIC0xMTY3OCwxNiArMTE2NzgsMTYgQEAgZW51bSBza2xfcG93ZXJfZ2F0ZSB7 CiAKICNkZWZpbmUgUE9SVF9UWF9ERkxFWERQU1AoZmlhKQkJCV9NTUlPX0ZJQSgoZmlhKSwgMHgw MDhBMCkKICNkZWZpbmUgICBNT0RVTEFSX0ZJQV9NQVNLCQkJKDEgPDwgNCkKLSNkZWZpbmUgICBU Q19MSVZFX1NUQVRFX1RCVCh0Y19wb3J0KQkJKDEgPDwgKCh0Y19wb3J0KSAqIDggKyA2KSkKLSNk ZWZpbmUgICBUQ19MSVZFX1NUQVRFX1RDKHRjX3BvcnQpCQkoMSA8PCAoKHRjX3BvcnQpICogOCAr IDUpKQotI2RlZmluZSAgIERQX0xBTkVfQVNTSUdOTUVOVF9TSElGVCh0Y19wb3J0KQkoKHRjX3Bv cnQpICogOCkKLSNkZWZpbmUgICBEUF9MQU5FX0FTU0lHTk1FTlRfTUFTSyh0Y19wb3J0KQkoMHhm IDw8ICgodGNfcG9ydCkgKiA4KSkKLSNkZWZpbmUgICBEUF9MQU5FX0FTU0lHTk1FTlQodGNfcG9y dCwgeCkJKCh4KSA8PCAoKHRjX3BvcnQpICogOCkpCisjZGVmaW5lICAgVENfTElWRV9TVEFURV9U QlQoaWR4KQkJKDEgPDwgKChpZHgpICogOCArIDYpKQorI2RlZmluZSAgIFRDX0xJVkVfU1RBVEVf VEMoaWR4KQkJCSgxIDw8ICgoaWR4KSAqIDggKyA1KSkKKyNkZWZpbmUgICBEUF9MQU5FX0FTU0lH Tk1FTlRfU0hJRlQoaWR4KQkJKChpZHgpICogOCkKKyNkZWZpbmUgICBEUF9MQU5FX0FTU0lHTk1F TlRfTUFTSyhpZHgpCQkoMHhmIDw8ICgoaWR4KSAqIDgpKQorI2RlZmluZSAgIERQX0xBTkVfQVNT SUdOTUVOVChpZHgsIHgpCQkoKHgpIDw8ICgoaWR4KSAqIDgpKQogCiAjZGVmaW5lIFBPUlRfVFhf REZMRVhEUFBNUyhmaWEpCQkJX01NSU9fRklBKChmaWEpLCAweDAwODkwKQotI2RlZmluZSAgIERQ X1BIWV9NT0RFX1NUQVRVU19DT01QTEVURUQodGNfcG9ydCkJCSgxIDw8ICh0Y19wb3J0KSkKKyNk ZWZpbmUgICBEUF9QSFlfTU9ERV9TVEFUVVNfQ09NUExFVEVEKGlkeCkJKDEgPDwgKGlkeCkpCiAK ICNkZWZpbmUgUE9SVF9UWF9ERkxFWERQQ1NTUyhmaWEpCQlfTU1JT19GSUEoKGZpYSksIDB4MDA4 OTQpCi0jZGVmaW5lICAgRFBfUEhZX01PREVfU1RBVFVTX05PVF9TQUZFKHRjX3BvcnQpCQkoMSA8 PCAodGNfcG9ydCkpCisjZGVmaW5lICAgRFBfUEhZX01PREVfU1RBVFVTX05PVF9TQUZFKGlkeCkJ KDEgPDwgKGlkeCkpCiAKICNlbmRpZiAvKiBfSTkxNV9SRUdfSF8gKi8KLS0gCjIuMjMuMAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4