From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Lowry Li (Arm Technology China)" Subject: [PATCH] drm/komeda: SW workaround for D71 doesn't flush shadow registers Date: Fri, 6 Sep 2019 07:18:06 +0000 Message-ID: <20190906071750.4563-1-lowry.li@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-eopbgr140053.outbound.protection.outlook.com [40.107.14.53]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2528B6E170 for ; Fri, 6 Sep 2019 07:18:21 +0000 (UTC) Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Liviu Dudau , "james qian wang (Arm Technology China)" , "maarten.lankhorst@linux.intel.com" , "seanpaul@chromium.org" , "airlied@linux.ie" , Brian Starkey , Mihail Atanassov Cc: Ayan Halder , "Jonathan Chai (Arm Technology China)" , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "Julien Yin (Arm Technology China)" , nd List-Id: dri-devel@lists.freedesktop.org VGhpcyBpcyBhIFNXIHdvcmthcm91bmQgZm9yIHNoYWRvdyB1bi1mbHVzaGVkIHdoZW4gdG9nZXRo ZXIgd2l0aCB0aGUKRE9VIFRpbWluZy1kaXNhYmxlLgoKRDcxIEhXIGRvZXNuJ3QgdXBkYXRlIHNo YWRvdyByZWdpc3RlcnMgd2hlbiBkaXNwbGF5IG91dHB1dCBpcyB0dXJuZWQKb2ZmLiBTbyB3aGVu IHdlIGRpc2FibGUgYWxsIHBpcGVsaW5lIGNvbXBvbmVudHMgdG9nZXRoZXIgd2l0aCBkaXNwbGF5 Cm91dHB1dCBkaXNhYmxpbmcgYnkgb25lIGZsdXNoIG9yIG9uZSBvcGVyYXRpb24sIHRoZSBkaXNh YmxlIG9wZXJhdGlvbgp1cGRhdGVkIHJlZ2lzdGVycyB3aWxsIG5vdCBiZSBmbHVzaGVkIG9yIHZh bGlkIGluIEhXLCB3aGljaCBtYXkgbGVhZApwcm9ibGVtLiBUbyB3b3JrYXJvdW5kIHRoaXMgcHJv YmxlbSwgaW50cm9kdWNlIGEgdHdvIHBoYXNlIGRpc2FibGUgZm9yCnBpcGVsaW5lIGRpc2FibGUu CgpQaGFzZTE6IERpc2FibGUgY29tcG9uZW50cyB3aXRoIGRpc3BsYXkgaXMgb24gYW5kIGZsdXNo IGl0LCB0aGlzIHBoYXNlCiAgICAgICAgZm9yIGZsdXNoaW5nIG9yIHZhbGlkYXRpbmcgdGhlIHNo YWRvdyByZWdpc3RlcnMuClBoYXNlMjogVHVybi1vZmYgZGlzcGxheSBvdXRwdXQuCgpTaWduZWQt b2ZmLWJ5OiBMb3dyeSBMaSAoQXJtIFRlY2hub2xvZ3kgQ2hpbmEpIDxsb3dyeS5saUBhcm0uY29t PgotLS0KIC4uLi9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9kNzEvZDcxX2Rldi5jICB8IDE2 ICsrKysKIC4uLi9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfY3J0Yy5jICB8IDcz ICsrKysrKysrKysrKy0tLS0tLS0KIC4uLi9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9w aXBlbGluZS5oICB8IDE0ICsrKy0KIC4uLi9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVf c3RhdGUuYyAgICB8IDMwICsrKysrKystCiA0IGZpbGVzIGNoYW5nZWQsIDEwMyBpbnNlcnRpb25z KCspLCAzMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rp c3BsYXkva29tZWRhL2Q3MS9kNzFfZGV2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkv a29tZWRhL2Q3MS9kNzFfZGV2LmMKaW5kZXggMjE1MWNiM2Y5ZTY4Li5lNzQwNjllZjNiN2IgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9kZXYu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfZGV2LmMK QEAgLTQ4Nyw2ICs0ODcsMjIgQEAgc3RhdGljIGludCBkNzFfZW51bV9yZXNvdXJjZXMoc3RydWN0 IGtvbWVkYV9kZXYgKm1kZXYpCiAJCQllcnIgPSBQVFJfRVJSKHBpcGUpOwogCQkJZ290byBlcnJf Y2xlYW51cDsKIAkJfQorCisJCS8qIEQ3MSBIVyBkb2Vzbid0IHVwZGF0ZSBzaGFkb3cgcmVnaXN0 ZXJzIHdoZW4gZGlzcGxheSBvdXRwdXQKKwkJICogaXMgdHVybmluZyBvZmYsIHNvIHdoZW4gd2Ug ZGlzYWJsZSBhbGwgcGlwZWxpbmUgY29tcG9uZW50cworCQkgKiB0b2dldGhlciB3aXRoIGRpc3Bs YXkgb3V0cHV0IGRpc2FibGUgYnkgb25lIGZsdXNoIG9yIG9uZQorCQkgKiBvcGVyYXRpb24sIHRo ZSBkaXNhYmxlIG9wZXJhdGlvbiB1cGRhdGVkIHJlZ2lzdGVycyB3aWxsIG5vdAorCQkgKiBiZSBm bHVzaCB0byBvciB2YWxpZCBpbiBIVywgd2hpY2ggbWF5IGxlYWRzIHByb2JsZW0uCisJCSAqIFRv IHdvcmthcm91bmQgdGhpcyBwcm9ibGVtLCBpbnRyb2R1Y2UgYSB0d28gcGhhc2UgZGlzYWJsZS4K KwkJICogUGhhc2UxOiBEaXNhYmxpbmcgY29tcG9uZW50cyB3aXRoIGRpc3BsYXkgaXMgb24gdG8g bWFrZSBzdXJlCisJCSAqCSAgIHRoZSBkaXNhYmxlIGNhbiBiZSBmbHVzaGVkIHRvIEhXLgorCQkg KiBQaGFzZTI6IE9ubHkgdHVybi1vZmYgZGlzcGxheSBvdXRwdXQuCisJCSAqLworCQl2YWx1ZSA9 IEtPTUVEQV9QSVBFTElORV9JTVBST0NTIHwKKwkJCUJJVChLT01FREFfQ09NUE9ORU5UX1RJTUlO R19DVFJMUik7CisKKwkJcGlwZS0+c3RhbmRhbG9uZV9kaXNhYmxlZF9jb21wcyA9IHZhbHVlOwor CiAJCWQ3MS0+cGlwZXNbaV0gPSB0b19kNzFfcGlwZWxpbmUocGlwZSk7CiAJfQogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9jcnRjLmMgYi9k cml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9jcnRjLmMKaW5kZXggMzE1 NWJiMTdlYTFiLi5jMGM4MDNkNTZkNWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0v ZGlzcGxheS9rb21lZGEva29tZWRhX2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rp c3BsYXkva29tZWRhL2tvbWVkYV9jcnRjLmMKQEAgLTI4MCwyMCArMjgwLDUzIEBAIGtvbWVkYV9j cnRjX2F0b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCWtvbWVkYV9jcnRjX2Rv X2ZsdXNoKGNydGMsIG9sZCk7CiB9CiAKK3N0YXRpYyB2b2lkCitrb21lZGFfY3J0Y19mbHVzaF9h bmRfd2FpdF9mb3JfZmxpcF9kb25lKHN0cnVjdCBrb21lZGFfY3J0YyAqa2NydGMsCisJCQkJCSBz dHJ1Y3QgY29tcGxldGlvbiAqaW5wdXRfZmxpcF9kb25lKQoreworCXN0cnVjdCBkcm1fZGV2aWNl ICpkcm0gPSBrY3J0Yy0+YmFzZS5kZXY7CisJc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYgPSBrY3J0 Yy0+bWFzdGVyLT5tZGV2OworCXN0cnVjdCBjb21wbGV0aW9uICpmbGlwX2RvbmU7CisJc3RydWN0 IGNvbXBsZXRpb24gdGVtcDsKKwlpbnQgdGltZW91dDsKKworCS8qIGlmIGNhbGxlciBkb2Vzbid0 IHNlbmQgYSBmbGlwX2RvbmUsIHVzZSBhIHByaXZhdGUgZmxpcF9kb25lICovCisJaWYgKGlucHV0 X2ZsaXBfZG9uZSkgeworCQlmbGlwX2RvbmUgPSBpbnB1dF9mbGlwX2RvbmU7CisJfSBlbHNlIHsK KwkJaW5pdF9jb21wbGV0aW9uKCZ0ZW1wKTsKKwkJa2NydGMtPmRpc2FibGVfZG9uZSA9ICZ0ZW1w OworCQlmbGlwX2RvbmUgPSAmdGVtcDsKKwl9CisKKwltZGV2LT5mdW5jcy0+Zmx1c2gobWRldiwg a2NydGMtPm1hc3Rlci0+aWQsIDApOworCisJLyogd2FpdCB0aGUgZmxpcCB0YWtlIGFmZmVjdC4q LworCXRpbWVvdXQgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX3RpbWVvdXQoZmxpcF9kb25lLCBIWik7 CisJaWYgKHRpbWVvdXQgPT0gMCkgeworCQlEUk1fRVJST1IoIndhaXQgcGlwZSVkIGZsaXAgZG9u ZSB0aW1lb3V0XG4iLCBrY3J0Yy0+bWFzdGVyLT5pZCk7CisJCWlmICghaW5wdXRfZmxpcF9kb25l KSB7CisJCQl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJCQlzcGluX2xvY2tfaXJxc2F2ZSgmZHJt LT5ldmVudF9sb2NrLCBmbGFncyk7CisJCQlrY3J0Yy0+ZGlzYWJsZV9kb25lID0gTlVMTDsKKwkJ CXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRybS0+ZXZlbnRfbG9jaywgZmxhZ3MpOworCQl9CisJ fQorfQorCiBzdGF0aWMgdm9pZAoga29tZWRhX2NydGNfYXRvbWljX2Rpc2FibGUoc3RydWN0IGRy bV9jcnRjICpjcnRjLAogCQkJICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGQpCiB7CiAJc3Ry dWN0IGtvbWVkYV9jcnRjICprY3J0YyA9IHRvX2tjcnRjKGNydGMpOwogCXN0cnVjdCBrb21lZGFf Y3J0Y19zdGF0ZSAqb2xkX3N0ID0gdG9fa2NydGNfc3Qob2xkKTsKLQlzdHJ1Y3Qga29tZWRhX2Rl diAqbWRldiA9IGNydGMtPmRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGtvbWVkYV9waXBlbGlu ZSAqbWFzdGVyID0ga2NydGMtPm1hc3RlcjsKIAlzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpzbGF2 ZSAgPSBrY3J0Yy0+c2xhdmU7CiAJc3RydWN0IGNvbXBsZXRpb24gKmRpc2FibGVfZG9uZSA9ICZj cnRjLT5zdGF0ZS0+Y29tbWl0LT5mbGlwX2RvbmU7Ci0Jc3RydWN0IGNvbXBsZXRpb24gdGVtcDsK LQlpbnQgdGltZW91dDsKKwlib29sIG5lZWRzX3BoYXNlMiA9IGZhbHNlOwogCi0JRFJNX0RFQlVH X0FUT01JQygiQ1JUQyVkX0RJU0FCTEU6IGFjdGl2ZV9waXBlczogMHgleCwgYWZmZWN0ZWQ6IDB4 JXguXG4iLAorCURSTV9ERUJVR19BVE9NSUMoIkNSVEMlZF9ESVNBQkxFOiBhY3RpdmVfcGlwZXM6 IDB4JXgsIGFmZmVjdGVkOiAweCV4XG4iLAogCQkJIGRybV9jcnRjX2luZGV4KGNydGMpLAogCQkJ IG9sZF9zdC0+YWN0aXZlX3BpcGVzLCBvbGRfc3QtPmFmZmVjdGVkX3BpcGVzKTsKIApAQCAtMzAx LDcgKzMzNCw3IEBAIGtvbWVkYV9jcnRjX2F0b21pY19kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKIAkJa29tZWRhX3BpcGVsaW5lX2Rpc2FibGUoc2xhdmUsIG9sZC0+c3RhdGUpOwogCiAJ aWYgKGhhc19iaXQobWFzdGVyLT5pZCwgb2xkX3N0LT5hY3RpdmVfcGlwZXMpKQotCQlrb21lZGFf cGlwZWxpbmVfZGlzYWJsZShtYXN0ZXIsIG9sZC0+c3RhdGUpOworCQluZWVkc19waGFzZTIgPSBr b21lZGFfcGlwZWxpbmVfZGlzYWJsZShtYXN0ZXIsIG9sZC0+c3RhdGUpOwogCiAJLyogY3J0Y19k aXNhYmxlIGhhcyB0d28gc2NlbmFyaW9zIGFjY29yZGluZyB0byB0aGUgc3RhdGUtPmFjdGl2ZSBz d2l0Y2guCiAJICogMS4gYWN0aXZlIC0+IGluYWN0aXZlCkBAIC0zMjAsMzAgKzM1MywyMCBAQCBr b21lZGFfY3J0Y19hdG9taWNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJICogICAg VGhhdCdzIGFsc28gdGhlIHJlYXNvbiB3aHkgc2tpcCBtb2Rlc2V0IGNvbW1pdCBpbgogCSAqICAg IGtvbWVkYV9jcnRjX2F0b21pY19mbHVzaCgpCiAJICovCi0JaWYgKGNydGMtPnN0YXRlLT5hY3Rp dmUpIHsKLQkJc3RydWN0IGtvbWVkYV9waXBlbGluZV9zdGF0ZSAqcGlwZV9zdDsKLQkJLyogY2xl YXIgdGhlIG9sZCBhY3RpdmVfY29tcHMgdG8gemVybyAqLwotCQlwaXBlX3N0ID0ga29tZWRhX3Bp cGVsaW5lX2dldF9vbGRfc3RhdGUobWFzdGVyLCBvbGQtPnN0YXRlKTsKLQkJcGlwZV9zdC0+YWN0 aXZlX2NvbXBzID0gMDsKKwlkaXNhYmxlX2RvbmUgPSAobmVlZHNfcGhhc2UyIHx8IGNydGMtPnN0 YXRlLT5hY3RpdmUpID8KKwkJICAgICAgIE5VTEwgOiAmY3J0Yy0+c3RhdGUtPmNvbW1pdC0+Zmxp cF9kb25lOwogCi0JCWluaXRfY29tcGxldGlvbigmdGVtcCk7Ci0JCWtjcnRjLT5kaXNhYmxlX2Rv bmUgPSAmdGVtcDsKLQkJZGlzYWJsZV9kb25lID0gJnRlbXA7Ci0JfQorCS8qIHdhaXQgcGhhc2Ug MSBkaXNhYmxlIGRvbmUgKi8KKwlrb21lZGFfY3J0Y19mbHVzaF9hbmRfd2FpdF9mb3JfZmxpcF9k b25lKGtjcnRjLCBkaXNhYmxlX2RvbmUpOwogCi0JbWRldi0+ZnVuY3MtPmZsdXNoKG1kZXYsIG1h c3Rlci0+aWQsIDApOworCS8qIHBoYXNlIDIgKi8KKwlpZiAobmVlZHNfcGhhc2UyKSB7CisJCWtv bWVkYV9waXBlbGluZV9kaXNhYmxlKGtjcnRjLT5tYXN0ZXIsIG9sZC0+c3RhdGUpOwogCi0JLyog d2FpdCB0aGUgZGlzYWJsZSB0YWtlIGFmZmVjdC4qLwotCXRpbWVvdXQgPSB3YWl0X2Zvcl9jb21w bGV0aW9uX3RpbWVvdXQoZGlzYWJsZV9kb25lLCBIWik7Ci0JaWYgKHRpbWVvdXQgPT0gMCkgewot CQlEUk1fRVJST1IoImRpc2FibGUgcGlwZWxpbmUlZCB0aW1lb3V0LlxuIiwga2NydGMtPm1hc3Rl ci0+aWQpOwotCQlpZiAoY3J0Yy0+c3RhdGUtPmFjdGl2ZSkgewotCQkJdW5zaWduZWQgbG9uZyBm bGFnczsKKwkJZGlzYWJsZV9kb25lID0gY3J0Yy0+c3RhdGUtPmFjdGl2ZSA/CisJCQkgICAgICAg TlVMTCA6ICZjcnRjLT5zdGF0ZS0+Y29tbWl0LT5mbGlwX2RvbmU7CiAKLQkJCXNwaW5fbG9ja19p cnFzYXZlKCZjcnRjLT5kZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsKLQkJCWtjcnRjLT5kaXNhYmxl X2RvbmUgPSBOVUxMOwotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY3J0Yy0+ZGV2LT5ldmVu dF9sb2NrLCBmbGFncyk7Ci0JCX0KKwkJa29tZWRhX2NydGNfZmx1c2hfYW5kX3dhaXRfZm9yX2Zs aXBfZG9uZShrY3J0YywgZGlzYWJsZV9kb25lKTsKIAl9CiAKIAlkcm1fY3J0Y192Ymxhbmtfb2Zm KGNydGMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9r b21lZGFfcGlwZWxpbmUuaCBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29t ZWRhX3BpcGVsaW5lLmgKaW5kZXggNGVhYzIzZWY1NmMxLi4yYWZkMDc1NzkxMzggMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmgK KysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmUu aApAQCAtNDk2LDYgKzQ5NiwxOCBAQCBzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lIHsKIAlpbnQgaWQ7 CiAJLyoqIEBhdmFpbF9jb21wczogYXZhaWxhYmxlIGNvbXBvbmVudHMgbWFzayBvZiBwaXBlbGlu ZSAqLwogCXUzMiBhdmFpbF9jb21wczsKKwkvKioKKwkgKiBAc3RhbmRhbG9uZV9kaXNhYmxlZF9j b21wczoKKwkgKgorCSAqIFdoZW4gZGlzYWJsZSB0aGUgcGlwZWxpbmUsIHNvbWUgY29tcG9uZW50 cyBjYW4gbm90IGJlIGRpc2FibGVkCisJICogdG9nZXRoZXIgd2l0aCBvdGhlcnMsIGJ1dCBuZWVk IGEgc3BhcmF0ZWQgYW5kIHN0YW5kYWxvbmUgZGlzYWJsZS4KKwkgKiBUaGUgc3RhbmRhbG9uZV9k aXNhYmxlZF9jb21wcyBhcmUgdGhlIGNvbXBvbmVudHMgd2hpY2ggbmVlZCB0byBiZQorCSAqIGRp c2FibGVkIHN0YW5kYWxvbmUsIGFuZCB0aGlzIGNvbmNlcHQgYWxzbyBpbnRyb2R1Y2UgY29uY2Vw dCBvZgorCSAqIHR3byBwaGFzZS4KKwkgKiBwaGFzZSAxOiBmb3IgZGlzYWJsaW5nIHRoZSBjb21t b24gY29tcG9uZW50cy4KKwkgKiBwaGFzZSAyOiBmb3IgZGlzYWJsaW5nIHRoZSBzdGFuZGFsb25n X2Rpc2FibGVkX2NvbXBzLgorCSAqLworCXUzMiBzdGFuZGFsb25lX2Rpc2FibGVkX2NvbXBzOwog CS8qKiBAbl9sYXllcnM6IHRoZSBudW1iZXIgb2YgbGF5ZXIgb24gQGxheWVycyAqLwogCWludCBu X2xheWVyczsKIAkvKiogQGxheWVyczogdGhlIHBpcGVsaW5lIGxheWVycyAqLwpAQCAtNjc0LDcg KzY4Niw3IEBAIGludCBrb21lZGFfcmVsZWFzZV91bmNsYWltZWRfcmVzb3VyY2VzKHN0cnVjdCBr b21lZGFfcGlwZWxpbmUgKnBpcGUsCiBzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lX3N0YXRlICoKIGtv bWVkYV9waXBlbGluZV9nZXRfb2xkX3N0YXRlKHN0cnVjdCBrb21lZGFfcGlwZWxpbmUgKnBpcGUs CiAJCQkgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwotdm9pZCBrb21lZGFf cGlwZWxpbmVfZGlzYWJsZShzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpwaXBlLAorYm9vbCBrb21l ZGFfcGlwZWxpbmVfZGlzYWJsZShzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpwaXBlLAogCQkJICAg ICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKTsKIHZvaWQga29tZWRhX3BpcGVs aW5lX3VwZGF0ZShzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpwaXBlLAogCQkJICAgIHN0cnVjdCBk cm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYyBiL2RyaXZlcnMvZ3B1 L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lX3N0YXRlLmMKaW5kZXggZjJj NWQ2YzhmNTA4Li43Njk5MzIyOTQ5YmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0v ZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lX3N0YXRlLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYwpAQCAtMTg5OSw3 ICsxODk5LDE3IEBAIGludCBrb21lZGFfcmVsZWFzZV91bmNsYWltZWRfcmVzb3VyY2VzKHN0cnVj dCBrb21lZGFfcGlwZWxpbmUgKnBpcGUsCiAJcmV0dXJuIDA7CiB9CiAKLXZvaWQga29tZWRhX3Bp cGVsaW5lX2Rpc2FibGUoc3RydWN0IGtvbWVkYV9waXBlbGluZSAqcGlwZSwKKy8qIFNpbmNlIHN0 YW5kYWxvbmcgZGlzYWJsZWQgY29tcG9uZW50cyBtdXN0IGJlIGRpc2FibGVkIHNlcGFyYXRlbHkg YW5kIGluIHRoZQorICogbGFzdCwgU28gYSBjb21wbGV0ZSBkaXNhYmxlIG9wZXJhdGlvbiBtYXkg bmVlZHMgdG8gY2FsbCBwaXBlbGluZV9kaXNhYmxlCisgKiB0d2ljZSAodHdvIHBoYXNlIGRpc2Fi bGluZykuCisgKiBQaGFzZSAxOiBkaXNhYmxlIHRoZSBjb21tb24gY29tcG9uZW50cywgZmx1c2gg aXQuCisgKiBQaGFzZSAyOiBkaXNhYmxlIHRoZSBzdGFuZGFsb25lIGRpc2FibGVkIGNvbXBvbmVu dHMsIGZsdXNoIGl0LgorICoKKyAqIFJFVFVSTlM6CisgKiB0cnVlOiBkaXNhYmxlIGlzIG5vdCBj b21wbGV0ZSwgbmVlZHMgYSBwaGFzZSAyIGRpc2FibGUuCisgKiBmYWxzZTogZGlzYWJsZSBpcyBj b21wbGV0ZS4KKyAqLworYm9vbCBrb21lZGFfcGlwZWxpbmVfZGlzYWJsZShzdHJ1Y3Qga29tZWRh X3BpcGVsaW5lICpwaXBlLAogCQkJICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0 YXRlKQogewogCXN0cnVjdCBrb21lZGFfcGlwZWxpbmVfc3RhdGUgKm9sZDsKQEAgLTE5MDksOSAr MTkxOSwxNCBAQCB2b2lkIGtvbWVkYV9waXBlbGluZV9kaXNhYmxlKHN0cnVjdCBrb21lZGFfcGlw ZWxpbmUgKnBpcGUsCiAKIAlvbGQgPSBrb21lZGFfcGlwZWxpbmVfZ2V0X29sZF9zdGF0ZShwaXBl LCBvbGRfc3RhdGUpOwogCi0JZGlzYWJsaW5nX2NvbXBzID0gb2xkLT5hY3RpdmVfY29tcHM7Ci0J RFJNX0RFQlVHX0FUT01JQygiUElQRSVkOiBkaXNhYmxpbmdfY29tcHM6IDB4JXguXG4iLAotCQkJ IHBpcGUtPmlkLCBkaXNhYmxpbmdfY29tcHMpOworCWRpc2FibGluZ19jb21wcyA9IG9sZC0+YWN0 aXZlX2NvbXBzICYKKwkJCSAgKH5waXBlLT5zdGFuZGFsb25lX2Rpc2FibGVkX2NvbXBzKTsKKwlp ZiAoIWRpc2FibGluZ19jb21wcykKKwkJZGlzYWJsaW5nX2NvbXBzID0gb2xkLT5hY3RpdmVfY29t cHMgJgorCQkJCSAgcGlwZS0+c3RhbmRhbG9uZV9kaXNhYmxlZF9jb21wczsKKworCURSTV9ERUJV R19BVE9NSUMoIlBJUEUlZDogYWN0aXZlX2NvbXBzOiAweCV4LCBkaXNhYmxpbmdfY29tcHM6IDB4 JXguXG4iLAorCQkJIHBpcGUtPmlkLCBvbGQtPmFjdGl2ZV9jb21wcywgZGlzYWJsaW5nX2NvbXBz KTsKIAogCWRwX2Zvcl9lYWNoX3NldF9iaXQoaWQsIGRpc2FibGluZ19jb21wcykgewogCQljID0g a29tZWRhX3BpcGVsaW5lX2dldF9jb21wb25lbnQocGlwZSwgaWQpOwpAQCAtMTkyOSw2ICsxOTQ0 LDEzIEBAIHZvaWQga29tZWRhX3BpcGVsaW5lX2Rpc2FibGUoc3RydWN0IGtvbWVkYV9waXBlbGlu ZSAqcGlwZSwKIAogCQljLT5mdW5jcy0+ZGlzYWJsZShjKTsKIAl9CisKKwkvKiBVcGRhdGUgdGhl IHBpcGVsaW5lIHN0YXRlLCBpZiB0aGVyZSBhcmUgY29tcG9uZW50cyB0aGF0IGFyZSBzdGlsbAor CSAqIGFjdGl2ZSwgcmV0dXJuIHRydWUgZm9yIGNhbGxpbmcgdGhlIHBoYXNlIDIgZGlzYWJsZS4K KwkgKi8KKwlvbGQtPmFjdGl2ZV9jb21wcyAmPSB+ZGlzYWJsaW5nX2NvbXBzOworCisJcmV0dXJu IG9sZC0+YWN0aXZlX2NvbXBzID8gdHJ1ZSA6IGZhbHNlOwogfQogCiB2b2lkIGtvbWVkYV9waXBl bGluZV91cGRhdGUoc3RydWN0IGtvbWVkYV9waXBlbGluZSAqcGlwZSwKLS0gCjIuMTcuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs