From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH libdrm 8/8] add syncobj timeline tests v3 Date: Tue, 9 Apr 2019 17:04:37 +0800 Message-ID: <20190409090437.3485-8-david1.zhou@amd.com> References: <20190409090437.3485-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: <20190409090437.3485-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: Christian.Koenig-5C7GfCeVMHo@public.gmane.org, lionel.g.landwerlin-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Chunming Zhou , =?UTF-8?q?Christian=20K=C3=B6nig?= djI6IGRyb3AgRFJNX1NZTkNPQkpfQ1JFQVRFX1RZUEVfVElNRUxJTkUsIGZpeCB0aW1lb3V0IGNh bGN1bGF0aW9uLAogICAgZml4IHNvbWUgd2FybmluZ3MKdjM6IGFkZCBleHBvcnQvaW1wb3J0IGFu ZCBjcHUgc2lnbmFsIHRlc3RpbmcgY2FzZXMKClNpZ25lZC1vZmYtYnk6IENodW5taW5nIFpob3Ug PGRhdmlkMS56aG91QGFtZC5jb20+ClNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNo cmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KLS0tCiB0ZXN0cy9hbWRncHUvTWFrZWZpbGUuYW0gICAg IHwgICAzICstCiB0ZXN0cy9hbWRncHUvYW1kZ3B1X3Rlc3QuYyAgIHwgIDExICsrCiB0ZXN0cy9h bWRncHUvYW1kZ3B1X3Rlc3QuaCAgIHwgIDIxICsrKwogdGVzdHMvYW1kZ3B1L21lc29uLmJ1aWxk ICAgICB8ICAgMiArLQogdGVzdHMvYW1kZ3B1L3N5bmNvYmpfdGVzdHMuYyB8IDI5MCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCAzMjUgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9hbWRncHUv c3luY29ial90ZXN0cy5jCgpkaWZmIC0tZ2l0IGEvdGVzdHMvYW1kZ3B1L01ha2VmaWxlLmFtIGIv dGVzdHMvYW1kZ3B1L01ha2VmaWxlLmFtCmluZGV4IDQ4Mjc4ODQ4Li45MjA4ODJkMCAxMDA2NDQK LS0tIGEvdGVzdHMvYW1kZ3B1L01ha2VmaWxlLmFtCisrKyBiL3Rlc3RzL2FtZGdwdS9NYWtlZmls ZS5hbQpAQCAtMzQsNCArMzQsNSBAQCBhbWRncHVfdGVzdF9TT1VSQ0VTID0gXAogCXV2ZV9pYi5o IFwKIAlkZWFkbG9ja190ZXN0cy5jIFwKIAl2bV90ZXN0cy5jCVwKLQlyYXNfdGVzdHMuYworCXJh c190ZXN0cy5jIFwKKwlzeW5jb2JqX3Rlc3RzLmMKZGlmZiAtLWdpdCBhL3Rlc3RzL2FtZGdwdS9h bWRncHVfdGVzdC5jIGIvdGVzdHMvYW1kZ3B1L2FtZGdwdV90ZXN0LmMKaW5kZXggOGZjN2EwYjku LjIxNGM3ZmNlIDEwMDY0NAotLS0gYS90ZXN0cy9hbWRncHUvYW1kZ3B1X3Rlc3QuYworKysgYi90 ZXN0cy9hbWRncHUvYW1kZ3B1X3Rlc3QuYwpAQCAtNTcsNiArNTcsNyBAQAogI2RlZmluZSBERUFE TE9DS19URVNUU19TVFIgIkRlYWRsb2NrIFRlc3RzIgogI2RlZmluZSBWTV9URVNUU19TVFIgIlZN IFRlc3RzIgogI2RlZmluZSBSQVNfVEVTVFNfU1RSICJSQVMgVGVzdHMiCisjZGVmaW5lIFNZTkNP QkpfVElNRUxJTkVfVEVTVFNfU1RSICJTWU5DT0JKIFRJTUVMSU5FIFRlc3RzIgogCiAvKioKICAq ICBPcGVuIGhhbmRsZXMgZm9yIGFtZGdwdSBkZXZpY2VzCkBAIC0xMjMsNiArMTI0LDEyIEBAIHN0 YXRpYyBDVV9TdWl0ZUluZm8gc3VpdGVzW10gPSB7CiAJCS5wQ2xlYW51cEZ1bmMgPSBzdWl0ZV9y YXNfdGVzdHNfY2xlYW4sCiAJCS5wVGVzdHMgPSByYXNfdGVzdHMsCiAJfSwKKwl7CisJCS5wTmFt ZSA9IFNZTkNPQkpfVElNRUxJTkVfVEVTVFNfU1RSLAorCQkucEluaXRGdW5jID0gc3VpdGVfc3lu Y29ial90aW1lbGluZV90ZXN0c19pbml0LAorCQkucENsZWFudXBGdW5jID0gc3VpdGVfc3luY29i al90aW1lbGluZV90ZXN0c19jbGVhbiwKKwkJLnBUZXN0cyA9IHN5bmNvYmpfdGltZWxpbmVfdGVz dHMsCisJfSwKIAogCUNVX1NVSVRFX0lORk9fTlVMTCwKIH07CkBAIC0xNzYsNiArMTgzLDEwIEBA IHN0YXRpYyBTdWl0ZXNfQWN0aXZlX1N0YXR1cyBzdWl0ZXNfYWN0aXZlX3N0YXRbXSA9IHsKIAkJ CS5wTmFtZSA9IFJBU19URVNUU19TVFIsCiAJCQkucEFjdGl2ZSA9IHN1aXRlX3Jhc190ZXN0c19l bmFibGUsCiAJCX0sCisJCXsKKwkJCS5wTmFtZSA9IFNZTkNPQkpfVElNRUxJTkVfVEVTVFNfU1RS LAorCQkJLnBBY3RpdmUgPSBzdWl0ZV9zeW5jb2JqX3RpbWVsaW5lX3Rlc3RzX2VuYWJsZSwKKwkJ fSwKIH07CiAKIApkaWZmIC0tZ2l0IGEvdGVzdHMvYW1kZ3B1L2FtZGdwdV90ZXN0LmggYi90ZXN0 cy9hbWRncHUvYW1kZ3B1X3Rlc3QuaAppbmRleCBiY2QwYmM3ZS4uMzY2NzVlYTMgMTAwNjQ0Ci0t LSBhL3Rlc3RzL2FtZGdwdS9hbWRncHVfdGVzdC5oCisrKyBiL3Rlc3RzL2FtZGdwdS9hbWRncHVf dGVzdC5oCkBAIC0yMTYsNiArMjE2LDI3IEBAIENVX0JPT0wgc3VpdGVfcmFzX3Rlc3RzX2VuYWJs ZSh2b2lkKTsKIGV4dGVybiBDVV9UZXN0SW5mbyByYXNfdGVzdHNbXTsKIAogCisvKioKKyAqIElu aXRpYWxpemUgc3luY29iaiB0aW1lbGluZSB0ZXN0IHN1aXRlCisgKi8KK2ludCBzdWl0ZV9zeW5j b2JqX3RpbWVsaW5lX3Rlc3RzX2luaXQoKTsKKworLyoqCisgKiBEZWluaXRpYWxpemUgc3luY29i aiB0aW1lbGluZSB0ZXN0IHN1aXRlCisgKi8KK2ludCBzdWl0ZV9zeW5jb2JqX3RpbWVsaW5lX3Rl c3RzX2NsZWFuKCk7CisKKy8qKgorICogRGVjaWRlIGlmIHRoZSBzdWl0ZSBpcyBlbmFibGVkIGJ5 IGRlZmF1bHQgb3Igbm90LgorICovCitDVV9CT09MIHN1aXRlX3N5bmNvYmpfdGltZWxpbmVfdGVz dHNfZW5hYmxlKHZvaWQpOworCisvKioKKyAqIFRlc3RzIGluIHN5bmNvYmogdGltZWxpbmUgdGVz dCBzdWl0ZQorICovCitleHRlcm4gQ1VfVGVzdEluZm8gc3luY29ial90aW1lbGluZV90ZXN0c1td OworCisKIC8qKgogICogSGVscGVyIGZ1bmN0aW9ucwogICovCmRpZmYgLS1naXQgYS90ZXN0cy9h bWRncHUvbWVzb24uYnVpbGQgYi90ZXN0cy9hbWRncHUvbWVzb24uYnVpbGQKaW5kZXggOTVlZDkz MDUuLjE3MjZjYjQzIDEwMDY0NAotLS0gYS90ZXN0cy9hbWRncHUvbWVzb24uYnVpbGQKKysrIGIv dGVzdHMvYW1kZ3B1L21lc29uLmJ1aWxkCkBAIC0yNCw3ICsyNCw3IEBAIGlmIGRlcF9jdW5pdC5m b3VuZCgpCiAgICAgZmlsZXMoCiAgICAgICAnYW1kZ3B1X3Rlc3QuYycsICdiYXNpY190ZXN0cy5j JywgJ2JvX3Rlc3RzLmMnLCAnY3NfdGVzdHMuYycsCiAgICAgICAndmNlX3Rlc3RzLmMnLCAndXZk X2VuY190ZXN0cy5jJywgJ3Zjbl90ZXN0cy5jJywgJ2RlYWRsb2NrX3Rlc3RzLmMnLAotICAgICAg J3ZtX3Rlc3RzLmMnLCAncmFzX3Rlc3RzLmMnLAorICAgICAgJ3ZtX3Rlc3RzLmMnLCAncmFzX3Rl c3RzLmMnLCAnc3luY29ial90ZXN0cy5jJywKICAgICApLAogICAgIGRlcGVuZGVuY2llcyA6IFtk ZXBfY3VuaXQsIGRlcF90aHJlYWRzXSwKICAgICBpbmNsdWRlX2RpcmVjdG9yaWVzIDogW2luY19y b290LCBpbmNfZHJtLCBpbmNsdWRlX2RpcmVjdG9yaWVzKCcuLi8uLi9hbWRncHUnKV0sCmRpZmYg LS1naXQgYS90ZXN0cy9hbWRncHUvc3luY29ial90ZXN0cy5jIGIvdGVzdHMvYW1kZ3B1L3N5bmNv YmpfdGVzdHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uYTBjNjI3ZDcK LS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9hbWRncHUvc3luY29ial90ZXN0cy5jCkBAIC0wLDAg KzEsMjkwIEBACisvKgorICogQ29weXJpZ2h0IDIwMTcgQWR2YW5jZWQgTWljcm8gRGV2aWNlcywg SW5jLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8g ZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhv dXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us IHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMg b2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNv ZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNv bmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy bWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vi c3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJ UyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNT IE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U SUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICogVEhFIENPUFlS SUdIVCBIT0xERVIoUykgT1IgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1B R0VTIE9SCisgKiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS QUNULCBUT1JUIE9SIE9USEVSV0lTRSwKKyAqIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENP Tk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUgorICogT1RIRVIgREVBTElO R1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyovCisKKyNpbmNsdWRlICJDVW5pdC9CYXNpYy5oIgor CisjaW5jbHVkZSAiYW1kZ3B1X3Rlc3QuaCIKKyNpbmNsdWRlICJhbWRncHVfZHJtLmgiCisjaW5j bHVkZSAiYW1kZ3B1X2ludGVybmFsLmgiCisjaW5jbHVkZSA8cHRocmVhZC5oPgorCitzdGF0aWMg IGFtZGdwdV9kZXZpY2VfaGFuZGxlIGRldmljZV9oYW5kbGU7CitzdGF0aWMgIHVpbnQzMl90ICBt YWpvcl92ZXJzaW9uOworc3RhdGljICB1aW50MzJfdCAgbWlub3JfdmVyc2lvbjsKKworc3RhdGlj IHZvaWQgYW1kZ3B1X3N5bmNvYmpfdGltZWxpbmVfdGVzdCh2b2lkKTsKKworQ1VfQk9PTCBzdWl0 ZV9zeW5jb2JqX3RpbWVsaW5lX3Rlc3RzX2VuYWJsZSh2b2lkKQoreworCXJldHVybiBDVV9UUlVF OworfQorCitpbnQgc3VpdGVfc3luY29ial90aW1lbGluZV90ZXN0c19pbml0KHZvaWQpCit7CisJ aW50IHI7CisKKwlyID0gYW1kZ3B1X2RldmljZV9pbml0aWFsaXplKGRybV9hbWRncHVbMF0sICZt YWpvcl92ZXJzaW9uLAorCQkJCSAgICZtaW5vcl92ZXJzaW9uLCAmZGV2aWNlX2hhbmRsZSk7CisK KwlpZiAocikgeworCQlpZiAoKHIgPT0gLUVBQ0NFUykgJiYgKGVycm5vID09IEVBQ0NFUykpCisJ CQlwcmludGYoIlxuXG5FcnJvcjolcy4gIgorCQkJCSJIaW50OlRyeSB0byBydW4gdGhpcyB0ZXN0 IHByb2dyYW0gYXMgcm9vdC4iLAorCQkJCXN0cmVycm9yKGVycm5vKSk7CisJCXJldHVybiBDVUVf U0lOSVRfRkFJTEVEOworCX0KKworCXJldHVybiBDVUVfU1VDQ0VTUzsKK30KKworaW50IHN1aXRl X3N5bmNvYmpfdGltZWxpbmVfdGVzdHNfY2xlYW4odm9pZCkKK3sKKwlpbnQgciA9IGFtZGdwdV9k ZXZpY2VfZGVpbml0aWFsaXplKGRldmljZV9oYW5kbGUpOworCisJaWYgKHIgPT0gMCkKKwkJcmV0 dXJuIENVRV9TVUNDRVNTOworCWVsc2UKKwkJcmV0dXJuIENVRV9TQ0xFQU5fRkFJTEVEOworfQor CisKK0NVX1Rlc3RJbmZvIHN5bmNvYmpfdGltZWxpbmVfdGVzdHNbXSA9IHsKKwl7ICJzeW5jb2Jq IHRpbWVsaW5lIHRlc3QiLCAgYW1kZ3B1X3N5bmNvYmpfdGltZWxpbmVfdGVzdCB9LAorCUNVX1RF U1RfSU5GT19OVUxMLAorfTsKKworI2RlZmluZSBHRlhfQ09NUFVURV9OT1AgIDB4ZmZmZjEwMDAK KyNkZWZpbmUgU0RNQV9OT1AgIDB4MAorc3RhdGljIGludCBzeW5jb2JqX2NvbW1hbmRfc3VibWlz c2lvbl9oZWxwZXIodWludDMyX3Qgc3luY29ial9oYW5kbGUsIGJvb2wKKwkJCQkJICAgICB3YWl0 X29yX3NpZ25hbCwgdWludDY0X3QgcG9pbnQpCit7CisJYW1kZ3B1X2NvbnRleHRfaGFuZGxlIGNv bnRleHRfaGFuZGxlOworCWFtZGdwdV9ib19oYW5kbGUgaWJfcmVzdWx0X2hhbmRsZTsKKwl2b2lk ICppYl9yZXN1bHRfY3B1OworCXVpbnQ2NF90IGliX3Jlc3VsdF9tY19hZGRyZXNzOworCXN0cnVj dCBkcm1fYW1kZ3B1X2NzX2NodW5rIGNodW5rc1syXTsKKwlzdHJ1Y3QgZHJtX2FtZGdwdV9jc19j aHVua19kYXRhIGNodW5rX2RhdGE7CisJc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc3luY29i aiBzeW5jb2JqX2RhdGE7CisJc3RydWN0IGFtZGdwdV9jc19mZW5jZSBmZW5jZV9zdGF0dXM7CisJ YW1kZ3B1X2JvX2xpc3RfaGFuZGxlIGJvX2xpc3Q7CisJYW1kZ3B1X3ZhX2hhbmRsZSB2YV9oYW5k bGU7CisJdWludDMyX3QgZXhwaXJlZCwgZmxhZ3M7CisJaW50IGksIHI7CisJdWludDY0X3Qgc2Vx X25vOworCXN0YXRpYyB1aW50MzJfdCAqcHRyOworCisJciA9IGFtZGdwdV9jc19jdHhfY3JlYXRl KGRldmljZV9oYW5kbGUsICZjb250ZXh0X2hhbmRsZSk7CisJQ1VfQVNTRVJUX0VRVUFMKHIsIDAp OworCisJciA9IGFtZGdwdV9ib19hbGxvY19hbmRfbWFwKGRldmljZV9oYW5kbGUsIDQwOTYsIDQw OTYsCisJCQkJICAgIEFNREdQVV9HRU1fRE9NQUlOX0dUVCwgMCwKKwkJCQkgICAgJmliX3Jlc3Vs dF9oYW5kbGUsICZpYl9yZXN1bHRfY3B1LAorCQkJCSAgICAmaWJfcmVzdWx0X21jX2FkZHJlc3Ms ICZ2YV9oYW5kbGUpOworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKworCXIgPSBhbWRncHVfZ2V0 X2JvX2xpc3QoZGV2aWNlX2hhbmRsZSwgaWJfcmVzdWx0X2hhbmRsZSwgTlVMTCwKKwkJCSAgICAg ICAmYm9fbGlzdCk7CisJQ1VfQVNTRVJUX0VRVUFMKHIsIDApOworCisJcHRyID0gaWJfcmVzdWx0 X2NwdTsKKworCWZvciAoaSA9IDA7IGkgPCAxNjsgKytpKQorCQlwdHJbaV0gPSB3YWl0X29yX3Np Z25hbCA/IEdGWF9DT01QVVRFX05PUDogU0RNQV9OT1A7CisKKwljaHVua3NbMF0uY2h1bmtfaWQg PSBBTURHUFVfQ0hVTktfSURfSUI7CisJY2h1bmtzWzBdLmxlbmd0aF9kdyA9IHNpemVvZihzdHJ1 Y3QgZHJtX2FtZGdwdV9jc19jaHVua19pYikgLyA0OworCWNodW5rc1swXS5jaHVua19kYXRhID0g KHVpbnQ2NF90KSh1aW50cHRyX3QpJmNodW5rX2RhdGE7CisJY2h1bmtfZGF0YS5pYl9kYXRhLl9w YWQgPSAwOworCWNodW5rX2RhdGEuaWJfZGF0YS52YV9zdGFydCA9IGliX3Jlc3VsdF9tY19hZGRy ZXNzOworCWNodW5rX2RhdGEuaWJfZGF0YS5pYl9ieXRlcyA9IDE2ICogNDsKKwljaHVua19kYXRh LmliX2RhdGEuaXBfdHlwZSA9IHdhaXRfb3Jfc2lnbmFsID8gQU1ER1BVX0hXX0lQX0dGWCA6CisJ CUFNREdQVV9IV19JUF9ETUE7CisJY2h1bmtfZGF0YS5pYl9kYXRhLmlwX2luc3RhbmNlID0gMDsK KwljaHVua19kYXRhLmliX2RhdGEucmluZyA9IDA7CisJY2h1bmtfZGF0YS5pYl9kYXRhLmZsYWdz ID0gMDsKKworCWNodW5rc1sxXS5jaHVua19pZCA9IHdhaXRfb3Jfc2lnbmFsID8KKwkJQU1ER1BV X0NIVU5LX0lEX1NZTkNPQkpfVElNRUxJTkVfV0FJVCA6CisJCUFNREdQVV9DSFVOS19JRF9TWU5D T0JKX1RJTUVMSU5FX1NJR05BTDsKKwljaHVua3NbMV0ubGVuZ3RoX2R3ID0gc2l6ZW9mKHN0cnVj dCBkcm1fYW1kZ3B1X2NzX2NodW5rX3N5bmNvYmopIC8gNDsKKwljaHVua3NbMV0uY2h1bmtfZGF0 YSA9ICh1aW50NjRfdCkodWludHB0cl90KSZzeW5jb2JqX2RhdGE7CisJc3luY29ial9kYXRhLmhh bmRsZSA9IHN5bmNvYmpfaGFuZGxlOworCXN5bmNvYmpfZGF0YS5wb2ludCA9IHBvaW50OworCXN5 bmNvYmpfZGF0YS5mbGFncyA9IERSTV9TWU5DT0JKX1dBSVRfRkxBR1NfV0FJVF9GT1JfU1VCTUlU OworCisJciA9IGFtZGdwdV9jc19zdWJtaXRfcmF3KGRldmljZV9oYW5kbGUsCisJCQkJIGNvbnRl eHRfaGFuZGxlLAorCQkJCSBib19saXN0LAorCQkJCSAyLAorCQkJCSBjaHVua3MsCisJCQkJICZz ZXFfbm8pOworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKworCisJbWVtc2V0KCZmZW5jZV9zdGF0 dXMsIDAsIHNpemVvZihzdHJ1Y3QgYW1kZ3B1X2NzX2ZlbmNlKSk7CisJZmVuY2Vfc3RhdHVzLmNv bnRleHQgPSBjb250ZXh0X2hhbmRsZTsKKwlmZW5jZV9zdGF0dXMuaXBfdHlwZSA9IHdhaXRfb3Jf c2lnbmFsID8gQU1ER1BVX0hXX0lQX0dGWDoKKwkJQU1ER1BVX0hXX0lQX0RNQTsKKwlmZW5jZV9z dGF0dXMuaXBfaW5zdGFuY2UgPSAwOworCWZlbmNlX3N0YXR1cy5yaW5nID0gMDsKKwlmZW5jZV9z dGF0dXMuZmVuY2UgPSBzZXFfbm87CisKKwlyID0gYW1kZ3B1X2NzX3F1ZXJ5X2ZlbmNlX3N0YXR1 cygmZmVuY2Vfc3RhdHVzLAorCQkJQU1ER1BVX1RJTUVPVVRfSU5GSU5JVEUsMCwgJmV4cGlyZWQp OworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKworCXIgPSBhbWRncHVfYm9fbGlzdF9kZXN0cm95 KGJvX2xpc3QpOworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKworCXIgPSBhbWRncHVfYm9fdW5t YXBfYW5kX2ZyZWUoaWJfcmVzdWx0X2hhbmRsZSwgdmFfaGFuZGxlLAorCQkJCSAgICAgaWJfcmVz dWx0X21jX2FkZHJlc3MsIDQwOTYpOworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKworCXIgPSBh bWRncHVfY3NfY3R4X2ZyZWUoY29udGV4dF9oYW5kbGUpOworCUNVX0FTU0VSVF9FUVVBTChyLCAw KTsKKworCXJldHVybiByOworfQorCitzdHJ1Y3Qgc3luY29ial9wb2ludCB7CisJdWludDMyX3Qg c3luY29ial9oYW5kbGU7CisJdWludDY0X3QgcG9pbnQ7Cit9OworCitzdGF0aWMgdm9pZCAqc3lu Y29ial93YWl0KHZvaWQgKmRhdGEpCit7CisJc3RydWN0IHN5bmNvYmpfcG9pbnQgKnNwID0gKHN0 cnVjdCBzeW5jb2JqX3BvaW50ICopZGF0YTsKKwlpbnQgcjsKKworCXIgPSBzeW5jb2JqX2NvbW1h bmRfc3VibWlzc2lvbl9oZWxwZXIoc3AtPnN5bmNvYmpfaGFuZGxlLCB0cnVlLAorCQkJCQkgICAg ICBzcC0+cG9pbnQpOworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKworCXJldHVybiAodm9pZCAq KShsb25nKXI7Cit9CisKK3N0YXRpYyB2b2lkICpzeW5jb2JqX3NpZ25hbCh2b2lkICpkYXRhKQor eworCXN0cnVjdCBzeW5jb2JqX3BvaW50ICpzcCA9IChzdHJ1Y3Qgc3luY29ial9wb2ludCAqKWRh dGE7CisJaW50IHI7CisKKwlyID0gc3luY29ial9jb21tYW5kX3N1Ym1pc3Npb25faGVscGVyKHNw LT5zeW5jb2JqX2hhbmRsZSwgZmFsc2UsCisJCQkJCSAgICAgIHNwLT5wb2ludCk7CisJQ1VfQVNT RVJUX0VRVUFMKHIsIDApOworCisJcmV0dXJuICh2b2lkICopKGxvbmcpcjsKK30KKworc3RhdGlj IHZvaWQgYW1kZ3B1X3N5bmNvYmpfdGltZWxpbmVfdGVzdCh2b2lkKQoreworCXN0YXRpYyBwdGhy ZWFkX3Qgd2FpdF90aHJlYWQ7CisJc3RhdGljIHB0aHJlYWRfdCBzaWduYWxfdGhyZWFkOworCXN0 YXRpYyBwdGhyZWFkX3QgY190aHJlYWQ7CisJc3RydWN0IHN5bmNvYmpfcG9pbnQgc3AxLCBzcDIs IHNwMzsKKwl1aW50MzJfdCBzeW5jb2JqX2hhbmRsZTsKKwl1aW50NjRfdCBwYXlsb2FkOworCXVp bnQ2NF90IHdhaXRfcG9pbnQsIHNpZ25hbF9wb2ludDsKKwl1aW50NjRfdCB0aW1lb3V0OworCXN0 cnVjdCB0aW1lc3BlYyB0cDsKKwlpbnQgciwgc3luY19mZDsKKwl2b2lkICp0bXA7CisKKwlyID0g IGFtZGdwdV9jc19jcmVhdGVfc3luY29iajIoZGV2aWNlX2hhbmRsZSwgMCwgJnN5bmNvYmpfaGFu ZGxlKTsKKwlDVV9BU1NFUlRfRVFVQUwociwgMCk7CisKKwkvLyB3YWl0IG9uIHBvaW50IDUKKwlz cDEuc3luY29ial9oYW5kbGUgPSBzeW5jb2JqX2hhbmRsZTsKKwlzcDEucG9pbnQgPSA1OworCXIg PSBwdGhyZWFkX2NyZWF0ZSgmd2FpdF90aHJlYWQsIE5VTEwsIHN5bmNvYmpfd2FpdCwgJnNwMSk7 CisJQ1VfQVNTRVJUX0VRVUFMKHIsIDApOworCisJLy8gc2lnbmFsIG9uIHBvaW50IDEwCisJc3Ay LnN5bmNvYmpfaGFuZGxlID0gc3luY29ial9oYW5kbGU7CisJc3AyLnBvaW50ID0gMTA7CisJciA9 IHB0aHJlYWRfY3JlYXRlKCZzaWduYWxfdGhyZWFkLCBOVUxMLCBzeW5jb2JqX3NpZ25hbCwgJnNw Mik7CisJQ1VfQVNTRVJUX0VRVUFMKHIsIDApOworCisJciA9IHB0aHJlYWRfam9pbih3YWl0X3Ro cmVhZCwgJnRtcCk7CisJQ1VfQVNTRVJUX0VRVUFMKHIsIDApOworCUNVX0FTU0VSVF9FUVVBTCh0 bXAsIDApOworCisJciA9IHB0aHJlYWRfam9pbihzaWduYWxfdGhyZWFkLCAmdG1wKTsKKwlDVV9B U1NFUlRfRVFVQUwociwgMCk7CisJQ1VfQVNTRVJUX0VRVUFMKHRtcCwgMCk7CisKKwkvL3F1ZXJ5 IHRpbWVsaW5lIHBheWxvYWQKKwlyID0gYW1kZ3B1X2NzX3N5bmNvYmpfcXVlcnkoZGV2aWNlX2hh bmRsZSwgJnN5bmNvYmpfaGFuZGxlLAorCQkJCSAgICAmcGF5bG9hZCwgMSk7CisJQ1VfQVNTRVJU X0VRVUFMKHIsIDApOworCUNVX0FTU0VSVF9FUVVBTChwYXlsb2FkLCAxMCk7CisKKwkvL3NpZ25h bCBvbiBwb2ludCAxNgorCXNwMy5zeW5jb2JqX2hhbmRsZSA9IHN5bmNvYmpfaGFuZGxlOworCXNw My5wb2ludCA9IDE2OworCXIgPSBwdGhyZWFkX2NyZWF0ZSgmY190aHJlYWQsIE5VTEwsIHN5bmNv Ympfc2lnbmFsLCAmc3AzKTsKKwlDVV9BU1NFUlRfRVFVQUwociwgMCk7CisJLy9DUFUgd2FpdCBv biBwb2ludCAxNgorCXdhaXRfcG9pbnQgPSAxNjsKKwl0aW1lb3V0ID0gMDsKKwljbG9ja19nZXR0 aW1lKENMT0NLX01PTk9UT05JQywgJnRwKTsKKwl0aW1lb3V0ID0gdHAudHZfc2VjICogMTAwMDAw MDAwMFVMTCArIHRwLnR2X25zZWM7CisJdGltZW91dCArPSAweDEwMDAwMDAwMDAwOyAvLzEwcwor CXIgPSBhbWRncHVfY3Nfc3luY29ial90aW1lbGluZV93YWl0KGRldmljZV9oYW5kbGUsICZzeW5j b2JqX2hhbmRsZSwKKwkJCQkJICAgICZ3YWl0X3BvaW50LCAxLCB0aW1lb3V0LAorCQkJCQkgICAg RFJNX1NZTkNPQkpfV0FJVF9GTEFHU19XQUlUX0FMTCB8CisJCQkJCSAgICBEUk1fU1lOQ09CSl9X QUlUX0ZMQUdTX1dBSVRfRk9SX1NVQk1JVCwKKwkJCQkJICAgIE5VTEwpOworCisJQ1VfQVNTRVJU X0VRVUFMKHIsIDApOworCXIgPSBwdGhyZWFkX2pvaW4oY190aHJlYWQsICZ0bXApOworCUNVX0FT U0VSVF9FUVVBTChyLCAwKTsKKwlDVV9BU1NFUlRfRVFVQUwodG1wLCAwKTsKKworCS8vIGV4cG9y dCBwb2ludCAxNiBhbmQgaW1wb3J0IHRvIHBvaW50IDE4CisJciA9IGFtZGdwdV9jc19zeW5jb2Jq X2V4cG9ydF9zeW5jX2ZpbGUyKGRldmljZV9oYW5kbGUsIHN5bmNvYmpfaGFuZGxlLAorCQkJCQkJ MTYsCisJCQkJCQlEUk1fU1lOQ09CSl9XQUlUX0ZMQUdTX1dBSVRfRk9SX1NVQk1JVCwKKwkJCQkJ CSZzeW5jX2ZkKTsKKwlDVV9BU1NFUlRfRVFVQUwociwgMCk7CisJciA9IGFtZGdwdV9jc19zeW5j b2JqX2ltcG9ydF9zeW5jX2ZpbGUyKGRldmljZV9oYW5kbGUsIHN5bmNvYmpfaGFuZGxlLAorCQkJ CQkJMTgsIHN5bmNfZmQpOworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKwlyID0gYW1kZ3B1X2Nz X3N5bmNvYmpfcXVlcnkoZGV2aWNlX2hhbmRsZSwgJnN5bmNvYmpfaGFuZGxlLAorCQkJCSAgICAm cGF5bG9hZCwgMSk7CisJQ1VfQVNTRVJUX0VRVUFMKHIsIDApOworCUNVX0FTU0VSVF9FUVVBTChw YXlsb2FkLCAxOCk7CisKKwkvLyBDUFUgc2lnbmFsIG9uIHBvaW50IDIwCisJc2lnbmFsX3BvaW50 ID0gMjA7CisJciA9IGFtZGdwdV9jc19zeW5jb2JqX3RpbWVsaW5lX3NpZ25hbChkZXZpY2VfaGFu ZGxlLCAmc3luY29ial9oYW5kbGUsCisJCQkJCSAgICAgICZzaWduYWxfcG9pbnQsIDEpOworCUNV X0FTU0VSVF9FUVVBTChyLCAwKTsKKwlyID0gYW1kZ3B1X2NzX3N5bmNvYmpfcXVlcnkoZGV2aWNl X2hhbmRsZSwgJnN5bmNvYmpfaGFuZGxlLAorCQkJCSAgICAmcGF5bG9hZCwgMSk7CisJQ1VfQVNT RVJUX0VRVUFMKHIsIDApOworCUNVX0FTU0VSVF9FUVVBTChwYXlsb2FkLCAyMCk7CisKKwlyID0g YW1kZ3B1X2NzX2Rlc3Ryb3lfc3luY29iaihkZXZpY2VfaGFuZGxlLCBzeW5jb2JqX2hhbmRsZSk7 CisJQ1VfQVNTRVJUX0VRVUFMKHIsIDApOworCit9Ci0tIAoyLjE3LjEKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFt ZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA==