From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Subject: [PATCH] drm/amdgpu: add a workaround for GDS ordered append hangs with compute queues Date: Mon, 21 Jan 2019 18:46:47 -0500 Message-ID: <20190121234647.3995-1-maraeo@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org RnJvbTogTWFyZWsgT2zFocOhayA8bWFyZWsub2xzYWtAYW1kLmNvbT4KCkknbSBub3QgaW5jcmVh c2luZyB0aGUgRFJNIHZlcnNpb24gYmVjYXVzZSBHRFMgaXNuJ3QgdG90YWxseSB3aXRob3V0IGJ1 Z3MgeWV0LgoKU2lnbmVkLW9mZi1ieTogTWFyZWsgT2zFocOhayA8bWFyZWsub2xzYWtAYW1kLmNv bT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2RzLmggfCAgMiArKwog ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y3XzAuYyAgIHwgMTcgKysrKysrKysrKysr CiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5jICAgfCAxNyArKysrKysrKysr KysKIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OV8wLmMgICB8IDM2ICsrKysrKysr KysrKysrKysrKysrKysrKysKIGluY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oICAgICAgICAg ICB8ICA1ICsrKysKIDUgZmlsZXMgY2hhbmdlZCwgNzcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZHMuaCBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZHMuaAppbmRleCBlY2JjZWZlNDlhOTguLmY4OWY1NzM0 ZDk4NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dkcy5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZHMuaApAQCAtMzAsMjAg KzMwLDIyIEBAIHN0cnVjdCBhbWRncHVfYm87CiBzdHJ1Y3QgYW1kZ3B1X2dkc19hc2ljX2luZm8g ewogCXVpbnQzMl90CXRvdGFsX3NpemU7CiAJdWludDMyX3QJZ2Z4X3BhcnRpdGlvbl9zaXplOwog CXVpbnQzMl90CWNzX3BhcnRpdGlvbl9zaXplOwogfTsKIAogc3RydWN0IGFtZGdwdV9nZHMgewog CXN0cnVjdCBhbWRncHVfZ2RzX2FzaWNfaW5mbwltZW07CiAJc3RydWN0IGFtZGdwdV9nZHNfYXNp Y19pbmZvCWd3czsKIAlzdHJ1Y3QgYW1kZ3B1X2dkc19hc2ljX2luZm8Jb2E7CisJdWludDMyX3QJ CQlnZHNfY29tcHV0ZV9tYXhfd2F2ZV9pZDsKKwogCS8qIEF0IHByZXNlbnQsIEdEUywgR1dTIGFu ZCBPQSByZXNvdXJjZXMgZm9yIGdmeCAoZ3JhcGhpY3MpCiAJICogaXMgYWx3YXlzIHByZS1hbGxv Y2F0ZWQgYW5kIGF2YWlsYWJsZSBmb3IgZ3JhcGhpY3Mgb3BlcmF0aW9uLgogCSAqIFN1Y2ggcmVz b3VyY2UgaXMgc2hhcmVkIGJldHdlZW4gYWxsIGdmeCBjbGllbnRzLgogCSAqIFRPRE86IG1vdmUg dGhpcyBvcGVyYXRpb24gdG8gdXNlciBzcGFjZQogCSAqICovCiAJc3RydWN0IGFtZGdwdV9ibyoJ CWdkc19nZnhfYm87CiAJc3RydWN0IGFtZGdwdV9ibyoJCWd3c19nZnhfYm87CiAJc3RydWN0IGFt ZGdwdV9ibyoJCW9hX2dmeF9ibzsKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2dmeF92N18wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjdf MC5jCmluZGV4IDc5ODQyOTJmOTI4Mi4uZDk3MWVhOTE0NzU1IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjdfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2dmeF92N18wLmMKQEAgLTIyNTcsMjAgKzIyNTcsMzYgQEAgc3RhdGljIHZvaWQgZ2Z4 X3Y3XzBfcmluZ19lbWl0X2liX2dmeChzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCiB9CiAKIHN0 YXRpYyB2b2lkIGdmeF92N18wX3JpbmdfZW1pdF9pYl9jb21wdXRlKHN0cnVjdCBhbWRncHVfcmlu ZyAqcmluZywKIAkJCQkJICBzdHJ1Y3QgYW1kZ3B1X2pvYiAqam9iLAogCQkJCQkgIHN0cnVjdCBh bWRncHVfaWIgKmliLAogCQkJCQkgIHVpbnQzMl90IGZsYWdzKQogewogCXVuc2lnbmVkIHZtaWQg PSBBTURHUFVfSk9CX0dFVF9WTUlEKGpvYik7CiAJdTMyIGNvbnRyb2wgPSBJTkRJUkVDVF9CVUZG RVJfVkFMSUQgfCBpYi0+bGVuZ3RoX2R3IHwgKHZtaWQgPDwgMjQpOwogCisJLyogQ3VycmVudGx5 LCB0aGVyZSBpcyBhIGhpZ2ggcG9zc2liaWxpdHkgdG8gZ2V0IHdhdmUgSUQgbWlzbWF0Y2gKKwkg KiBiZXR3ZWVuIE1FIGFuZCBHRFMsIGxlYWRpbmcgdG8gYSBodyBkZWFkbG9jaywgYmVjYXVzZSBN RSBnZW5lcmF0ZXMKKwkgKiBkaWZmZXJlbnQgd2F2ZSBJRHMgdGhhbiB0aGUgR0RTIGV4cGVjdHMu IFRoaXMgc2l0dWF0aW9uIGhhcHBlbnMKKwkgKiByYW5kb21seSB3aGVuIGF0IGxlYXN0IDUgY29t cHV0ZSBwaXBlcyB1c2UgR0RTIG9yZGVyZWQgYXBwZW5kLgorCSAqIFRoZSB3YXZlIElEcyBnZW5l cmF0ZWQgYnkgTUUgYXJlIGFsc28gd3JvbmcgYWZ0ZXIgc3VzcGVuZC9yZXN1bWUuCisJICogVGhv c2UgYXJlIHByb2JhYmx5IGJ1Z3Mgc29tZXdoZXJlIGVsc2UgaW4gdGhlIGtlcm5lbCBkcml2ZXIu CisJICoKKwkgKiBXcml0aW5nIEdEU19DT01QVVRFX01BWF9XQVZFX0lEIHJlc2V0cyB3YXZlIElE IGNvdW50ZXJzIGluIE1FIGFuZAorCSAqIEdEUyB0byAwIGZvciB0aGlzIHJpbmcgKG1lL3BpcGUp LgorCSAqLworCWlmIChpYi0+ZmxhZ3MgJiBBTURHUFVfSUJfRkxBR19SRVNFVF9HRFNfTUFYX1dB VkVfSUQpIHsKKwkJYW1kZ3B1X3Jpbmdfd3JpdGUocmluZywgUEFDS0VUMyhQQUNLRVQzX1NFVF9D T05GSUdfUkVHLCAxKSk7CisJCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIG1tR0RTX0NPTVBVVEVf TUFYX1dBVkVfSUQgLSBQQUNLRVQzX1NFVF9DT05GSUdfUkVHX1NUQVJUKTsKKwkJYW1kZ3B1X3Jp bmdfd3JpdGUocmluZywgcmluZy0+YWRldi0+Z2RzLmdkc19jb21wdXRlX21heF93YXZlX2lkKTsK Kwl9CisKIAlhbWRncHVfcmluZ193cml0ZShyaW5nLCBQQUNLRVQzKFBBQ0tFVDNfSU5ESVJFQ1Rf QlVGRkVSLCAyKSk7CiAJYW1kZ3B1X3Jpbmdfd3JpdGUocmluZywKICNpZmRlZiBfX0JJR19FTkRJ QU4KIAkJCQkJICAoMiA8PCAwKSB8CiAjZW5kaWYKIAkJCQkJICAoaWItPmdwdV9hZGRyICYgMHhG RkZGRkZGQykpOwogCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIHVwcGVyXzMyX2JpdHMoaWItPmdw dV9hZGRyKSAmIDB4RkZGRik7CiAJYW1kZ3B1X3Jpbmdfd3JpdGUocmluZywgY29udHJvbCk7CiB9 CiAKQEAgLTUwNTAsMjAgKzUwNjYsMjEgQEAgc3RhdGljIHZvaWQgZ2Z4X3Y3XzBfc2V0X2lycV9m dW5jcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAlhZGV2LT5nZngucHJpdl9pbnN0X2ly cS5udW1fdHlwZXMgPSAxOwogCWFkZXYtPmdmeC5wcml2X2luc3RfaXJxLmZ1bmNzID0gJmdmeF92 N18wX3ByaXZfaW5zdF9pcnFfZnVuY3M7CiB9CiAKIHN0YXRpYyB2b2lkIGdmeF92N18wX3NldF9n ZHNfaW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIHsKIAkvKiBpbml0IGFzY2kgZ2Rz IGluZm8gKi8KIAlhZGV2LT5nZHMubWVtLnRvdGFsX3NpemUgPSBSUkVHMzIobW1HRFNfVk1JRDBf U0laRSk7CiAJYWRldi0+Z2RzLmd3cy50b3RhbF9zaXplID0gNjQ7CiAJYWRldi0+Z2RzLm9hLnRv dGFsX3NpemUgPSAxNjsKKwlhZGV2LT5nZHMuZ2RzX2NvbXB1dGVfbWF4X3dhdmVfaWQgPSBSUkVH MzIobW1HRFNfQ09NUFVURV9NQVhfV0FWRV9JRCk7CiAKIAlpZiAoYWRldi0+Z2RzLm1lbS50b3Rh bF9zaXplID09IDY0ICogMTAyNCkgewogCQlhZGV2LT5nZHMubWVtLmdmeF9wYXJ0aXRpb25fc2l6 ZSA9IDQwOTY7CiAJCWFkZXYtPmdkcy5tZW0uY3NfcGFydGl0aW9uX3NpemUgPSA0MDk2OwogCiAJ CWFkZXYtPmdkcy5nd3MuZ2Z4X3BhcnRpdGlvbl9zaXplID0gNDsKIAkJYWRldi0+Z2RzLmd3cy5j c19wYXJ0aXRpb25fc2l6ZSA9IDQ7CiAKIAkJYWRldi0+Z2RzLm9hLmdmeF9wYXJ0aXRpb25fc2l6 ZSA9IDQ7CiAJCWFkZXYtPmdkcy5vYS5jc19wYXJ0aXRpb25fc2l6ZSA9IDE7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5jIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvZ2Z4X3Y4XzAuYwppbmRleCBhMjY3NDc2ODFlZDYuLmRjZGFlNzRmYzBlMSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5jCkBAIC02MDc3LDIwICs2MDc3LDM2 IEBAIHN0YXRpYyB2b2lkIGdmeF92OF8wX3JpbmdfZW1pdF9pYl9nZngoc3RydWN0IGFtZGdwdV9y aW5nICpyaW5nLAogfQogCiBzdGF0aWMgdm9pZCBnZnhfdjhfMF9yaW5nX2VtaXRfaWJfY29tcHV0 ZShzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCiAJCQkJCSAgc3RydWN0IGFtZGdwdV9qb2IgKmpv YiwKIAkJCQkJICBzdHJ1Y3QgYW1kZ3B1X2liICppYiwKIAkJCQkJICB1aW50MzJfdCBmbGFncykK IHsKIAl1bnNpZ25lZCB2bWlkID0gQU1ER1BVX0pPQl9HRVRfVk1JRChqb2IpOwogCXUzMiBjb250 cm9sID0gSU5ESVJFQ1RfQlVGRkVSX1ZBTElEIHwgaWItPmxlbmd0aF9kdyB8ICh2bWlkIDw8IDI0 KTsKIAorCS8qIEN1cnJlbnRseSwgdGhlcmUgaXMgYSBoaWdoIHBvc3NpYmlsaXR5IHRvIGdldCB3 YXZlIElEIG1pc21hdGNoCisJICogYmV0d2VlbiBNRSBhbmQgR0RTLCBsZWFkaW5nIHRvIGEgaHcg ZGVhZGxvY2ssIGJlY2F1c2UgTUUgZ2VuZXJhdGVzCisJICogZGlmZmVyZW50IHdhdmUgSURzIHRo YW4gdGhlIEdEUyBleHBlY3RzLiBUaGlzIHNpdHVhdGlvbiBoYXBwZW5zCisJICogcmFuZG9tbHkg d2hlbiBhdCBsZWFzdCA1IGNvbXB1dGUgcGlwZXMgdXNlIEdEUyBvcmRlcmVkIGFwcGVuZC4KKwkg KiBUaGUgd2F2ZSBJRHMgZ2VuZXJhdGVkIGJ5IE1FIGFyZSBhbHNvIHdyb25nIGFmdGVyIHN1c3Bl bmQvcmVzdW1lLgorCSAqIFRob3NlIGFyZSBwcm9iYWJseSBidWdzIHNvbWV3aGVyZSBlbHNlIGlu IHRoZSBrZXJuZWwgZHJpdmVyLgorCSAqCisJICogV3JpdGluZyBHRFNfQ09NUFVURV9NQVhfV0FW RV9JRCByZXNldHMgd2F2ZSBJRCBjb3VudGVycyBpbiBNRSBhbmQKKwkgKiBHRFMgdG8gMCBmb3Ig dGhpcyByaW5nIChtZS9waXBlKS4KKwkgKi8KKwlpZiAoaWItPmZsYWdzICYgQU1ER1BVX0lCX0ZM QUdfUkVTRVRfR0RTX01BWF9XQVZFX0lEKSB7CisJCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIFBB Q0tFVDMoUEFDS0VUM19TRVRfQ09ORklHX1JFRywgMSkpOworCQlhbWRncHVfcmluZ193cml0ZShy aW5nLCBtbUdEU19DT01QVVRFX01BWF9XQVZFX0lEIC0gUEFDS0VUM19TRVRfQ09ORklHX1JFR19T VEFSVCk7CisJCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIHJpbmctPmFkZXYtPmdkcy5nZHNfY29t cHV0ZV9tYXhfd2F2ZV9pZCk7CisJfQorCiAJYW1kZ3B1X3Jpbmdfd3JpdGUocmluZywgUEFDS0VU MyhQQUNLRVQzX0lORElSRUNUX0JVRkZFUiwgMikpOwogCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcs CiAjaWZkZWYgX19CSUdfRU5ESUFOCiAJCQkJKDIgPDwgMCkgfAogI2VuZGlmCiAJCQkJKGliLT5n cHVfYWRkciAmIDB4RkZGRkZGRkMpKTsKIAlhbWRncHVfcmluZ193cml0ZShyaW5nLCB1cHBlcl8z Ml9iaXRzKGliLT5ncHVfYWRkcikgJiAweEZGRkYpOwogCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcs IGNvbnRyb2wpOwogfQogCkBAIC02OTg5LDIwICs3MDA1LDIxIEBAIHN0YXRpYyB2b2lkIGdmeF92 OF8wX3NldF9ybGNfZnVuY3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiB7CiAJYWRldi0+ Z2Z4LnJsYy5mdW5jcyA9ICZpY2VsYW5kX3JsY19mdW5jczsKIH0KIAogc3RhdGljIHZvaWQgZ2Z4 X3Y4XzBfc2V0X2dkc19pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogewogCS8qIGlu aXQgYXNjaSBnZHMgaW5mbyAqLwogCWFkZXYtPmdkcy5tZW0udG90YWxfc2l6ZSA9IFJSRUczMiht bUdEU19WTUlEMF9TSVpFKTsKIAlhZGV2LT5nZHMuZ3dzLnRvdGFsX3NpemUgPSA2NDsKIAlhZGV2 LT5nZHMub2EudG90YWxfc2l6ZSA9IDE2OworCWFkZXYtPmdkcy5nZHNfY29tcHV0ZV9tYXhfd2F2 ZV9pZCA9IFJSRUczMihtbUdEU19DT01QVVRFX01BWF9XQVZFX0lEKTsKIAogCWlmIChhZGV2LT5n ZHMubWVtLnRvdGFsX3NpemUgPT0gNjQgKiAxMDI0KSB7CiAJCWFkZXYtPmdkcy5tZW0uZ2Z4X3Bh cnRpdGlvbl9zaXplID0gNDA5NjsKIAkJYWRldi0+Z2RzLm1lbS5jc19wYXJ0aXRpb25fc2l6ZSA9 IDQwOTY7CiAKIAkJYWRldi0+Z2RzLmd3cy5nZnhfcGFydGl0aW9uX3NpemUgPSA0OwogCQlhZGV2 LT5nZHMuZ3dzLmNzX3BhcnRpdGlvbl9zaXplID0gNDsKIAogCQlhZGV2LT5nZHMub2EuZ2Z4X3Bh cnRpdGlvbl9zaXplID0gNDsKIAkJYWRldi0+Z2RzLm9hLmNzX3BhcnRpdGlvbl9zaXplID0gMTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OV8wLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjlfMC5jCmluZGV4IDI2MmVlM2NmNmYxYy4uNjNi ODk4ZmMwNDY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjlf MC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OV8wLmMKQEAgLTQwMDMs MjAgKzQwMDMsMzYgQEAgc3RhdGljIHZvaWQgZ2Z4X3Y5XzBfcmluZ19lbWl0X2liX2dmeChzdHJ1 Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCiB9CiAKIHN0YXRpYyB2b2lkIGdmeF92OV8wX3JpbmdfZW1p dF9pYl9jb21wdXRlKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZywKIAkJCQkJICBzdHJ1Y3QgYW1k Z3B1X2pvYiAqam9iLAogCQkJCQkgIHN0cnVjdCBhbWRncHVfaWIgKmliLAogCQkJCQkgIHVpbnQz Ml90IGZsYWdzKQogewogCXVuc2lnbmVkIHZtaWQgPSBBTURHUFVfSk9CX0dFVF9WTUlEKGpvYik7 CiAJdTMyIGNvbnRyb2wgPSBJTkRJUkVDVF9CVUZGRVJfVkFMSUQgfCBpYi0+bGVuZ3RoX2R3IHwg KHZtaWQgPDwgMjQpOwogCisJLyogQ3VycmVudGx5LCB0aGVyZSBpcyBhIGhpZ2ggcG9zc2liaWxp dHkgdG8gZ2V0IHdhdmUgSUQgbWlzbWF0Y2gKKwkgKiBiZXR3ZWVuIE1FIGFuZCBHRFMsIGxlYWRp bmcgdG8gYSBodyBkZWFkbG9jaywgYmVjYXVzZSBNRSBnZW5lcmF0ZXMKKwkgKiBkaWZmZXJlbnQg d2F2ZSBJRHMgdGhhbiB0aGUgR0RTIGV4cGVjdHMuIFRoaXMgc2l0dWF0aW9uIGhhcHBlbnMKKwkg KiByYW5kb21seSB3aGVuIGF0IGxlYXN0IDUgY29tcHV0ZSBwaXBlcyB1c2UgR0RTIG9yZGVyZWQg YXBwZW5kLgorCSAqIFRoZSB3YXZlIElEcyBnZW5lcmF0ZWQgYnkgTUUgYXJlIGFsc28gd3Jvbmcg YWZ0ZXIgc3VzcGVuZC9yZXN1bWUuCisJICogVGhvc2UgYXJlIHByb2JhYmx5IGJ1Z3Mgc29tZXdo ZXJlIGVsc2UgaW4gdGhlIGtlcm5lbCBkcml2ZXIuCisJICoKKwkgKiBXcml0aW5nIEdEU19DT01Q VVRFX01BWF9XQVZFX0lEIHJlc2V0cyB3YXZlIElEIGNvdW50ZXJzIGluIE1FIGFuZAorCSAqIEdE UyB0byAwIGZvciB0aGlzIHJpbmcgKG1lL3BpcGUpLgorCSAqLworCWlmIChpYi0+ZmxhZ3MgJiBB TURHUFVfSUJfRkxBR19SRVNFVF9HRFNfTUFYX1dBVkVfSUQpIHsKKwkJYW1kZ3B1X3Jpbmdfd3Jp dGUocmluZywgUEFDS0VUMyhQQUNLRVQzX1NFVF9DT05GSUdfUkVHLCAxKSk7CisJCWFtZGdwdV9y aW5nX3dyaXRlKHJpbmcsIG1tR0RTX0NPTVBVVEVfTUFYX1dBVkVfSUQpOworCQlhbWRncHVfcmlu Z193cml0ZShyaW5nLCByaW5nLT5hZGV2LT5nZHMuZ2RzX2NvbXB1dGVfbWF4X3dhdmVfaWQpOwor CX0KKwogCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIFBBQ0tFVDMoUEFDS0VUM19JTkRJUkVDVF9C VUZGRVIsIDIpKTsKIAlCVUdfT04oaWItPmdwdV9hZGRyICYgMHgzKTsgLyogRHdvcmQgYWxpZ24g Ki8KIAlhbWRncHVfcmluZ193cml0ZShyaW5nLAogI2lmZGVmIF9fQklHX0VORElBTgogCQkJCSgy IDw8IDApIHwKICNlbmRpZgogCQkJCWxvd2VyXzMyX2JpdHMoaWItPmdwdV9hZGRyKSk7CiAJYW1k Z3B1X3Jpbmdfd3JpdGUocmluZywgdXBwZXJfMzJfYml0cyhpYi0+Z3B1X2FkZHIpKTsKIAlhbWRn cHVfcmluZ193cml0ZShyaW5nLCBjb250cm9sKTsKIH0KQEAgLTQ4MzksMjAgKzQ4NTUsNDAgQEAg c3RhdGljIHZvaWQgZ2Z4X3Y5XzBfc2V0X2dkc19pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2KQogCQlhZGV2LT5nZHMubWVtLnRvdGFsX3NpemUgPSAweDEwMDAwOwogCQlicmVhazsKIAlj YXNlIENISVBfUkFWRU46CiAJCWFkZXYtPmdkcy5tZW0udG90YWxfc2l6ZSA9IDB4MTAwMDsKIAkJ YnJlYWs7CiAJZGVmYXVsdDoKIAkJYWRldi0+Z2RzLm1lbS50b3RhbF9zaXplID0gMHgxMDAwMDsK IAkJYnJlYWs7CiAJfQogCisJc3dpdGNoIChhZGV2LT5hc2ljX3R5cGUpIHsKKwljYXNlIENISVBf VkVHQTEwOgorCWNhc2UgQ0hJUF9WRUdBMjA6CisJCWFkZXYtPmdkcy5nZHNfY29tcHV0ZV9tYXhf d2F2ZV9pZCA9IDB4N2ZmOworCQlicmVhazsKKwljYXNlIENISVBfVkVHQTEyOgorCQlhZGV2LT5n ZHMuZ2RzX2NvbXB1dGVfbWF4X3dhdmVfaWQgPSAweDI3ZjsKKwkJYnJlYWs7CisJY2FzZSBDSElQ X1JBVkVOOgorCQlpZiAoYWRldi0+cmV2X2lkID49IDB4OCkKKwkJCWFkZXYtPmdkcy5nZHNfY29t cHV0ZV9tYXhfd2F2ZV9pZCA9IDB4Nzc7IC8qIHJhdmVuMiAqLworCQllbHNlCisJCQlhZGV2LT5n ZHMuZ2RzX2NvbXB1dGVfbWF4X3dhdmVfaWQgPSAweDE1ZjsgLyogcmF2ZW4xICovCisJCWJyZWFr OworCWRlZmF1bHQ6CisJCS8qIHRoaXMgcmVhbGx5IGRlcGVuZHMgb24gdGhlIGNoaXAgKi8KKwkJ YWRldi0+Z2RzLmdkc19jb21wdXRlX21heF93YXZlX2lkID0gMHg3ZmY7CisJCWJyZWFrOworCX0K KwogCWFkZXYtPmdkcy5nd3MudG90YWxfc2l6ZSA9IDY0OwogCWFkZXYtPmdkcy5vYS50b3RhbF9z aXplID0gMTY7CiAKIAlpZiAoYWRldi0+Z2RzLm1lbS50b3RhbF9zaXplID09IDY0ICogMTAyNCkg ewogCQlhZGV2LT5nZHMubWVtLmdmeF9wYXJ0aXRpb25fc2l6ZSA9IDQwOTY7CiAJCWFkZXYtPmdk cy5tZW0uY3NfcGFydGl0aW9uX3NpemUgPSA0MDk2OwogCiAJCWFkZXYtPmdkcy5nd3MuZ2Z4X3Bh cnRpdGlvbl9zaXplID0gNDsKIAkJYWRldi0+Z2RzLmd3cy5jc19wYXJ0aXRpb25fc2l6ZSA9IDQ7 CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oIGIvaW5jbHVkZS91 YXBpL2RybS9hbWRncHVfZHJtLmgKaW5kZXggZmFhYWQwNDgxNGU0Li42NjJkMzc5ZWE2MjQgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oCisrKyBiL2luY2x1ZGUvdWFw aS9kcm0vYW1kZ3B1X2RybS5oCkBAIC01NjEsMjAgKzU2MSwyNSBAQCB1bmlvbiBkcm1fYW1kZ3B1 X2NzIHsKIC8qIFByZWFtYmxlIGZsYWcsIHdoaWNoIG1lYW5zIHRoZSBJQiBjb3VsZCBiZSBkcm9w cGVkIGlmIG5vIGNvbnRleHQgc3dpdGNoICovCiAjZGVmaW5lIEFNREdQVV9JQl9GTEFHX1BSRUFN QkxFICgxPDwxKQogCiAvKiBQcmVlbXB0IGZsYWcsIElCIHNob3VsZCBzZXQgUHJlX2VuYiBiaXQg aWYgUFJFRU1QVCBmbGFnIGRldGVjdGVkICovCiAjZGVmaW5lIEFNREdQVV9JQl9GTEFHX1BSRUVN UFQgKDE8PDIpCiAKIC8qIFRoZSBJQiBmZW5jZSBzaG91bGQgZG8gdGhlIEwyIHdyaXRlYmFjayBi dXQgbm90IGludmFsaWRhdGUgYW55IHNoYWRlcgogICogY2FjaGVzIChMMi92TDEvc0wxL0kkKS4g Ki8KICNkZWZpbmUgQU1ER1BVX0lCX0ZMQUdfVENfV0JfTk9UX0lOVkFMSURBVEUgKDEgPDwgMykK IAorLyogU2V0IEdEU19DT01QVVRFX01BWF9XQVZFX0lEID0gREVGQVVMVCBiZWZvcmUgUEFDS0VU M19JTkRJUkVDVF9CVUZGRVIuCisgKiBUaGlzIHdpbGwgcmVzZXQgd2F2ZSBJRCBjb3VudGVycyBm b3IgdGhlIElCLgorICovCisjZGVmaW5lIEFNREdQVV9JQl9GTEFHX1JFU0VUX0dEU19NQVhfV0FW RV9JRCAoMSA8PCA0KQorCiBzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19pYiB7CiAJX191MzIg X3BhZDsKIAkvKiogQU1ER1BVX0lCX0ZMQUdfKiAqLwogCV9fdTMyIGZsYWdzOwogCS8qKiBWaXJ0 dWFsIGFkZHJlc3MgdG8gYmVnaW4gSUIgZXhlY3V0aW9uICovCiAJX191NjQgdmFfc3RhcnQ7CiAJ LyoqIFNpemUgb2Ygc3VibWlzc2lvbiAqLwogCV9fdTMyIGliX2J5dGVzOwogCS8qKiBIVyBJUCB0 byBzdWJtaXQgdG8gKi8KIAlfX3UzMiBpcF90eXBlOwotLSAKMi4xNy4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAph bWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK