From mboxrd@z Thu Jan 1 00:00:00 1970 From: "=?UTF-8?q?Christian=20K=C3=B6nig?=" Subject: [PATCH 08/12] drm/amdgpu: enable IH ring 1 and ring 2 v2 Date: Wed, 26 Sep 2018 15:53:26 +0200 Message-ID: <20180926135330.2218-8-christian.koenig@amd.com> References: <20180926135330.2218-1-christian.koenig@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180926135330.2218-1-christian.koenig-5C7GfCeVMHo@public.gmane.org> 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 VGhlIGVudHJpZXMgYXJlIGlnbm9yZWQgZm9yIG5vdywgYnV0IGl0IGF0IGxlYXN0IHN0b3BzIGNy YXNoaW5nIHRoZQpoYXJkd2FyZSB3aGVuIHNvbWVib2R5IHRyaWVzIHRvIHB1c2ggc29tZXRoaW5n IHRvIHRoZSBvdGhlciBJSCByaW5ncy4KCnYyOiBsaW1pdCByaW5nIHNpemUsIGFkZCBUT0RPIGNv bW1lbnQKClNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdA YW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfaXJxLmggfCAg IDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZlZ2ExMF9paC5jICB8IDEyOSArKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxMDcgaW5zZXJ0 aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2lycS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2lycS5oCmluZGV4IGY2Y2UxNzFjYjhhYS4uN2UwNmZhNjQzMjFhIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfaXJxLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2lycS5oCkBAIC04Nyw4ICs4Nyw4IEBAIHN0cnVjdCBhbWRncHVf aXJxIHsKIAkvKiBzdGF0dXMsIGV0Yy4gKi8KIAlib29sCQkJCW1zaV9lbmFibGVkOyAvKiBtc2kg ZW5hYmxlZCAqLwogCi0JLyogaW50ZXJydXB0IHJpbmcgKi8KLQlzdHJ1Y3QgYW1kZ3B1X2loX3Jp bmcJCWloOworCS8qIGludGVycnVwdCByaW5ncyAqLworCXN0cnVjdCBhbWRncHVfaWhfcmluZwkJ aWgsIGloMSwgaWgyOwogCWNvbnN0IHN0cnVjdCBhbWRncHVfaWhfZnVuY3MJKmloX2Z1bmNzOwog CiAJLyogZ2VuIGlycSBzdHVmZiAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvdmVnYTEwX2loLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92ZWdhMTBfaWgu YwppbmRleCA0NDRmNjRlNTA5MmIuLmU2YWY5YjRjMzExNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvdmVnYTEwX2loLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvdmVnYTEwX2loLmMKQEAgLTUwLDYgKzUwLDE2IEBAIHN0YXRpYyB2b2lkIHZlZ2ExMF9p aF9lbmFibGVfaW50ZXJydXB0cyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAlpaF9yYl9j bnRsID0gUkVHX1NFVF9GSUVMRChpaF9yYl9jbnRsLCBJSF9SQl9DTlRMLCBFTkFCTEVfSU5UUiwg MSk7CiAJV1JFRzMyX1NPQzE1KE9TU1NZUywgMCwgbW1JSF9SQl9DTlRMLCBpaF9yYl9jbnRsKTsK IAlhZGV2LT5pcnEuaWguZW5hYmxlZCA9IHRydWU7CisKKwlpaF9yYl9jbnRsID0gUlJFRzMyX1NP QzE1KE9TU1NZUywgMCwgbW1JSF9SQl9DTlRMX1JJTkcxKTsKKwlpaF9yYl9jbnRsID0gUkVHX1NF VF9GSUVMRChpaF9yYl9jbnRsLCBJSF9SQl9DTlRMX1JJTkcxLCBSQl9FTkFCTEUsIDEpOworCVdS RUczMl9TT0MxNShPU1NTWVMsIDAsIG1tSUhfUkJfQ05UTF9SSU5HMSwgaWhfcmJfY250bCk7CisJ YWRldi0+aXJxLmloMS5lbmFibGVkID0gdHJ1ZTsKKworCWloX3JiX2NudGwgPSBSUkVHMzJfU09D MTUoT1NTU1lTLCAwLCBtbUlIX1JCX0NOVExfUklORzIpOworCWloX3JiX2NudGwgPSBSRUdfU0VU X0ZJRUxEKGloX3JiX2NudGwsIElIX1JCX0NOVExfUklORzIsIFJCX0VOQUJMRSwgMSk7CisJV1JF RzMyX1NPQzE1KE9TU1NZUywgMCwgbW1JSF9SQl9DTlRMX1JJTkcyLCBpaF9yYl9jbnRsKTsKKwlh ZGV2LT5pcnEuaWgyLmVuYWJsZWQgPSB0cnVlOwogfQogCiAvKioKQEAgLTcxLDYgKzgxLDQ3IEBA IHN0YXRpYyB2b2lkIHZlZ2ExMF9paF9kaXNhYmxlX2ludGVycnVwdHMoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYpCiAJV1JFRzMyX1NPQzE1KE9TU1NZUywgMCwgbW1JSF9SQl9XUFRSLCAwKTsK IAlhZGV2LT5pcnEuaWguZW5hYmxlZCA9IGZhbHNlOwogCWFkZXYtPmlycS5paC5ycHRyID0gMDsK KworCWloX3JiX2NudGwgPSBSUkVHMzJfU09DMTUoT1NTU1lTLCAwLCBtbUlIX1JCX0NOVExfUklO RzEpOworCWloX3JiX2NudGwgPSBSRUdfU0VUX0ZJRUxEKGloX3JiX2NudGwsIElIX1JCX0NOVExf UklORzEsIFJCX0VOQUJMRSwgMCk7CisJV1JFRzMyX1NPQzE1KE9TU1NZUywgMCwgbW1JSF9SQl9D TlRMX1JJTkcxLCBpaF9yYl9jbnRsKTsKKwkvKiBzZXQgcnB0ciwgd3B0ciB0byAwICovCisJV1JF RzMyX1NPQzE1KE9TU1NZUywgMCwgbW1JSF9SQl9SUFRSX1JJTkcxLCAwKTsKKwlXUkVHMzJfU09D MTUoT1NTU1lTLCAwLCBtbUlIX1JCX1dQVFJfUklORzEsIDApOworCWFkZXYtPmlycS5paDEuZW5h YmxlZCA9IGZhbHNlOworCWFkZXYtPmlycS5paDEucnB0ciA9IDA7CisKKwlpaF9yYl9jbnRsID0g UlJFRzMyX1NPQzE1KE9TU1NZUywgMCwgbW1JSF9SQl9DTlRMX1JJTkcyKTsKKwlpaF9yYl9jbnRs ID0gUkVHX1NFVF9GSUVMRChpaF9yYl9jbnRsLCBJSF9SQl9DTlRMX1JJTkcyLCBSQl9FTkFCTEUs IDApOworCVdSRUczMl9TT0MxNShPU1NTWVMsIDAsIG1tSUhfUkJfQ05UTF9SSU5HMiwgaWhfcmJf Y250bCk7CisJLyogc2V0IHJwdHIsIHdwdHIgdG8gMCAqLworCVdSRUczMl9TT0MxNShPU1NTWVMs IDAsIG1tSUhfUkJfUlBUUl9SSU5HMiwgMCk7CisJV1JFRzMyX1NPQzE1KE9TU1NZUywgMCwgbW1J SF9SQl9XUFRSX1JJTkcyLCAwKTsKKwlhZGV2LT5pcnEuaWgyLmVuYWJsZWQgPSBmYWxzZTsKKwlh ZGV2LT5pcnEuaWgyLnJwdHIgPSAwOworfQorCitzdGF0aWMgdWludDMyX3QgdmVnYTEwX2loX3Ji X2NudGwoc3RydWN0IGFtZGdwdV9paF9yaW5nICppaCwgdWludDMyX3QgaWhfcmJfY250bCkKK3sK KwlpbnQgcmJfYnVmc3ogPSBvcmRlcl9iYXNlXzIoaWgtPnJpbmdfc2l6ZSAvIDQpOworCisJaWhf cmJfY250bCA9IFJFR19TRVRfRklFTEQoaWhfcmJfY250bCwgSUhfUkJfQ05UTCwKKwkJCQkgICBN Q19TUEFDRSwgaWgtPnVzZV9idXNfYWRkciA/IDEgOiA0KTsKKwlpaF9yYl9jbnRsID0gUkVHX1NF VF9GSUVMRChpaF9yYl9jbnRsLCBJSF9SQl9DTlRMLAorCQkJCSAgIFdQVFJfT1ZFUkZMT1dfQ0xF QVIsIDEpOworCWloX3JiX2NudGwgPSBSRUdfU0VUX0ZJRUxEKGloX3JiX2NudGwsIElIX1JCX0NO VEwsCisJCQkJICAgV1BUUl9PVkVSRkxPV19FTkFCTEUsIDEpOworCWloX3JiX2NudGwgPSBSRUdf U0VUX0ZJRUxEKGloX3JiX2NudGwsIElIX1JCX0NOVEwsIFJCX1NJWkUsIHJiX2J1ZnN6KTsKKwkv KiBSaW5nIEJ1ZmZlciB3cml0ZSBwb2ludGVyIHdyaXRlYmFjay4gSWYgZW5hYmxlZCwgSUhfUkJf V1BUUiByZWdpc3RlcgorCSAqIHZhbHVlIGlzIHdyaXR0ZW4gdG8gbWVtb3J5CisJICovCisJaWhf cmJfY250bCA9IFJFR19TRVRfRklFTEQoaWhfcmJfY250bCwgSUhfUkJfQ05UTCwKKwkJCQkgICBX UFRSX1dSSVRFQkFDS19FTkFCTEUsIDEpOworCWloX3JiX2NudGwgPSBSRUdfU0VUX0ZJRUxEKGlo X3JiX2NudGwsIElIX1JCX0NOVEwsIE1DX1NOT09QLCAxKTsKKwlpaF9yYl9jbnRsID0gUkVHX1NF VF9GSUVMRChpaF9yYl9jbnRsLCBJSF9SQl9DTlRMLCBNQ19STywgMCk7CisJaWhfcmJfY250bCA9 IFJFR19TRVRfRklFTEQoaWhfcmJfY250bCwgSUhfUkJfQ05UTCwgTUNfVk1JRCwgMCk7CisKKwly ZXR1cm4gaWhfcmJfY250bDsKIH0KIAogLyoqCkBAIC04Niw5ICsxMzcsOCBAQCBzdGF0aWMgdm9p ZCB2ZWdhMTBfaWhfZGlzYWJsZV9pbnRlcnJ1cHRzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 KQogICovCiBzdGF0aWMgaW50IHZlZ2ExMF9paF9pcnFfaW5pdChzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldikKIHsKLQlzdHJ1Y3QgYW1kZ3B1X2loX3JpbmcgKmloID0gJmFkZXYtPmlycS5paDsK KwlzdHJ1Y3QgYW1kZ3B1X2loX3JpbmcgKmloOwogCWludCByZXQgPSAwOwotCWludCByYl9idWZz ejsKIAl1MzIgaWhfcmJfY250bCwgaWhfZG9vcmJlbGxfcnRwcjsKIAl1MzIgdG1wOwogCkBAIC05 NywyNiArMTQ3LDE1IEBAIHN0YXRpYyBpbnQgdmVnYTEwX2loX2lycV9pbml0KHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2KQogCiAJYWRldi0+bmJpb19mdW5jcy0+aWhfY29udHJvbChhZGV2KTsK IAotCWloX3JiX2NudGwgPSBSUkVHMzJfU09DMTUoT1NTU1lTLCAwLCBtbUlIX1JCX0NOVEwpOwor CWloID0gJmFkZXYtPmlycS5paDsKIAkvKiBSaW5nIEJ1ZmZlciBiYXNlLiBbMzk6OF0gb2YgNDAt Yml0IGFkZHJlc3Mgb2YgdGhlIGJlZ2lubmluZyBvZiB0aGUgcmluZyBidWZmZXIqLwotCVdSRUcz Ml9TT0MxNShPU1NTWVMsIDAsIG1tSUhfUkJfQkFTRSwgYWRldi0+aXJxLmloLmdwdV9hZGRyID4+ IDgpOwotCVdSRUczMl9TT0MxNShPU1NTWVMsIDAsIG1tSUhfUkJfQkFTRV9ISSwKLQkJICAgICAo YWRldi0+aXJxLmloLmdwdV9hZGRyID4+IDQwKSAmIDB4ZmYpOwotCWloX3JiX2NudGwgPSBSRUdf U0VUX0ZJRUxEKGloX3JiX2NudGwsIElIX1JCX0NOVEwsIE1DX1NQQUNFLAotCQkJCSAgIGloLT51 c2VfYnVzX2FkZHIgPyAxIDogNCk7Ci0JcmJfYnVmc3ogPSBvcmRlcl9iYXNlXzIoYWRldi0+aXJx LmloLnJpbmdfc2l6ZSAvIDQpOwotCWloX3JiX2NudGwgPSBSRUdfU0VUX0ZJRUxEKGloX3JiX2Nu dGwsIElIX1JCX0NOVEwsIFdQVFJfT1ZFUkZMT1dfQ0xFQVIsIDEpOwotCWloX3JiX2NudGwgPSBS RUdfU0VUX0ZJRUxEKGloX3JiX2NudGwsIElIX1JCX0NOVEwsIFdQVFJfT1ZFUkZMT1dfRU5BQkxF LCAxKTsKLQlpaF9yYl9jbnRsID0gUkVHX1NFVF9GSUVMRChpaF9yYl9jbnRsLCBJSF9SQl9DTlRM LCBSQl9TSVpFLCByYl9idWZzeik7Ci0JLyogUmluZyBCdWZmZXIgd3JpdGUgcG9pbnRlciB3cml0 ZWJhY2suIElmIGVuYWJsZWQsIElIX1JCX1dQVFIgcmVnaXN0ZXIgdmFsdWUgaXMgd3JpdHRlbiB0 byBtZW1vcnkgKi8KLQlpaF9yYl9jbnRsID0gUkVHX1NFVF9GSUVMRChpaF9yYl9jbnRsLCBJSF9S Ql9DTlRMLCBXUFRSX1dSSVRFQkFDS19FTkFCTEUsIDEpOwotCWloX3JiX2NudGwgPSBSRUdfU0VU X0ZJRUxEKGloX3JiX2NudGwsIElIX1JCX0NOVEwsIE1DX1NOT09QLCAxKTsKLQlpaF9yYl9jbnRs ID0gUkVHX1NFVF9GSUVMRChpaF9yYl9jbnRsLCBJSF9SQl9DTlRMLCBNQ19STywgMCk7Ci0JaWhf cmJfY250bCA9IFJFR19TRVRfRklFTEQoaWhfcmJfY250bCwgSUhfUkJfQ05UTCwgTUNfVk1JRCwg MCk7Ci0KLQlpZiAoYWRldi0+aXJxLm1zaV9lbmFibGVkKQotCQlpaF9yYl9jbnRsID0gUkVHX1NF VF9GSUVMRChpaF9yYl9jbnRsLCBJSF9SQl9DTlRMLCBSUFRSX1JFQVJNLCAxKTsKKwlXUkVHMzJf U09DMTUoT1NTU1lTLCAwLCBtbUlIX1JCX0JBU0UsIGloLT5ncHVfYWRkciA+PiA4KTsKKwlXUkVH MzJfU09DMTUoT1NTU1lTLCAwLCBtbUlIX1JCX0JBU0VfSEksIChpaC0+Z3B1X2FkZHIgPj4gNDAp ICYgMHhmZik7CiAKKwlpaF9yYl9jbnRsID0gUlJFRzMyX1NPQzE1KE9TU1NZUywgMCwgbW1JSF9S Ql9DTlRMKTsKKwlpaF9yYl9jbnRsID0gdmVnYTEwX2loX3JiX2NudGwoaWgsIGloX3JiX2NudGwp OworCWloX3JiX2NudGwgPSBSRUdfU0VUX0ZJRUxEKGloX3JiX2NudGwsIElIX1JCX0NOVEwsIFJQ VFJfUkVBUk0sCisJCQkJICAgISFhZGV2LT5pcnEubXNpX2VuYWJsZWQpOwogCVdSRUczMl9TT0Mx NShPU1NTWVMsIDAsIG1tSUhfUkJfQ05UTCwgaWhfcmJfY250bCk7CiAKIAkvKiBzZXQgdGhlIHdy aXRlYmFjayBhZGRyZXNzIHdoZXRoZXIgaXQncyBlbmFibGVkIG9yIG5vdCAqLwpAQCAtMTMxLDE4 ICsxNzAsNDkgQEAgc3RhdGljIGludCB2ZWdhMTBfaWhfaXJxX2luaXQoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYpCiAKIAlpaF9kb29yYmVsbF9ydHByID0gUlJFRzMyX1NPQzE1KE9TU1NZUywg MCwgbW1JSF9ET09SQkVMTF9SUFRSKTsKIAlpZiAoYWRldi0+aXJxLmloLnVzZV9kb29yYmVsbCkg ewotCQlpaF9kb29yYmVsbF9ydHByID0gUkVHX1NFVF9GSUVMRChpaF9kb29yYmVsbF9ydHByLCBJ SF9ET09SQkVMTF9SUFRSLAotCQkJCQkJIE9GRlNFVCwgYWRldi0+aXJxLmloLmRvb3JiZWxsX2lu ZGV4KTsKLQkJaWhfZG9vcmJlbGxfcnRwciA9IFJFR19TRVRfRklFTEQoaWhfZG9vcmJlbGxfcnRw ciwgSUhfRE9PUkJFTExfUlBUUiwKKwkJaWhfZG9vcmJlbGxfcnRwciA9IFJFR19TRVRfRklFTEQo aWhfZG9vcmJlbGxfcnRwciwKKwkJCQkJCSBJSF9ET09SQkVMTF9SUFRSLCBPRkZTRVQsCisJCQkJ CQkgYWRldi0+aXJxLmloLmRvb3JiZWxsX2luZGV4KTsKKwkJaWhfZG9vcmJlbGxfcnRwciA9IFJF R19TRVRfRklFTEQoaWhfZG9vcmJlbGxfcnRwciwKKwkJCQkJCSBJSF9ET09SQkVMTF9SUFRSLAog CQkJCQkJIEVOQUJMRSwgMSk7CiAJfSBlbHNlIHsKLQkJaWhfZG9vcmJlbGxfcnRwciA9IFJFR19T RVRfRklFTEQoaWhfZG9vcmJlbGxfcnRwciwgSUhfRE9PUkJFTExfUlBUUiwKKwkJaWhfZG9vcmJl bGxfcnRwciA9IFJFR19TRVRfRklFTEQoaWhfZG9vcmJlbGxfcnRwciwKKwkJCQkJCSBJSF9ET09S QkVMTF9SUFRSLAogCQkJCQkJIEVOQUJMRSwgMCk7CiAJfQogCVdSRUczMl9TT0MxNShPU1NTWVMs IDAsIG1tSUhfRE9PUkJFTExfUlBUUiwgaWhfZG9vcmJlbGxfcnRwcik7CiAJYWRldi0+bmJpb19m dW5jcy0+aWhfZG9vcmJlbGxfcmFuZ2UoYWRldiwgYWRldi0+aXJxLmloLnVzZV9kb29yYmVsbCwK IAkJCQkJICAgIGFkZXYtPmlycS5paC5kb29yYmVsbF9pbmRleCk7CiAKKwlpaCA9ICZhZGV2LT5p cnEuaWgxOworCS8qIFJpbmcgQnVmZmVyIGJhc2UuIFszOTo4XSBvZiA0MC1iaXQgYWRkcmVzcyBv ZiB0aGUgYmVnaW5uaW5nIG9mIHRoZSByaW5nIGJ1ZmZlciovCisJV1JFRzMyX1NPQzE1KE9TU1NZ UywgMCwgbW1JSF9SQl9CQVNFX1JJTkcxLCBpaC0+Z3B1X2FkZHIgPj4gOCk7CisJV1JFRzMyX1NP QzE1KE9TU1NZUywgMCwgbW1JSF9SQl9CQVNFX0hJX1JJTkcxLAorCQkgICAgIChpaC0+Z3B1X2Fk ZHIgPj4gNDApICYgMHhmZik7CisKKwlpaF9yYl9jbnRsID0gUlJFRzMyX1NPQzE1KE9TU1NZUywg MCwgbW1JSF9SQl9DTlRMX1JJTkcxKTsKKwlpaF9yYl9jbnRsID0gdmVnYTEwX2loX3JiX2NudGwo aWgsIGloX3JiX2NudGwpOworCVdSRUczMl9TT0MxNShPU1NTWVMsIDAsIG1tSUhfUkJfQ05UTF9S SU5HMSwgaWhfcmJfY250bCk7CisKKwkvKiBzZXQgcnB0ciwgd3B0ciB0byAwICovCisJV1JFRzMy X1NPQzE1KE9TU1NZUywgMCwgbW1JSF9SQl9SUFRSX1JJTkcxLCAwKTsKKwlXUkVHMzJfU09DMTUo T1NTU1lTLCAwLCBtbUlIX1JCX1dQVFJfUklORzEsIDApOworCisJaWggPSAmYWRldi0+aXJxLmlo MjsKKwkvKiBSaW5nIEJ1ZmZlciBiYXNlLiBbMzk6OF0gb2YgNDAtYml0IGFkZHJlc3Mgb2YgdGhl IGJlZ2lubmluZyBvZiB0aGUgcmluZyBidWZmZXIqLworCVdSRUczMl9TT0MxNShPU1NTWVMsIDAs IG1tSUhfUkJfQkFTRV9SSU5HMiwgaWgtPmdwdV9hZGRyID4+IDgpOworCVdSRUczMl9TT0MxNShP U1NTWVMsIDAsIG1tSUhfUkJfQkFTRV9ISV9SSU5HMiwKKwkJICAgICAoaWgtPmdwdV9hZGRyID4+ IDQwKSAmIDB4ZmYpOworCisJaWhfcmJfY250bCA9IFJSRUczMl9TT0MxNShPU1NTWVMsIDAsIG1t SUhfUkJfQ05UTF9SSU5HMSk7CisJaWhfcmJfY250bCA9IHZlZ2ExMF9paF9yYl9jbnRsKGloLCBp aF9yYl9jbnRsKTsKKwlXUkVHMzJfU09DMTUoT1NTU1lTLCAwLCBtbUlIX1JCX0NOVExfUklORzIs IGloX3JiX2NudGwpOworCisJLyogc2V0IHJwdHIsIHdwdHIgdG8gMCAqLworCVdSRUczMl9TT0Mx NShPU1NTWVMsIDAsIG1tSUhfUkJfUlBUUl9SSU5HMiwgMCk7CisJV1JFRzMyX1NPQzE1KE9TU1NZ UywgMCwgbW1JSF9SQl9XUFRSX1JJTkcyLCAwKTsKKwogCXRtcCA9IFJSRUczMl9TT0MxNShPU1NT WVMsIDAsIG1tSUhfU1RPUk1fQ0xJRU5UX0xJU1RfQ05UTCk7CiAJdG1wID0gUkVHX1NFVF9GSUVM RCh0bXAsIElIX1NUT1JNX0NMSUVOVF9MSVNUX0NOVEwsCiAJCQkgICAgQ0xJRU5UMThfSVNfU1RP Uk1fQ0xJRU5ULCAxKTsKQEAgLTI5MCw2ICszNjAsMTUgQEAgc3RhdGljIGludCB2ZWdhMTBfaWhf c3dfaW5pdCh2b2lkICpoYW5kbGUpCiAJaWYgKHIpCiAJCXJldHVybiByOwogCisJciA9IGFtZGdw dV9paF9yaW5nX2luaXQoYWRldiwgJmFkZXYtPmlycS5paDEsIFBBR0VfU0laRSwgdHJ1ZSk7CisJ aWYgKHIpCisJCXJldHVybiByOworCisJciA9IGFtZGdwdV9paF9yaW5nX2luaXQoYWRldiwgJmFk ZXYtPmlycS5paDIsIFBBR0VfU0laRSwgdHJ1ZSk7CisJaWYgKHIpCisJCXJldHVybiByOworCisJ LyogVE9ETyBhZGQgZG9vcmJlbGwgZm9yIElIMSAmIElIMiBhcyB3ZWxsICovCiAJYWRldi0+aXJx LmloLnVzZV9kb29yYmVsbCA9IHRydWU7CiAJYWRldi0+aXJxLmloLmRvb3JiZWxsX2luZGV4ID0g QU1ER1BVX0RPT1JCRUxMNjRfSUggPDwgMTsKIApAQCAtMzAzLDYgKzM4Miw4IEBAIHN0YXRpYyBp bnQgdmVnYTEwX2loX3N3X2Zpbmkodm9pZCAqaGFuZGxlKQogCXN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopaGFuZGxlOwogCiAJYW1kZ3B1X2lycV9m aW5pKGFkZXYpOworCWFtZGdwdV9paF9yaW5nX2ZpbmkoYWRldiwgJmFkZXYtPmlycS5paDIpOwor CWFtZGdwdV9paF9yaW5nX2ZpbmkoYWRldiwgJmFkZXYtPmlycS5paDEpOwogCWFtZGdwdV9paF9y aW5nX2ZpbmkoYWRldiwgJmFkZXYtPmlycS5paCk7CiAKIAlyZXR1cm4gMDsKLS0gCjIuMTQuMQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBt YWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==