From mboxrd@z Thu Jan 1 00:00:00 1970 From: Monk Liu Subject: [PATCH 4/4] drm/amdgpu/SRIOV:implement guilty job TDR for Date: Mon, 8 May 2017 14:51:09 +0800 Message-ID: <1494226269-8837-5-git-send-email-Monk.Liu@amd.com> References: <1494226269-8837-1-git-send-email-Monk.Liu@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1494226269-8837-1-git-send-email-Monk.Liu-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 Cc: Monk Liu MSxURFIgd2lsbCBraWNrb3V0IGd1aWx0eSBqb2IgaWYgaXQgaGFuZyBleGNlZWQgdGhlIHRocmVz aG9sZApvZiB0aGUgZ2l2ZW4gb25lIGZyb20ga2VybmVsIHBhcmFtdGVyICJqb2JfaGFuZ19saW1p dCIsIHRoYXQKd2F5IGEgYmFkIGNvbW1hbmQgc3RyZWFtIHdpbGwgbm90IGluZmluaXRseSBjYXVz ZSBHUFUgaGFuZy4KCmJ5IGRlZmF1bHQgdGhpcyB0aHJlc2hvbGQgaXMgMSBzbyBhIGpvYiB3aWxs IGJlIGtpY2tlZCBvdXQKYWZ0ZXIgaXQgaGFuZy4KCjIsaWYgYSBqb2IgdGltZW91dCBURFIgcm91 dGluZSB3aWxsIG5vdCByZXNldCBhbGwgc2NoZWQvcmluZywKaW5zdGVhZCBpZiB3aWxsIG9ubHkg cmVzZXQgb24gdGhlIGdpdm4gb25lIHdoaWNoIGlzIGluZGljYXRlZApieSBAam9iIG9mIGFtZGdw dV9zcmlvdl9ncHVfcmVzZXQsIHRoYXQgd2F5IHdlIGRvbid0IG5lZWQgdG8KcmVzZXQgYW5kIHJl Y292ZXIgZWFjaCBzY2hlZC9yaW5nIGlmIHdlIGFscmVhZHkga25vdyB3aGljaCBqb2IKY2F1c2Ug R1BVIGhhbmcuCgozLHVuYmxvY2sgc3Jpb3ZfZ3B1X3Jlc2V0IGZvciBBSSBmYW1pbHkuCgpUT0RP Ogp3aGVuIGEgam9iIGlzIGNvbnNpZGVyZWQgYXMgZ3VpbHR5LCB3ZSBzaG91bGQgbWFyayBzb21l IGZsYWcKaW4gaXRzIGZlbmNlIHN0YXR1cyBmbGFnLCBhbmQgbGV0IFVNRCBzaWRlIGF3YXJlIHRo YXQgdGhpcwpmZW5jZSBzaWduYWxpbmcgaXMgbm90IGR1ZSB0byBqb2IgY29tcGxldGUgYnV0IGpv YiBoYW5nLgoKQ2hhbmdlLUlkOiBJN2I4OWMxOWEzZGU5MzI0OWRiNTcwZDBhODA1MjIxNzZiMTUy NWEwOQpTaWduZWQtb2ZmLWJ5OiBNb25rIExpdSA8TW9uay5MaXVAYW1kLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCAgICAgICAgICAgfCAgMSArCiBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3R4LmMgICAgICAgfCAgNCArKysKIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYyAgICB8IDM2ICsrKysrKysrKysrKysr KysrKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jICAg ICAgIHwgIDQgKysrCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZmVuY2UuYyAg ICAgfCAgOCArKysrKysKIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9yaW5nLmMg ICAgICB8ICAyICsrCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcmluZy5oICAg ICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMgICAgICAg fCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3Y0XzAuYyAgICAgICAgfCAg MSArCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zb2MxNS5jICAgICAgICAgICAgfCAgNCAr LS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvc2NoZWR1bGVyL2dwdV9zY2hlZHVsZXIuYyB8IDExICsr KysrKystCiBkcml2ZXJzL2dwdS9kcm0vYW1kL3NjaGVkdWxlci9ncHVfc2NoZWR1bGVyLmggfCAg NyArKysrKysKIDEyIGZpbGVzIGNoYW5nZWQsIDY4IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKaW5kZXggOTBhNjliZi4uOTNiY2Vh MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKQEAgLTExMSw2ICsxMTEsNyBAQCBl eHRlcm4gaW50IGFtZGdwdV9wcmltX2J1Zl9wZXJfc2U7CiBleHRlcm4gaW50IGFtZGdwdV9wb3Nf YnVmX3Blcl9zZTsKIGV4dGVybiBpbnQgYW1kZ3B1X2NudGxfc2JfYnVmX3Blcl9zZTsKIGV4dGVy biBpbnQgYW1kZ3B1X3BhcmFtX2J1Zl9wZXJfc2U7CitleHRlcm4gaW50IGFtZGdwdV9qb2JfaGFu Z19saW1pdDsKIAogI2RlZmluZSBBTURHUFVfREVGQVVMVF9HVFRfU0laRV9NQgkJMzA3MlVMTCAv KiAzR0IgYnkgZGVmYXVsdCAqLwogI2RlZmluZSBBTURHUFVfV0FJVF9JRExFX1RJTUVPVVRfSU5f TVMJICAgICAgICAzMDAwCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfY3R4LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3R4LmMKaW5k ZXggYjRiYmJiMy4uMjNhZmM1OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2N0eC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9j dHguYwpAQCAtNTIsNiArNTIsMTAgQEAgc3RhdGljIGludCBhbWRncHVfY3R4X2luaXQoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBhbWRncHVfY3R4ICpjdHgpCiAJCXN0cnVjdCBh bWRfc2NoZWRfcnEgKnJxOwogCiAJCXJxID0gJnJpbmctPnNjaGVkLnNjaGVkX3JxW0FNRF9TQ0hF RF9QUklPUklUWV9OT1JNQUxdOworCisJCWlmIChyaW5nID09ICZhZGV2LT5nZngua2lxLnJpbmcp CisJCQljb250aW51ZTsKKwogCQlyID0gYW1kX3NjaGVkX2VudGl0eV9pbml0KCZyaW5nLT5zY2hl ZCwgJmN0eC0+cmluZ3NbaV0uZW50aXR5LAogCQkJCQkgIHJxLCBhbWRncHVfc2NoZWRfam9icyk7 CiAJCWlmIChyKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jCmlu ZGV4IDBlNWYzMTQuLmYzOTkwZmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9kZXZpY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfZGV2aWNlLmMKQEAgLTI1MzcsNyArMjUzNyw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X3JlY292 ZXJfdnJhbV9mcm9tX3NoYWRvdyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKICAqLwogaW50 IGFtZGdwdV9zcmlvdl9ncHVfcmVzZXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVj dCBhbWRncHVfam9iICpqb2IpCiB7Ci0JaW50IGksIHIgPSAwOworCWludCBpLCBqLCByID0gMDsK IAlpbnQgcmVzY2hlZDsKIAlzdHJ1Y3QgYW1kZ3B1X2JvICpibywgKnRtcDsKIAlzdHJ1Y3QgYW1k Z3B1X3JpbmcgKnJpbmc7CkBAIC0yNTUwLDE5ICsyNTUwLDMwIEBAIGludCBhbWRncHVfc3Jpb3Zf Z3B1X3Jlc2V0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X2pvYiAq am9iKQogCS8qIGJsb2NrIFRUTSAqLwogCXJlc2NoZWQgPSB0dG1fYm9fbG9ja19kZWxheWVkX3dv cmtxdWV1ZSgmYWRldi0+bW1hbi5iZGV2KTsKIAotCS8qIGJsb2NrIHNjaGVkdWxlciAqLwotCWZv ciAoaSA9IDA7IGkgPCBBTURHUFVfTUFYX1JJTkdTOyArK2kpIHsKLQkJcmluZyA9IGFkZXYtPnJp bmdzW2ldOworCS8qIHdlIHN0YXJ0IGZyb20gdGhlIHJpbmcgdHJpZ2dlciBHUFUgaGFuZyAqLwor CWogPSBqb2IgPyBqb2ItPnJpbmctPmlkeCA6IDA7CisKKwlpZiAoam9iKQorCQlpZiAoYW1kX3Nj aGVkX2ludmFsaWRhdGVfam9iKCZqb2ItPmJhc2UsIGFtZGdwdV9qb2JfaGFuZ19saW1pdCkpCisJ CQlhbWRfc2NoZWRfam9iX2tpY2tvdXQoJmpvYi0+YmFzZSk7CiAKKwkvKiBibG9jayBzY2hlZHVs ZXIgKi8KKwlmb3IgKGkgPSBqOyBpIDwgaiArIEFNREdQVV9NQVhfUklOR1M7ICsraSkgeworCQly aW5nID0gYWRldi0+cmluZ3NbaSAlIEFNREdQVV9NQVhfUklOR1NdOwogCQlpZiAoIXJpbmcgfHwg IXJpbmctPnNjaGVkLnRocmVhZCkKIAkJCWNvbnRpbnVlOwogCiAJCWt0aHJlYWRfcGFyayhyaW5n LT5zY2hlZC50aHJlYWQpOworCisJCWlmIChqb2IgJiYgaiAhPSBpKQorCQkJY29udGludWU7CisK KwkJLyogb25seSBkbyBqb2JfcmVzZXQgb24gdGhlIGhhbmcgcmluZyBpZiBAam9iIG5vdCBOVUxM ICovCiAJCWFtZF9zY2hlZF9od19qb2JfcmVzZXQoJnJpbmctPnNjaGVkKTsKLQl9CiAKLQkvKiBh ZnRlciBhbGwgaHcgam9icyBhcmUgcmVzZXQsIGh3IGZlbmNlIGlzIG1lYW5pbmdsZXNzLCBzbyBm b3JjZV9jb21wbGV0aW9uICovCi0JYW1kZ3B1X2ZlbmNlX2RyaXZlcl9mb3JjZV9jb21wbGV0aW9u KGFkZXYpOworCQkvKiBhZnRlciBhbGwgaHcgam9icyBhcmUgcmVzZXQsIGh3IGZlbmNlIGlzIG1l YW5pbmdsZXNzLCBzbyBmb3JjZV9jb21wbGV0aW9uICovCisJCWFtZGdwdV9mZW5jZV9kcml2ZXJf Zm9yY2VfY29tcGxldGlvbl9yaW5nKHJpbmcpOworCX0KIAogCS8qIHJlcXVlc3QgdG8gdGFrZSBm dWxsIGNvbnRyb2wgb2YgR1BVIGJlZm9yZSByZS1pbml0aWFsaXphdGlvbiAgKi8KIAlpZiAoam9i KQpAQCAtMjYxNSwxMSArMjYyNiwxNiBAQCBpbnQgYW1kZ3B1X3NyaW92X2dwdV9yZXNldChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdwdV9qb2IgKmpvYikKIAl9CiAJZmVu Y2VfcHV0KGZlbmNlKTsKIAotCWZvciAoaSA9IDA7IGkgPCBBTURHUFVfTUFYX1JJTkdTOyArK2kp IHsKLQkJc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nID0gYWRldi0+cmluZ3NbaV07CisJZm9yIChp ID0gajsgaSA8IGogKyBBTURHUFVfTUFYX1JJTkdTOyArK2kpIHsKKwkJcmluZyA9IGFkZXYtPnJp bmdzW2kgJSBBTURHUFVfTUFYX1JJTkdTXTsKIAkJaWYgKCFyaW5nIHx8ICFyaW5nLT5zY2hlZC50 aHJlYWQpCiAJCQljb250aW51ZTsKIAorCQlpZiAoam9iICYmIGogIT0gaSkgeworCQkJa3RocmVh ZF91bnBhcmsocmluZy0+c2NoZWQudGhyZWFkKTsKKwkJCWNvbnRpbnVlOworCQl9CisKIAkJYW1k X3NjaGVkX2pvYl9yZWNvdmVyeSgmcmluZy0+c2NoZWQpOwogCQlrdGhyZWFkX3VucGFyayhyaW5n LT5zY2hlZC50aHJlYWQpOwogCX0KQEAgLTI2MjksNiArMjY0NSw4IEBAIGludCBhbWRncHVfc3Jp b3ZfZ3B1X3Jlc2V0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X2pv YiAqam9iKQogCWlmIChyKSB7CiAJCS8qIGJhZCBuZXdzLCBob3cgdG8gdGVsbCBpdCB0byB1c2Vy c3BhY2UgPyAqLwogCQlkZXZfaW5mbyhhZGV2LT5kZXYsICJHUFUgcmVzZXQgZmFpbGVkXG4iKTsK Kwl9IGVsc2UgeworCQlkZXZfaW5mbyhhZGV2LT5kZXYsICJHUFUgcmVzZXQgc3VjY2Vzc2VkIVxu Iik7CiAJfQogCiAJYWRldi0+Z2Z4LmluX3Jlc2V0ID0gZmFsc2U7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfZHJ2LmMKaW5kZXggNDE2OTA4YS4uZmQzNjkxYTggMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMKQEAgLTExMiw2ICsxMTIsNyBAQCBpbnQgYW1k Z3B1X3ByaW1fYnVmX3Blcl9zZSA9IDA7CiBpbnQgYW1kZ3B1X3Bvc19idWZfcGVyX3NlID0gMDsK IGludCBhbWRncHVfY250bF9zYl9idWZfcGVyX3NlID0gMDsKIGludCBhbWRncHVfcGFyYW1fYnVm X3Blcl9zZSA9IDA7CitpbnQgYW1kZ3B1X2pvYl9oYW5nX2xpbWl0ID0gMDsKIAogTU9EVUxFX1BB Uk1fREVTQyh2cmFtbGltaXQsICJSZXN0cmljdCBWUkFNIGZvciB0ZXN0aW5nLCBpbiBtZWdhYnl0 ZXMiKTsKIG1vZHVsZV9wYXJhbV9uYW1lZCh2cmFtbGltaXQsIGFtZGdwdV92cmFtX2xpbWl0LCBp bnQsIDA2MDApOwpAQCAtMjM3LDYgKzIzOCw5IEBAIG1vZHVsZV9wYXJhbV9uYW1lZChjbnRsX3Ni X2J1Zl9wZXJfc2UsIGFtZGdwdV9jbnRsX3NiX2J1Zl9wZXJfc2UsIGludCwgMDQ0NCk7CiBNT0RV TEVfUEFSTV9ERVNDKHBhcmFtX2J1Zl9wZXJfc2UsICJ0aGUgc2l6ZSBvZiBPZmYtQ2hpcCBQcmFt YXRlciBDYWNoZSBwZXIgU2hhZGVyIEVuZ2luZSAoZGVmYXVsdCBkZXBlbmRpbmcgb24gZ2Z4KSIp OwogbW9kdWxlX3BhcmFtX25hbWVkKHBhcmFtX2J1Zl9wZXJfc2UsIGFtZGdwdV9wYXJhbV9idWZf cGVyX3NlLCBpbnQsIDA0NDQpOwogCitNT0RVTEVfUEFSTV9ERVNDKGpvYl9oYW5nX2xpbWl0LCAi aG93IG11Y2ggdGltZSBhbGxvdyBhIGpvYiBoYW5nIGFuZCBub3QgZHJvcCBpdCAoZGVmYXVsdCAw KSIpOworbW9kdWxlX3BhcmFtX25hbWVkKGpvYl9oYW5nX2xpbWl0LCBhbWRncHVfam9iX2hhbmdf bGltaXQsIGludCAsMDQ0NCk7CisKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lk IHBjaWlkbGlzdFtdID0gewogI2lmZGVmICBDT05GSUdfRFJNX0FNREdQVV9TSQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ZlbmNlLmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZmVuY2UuYwppbmRleCBkNzUyM2QxLi5iZTlhZWQxIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZmVuY2UuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZmVuY2UuYwpAQCAtNTQxLDYgKzU0 MSwxMiBAQCB2b2lkIGFtZGdwdV9mZW5jZV9kcml2ZXJfZm9yY2VfY29tcGxldGlvbihzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldikKIAl9CiB9CiAKK3ZvaWQgYW1kZ3B1X2ZlbmNlX2RyaXZlcl9m b3JjZV9jb21wbGV0aW9uX3Jpbmcoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nKQoreworCWlmIChy aW5nKQorCQlhbWRncHVfZmVuY2Vfd3JpdGUocmluZywgcmluZy0+ZmVuY2VfZHJ2LnN5bmNfc2Vx KTsKK30KKwogLyoKICAqIENvbW1vbiBmZW5jZSBpbXBsZW1lbnRhdGlvbgogICovCkBAIC01ODks NiArNTk1LDcgQEAgc3RhdGljIHZvaWQgYW1kZ3B1X2ZlbmNlX2ZyZWUoc3RydWN0IHJjdV9oZWFk ICpyY3UpCiAJc3RydWN0IGZlbmNlICpmID0gY29udGFpbmVyX29mKHJjdSwgc3RydWN0IGZlbmNl LCByY3UpOwogCXN0cnVjdCBhbWRncHVfZmVuY2UgKmZlbmNlID0gdG9fYW1kZ3B1X2ZlbmNlKGYp OwogCWttZW1fY2FjaGVfZnJlZShhbWRncHVfZmVuY2Vfc2xhYiwgZmVuY2UpOworCS8vcHJpbnRr KCJmZW5jZSBmcmVlOiVwXG4iLCBmKTsKIH0KIAogLyoqCkBAIC02MDEsNiArNjA4LDcgQEAgc3Rh dGljIHZvaWQgYW1kZ3B1X2ZlbmNlX2ZyZWUoc3RydWN0IHJjdV9oZWFkICpyY3UpCiAgKi8KIHN0 YXRpYyB2b2lkIGFtZGdwdV9mZW5jZV9yZWxlYXNlKHN0cnVjdCBmZW5jZSAqZikKIHsKKwkvL3By aW50aygiY2FsbF9yY3Ugb24gZmVuY2U6JXBcbiIsZik7CiAJY2FsbF9yY3UoJmYtPnJjdSwgYW1k Z3B1X2ZlbmNlX2ZyZWUpOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfcmluZy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Jp bmcuYwppbmRleCAxMzAzNTdiLi5hY2IzOGE0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfcmluZy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9yaW5nLmMKQEAgLTE4MCw2ICsxODAsOCBAQCBpbnQgYW1kZ3B1X3JpbmdfaW5pdChz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLAogCQkJ YW1kZ3B1X3NjaGVkX2h3X3N1Ym1pc3Npb24pOwogCQlpZiAocikKIAkJCXJldHVybiByOworCisJ CXByaW50aygicmluZzolcCwgaW5pdCwgaWR4PSVkXG4iLCByaW5nLCByaW5nLT5pZHgpOwogCX0K IAogCWlmIChyaW5nLT5mdW5jcy0+c3VwcG9ydF82NGJpdF9wdHJzKSB7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcmluZy5oIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3JpbmcuaAppbmRleCA5ODFlZjA4Li4wM2U4OGM2IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcmluZy5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9yaW5nLmgKQEAgLTc2LDYgKzc2LDcgQEAgc3Ry dWN0IGFtZGdwdV9mZW5jZV9kcml2ZXIgewogaW50IGFtZGdwdV9mZW5jZV9kcml2ZXJfaW5pdChz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7CiB2b2lkIGFtZGdwdV9mZW5jZV9kcml2ZXJfZmlu aShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7CiB2b2lkIGFtZGdwdV9mZW5jZV9kcml2ZXJf Zm9yY2VfY29tcGxldGlvbihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7Cit2b2lkIGFtZGdw dV9mZW5jZV9kcml2ZXJfZm9yY2VfY29tcGxldGlvbl9yaW5nKHN0cnVjdCBhbWRncHVfcmluZyAq cmluZyk7CiAKIGludCBhbWRncHVfZmVuY2VfZHJpdmVyX2luaXRfcmluZyhzdHJ1Y3QgYW1kZ3B1 X3JpbmcgKnJpbmcsCiAJCQkJICB1bnNpZ25lZCBudW1faHdfc3VibWlzc2lvbik7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMKaW5kZXggYzNmYjJmOS4uZjZlNzljNSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYwpAQCAtOTksNiArOTksNyBAQCBz dGF0aWMgaW50IGFtZGdwdV90dG1fZ2xvYmFsX2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYpCiAKIAlyaW5nID0gYWRldi0+bW1hbi5idWZmZXJfZnVuY3NfcmluZzsKIAlycSA9ICZyaW5n LT5zY2hlZC5zY2hlZF9ycVtBTURfU0NIRURfUFJJT1JJVFlfS0VSTkVMXTsKKwlwcmludGsoInJp bmcgJXAscmluZy0+aWR4PSVkXG4iLHJpbmcsIHJpbmctPmlkeCk7CiAJciA9IGFtZF9zY2hlZF9l bnRpdHlfaW5pdCgmcmluZy0+c2NoZWQsICZhZGV2LT5tbWFuLmVudGl0eSwKIAkJCQkgIHJxLCBh bWRncHVfc2NoZWRfam9icyk7CiAJaWYgKHIpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L3NkbWFfdjRfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2Rt YV92NF8wLmMKaW5kZXggZjg0ZDY0Mi4uNmE4MDIwYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvc2RtYV92NF8wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvc2RtYV92NF8wLmMKQEAgLTE1NzYsNiArMTU3Niw3IEBAIHN0YXRpYyB2b2lkIHNkbWFfdjRf MF9zZXRfYnVmZmVyX2Z1bmNzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCWlmIChhZGV2 LT5tbWFuLmJ1ZmZlcl9mdW5jcyA9PSBOVUxMKSB7CiAJCWFkZXYtPm1tYW4uYnVmZmVyX2Z1bmNz ID0gJnNkbWFfdjRfMF9idWZmZXJfZnVuY3M7CiAJCWFkZXYtPm1tYW4uYnVmZmVyX2Z1bmNzX3Jp bmcgPSAmYWRldi0+c2RtYS5pbnN0YW5jZVswXS5yaW5nOworCQlwcmludGsoIiVzXG4iLF9fZnVu Y19fKTsKIAl9CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3Nv YzE1LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zb2MxNS5jCmluZGV4IDRlNTE0YjIu LmVkM2M5MjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NvYzE1LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc29jMTUuYwpAQCAtNDgyLDggKzQ4Miw4 IEBAIGludCBzb2MxNV9zZXRfaXBfYmxvY2tzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQog I2VuZGlmCiAJCWFtZGdwdV9pcF9ibG9ja19hZGQoYWRldiwgJmdmeF92OV8wX2lwX2Jsb2NrKTsK IAkJYW1kZ3B1X2lwX2Jsb2NrX2FkZChhZGV2LCAmc2RtYV92NF8wX2lwX2Jsb2NrKTsKLQkJYW1k Z3B1X2lwX2Jsb2NrX2FkZChhZGV2LCAmdXZkX3Y3XzBfaXBfYmxvY2spOwotCQlhbWRncHVfaXBf YmxvY2tfYWRkKGFkZXYsICZ2Y2VfdjRfMF9pcF9ibG9jayk7CisJCS8vYW1kZ3B1X2lwX2Jsb2Nr X2FkZChhZGV2LCAmdXZkX3Y3XzBfaXBfYmxvY2spOworCQkvL2FtZGdwdV9pcF9ibG9ja19hZGQo YWRldiwgJnZjZV92NF8wX2lwX2Jsb2NrKTsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJcmV0dXJu IC1FSU5WQUw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3NjaGVkdWxlci9ncHVf c2NoZWR1bGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3NjaGVkdWxlci9ncHVfc2NoZWR1bGVy LmMKaW5kZXggNmY0ZTMxZi4uNGU5N2U2ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9zY2hlZHVsZXIvZ3B1X3NjaGVkdWxlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvc2No ZWR1bGVyL2dwdV9zY2hlZHVsZXIuYwpAQCAtMzkwLDkgKzM5MCwxOCBAQCB2b2lkIGFtZF9zY2hl ZF9od19qb2JfcmVzZXQoc3RydWN0IGFtZF9ncHVfc2NoZWR1bGVyICpzY2hlZCkKIAkJCQkJICAm c19qb2ItPnNfZmVuY2UtPmNiKSkgewogCQkJZmVuY2VfcHV0KHNfam9iLT5zX2ZlbmNlLT5wYXJl bnQpOwogCQkJc19qb2ItPnNfZmVuY2UtPnBhcmVudCA9IE5VTEw7CisJCQlhdG9taWNfZGVjKCZz Y2hlZC0+aHdfcnFfY291bnQpOwogCQl9CiAJfQotCWF0b21pY19zZXQoJnNjaGVkLT5od19ycV9j b3VudCwgMCk7CisJc3Bpbl91bmxvY2soJnNjaGVkLT5qb2JfbGlzdF9sb2NrKTsKK30KKwordm9p ZCBhbWRfc2NoZWRfam9iX2tpY2tvdXQoc3RydWN0IGFtZF9zY2hlZF9qb2IgKnNfam9iKQorewor CXN0cnVjdCBhbWRfZ3B1X3NjaGVkdWxlciAqc2NoZWQgPSBzX2pvYi0+c2NoZWQ7CisKKwlzcGlu X2xvY2soJnNjaGVkLT5qb2JfbGlzdF9sb2NrKTsKKwlsaXN0X2RlbF9pbml0KCZzX2pvYi0+bm9k ZSk7CiAJc3Bpbl91bmxvY2soJnNjaGVkLT5qb2JfbGlzdF9sb2NrKTsKIH0KIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9zY2hlZHVsZXIvZ3B1X3NjaGVkdWxlci5oIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9zY2hlZHVsZXIvZ3B1X3NjaGVkdWxlci5oCmluZGV4IDhjYjQxZDMuLjU5 Njk0ZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvc2NoZWR1bGVyL2dwdV9zY2hl ZHVsZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3NjaGVkdWxlci9ncHVfc2NoZWR1bGVy LmgKQEAgLTgxLDYgKzgxLDcgQEAgc3RydWN0IGFtZF9zY2hlZF9qb2IgewogCXN0cnVjdCBsaXN0 X2hlYWQJCW5vZGU7CiAJc3RydWN0IGRlbGF5ZWRfd29yawkJd29ya190ZHI7CiAJdWludDY0X3QJ CQlpZDsKKwlhdG9taWNfdCBrYXJtYTsKIH07CiAKIGV4dGVybiBjb25zdCBzdHJ1Y3QgZmVuY2Vf b3BzIGFtZF9zY2hlZF9mZW5jZV9vcHNfc2NoZWR1bGVkOwpAQCAtOTYsNiArOTcsMTEgQEAgc3Rh dGljIGlubGluZSBzdHJ1Y3QgYW1kX3NjaGVkX2ZlbmNlICp0b19hbWRfc2NoZWRfZmVuY2Uoc3Ry dWN0IGZlbmNlICpmKQogCXJldHVybiBOVUxMOwogfQogCitzdGF0aWMgaW5saW5lIGJvb2wgYW1k X3NjaGVkX2ludmFsaWRhdGVfam9iKHN0cnVjdCBhbWRfc2NoZWRfam9iICpzX2pvYiwgaW50IHRo cmVzaG9sZCkKK3sKKwlyZXR1cm4gKHNfam9iICYmIGF0b21pY19pbmNfcmV0dXJuKCZzX2pvYi0+ a2FybWEpID4gdGhyZXNob2xkKTsKK30KKwogLyoqCiAgKiBEZWZpbmUgdGhlIGJhY2tlbmQgb3Bl cmF0aW9ucyBjYWxsZWQgYnkgdGhlIHNjaGVkdWxlciwKICAqIHRoZXNlIGZ1bmN0aW9ucyBzaG91 bGQgYmUgaW1wbGVtZW50ZWQgaW4gZHJpdmVyIHNpZGUKQEAgLTE1OCw0ICsxNjQsNSBAQCBpbnQg YW1kX3NjaGVkX2pvYl9pbml0KHN0cnVjdCBhbWRfc2NoZWRfam9iICpqb2IsCiAJCSAgICAgICB2 b2lkICpvd25lcik7CiB2b2lkIGFtZF9zY2hlZF9od19qb2JfcmVzZXQoc3RydWN0IGFtZF9ncHVf c2NoZWR1bGVyICpzY2hlZCk7CiB2b2lkIGFtZF9zY2hlZF9qb2JfcmVjb3Zlcnkoc3RydWN0IGFt ZF9ncHVfc2NoZWR1bGVyICpzY2hlZCk7Cit2b2lkIGFtZF9zY2hlZF9qb2Jfa2lja291dChzdHJ1 Y3QgYW1kX3NjaGVkX2pvYiAqc19qb2IpOwogI2VuZGlmCi0tIAoyLjcuNAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QK YW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==