From mboxrd@z Thu Jan 1 00:00:00 1970 From: Evan Quan Subject: [PATCH] drm/amdgpu: enable separate timeout setting for every ring type V4 Date: Tue, 30 Apr 2019 11:16:18 +0800 Message-ID: <20190430031619.7906-1-evan.quan@amd.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 Cc: Alexander.Deucher-5C7GfCeVMHo@public.gmane.org, Wentao.Lou-5C7GfCeVMHo@public.gmane.org, Evan Quan , michel.daenzer-5C7GfCeVMHo@public.gmane.org, Christian.Koenig-5C7GfCeVMHo@public.gmane.org RXZlcnkgcmluZyB0eXBlIGNhbiBoYXZlIGl0cyBvd24gdGltZW91dCBzZXR0aW5nLgoKIC0gVjI6 IHVwZGF0ZSBsb2NrdXBfdGltZW91dCBwYXJhbWV0ZXIgZm9ybWF0IGFuZCBjb3NtZXRpYyBmaXhl cwogLSBWMzogaW52YWxpZGF0ZSAwIGFuZCBuZWdhdGl2ZSB2YWx1ZXMKIC0gVjQ6IHVwZGF0ZSBs b2NrdXBfdGltZW91dCBwYXJhbWV0ZXIgZm9ybWF0CgpDaGFuZ2UtSWQ6IEk5OTJmMjI0ZjM2YmIz M2FjZDU2MDE2MmJmZmQyYzNlOTg3ODQwYTdlClNpZ25lZC1vZmYtYnk6IEV2YW4gUXVhbiA8ZXZh bi5xdWFuQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1Lmgg ICAgICAgIHwgIDcgKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2Uu YyB8IDE3ICsrKy0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMgICAg fCA3OSArKysrKysrKysrKysrKysrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfZmVuY2UuYyAgfCAzNSArKysrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9teGdwdV9haS5jICAgICAgfCAgMiArLQogNSBmaWxlcyBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9u cygrKSwgMTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAppbmRl eCBmNjk2NWI5NDAzZWIuLmM5YjQ0YjhjMTk2OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1LmgKQEAgLTExOCw3ICsxMTgsNiBAQCBleHRlcm4gaW50IGFtZGdwdV9kaXNwX3ByaW9yaXR5 OwogZXh0ZXJuIGludCBhbWRncHVfaHdfaTJjOwogZXh0ZXJuIGludCBhbWRncHVfcGNpZV9nZW4y OwogZXh0ZXJuIGludCBhbWRncHVfbXNpOwotZXh0ZXJuIGludCBhbWRncHVfbG9ja3VwX3RpbWVv dXQ7CiBleHRlcm4gaW50IGFtZGdwdV9kcG07CiBleHRlcm4gaW50IGFtZGdwdV9md19sb2FkX3R5 cGU7CiBleHRlcm4gaW50IGFtZGdwdV9hc3BtOwpAQCAtNDI4LDYgKzQyNyw3IEBAIHN0cnVjdCBh bWRncHVfZnByaXYgewogfTsKIAogaW50IGFtZGdwdV9maWxlX3RvX2Zwcml2KHN0cnVjdCBmaWxl ICpmaWxwLCBzdHJ1Y3QgYW1kZ3B1X2Zwcml2ICoqZnByaXYpOworaW50IGFtZGdwdV9kZXZpY2Vf Z2V0X2pvYl90aW1lb3V0X3NldHRpbmdzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsKIAog aW50IGFtZGdwdV9pYl9nZXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBhbWRn cHVfdm0gKnZtLAogCQkgIHVuc2lnbmVkIHNpemUsIHN0cnVjdCBhbWRncHVfaWIgKmliKTsKQEAg LTEwMDEsNiArMTAwMSwxMSBAQCBzdHJ1Y3QgYW1kZ3B1X2RldmljZSB7CiAJc3RydWN0IHdvcmtf c3RydWN0CQl4Z21pX3Jlc2V0X3dvcms7CiAKIAlib29sICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGluX2JhY29fcmVzZXQ7CisKKwlsb25nCQkJCWdmeF90aW1lb3V0OworCWxvbmcJCQkJc2Rt YV90aW1lb3V0OworCWxvbmcJCQkJdmlkZW9fdGltZW91dDsKKwlsb25nCQkJCWNvbXB1dGVfdGlt ZW91dDsKIH07CiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFtZGdwdV90 dG1fYWRldihzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldikKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9kZXZpY2UuYwppbmRleCA4MGJmNjA0MDE5YjEuLmIxMWFmMzhhMDIzOCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYwpAQCAtOTEyLDgg KzkxMiwxMCBAQCBzdGF0aWMgdm9pZCBhbWRncHVfZGV2aWNlX2NoZWNrX3NtdV9wcnZfYnVmZmVy X3NpemUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAgKiBWYWxpZGF0ZXMgY2VydGFpbiBt b2R1bGUgcGFyYW1ldGVycyBhbmQgdXBkYXRlcwogICogdGhlIGFzc29jaWF0ZWQgdmFsdWVzIHVz ZWQgYnkgdGhlIGRyaXZlciAoYWxsIGFzaWNzKS4KICAqLwotc3RhdGljIHZvaWQgYW1kZ3B1X2Rl dmljZV9jaGVja19hcmd1bWVudHMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCitzdGF0aWMg aW50IGFtZGdwdV9kZXZpY2VfY2hlY2tfYXJndW1lbnRzKHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2KQogeworCWludCByZXQgPSAwOworCiAJaWYgKGFtZGdwdV9zY2hlZF9qb2JzIDwgNCkgewog CQlkZXZfd2FybihhZGV2LT5kZXYsICJzY2hlZCBqb2JzICglZCkgbXVzdCBiZSBhdCBsZWFzdCA0 XG4iLAogCQkJIGFtZGdwdV9zY2hlZF9qb2JzKTsKQEAgLTk1OCwxMyArOTYwLDE2IEBAIHN0YXRp YyB2b2lkIGFtZGdwdV9kZXZpY2VfY2hlY2tfYXJndW1lbnRzKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2KQogCQlhbWRncHVfdnJhbV9wYWdlX3NwbGl0ID0gMTAyNDsKIAl9CiAKLQlpZiAoYW1k Z3B1X2xvY2t1cF90aW1lb3V0ID09IDApIHsKLQkJZGV2X3dhcm4oYWRldi0+ZGV2LCAibG9ja3Vw X3RpbWVvdXQgbXN1dCBiZSA+IDAsIGFkanVzdGluZyB0byAxMDAwMFxuIik7Ci0JCWFtZGdwdV9s b2NrdXBfdGltZW91dCA9IDEwMDAwOworCXJldCA9IGFtZGdwdV9kZXZpY2VfZ2V0X2pvYl90aW1l b3V0X3NldHRpbmdzKGFkZXYpOworCWlmIChyZXQpIHsKKwkJZGV2X2VycihhZGV2LT5kZXYsICJp bnZhbGlkIGxvY2t1cF90aW1lb3V0IHBhcmFtZXRlciBzeW50YXhcbiIpOworCQlyZXR1cm4gcmV0 OwogCX0KIAogCWFkZXYtPmZpcm13YXJlLmxvYWRfdHlwZSA9IGFtZGdwdV91Y29kZV9nZXRfbG9h ZF90eXBlKGFkZXYsIGFtZGdwdV9md19sb2FkX3R5cGUpOwogCWFtZGdwdV9kaXJlY3RfZ21hX3Np emUgPSBtaW4oYW1kZ3B1X2RpcmVjdF9nbWFfc2l6ZSwgOTYpOworCisJcmV0dXJuIHJldDsKIH0K IAogLyoqCkBAIC0yNDY4LDcgKzI0NzMsOSBAQCBpbnQgYW1kZ3B1X2RldmljZV9pbml0KHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2LAogCW11dGV4X2luaXQoJmFkZXYtPmxvY2tfcmVzZXQpOwog CW11dGV4X2luaXQoJmFkZXYtPnZpcnQuZHBtX211dGV4KTsKIAotCWFtZGdwdV9kZXZpY2VfY2hl Y2tfYXJndW1lbnRzKGFkZXYpOworCXIgPSBhbWRncHVfZGV2aWNlX2NoZWNrX2FyZ3VtZW50cyhh ZGV2KTsKKwlpZiAocikKKwkJcmV0dXJuIHI7CiAKIAlzcGluX2xvY2tfaW5pdCgmYWRldi0+bW1p b19pZHhfbG9jayk7CiAJc3Bpbl9sb2NrX2luaXQoJmFkZXYtPnNtY19pZHhfbG9jayk7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMKaW5kZXggNzFkZjI3Y2QwM2RlLi42MDlj N2FmOGEzZjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9k cnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMKQEAgLTgz LDYgKzgzLDggQEAKIAogI2RlZmluZSBBTURHUFVfVkVSU0lPTgkJIjE5LjEwLjkuNDE4IgogCisj ZGVmaW5lIEFNREdQVV9NQVhfVElNRU9VVF9QQVJBTV9MRU5USAkyNTYKKwogaW50IGFtZGdwdV92 cmFtX2xpbWl0ID0gMDsKIGludCBhbWRncHVfdmlzX3ZyYW1fbGltaXQgPSAwOwogaW50IGFtZGdw dV9nYXJ0X3NpemUgPSAtMTsgLyogYXV0byAqLwpAQCAtOTUsNyArOTcsNyBAQCBpbnQgYW1kZ3B1 X2Rpc3BfcHJpb3JpdHkgPSAwOwogaW50IGFtZGdwdV9od19pMmMgPSAwOwogaW50IGFtZGdwdV9w Y2llX2dlbjIgPSAtMTsKIGludCBhbWRncHVfbXNpID0gLTE7Ci1pbnQgYW1kZ3B1X2xvY2t1cF90 aW1lb3V0ID0gMTAwMDA7CitjaGFyIGFtZGdwdV9sb2NrdXBfdGltZW91dFtBTURHUFVfTUFYX1RJ TUVPVVRfUEFSQU1fTEVOVEhdOwogaW50IGFtZGdwdV9kcG0gPSAtMTsKIGludCBhbWRncHVfZndf bG9hZF90eXBlID0gLTE7CiBpbnQgYW1kZ3B1X2FzcG0gPSAtMTsKQEAgLTIzMiwxMiArMjM0LDIx IEBAIE1PRFVMRV9QQVJNX0RFU0MobXNpLCAiTVNJIHN1cHBvcnQgKDEgPSBlbmFibGUsIDAgPSBk aXNhYmxlLCAtMSA9IGF1dG8pIik7CiBtb2R1bGVfcGFyYW1fbmFtZWQobXNpLCBhbWRncHVfbXNp LCBpbnQsIDA0NDQpOwogCiAvKioKLSAqIERPQzogbG9ja3VwX3RpbWVvdXQgKGludCkKLSAqIFNl dCBHUFUgc2NoZWR1bGVyIHRpbWVvdXQgdmFsdWUgaW4gbXMuIFZhbHVlIDAgaXMgaW52YWxpZGF0 ZWQsIHdpbGwgYmUgYWRqdXN0ZWQgdG8gMTAwMDAuCi0gKiBOZWdhdGl2ZSB2YWx1ZXMgbWVhbiAn aW5maW5pdGUgdGltZW91dCcgKE1BWF9KSUZGWV9PRkZTRVQpLiBUaGUgZGVmYXVsdCBpcyAxMDAw MC4KKyAqIERPQzogbG9ja3VwX3RpbWVvdXQgKHN0cmluZykKKyAqIFNldCBHUFUgc2NoZWR1bGVy IHRpbWVvdXQgdmFsdWUgaW4gbXMuCisgKgorICogVGhlIGZvcm1hdCBjYW4gYmUgW05vbi1Db21w dXRlXSBvciBbR0ZYLENvbXB1dGUsU0RNQSxWaWRlb10uIFRoYXQgaXMgdGhlcmUgY2FuIGJlIG9u ZSBvcgorICogbXVsdGlwbGUgdmFsdWVzIHNwZWNpZmllZC4gMCBhbmQgbmVnYXRpdmUgdmFsdWVz IGFyZSBpbnZhbGlkYXRlZC4gVGhleSB3aWxsIGJlIGFkanVzdGVkCisgKiB0byBkZWZhdWx0IHRp bWVvdXQuCisgKiAgLSBXaXRoIG9uZSB2YWx1ZSBzcGVjaWZpZWQsIHRoZSBzZXR0aW5nIHdpbGwg YXBwbHkgdG8gYWxsIG5vbi1jb21wdXRlIGpvYnMuCisgKiAgLSBXaXRoIG11bHRpcGxlIHZhbHVl cyBzcGVjaWZpZWQsIHRoZSBmaXJzdCBvbmUgd2lsbCBiZSBmb3IgR0ZYLiBUaGUgc2Vjb25kIG9u ZSBpcyBmb3IgQ29tcHV0ZS4KKyAqICAgIEFuZCB0aGUgdGhpcmQgYW5kIGZvdXJ0aCBvbmVzIGFy ZSBmb3IgU0RNQSBhbmQgVmlkZW8uCisgKiBCeSBkZWZhdWx0KHdpdGggbm8gbG9ja3VwX3RpbWVv dXQgc2V0dGluZ3MpLCB0aGUgdGltZW91dCBmb3IgYWxsIG5vbi1jb21wdXRlKEdGWCwgU0RNQSBh bmQgVmlkZW8pCisgKiBqb2JzIGlzIDEwMDAwLiBBbmQgdGhlcmUgaXMgbm8gdGltZW91dCBlbmZv cmNlZCBvbiBjb21wdXRlIGpvYnMuCiAgKi8KLU1PRFVMRV9QQVJNX0RFU0MobG9ja3VwX3RpbWVv dXQsICJHUFUgbG9ja3VwIHRpbWVvdXQgaW4gbXMgPiAwIChkZWZhdWx0IDEwMDAwKSIpOwotbW9k dWxlX3BhcmFtX25hbWVkKGxvY2t1cF90aW1lb3V0LCBhbWRncHVfbG9ja3VwX3RpbWVvdXQsIGlu dCwgMDQ0NCk7CitNT0RVTEVfUEFSTV9ERVNDKGxvY2t1cF90aW1lb3V0LCAiR1BVIGxvY2t1cCB0 aW1lb3V0IGluIG1zIChkZWZhdWx0OiAxMDAwMCBmb3Igbm9uLWNvbXB1dGUgam9icyBhbmQgbm8g dGltZW91dCBmb3IgY29tcHV0ZSBqb2JzKSwgIgorCQkiZm9ybWF0IGlzIFtOb24tQ29tcHV0ZV0g b3IgW0dGWCxDb21wdXRlLFNETUEsVmlkZW9dIik7Cittb2R1bGVfcGFyYW1fc3RyaW5nKGxvY2t1 cF90aW1lb3V0LCBhbWRncHVfbG9ja3VwX3RpbWVvdXQsIHNpemVvZihhbWRncHVfbG9ja3VwX3Rp bWVvdXQpLCAwNDQ0KTsKIAogLyoqCiAgKiBET0M6IGRwbSAoaW50KQpAQCAtMTMwNyw2ICsxMzE4 LDYyIEBAIGludCBhbWRncHVfZmlsZV90b19mcHJpdihzdHJ1Y3QgZmlsZSAqZmlscCwgc3RydWN0 IGFtZGdwdV9mcHJpdiAqKmZwcml2KQogCXJldHVybiAwOwogfQogCitpbnQgYW1kZ3B1X2Rldmlj ZV9nZXRfam9iX3RpbWVvdXRfc2V0dGluZ3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCit7 CisJY2hhciAqaW5wdXQgPSBhbWRncHVfbG9ja3VwX3RpbWVvdXQ7CisJY2hhciAqdGltZW91dF9z ZXR0aW5nID0gTlVMTDsKKwlpbnQgaW5kZXggPSAwOworCWxvbmcgdGltZW91dDsKKwlpbnQgcmV0 ID0gMDsKKworCS8qCisJICogQnkgZGVmYXVsdCB0aW1lb3V0IGZvciBub24gY29tcHV0ZSBqb2Jz IGlzIDEwMDAwLgorCSAqIEFuZCB0aGVyZSBpcyBubyB0aW1lb3V0IGVuZm9yY2VkIG9uIGNvbXB1 dGUgam9icy4KKwkgKi8KKwlhZGV2LT5nZnhfdGltZW91dCA9IGFkZXYtPnNkbWFfdGltZW91dCA9 IGFkZXYtPnZpZGVvX3RpbWVvdXQgPSAxMDAwMDsKKwlhZGV2LT5jb21wdXRlX3RpbWVvdXQgPSBN QVhfU0NIRURVTEVfVElNRU9VVDsKKworCWlmIChzdHJubGVuKGlucHV0LCBBTURHUFVfTUFYX1RJ TUVPVVRfUEFSQU1fTEVOVEgpKSB7CisJCXdoaWxlICgodGltZW91dF9zZXR0aW5nID0gc3Ryc2Vw KCZpbnB1dCwgIiwiKSkgJiYKKwkJCQlzdHJubGVuKHRpbWVvdXRfc2V0dGluZywgQU1ER1BVX01B WF9USU1FT1VUX1BBUkFNX0xFTlRIKSkgeworCQkJcmV0ID0ga3N0cnRvbCh0aW1lb3V0X3NldHRp bmcsIDAsICZ0aW1lb3V0KTsKKwkJCWlmIChyZXQpCisJCQkJcmV0dXJuIHJldDsKKworCQkJLyog SW52YWxpZGF0ZSAwIGFuZCBuZWdhdGl2ZSB2YWx1ZXMgKi8KKwkJCWlmICh0aW1lb3V0IDw9IDAp IHsKKwkJCQlpbmRleCsrOworCQkJCWNvbnRpbnVlOworCQkJfQorCisJCQlzd2l0Y2ggKGluZGV4 KyspIHsKKwkJCWNhc2UgMDoKKwkJCQlhZGV2LT5nZnhfdGltZW91dCA9IHRpbWVvdXQ7CisJCQkJ YnJlYWs7CisJCQljYXNlIDE6CisJCQkJYWRldi0+Y29tcHV0ZV90aW1lb3V0ID0gdGltZW91dDsK KwkJCQlicmVhazsKKwkJCWNhc2UgMjoKKwkJCQlhZGV2LT5zZG1hX3RpbWVvdXQgPSB0aW1lb3V0 OworCQkJCWJyZWFrOworCQkJY2FzZSAzOgorCQkJCWFkZXYtPnZpZGVvX3RpbWVvdXQgPSB0aW1l b3V0OworCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCQkv KgorCQkgKiBUaGVyZSBpcyBvbmx5IG9uZSB2YWx1ZSBzcGVjaWZpZWQgYW5kCisJCSAqIGl0IHNo b3VsZCBhcHBseSB0byBhbGwgbm9uLWNvbXB1dGUgam9icy4KKwkJICovCisJCWlmIChpbmRleCA9 PSAxKQorCQkJYWRldi0+c2RtYV90aW1lb3V0ID0gYWRldi0+dmlkZW9fdGltZW91dCA9IGFkZXYt PmdmeF90aW1lb3V0OworCX0KKworCXJldHVybiByZXQ7Cit9CisKIHN0YXRpYyBib29sCiBhbWRn cHVfZ2V0X2NydGNfc2Nhbm91dF9wb3NpdGlvbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNp Z25lZCBpbnQgcGlwZSwKIAkJCQkgYm9vbCBpbl92YmxhbmtfaXJxLCBpbnQgKnZwb3MsIGludCAq aHBvcywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9mZW5j ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ZlbmNlLmMKaW5kZXggZDE5 YWQzNGJlZjc1Li4xNmI3ZTNhMjJlODkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9mZW5jZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9mZW5jZS5jCkBAIC00MzYsOSArNDM2LDEzIEBAIGludCBhbWRncHVfZmVuY2VfZHJpdmVy X3N0YXJ0X3Jpbmcoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLAogaW50IGFtZGdwdV9mZW5jZV9k cml2ZXJfaW5pdF9yaW5nKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZywKIAkJCQkgIHVuc2lnbmVk IG51bV9od19zdWJtaXNzaW9uKQogeworCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gcmlu Zy0+YWRldjsKIAlsb25nIHRpbWVvdXQ7CiAJaW50IHI7CiAKKwlpZiAoIWFkZXYpCisJCXJldHVy biAtRUlOVkFMOworCiAJLyogQ2hlY2sgdGhhdCBudW1faHdfc3VibWlzc2lvbiBpcyBhIHBvd2Vy IG9mIHR3byAqLwogCWlmICgobnVtX2h3X3N1Ym1pc3Npb24gJiAobnVtX2h3X3N1Ym1pc3Npb24g LSAxKSkgIT0gMCkKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC00NjUsMTIgKzQ2OSwzMSBAQCBpbnQg YW1kZ3B1X2ZlbmNlX2RyaXZlcl9pbml0X3Jpbmcoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLAog CiAJLyogTm8gbmVlZCB0byBzZXR1cCB0aGUgR1BVIHNjaGVkdWxlciBmb3IgS0lRIHJpbmcgKi8K IAlpZiAocmluZy0+ZnVuY3MtPnR5cGUgIT0gQU1ER1BVX1JJTkdfVFlQRV9LSVEpIHsKLQkJLyog Zm9yIG5vbi1zcmlvdiBjYXNlLCBubyB0aW1lb3V0IGVuZm9yY2Ugb24gY29tcHV0ZSByaW5nICov Ci0JCWlmICgocmluZy0+ZnVuY3MtPnR5cGUgPT0gQU1ER1BVX1JJTkdfVFlQRV9DT01QVVRFKQot CQkJCSYmICFhbWRncHVfc3Jpb3ZfdmYocmluZy0+YWRldikpCi0JCQl0aW1lb3V0ID0gTUFYX1ND SEVEVUxFX1RJTUVPVVQ7Ci0JCWVsc2UKLQkJCXRpbWVvdXQgPSBtc2Vjc190b19qaWZmaWVzKGFt ZGdwdV9sb2NrdXBfdGltZW91dCk7CisJCXN3aXRjaCAocmluZy0+ZnVuY3MtPnR5cGUpIHsKKwkJ Y2FzZSBBTURHUFVfUklOR19UWVBFX0dGWDoKKwkJCXRpbWVvdXQgPSBhZGV2LT5nZnhfdGltZW91 dDsKKwkJCWJyZWFrOworCQljYXNlIEFNREdQVV9SSU5HX1RZUEVfQ09NUFVURToKKwkJCS8qCisJ CQkgKiBGb3Igbm9uLXNyaW92IGNhc2UsIG5vIHRpbWVvdXQgZW5mb3JjZQorCQkJICogb24gY29t cHV0ZSByaW5nIGJ5IGRlZmF1bHQuIFVubGVzcyB1c2VyCisJCQkgKiBzcGVjaWZpZXMgYSB0aW1l b3V0IGZvciBjb21wdXRlIHJpbmcuCisJCQkgKgorCQkJICogRm9yIHNyaW92IGNhc2UsIGFsd2F5 cyB1c2UgdGhlIHRpbWVvdXQKKwkJCSAqIGFzIGdmeCByaW5nCisJCQkgKi8KKwkJCWlmICghYW1k Z3B1X3NyaW92X3ZmKHJpbmctPmFkZXYpKQorCQkJCXRpbWVvdXQgPSBhZGV2LT5jb21wdXRlX3Rp bWVvdXQ7CisJCQllbHNlCisJCQkJdGltZW91dCA9IGFkZXYtPmdmeF90aW1lb3V0OworCQkJYnJl YWs7CisJCWNhc2UgQU1ER1BVX1JJTkdfVFlQRV9TRE1BOgorCQkJdGltZW91dCA9IGFkZXYtPnNk bWFfdGltZW91dDsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJdGltZW91dCA9IGFkZXYtPnZp ZGVvX3RpbWVvdXQ7CisJCQlicmVhazsKKwkJfQogCiAJCXIgPSBkcm1fc2NoZWRfaW5pdCgmcmlu Zy0+c2NoZWQsICZhbWRncHVfc2NoZWRfb3BzLAogCQkJCSAgIG51bV9od19zdWJtaXNzaW9uLCBh bWRncHVfam9iX2hhbmdfbGltaXQsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9teGdwdV9haS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvbXhncHVfYWkuYwpp bmRleCA4ZGJhZDQ5NmIyOWYuLjA4OTk1MmExZTZiMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvbXhncHVfYWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9teGdwdV9haS5jCkBAIC0zNDMsNyArMzQzLDcgQEAgc3RhdGljIHZvaWQgeGdwdV9haV9tYWls Ym94X2Zscl93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAogCS8qIFRyaWdnZXIgcmVj b3ZlcnkgZm9yIHdvcmxkIHN3aXRjaCBmYWlsdXJlIGlmIG5vIFREUiAqLwogCWlmIChhbWRncHVf ZGV2aWNlX3Nob3VsZF9yZWNvdmVyX2dwdShhZGV2KQotCQkmJiBhbWRncHVfbG9ja3VwX3RpbWVv dXQgPT0gTUFYX1NDSEVEVUxFX1RJTUVPVVQpCisJCSYmIGFkZXYtPnNkbWFfdGltZW91dCA9PSBN QVhfU0NIRURVTEVfVElNRU9VVCkKIAkJYW1kZ3B1X2RldmljZV9ncHVfcmVjb3ZlcihhZGV2LCBO VUxMKTsKIH0KIAotLSAKMi4yMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ft ZC1nZng=