From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH libdrm 5/5] [libdrm] add syncobj timeline tests Date: Wed, 19 Sep 2018 17:30:27 +0800 Message-ID: <20180919093027.22298-5-david1.zhou@amd.com> References: <20180919093027.22298-1-david1.zhou@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180919093027.22298-1-david1.zhou-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: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Chunming Zhou , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org U2lnbmVkLW9mZi1ieTogQ2h1bm1pbmcgWmhvdSA8ZGF2aWQxLnpob3VAYW1kLmNvbT4KLS0tCiB0 ZXN0cy9hbWRncHUvTWFrZWZpbGUuYW0gICAgIHwgICAzICstCiB0ZXN0cy9hbWRncHUvYW1kZ3B1 X3Rlc3QuYyAgIHwgIDEyICsrCiB0ZXN0cy9hbWRncHUvYW1kZ3B1X3Rlc3QuaCAgIHwgIDIxICsr KwogdGVzdHMvYW1kZ3B1L21lc29uLmJ1aWxkICAgICB8ICAgMiArLQogdGVzdHMvYW1kZ3B1L3N5 bmNvYmpfdGVzdHMuYyB8IDI1OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog NSBmaWxlcyBjaGFuZ2VkLCAyOTUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0 ZSBtb2RlIDEwMDY0NCB0ZXN0cy9hbWRncHUvc3luY29ial90ZXN0cy5jCgpkaWZmIC0tZ2l0IGEv dGVzdHMvYW1kZ3B1L01ha2VmaWxlLmFtIGIvdGVzdHMvYW1kZ3B1L01ha2VmaWxlLmFtCmluZGV4 IGU3OWMxYmQzLi42MWYyYjQyNiAxMDA2NDQKLS0tIGEvdGVzdHMvYW1kZ3B1L01ha2VmaWxlLmFt CisrKyBiL3Rlc3RzL2FtZGdwdS9NYWtlZmlsZS5hbQpAQCAtMzIsNCArMzIsNSBAQCBhbWRncHVf dGVzdF9TT1VSQ0VTID0gXAogCXZjbl90ZXN0cy5jIFwKIAl1dmVfaWIuaCBcCiAJZGVhZGxvY2tf dGVzdHMuYyBcCi0Jdm1fdGVzdHMuYworCXZtX3Rlc3RzLmMgXAorCXN5bmNvYmpfdGVzdHMuYwpk aWZmIC0tZ2l0IGEvdGVzdHMvYW1kZ3B1L2FtZGdwdV90ZXN0LmMgYi90ZXN0cy9hbWRncHUvYW1k Z3B1X3Rlc3QuYwppbmRleCA5NmZjZDY4Ny4uY2RjYjkzYTUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2Ft ZGdwdS9hbWRncHVfdGVzdC5jCisrKyBiL3Rlc3RzL2FtZGdwdS9hbWRncHVfdGVzdC5jCkBAIC01 Niw2ICs1Niw3IEBACiAjZGVmaW5lIFVWRF9FTkNfVEVTVFNfU1RSICJVVkQgRU5DIFRlc3RzIgog I2RlZmluZSBERUFETE9DS19URVNUU19TVFIgIkRlYWRsb2NrIFRlc3RzIgogI2RlZmluZSBWTV9U RVNUU19TVFIgIlZNIFRlc3RzIgorI2RlZmluZSBTWU5DT0JKX1RJTUVMSU5FX1RFU1RTX1NUUiAi U1lOQ09CSiBUSU1FTElORSBUZXN0cyIKIAogLyoqCiAgKiAgT3BlbiBoYW5kbGVzIGZvciBhbWRn cHUgZGV2aWNlcwpAQCAtMTE2LDYgKzExNywxMiBAQCBzdGF0aWMgQ1VfU3VpdGVJbmZvIHN1aXRl c1tdID0gewogCQkucENsZWFudXBGdW5jID0gc3VpdGVfdm1fdGVzdHNfY2xlYW4sCiAJCS5wVGVz dHMgPSB2bV90ZXN0cywKIAl9LAorCXsKKwkJLnBOYW1lID0gU1lOQ09CSl9USU1FTElORV9URVNU U19TVFIsCisJCS5wSW5pdEZ1bmMgPSBzdWl0ZV9zeW5jb2JqX3RpbWVsaW5lX3Rlc3RzX2luaXQs CisJCS5wQ2xlYW51cEZ1bmMgPSBzdWl0ZV9zeW5jb2JqX3RpbWVsaW5lX3Rlc3RzX2NsZWFuLAor CQkucFRlc3RzID0gc3luY29ial90aW1lbGluZV90ZXN0cywKKwl9LAogCiAJQ1VfU1VJVEVfSU5G T19OVUxMLAogfTsKQEAgLTE2NSw2ICsxNzIsMTEgQEAgc3RhdGljIFN1aXRlc19BY3RpdmVfU3Rh dHVzIHN1aXRlc19hY3RpdmVfc3RhdFtdID0gewogCQkJLnBOYW1lID0gVk1fVEVTVFNfU1RSLAog CQkJLnBBY3RpdmUgPSBzdWl0ZV92bV90ZXN0c19lbmFibGUsCiAJCX0sCisJCXsKKwkJCS5wTmFt ZSA9IFNZTkNPQkpfVElNRUxJTkVfVEVTVFNfU1RSLAorCQkJLnBBY3RpdmUgPSBzdWl0ZV9zeW5j b2JqX3RpbWVsaW5lX3Rlc3RzX2VuYWJsZSwKKwkJfSwKKwogfTsKIAogCmRpZmYgLS1naXQgYS90 ZXN0cy9hbWRncHUvYW1kZ3B1X3Rlc3QuaCBiL3Rlc3RzL2FtZGdwdS9hbWRncHVfdGVzdC5oCmlu ZGV4IGYyZWNlM2MzLi45NjBkZjA0NiAxMDA2NDQKLS0tIGEvdGVzdHMvYW1kZ3B1L2FtZGdwdV90 ZXN0LmgKKysrIGIvdGVzdHMvYW1kZ3B1L2FtZGdwdV90ZXN0LmgKQEAgLTE5NCw2ICsxOTQsMjcg QEAgQ1VfQk9PTCBzdWl0ZV92bV90ZXN0c19lbmFibGUodm9pZCk7CiAgKi8KIGV4dGVybiBDVV9U ZXN0SW5mbyB2bV90ZXN0c1tdOwogCisvKioKKyAqIEluaXRpYWxpemUgc3luY29iaiB0aW1lbGlu ZSB0ZXN0IHN1aXRlCisgKi8KK2ludCBzdWl0ZV9zeW5jb2JqX3RpbWVsaW5lX3Rlc3RzX2luaXQo KTsKKworLyoqCisgKiBEZWluaXRpYWxpemUgc3luY29iaiB0aW1lbGluZSB0ZXN0IHN1aXRlCisg Ki8KK2ludCBzdWl0ZV9zeW5jb2JqX3RpbWVsaW5lX3Rlc3RzX2NsZWFuKCk7CisKKy8qKgorICog RGVjaWRlIGlmIHRoZSBzdWl0ZSBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgb3Igbm90LgorICovCitD VV9CT09MIHN1aXRlX3N5bmNvYmpfdGltZWxpbmVfdGVzdHNfZW5hYmxlKHZvaWQpOworCisvKioK KyAqIFRlc3RzIGluIHN5bmNvYmogdGltZWxpbmUgdGVzdCBzdWl0ZQorICovCitleHRlcm4gQ1Vf VGVzdEluZm8gc3luY29ial90aW1lbGluZV90ZXN0c1tdOworCisKIC8qKgogICogSGVscGVyIGZ1 bmN0aW9ucwogICovCmRpZmYgLS1naXQgYS90ZXN0cy9hbWRncHUvbWVzb24uYnVpbGQgYi90ZXN0 cy9hbWRncHUvbWVzb24uYnVpbGQKaW5kZXggNGMxMjM3YzYuLjNjZWVjNzE1IDEwMDY0NAotLS0g YS90ZXN0cy9hbWRncHUvbWVzb24uYnVpbGQKKysrIGIvdGVzdHMvYW1kZ3B1L21lc29uLmJ1aWxk CkBAIC0yNCw3ICsyNCw3IEBAIGlmIGRlcF9jdW5pdC5mb3VuZCgpCiAgICAgZmlsZXMoCiAgICAg ICAnYW1kZ3B1X3Rlc3QuYycsICdiYXNpY190ZXN0cy5jJywgJ2JvX3Rlc3RzLmMnLCAnY3NfdGVz dHMuYycsCiAgICAgICAndmNlX3Rlc3RzLmMnLCAndXZkX2VuY190ZXN0cy5jJywgJ3Zjbl90ZXN0 cy5jJywgJ2RlYWRsb2NrX3Rlc3RzLmMnLAotICAgICAgJ3ZtX3Rlc3RzLmMnLAorICAgICAgJ3Zt X3Rlc3RzLmMnLCAnc3luY29ial90ZXN0cy5jJywKICAgICApLAogICAgIGRlcGVuZGVuY2llcyA6 IFtkZXBfY3VuaXQsIGRlcF90aHJlYWRzXSwKICAgICBpbmNsdWRlX2RpcmVjdG9yaWVzIDogW2lu Y19yb290LCBpbmNfZHJtLCBpbmNsdWRlX2RpcmVjdG9yaWVzKCcuLi8uLi9hbWRncHUnKV0sCmRp ZmYgLS1naXQgYS90ZXN0cy9hbWRncHUvc3luY29ial90ZXN0cy5jIGIvdGVzdHMvYW1kZ3B1L3N5 bmNvYmpfdGVzdHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uYTcwYmQ5 MmQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9hbWRncHUvc3luY29ial90ZXN0cy5jCkBAIC0w LDAgKzEsMjU5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgQWR2YW5jZWQgTWljcm8gRGV2aWNl cywgSW5jLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hh cmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUg YW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICog dG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdp dGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVy Z2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3Bp ZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAq IFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5n IGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg cGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Ig c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FS RSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBS RVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJS QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICogVEhFIENP UFlSSUdIVCBIT0xERVIoUykgT1IgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBE QU1BR0VTIE9SCisgKiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP TlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwKKyAqIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO IENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUgorICogT1RIRVIgREVB TElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyovCisKKyNpbmNsdWRlICJDVW5pdC9CYXNpYy5o IgorCisjaW5jbHVkZSAiYW1kZ3B1X3Rlc3QuaCIKKyNpbmNsdWRlICJhbWRncHVfZHJtLmgiCisj aW5jbHVkZSAiYW1kZ3B1X2ludGVybmFsLmgiCisjaW5jbHVkZSA8cHRocmVhZC5oPgorCitzdGF0 aWMgIGFtZGdwdV9kZXZpY2VfaGFuZGxlIGRldmljZV9oYW5kbGU7CitzdGF0aWMgIHVpbnQzMl90 ICBtYWpvcl92ZXJzaW9uOworc3RhdGljICB1aW50MzJfdCAgbWlub3JfdmVyc2lvbjsKKworc3Rh dGljIHZvaWQgYW1kZ3B1X3N5bmNvYmpfdGltZWxpbmVfdGVzdCh2b2lkKTsKKworQ1VfQk9PTCBz dWl0ZV9zeW5jb2JqX3RpbWVsaW5lX3Rlc3RzX2VuYWJsZSh2b2lkKQoreworCXJldHVybiBDVV9U UlVFOworfQorCitpbnQgc3VpdGVfc3luY29ial90aW1lbGluZV90ZXN0c19pbml0KHZvaWQpCit7 CisJaW50IHI7CisKKwlyID0gYW1kZ3B1X2RldmljZV9pbml0aWFsaXplKGRybV9hbWRncHVbMF0s ICZtYWpvcl92ZXJzaW9uLAorCQkJCSAgICZtaW5vcl92ZXJzaW9uLCAmZGV2aWNlX2hhbmRsZSk7 CisKKwlpZiAocikgeworCQlpZiAoKHIgPT0gLUVBQ0NFUykgJiYgKGVycm5vID09IEVBQ0NFUykp CisJCQlwcmludGYoIlxuXG5FcnJvcjolcy4gIgorCQkJCSJIaW50OlRyeSB0byBydW4gdGhpcyB0 ZXN0IHByb2dyYW0gYXMgcm9vdC4iLAorCQkJCXN0cmVycm9yKGVycm5vKSk7CisJCXJldHVybiBD VUVfU0lOSVRfRkFJTEVEOworCX0KKworCXJldHVybiBDVUVfU1VDQ0VTUzsKK30KKworaW50IHN1 aXRlX3N5bmNvYmpfdGltZWxpbmVfdGVzdHNfY2xlYW4odm9pZCkKK3sKKwlpbnQgciA9IGFtZGdw dV9kZXZpY2VfZGVpbml0aWFsaXplKGRldmljZV9oYW5kbGUpOworCisJaWYgKHIgPT0gMCkKKwkJ cmV0dXJuIENVRV9TVUNDRVNTOworCWVsc2UKKwkJcmV0dXJuIENVRV9TQ0xFQU5fRkFJTEVEOwor fQorCisKK0NVX1Rlc3RJbmZvIHN5bmNvYmpfdGltZWxpbmVfdGVzdHNbXSA9IHsKKwl7ICJzeW5j b2JqIHRpbWVsaW5lIHRlc3QiLCAgYW1kZ3B1X3N5bmNvYmpfdGltZWxpbmVfdGVzdCB9LAorCUNV X1RFU1RfSU5GT19OVUxMLAorfTsKKworI2RlZmluZSBHRlhfQ09NUFVURV9OT1AgIDB4ZmZmZjEw MDAKKyNkZWZpbmUgU0RNQV9OT1AgIDB4MAorc3RhdGljIGludCBzeW5jb2JqX2NvbW1hbmRfc3Vi bWlzc2lvbl9oZWxwZXIodWludDMyX3Qgc3luY29ial9oYW5kbGUsIGJvb2wKKwkJCQkJICAgICB3 YWl0X29yX3NpZ25hbCwgdWludDY0X3QgcG9pbnQpCit7CisJYW1kZ3B1X2NvbnRleHRfaGFuZGxl IGNvbnRleHRfaGFuZGxlOworCWFtZGdwdV9ib19oYW5kbGUgaWJfcmVzdWx0X2hhbmRsZTsKKwl2 b2lkICppYl9yZXN1bHRfY3B1OworCXVpbnQ2NF90IGliX3Jlc3VsdF9tY19hZGRyZXNzOworCXN0 cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rIGNodW5rc1syXTsKKwlzdHJ1Y3QgZHJtX2FtZGdwdV9j c19jaHVua19kYXRhIGNodW5rX2RhdGE7CisJc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc3lu Y29iaiBzeW5jb2JqX2RhdGE7CisJc3RydWN0IGFtZGdwdV9jc19mZW5jZSBmZW5jZV9zdGF0dXM7 CisJYW1kZ3B1X2JvX2xpc3RfaGFuZGxlIGJvX2xpc3Q7CisJYW1kZ3B1X3ZhX2hhbmRsZSB2YV9o YW5kbGU7CisJdWludDMyX3QgZXhwaXJlZCwgZmxhZ3M7CisJaW50IGksIHI7CisJdWludDY0X3Qg c2VxX25vOworCXN0YXRpYyB1aW50MzJfdCAqcHRyOworCisJciA9IGFtZGdwdV9jc19jdHhfY3Jl YXRlKGRldmljZV9oYW5kbGUsICZjb250ZXh0X2hhbmRsZSk7CisJQ1VfQVNTRVJUX0VRVUFMKHIs IDApOworCisJciA9IGFtZGdwdV9ib19hbGxvY19hbmRfbWFwKGRldmljZV9oYW5kbGUsIDQwOTYs IDQwOTYsCisJCQkJICAgIEFNREdQVV9HRU1fRE9NQUlOX0dUVCwgMCwKKwkJCQkgICAgJmliX3Jl c3VsdF9oYW5kbGUsICZpYl9yZXN1bHRfY3B1LAorCQkJCSAgICAmaWJfcmVzdWx0X21jX2FkZHJl c3MsICZ2YV9oYW5kbGUpOworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKworCXIgPSBhbWRncHVf Z2V0X2JvX2xpc3QoZGV2aWNlX2hhbmRsZSwgaWJfcmVzdWx0X2hhbmRsZSwgTlVMTCwKKwkJCSAg ICAgICAmYm9fbGlzdCk7CisJQ1VfQVNTRVJUX0VRVUFMKHIsIDApOworCisJcHRyID0gaWJfcmVz dWx0X2NwdTsKKworCWZvciAoaSA9IDA7IGkgPCAxNjsgKytpKQorCQlwdHJbaV0gPSB3YWl0X29y X3NpZ25hbCA/IEdGWF9DT01QVVRFX05PUDogU0RNQV9OT1A7CisKKwljaHVua3NbMF0uY2h1bmtf aWQgPSBBTURHUFVfQ0hVTktfSURfSUI7CisJY2h1bmtzWzBdLmxlbmd0aF9kdyA9IHNpemVvZihz dHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19pYikgLyA0OworCWNodW5rc1swXS5jaHVua19kYXRh ID0gKHVpbnQ2NF90KSh1aW50cHRyX3QpJmNodW5rX2RhdGE7CisJY2h1bmtfZGF0YS5pYl9kYXRh Ll9wYWQgPSAwOworCWNodW5rX2RhdGEuaWJfZGF0YS52YV9zdGFydCA9IGliX3Jlc3VsdF9tY19h ZGRyZXNzOworCWNodW5rX2RhdGEuaWJfZGF0YS5pYl9ieXRlcyA9IDE2ICogNDsKKwljaHVua19k YXRhLmliX2RhdGEuaXBfdHlwZSA9IHdhaXRfb3Jfc2lnbmFsID8gQU1ER1BVX0hXX0lQX0dGWCA6 CisJCUFNREdQVV9IV19JUF9ETUE7CisJY2h1bmtfZGF0YS5pYl9kYXRhLmlwX2luc3RhbmNlID0g MDsKKwljaHVua19kYXRhLmliX2RhdGEucmluZyA9IDA7CisJY2h1bmtfZGF0YS5pYl9kYXRhLmZs YWdzID0gMDsKKworCWNodW5rc1sxXS5jaHVua19pZCA9IHdhaXRfb3Jfc2lnbmFsID8KKwkJQU1E R1BVX0NIVU5LX0lEX1NZTkNPQkpfVElNRUxJTkVfV0FJVCA6CisJCUFNREdQVV9DSFVOS19JRF9T WU5DT0JKX1RJTUVMSU5FX1NJR05BTDsKKwljaHVua3NbMV0ubGVuZ3RoX2R3ID0gc2l6ZW9mKHN0 cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX3N5bmNvYmopIC8gNDsKKwljaHVua3NbMV0uY2h1bmtf ZGF0YSA9ICh1aW50NjRfdCkodWludHB0cl90KSZzeW5jb2JqX2RhdGE7CisJc3luY29ial9kYXRh LmhhbmRsZSA9IHN5bmNvYmpfaGFuZGxlOworCXN5bmNvYmpfZGF0YS5wb2ludCA9IHBvaW50Owor CXN5bmNvYmpfZGF0YS5mbGFncyA9IERSTV9TWU5DT0JKX1dBSVRfRkxBR1NfV0FJVF9GT1JfU1VC TUlUOworCisJciA9IGFtZGdwdV9jc19zdWJtaXRfcmF3KGRldmljZV9oYW5kbGUsCisJCQkJIGNv bnRleHRfaGFuZGxlLAorCQkJCSBib19saXN0LAorCQkJCSAyLAorCQkJCSBjaHVua3MsCisJCQkJ ICZzZXFfbm8pOworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKworCisJbWVtc2V0KCZmZW5jZV9z dGF0dXMsIDAsIHNpemVvZihzdHJ1Y3QgYW1kZ3B1X2NzX2ZlbmNlKSk7CisJZmVuY2Vfc3RhdHVz LmNvbnRleHQgPSBjb250ZXh0X2hhbmRsZTsKKwlmZW5jZV9zdGF0dXMuaXBfdHlwZSA9IHdhaXRf b3Jfc2lnbmFsID8gQU1ER1BVX0hXX0lQX0dGWDoKKwkJQU1ER1BVX0hXX0lQX0RNQTsKKwlmZW5j ZV9zdGF0dXMuaXBfaW5zdGFuY2UgPSAwOworCWZlbmNlX3N0YXR1cy5yaW5nID0gMDsKKwlmZW5j ZV9zdGF0dXMuZmVuY2UgPSBzZXFfbm87CisKKwlyID0gYW1kZ3B1X2NzX3F1ZXJ5X2ZlbmNlX3N0 YXR1cygmZmVuY2Vfc3RhdHVzLAorCQkJQU1ER1BVX1RJTUVPVVRfSU5GSU5JVEUsMCwgJmV4cGly ZWQpOworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKworCXIgPSBhbWRncHVfYm9fbGlzdF9kZXN0 cm95KGJvX2xpc3QpOworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKworCXIgPSBhbWRncHVfYm9f dW5tYXBfYW5kX2ZyZWUoaWJfcmVzdWx0X2hhbmRsZSwgdmFfaGFuZGxlLAorCQkJCSAgICAgaWJf cmVzdWx0X21jX2FkZHJlc3MsIDQwOTYpOworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKworCXIg PSBhbWRncHVfY3NfY3R4X2ZyZWUoY29udGV4dF9oYW5kbGUpOworCUNVX0FTU0VSVF9FUVVBTChy LCAwKTsKKworCXJldHVybiByOworfQorCitzdHJ1Y3Qgc3luY29ial9wb2ludCB7CisJdWludDMy X3Qgc3luY29ial9oYW5kbGU7CisJdWludDY0X3QgcG9pbnQ7Cit9OworCitzdGF0aWMgdm9pZCAq c3luY29ial93YWl0KHZvaWQgKmRhdGEpCit7CisJc3RydWN0IHN5bmNvYmpfcG9pbnQgKnNwID0g KHN0cnVjdCBzeW5jb2JqX3BvaW50ICopZGF0YTsKKwlpbnQgcjsKKworCXIgPSBzeW5jb2JqX2Nv bW1hbmRfc3VibWlzc2lvbl9oZWxwZXIoc3AtPnN5bmNvYmpfaGFuZGxlLCB0cnVlLAorCQkJCQkg ICAgICBzcC0+cG9pbnQpOworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKworCXJldHVybiAodm9p ZCAqKXI7Cit9CisKK3N0YXRpYyB2b2lkICpzeW5jb2JqX3NpZ25hbCh2b2lkICpkYXRhKQorewor CXN0cnVjdCBzeW5jb2JqX3BvaW50ICpzcCA9IChzdHJ1Y3Qgc3luY29ial9wb2ludCAqKWRhdGE7 CisJaW50IHI7CisKKwlyID0gc3luY29ial9jb21tYW5kX3N1Ym1pc3Npb25faGVscGVyKHNwLT5z eW5jb2JqX2hhbmRsZSwgZmFsc2UsCisJCQkJCSAgICAgIHNwLT5wb2ludCk7CisJQ1VfQVNTRVJU X0VRVUFMKHIsIDApOworCisJcmV0dXJuICh2b2lkICopcjsKK30KKworc3RhdGljIHZvaWQgYW1k Z3B1X3N5bmNvYmpfdGltZWxpbmVfdGVzdCh2b2lkKQoreworCXN0YXRpYyBwdGhyZWFkX3Qgd2Fp dF90aHJlYWQ7CisJc3RhdGljIHB0aHJlYWRfdCBzaWduYWxfdGhyZWFkOworCXN0YXRpYyBwdGhy ZWFkX3QgY190aHJlYWQ7CisJc3RydWN0IHN5bmNvYmpfcG9pbnQgc3AxLCBzcDIsIHNwMzsKKwl1 aW50MzJfdCBzeW5jb2JqX2hhbmRsZTsKKwl1aW50NjRfdCBwYXlsb2FkOworCXVpbnQ2NF90IHdh aXRfcG9pbnQ7CisJaW50IHI7CisJdm9pZCAqdG1wOworCisJciA9ICBhbWRncHVfY3NfY3JlYXRl X3N5bmNvYmoyKGRldmljZV9oYW5kbGUsIERSTV9TWU5DT0JKX0NSRUFURV9UWVBFX1RJTUVMSU5F LAorCQkJCSAgICAgICAmc3luY29ial9oYW5kbGUpOworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsK KworCS8vIHdhaXQgb24gcG9pbnQgNQorCXNwMS5zeW5jb2JqX2hhbmRsZSA9IHN5bmNvYmpfaGFu ZGxlOworCXNwMS5wb2ludCA9IDU7CisJciA9IHB0aHJlYWRfY3JlYXRlKCZ3YWl0X3RocmVhZCwg TlVMTCwgc3luY29ial93YWl0LCAmc3AxKTsKKwlDVV9BU1NFUlRfRVFVQUwociwgMCk7CisKKwkv LyBzaWduYWwgb24gcG9pbnQgMTAKKwlzcDIuc3luY29ial9oYW5kbGUgPSBzeW5jb2JqX2hhbmRs ZTsKKwlzcDIucG9pbnQgPSAxMDsKKwlyID0gcHRocmVhZF9jcmVhdGUoJnNpZ25hbF90aHJlYWQs IE5VTEwsIHN5bmNvYmpfc2lnbmFsLCAmc3AyKTsKKwlDVV9BU1NFUlRfRVFVQUwociwgMCk7CisK KwlyID0gcHRocmVhZF9qb2luKHdhaXRfdGhyZWFkLCAmdG1wKTsKKwlDVV9BU1NFUlRfRVFVQUwo ciwgMCk7CisJQ1VfQVNTRVJUX0VRVUFMKHRtcCwgMCk7CisKKwlyID0gcHRocmVhZF9qb2luKHNp Z25hbF90aHJlYWQsICZ0bXApOworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKwlDVV9BU1NFUlRf RVFVQUwodG1wLCAwKTsKKworCS8vcXVlcnkgdGltZWxpbmUgcGF5bG9hZAorCXIgPSBhbWRncHVf Y3Nfc3luY29ial9xdWVyeShkZXZpY2VfaGFuZGxlLCAmc3luY29ial9oYW5kbGUsICZwYXlsb2Fk LCAxKTsKKwlDVV9BU1NFUlRfRVFVQUwociwgMCk7CisJQ1VfQVNTRVJUX0VRVUFMKHBheWxvYWQs IDEwKTsKKworCS8vc2lnbmFsIG9uIHBvaW50IDE2CisJc3AzLnN5bmNvYmpfaGFuZGxlID0gc3lu Y29ial9oYW5kbGU7CisJc3AzLnBvaW50ID0gMTY7CisJciA9IHB0aHJlYWRfY3JlYXRlKCZjX3Ro cmVhZCwgTlVMTCwgc3luY29ial9zaWduYWwsICZzcDMpOworCUNVX0FTU0VSVF9FUVVBTChyLCAw KTsKKwkvL0NQVSB3YWl0IG9uIHBvaW50IDE2CisJd2FpdF9wb2ludCA9IDE2OworCXIgPSBhbWRn cHVfY3Nfc3luY29ial90aW1lbGluZV93YWl0KGRldmljZV9oYW5kbGUsICZzeW5jb2JqX2hhbmRs ZSwKKwkJCQkJICAgICZ3YWl0X3BvaW50LCAxLAorCQkJCQkgICAgMHgxMDAwMDAwMDAwMCwgLy8x MHMKKwkJCQkJICAgIERSTV9TWU5DT0JKX1dBSVRfRkxBR1NfV0FJVF9BTEwgfCBEUk1fU1lOQ09C Sl9XQUlUX0ZMQUdTX1dBSVRfRk9SX1NVQk1JVCwKKwkJCQkJICAgIE5VTEwpOworCUNVX0FTU0VS VF9FUVVBTChyLCAwKTsKKwlyID0gcHRocmVhZF9qb2luKGNfdGhyZWFkLCAmdG1wKTsKKwlDVV9B U1NFUlRfRVFVQUwociwgMCk7CisJQ1VfQVNTRVJUX0VRVUFMKHRtcCwgMCk7CisKKwlyID0gYW1k Z3B1X2NzX2Rlc3Ryb3lfc3luY29iaihkZXZpY2VfaGFuZGxlLCBzeW5jb2JqX2hhbmRsZSk7CisJ Q1VfQVNTRVJUX0VRVUFMKHIsIDApOworCit9Ci0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=