From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 700136E8AC for ; Fri, 5 Oct 2018 18:04:47 +0000 (UTC) From: Tomasz Lis Date: Fri, 5 Oct 2018 20:04:34 +0200 Message-Id: <1538762676-15259-2-git-send-email-tomasz.lis@intel.com> In-Reply-To: <1538762676-15259-1-git-send-email-tomasz.lis@intel.com> References: <1538762676-15259-1-git-send-email-tomasz.lis@intel.com> Subject: [igt-dev] [PATCH i-g-t v2 1/3] lib: Separated emit part of gpgpu_fill. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: bartosz.dunajski@intel.com List-ID: RnJvbTogIkxpcywgVG9tYXN6IiA8dG9tYXN6Lmxpc0BpbnRlbC5jb20+CgpIYXZpbmcgZW1pdHRp bmcgYW5kIHN1bWJpc3Npb24gaW4gb25lIGZ1bmN0aW9uIHdhcyByZXN0cmljdGluZwpwb3NzaWJs ZSB1c2UgY2FzZXMgb2YgdGhlIGNvZGUuIE5vdyBpdCBpcyBwb3NzaWJsZSB0byBlbWl0CnRoZSBn cGdwdV9maWxsIHRvIGEgYmF0Y2hidWZmZXIgd2l0aCBzb21ldGhpbmcgYWxyZWFkeSB0aGVyZSwK b3IgYWRkIG1vcmUgY29tbWFuZHMgYWZ0ZXIuCgpDYzogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMu bGFodGluZW5AbGludXguaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13 aWxzb24uY28udWs+CkNjOiBNaWNoYWwgV2luaWFyc2tpIDxtaWNoYWwud2luaWFyc2tpQGludGVs LmNvbT4KClNpZ25lZC1vZmYtYnk6IFRvbWFzeiBMaXMgPHRvbWFzei5saXNAaW50ZWwuY29tPgot LS0KIGxpYi9ncGdwdV9maWxsLmMgICAgICAgIHwgNTkgKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogbGliL2dwZ3B1X2ZpbGwuaCAgICAgICAgfCAgOCAr KystLS0tCiBsaWIvaW50ZWxfYmF0Y2hidWZmZXIuYyB8IDEyICsrKysrLS0tLS0KIGxpYi9pbnRl bF9iYXRjaGJ1ZmZlci5oIHwgIDIgKy0KIHRlc3RzL2dlbV9ncGdwdV9maWxsLmMgIHwgMTkgKysr KysrKysrKysrLS0tLQogNSBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCA1NSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvZ3BncHVfZmlsbC5jIGIvbGliL2dwZ3B1X2ZpbGwu YwppbmRleCAwMDNmNDYxLi42NTRiNzkxIDEwMDY0NAotLS0gYS9saWIvZ3BncHVfZmlsbC5jCisr KyBiL2xpYi9ncGdwdV9maWxsLmMKQEAgLTExNywxOCArMTE3LDE3IEBAIHN0YXRpYyBjb25zdCB1 aW50MzJfdCBnZW4xMV9ncGdwdV9rZXJuZWxbXVs0XSA9IHsKICNkZWZpbmUgR0VON19WRkVfU1RB VEVfR1BHUFVfTU9ERSAxCiAKIHZvaWQKLWdlbjdfZ3BncHVfZmlsbGZ1bmMoc3RydWN0IGludGVs X2JhdGNoYnVmZmVyICpiYXRjaCwKK2dlbjdfZW1pdF9ncGdwdV9maWxsZnVuYyhzdHJ1Y3QgaW50 ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAogCQkgICAgY29uc3Qgc3RydWN0IGlndF9idWYgKmRzdCwK IAkJICAgIHVuc2lnbmVkIGludCB4LCB1bnNpZ25lZCBpbnQgeSwKIAkJICAgIHVuc2lnbmVkIGlu dCB3aWR0aCwgdW5zaWduZWQgaW50IGhlaWdodCwKIAkJICAgIHVpbnQ4X3QgY29sb3IpCiB7CiAJ dWludDMyX3QgY3VyYmVfYnVmZmVyLCBpbnRlcmZhY2VfZGVzY3JpcHRvcjsKLQl1aW50MzJfdCBi YXRjaF9lbmQ7Ci0KLQlpbnRlbF9iYXRjaGJ1ZmZlcl9mbHVzaChiYXRjaCk7CisJdWludDhfdCAq cHJldl9wdHI7CiAKIAkvKiBzZXR1cCBzdGF0ZXMgKi8KKwlwcmV2X3B0ciA9IGJhdGNoLT5wdHI7 CiAJYmF0Y2gtPnB0ciA9ICZiYXRjaC0+YnVmZmVyW0JBVENIX1NUQVRFX1NQTElUXTsKIAogCS8q CkBAIC0xNDMsNyArMTQyLDcgQEAgZ2VuN19ncGdwdV9maWxsZnVuYyhzdHJ1Y3QgaW50ZWxfYmF0 Y2hidWZmZXIgKmJhdGNoLAogCiAJaWd0X2Fzc2VydChiYXRjaC0+cHRyIDwgJmJhdGNoLT5idWZm ZXJbNDA5NV0pOwogCi0JYmF0Y2gtPnB0ciA9IGJhdGNoLT5idWZmZXI7CisJYmF0Y2gtPnB0ciA9 IHByZXZfcHRyOwogCiAJLyogR1BHUFUgcGlwZWxpbmUgKi8KIAlPVVRfQkFUQ0goR0VON19QSVBF TElORV9TRUxFQ1QgfCBQSVBFTElORV9TRUxFQ1RfR1BHUFUpOwpAQCAtMTU2LDI4ICsxNTUsMjEg QEAgZ2VuN19ncGdwdV9maWxsZnVuYyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAog CWdlbjdfZW1pdF9pbnRlcmZhY2VfZGVzY3JpcHRvcl9sb2FkKGJhdGNoLCBpbnRlcmZhY2VfZGVz Y3JpcHRvcik7CiAJZ2VuN19lbWl0X2dwZ3B1X3dhbGsoYmF0Y2gsIHgsIHksIHdpZHRoLCBoZWln aHQpOwogCi0JT1VUX0JBVENIKE1JX0JBVENIX0JVRkZFUl9FTkQpOwotCi0JYmF0Y2hfZW5kID0g aW50ZWxfYmF0Y2hidWZmZXJfYWxpZ24oYmF0Y2gsIDgpOwotCWlndF9hc3NlcnQoYmF0Y2hfZW5k IDwgQkFUQ0hfU1RBVEVfU1BMSVQpOwotCi0JZ2VuN19yZW5kZXJfZmx1c2goYmF0Y2gsIGJhdGNo X2VuZCk7Ci0JaW50ZWxfYmF0Y2hidWZmZXJfcmVzZXQoYmF0Y2gpOworCWlndF9hc3NlcnQoYmF0 Y2gtPnB0ciArIDggPCBiYXRjaC0+YnVmZmVyICsgQkFUQ0hfU1RBVEVfU1BMSVQpOwogfQogCiB2 b2lkCi1nZW44X2dwZ3B1X2ZpbGxmdW5jKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gs CitnZW44X2VtaXRfZ3BncHVfZmlsbGZ1bmMoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRj aCwKIAkJICAgIGNvbnN0IHN0cnVjdCBpZ3RfYnVmICpkc3QsCiAJCSAgICB1bnNpZ25lZCBpbnQg eCwgdW5zaWduZWQgaW50IHksCiAJCSAgICB1bnNpZ25lZCBpbnQgd2lkdGgsIHVuc2lnbmVkIGlu dCBoZWlnaHQsCiAJCSAgICB1aW50OF90IGNvbG9yKQogewogCXVpbnQzMl90IGN1cmJlX2J1ZmZl ciwgaW50ZXJmYWNlX2Rlc2NyaXB0b3I7Ci0JdWludDMyX3QgYmF0Y2hfZW5kOwotCi0JaW50ZWxf YmF0Y2hidWZmZXJfZmx1c2goYmF0Y2gpOworCXVpbnQ4X3QgKnByZXZfcHRyOwogCiAJLyogc2V0 dXAgc3RhdGVzICovCisJcHJldl9wdHIgPSBiYXRjaC0+cHRyOwogCWJhdGNoLT5wdHIgPSAmYmF0 Y2gtPmJ1ZmZlcltCQVRDSF9TVEFURV9TUExJVF07CiAKIAkvKgpAQCAtMTkyLDcgKzE4NCw3IEBA IGdlbjhfZ3BncHVfZmlsbGZ1bmMoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwKIAog CWlndF9hc3NlcnQoYmF0Y2gtPnB0ciA8ICZiYXRjaC0+YnVmZmVyWzQwOTVdKTsKIAotCWJhdGNo LT5wdHIgPSBiYXRjaC0+YnVmZmVyOworCWJhdGNoLT5wdHIgPSBwcmV2X3B0cjsKIAogCS8qIEdQ R1BVIHBpcGVsaW5lICovCiAJT1VUX0JBVENIKEdFTjdfUElQRUxJTkVfU0VMRUNUIHwgUElQRUxJ TkVfU0VMRUNUX0dQR1BVKTsKQEAgLTIwNCwxNyArMTk2LDExIEBAIGdlbjhfZ3BncHVfZmlsbGZ1 bmMoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwKIAlnZW43X2VtaXRfaW50ZXJmYWNl X2Rlc2NyaXB0b3JfbG9hZChiYXRjaCwgaW50ZXJmYWNlX2Rlc2NyaXB0b3IpOwogCWdlbjhfZW1p dF9ncGdwdV93YWxrKGJhdGNoLCB4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKIAotCU9VVF9CQVRDSChN SV9CQVRDSF9CVUZGRVJfRU5EKTsKLQotCWJhdGNoX2VuZCA9IGludGVsX2JhdGNoYnVmZmVyX2Fs aWduKGJhdGNoLCA4KTsKLQlpZ3RfYXNzZXJ0KGJhdGNoX2VuZCA8IEJBVENIX1NUQVRFX1NQTElU KTsKLQotCWdlbjdfcmVuZGVyX2ZsdXNoKGJhdGNoLCBiYXRjaF9lbmQpOwotCWludGVsX2JhdGNo YnVmZmVyX3Jlc2V0KGJhdGNoKTsKKwlpZ3RfYXNzZXJ0KGJhdGNoLT5wdHIgKyA4IDwgYmF0Y2gt PmJ1ZmZlciArIEJBVENIX1NUQVRFX1NQTElUKTsKIH0KIAogc3RhdGljIHZvaWQKLV9fZ2VuOV9n cGdwdV9maWxsZnVuYyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAorX19nZW45X2Vt aXRfZ3BncHVfZmlsbChzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAogCQkgICAgICBj b25zdCBzdHJ1Y3QgaWd0X2J1ZiAqZHN0LAogCQkgICAgICB1bnNpZ25lZCBpbnQgeCwgdW5zaWdu ZWQgaW50IHksCiAJCSAgICAgIHVuc2lnbmVkIGludCB3aWR0aCwgdW5zaWduZWQgaW50IGhlaWdo dCwKQEAgLTIyMiwxMSArMjA4LDEwIEBAIF9fZ2VuOV9ncGdwdV9maWxsZnVuYyhzdHJ1Y3QgaW50 ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAogCQkgICAgICBzaXplX3Qga2VybmVsX3NpemUpCiB7CiAJ dWludDMyX3QgY3VyYmVfYnVmZmVyLCBpbnRlcmZhY2VfZGVzY3JpcHRvcjsKLQl1aW50MzJfdCBi YXRjaF9lbmQ7Ci0KLQlpbnRlbF9iYXRjaGJ1ZmZlcl9mbHVzaChiYXRjaCk7CisJdWludDhfdCAq cHJldl9wdHI7CiAKIAkvKiBzZXR1cCBzdGF0ZXMgKi8KKwlwcmV2X3B0ciA9IGJhdGNoLT5wdHI7 CiAJYmF0Y2gtPnB0ciA9ICZiYXRjaC0+YnVmZmVyW0JBVENIX1NUQVRFX1NQTElUXTsKIAogCS8q CkBAIC0yNDEsNyArMjI2LDcgQEAgX19nZW45X2dwZ3B1X2ZpbGxmdW5jKHN0cnVjdCBpbnRlbF9i YXRjaGJ1ZmZlciAqYmF0Y2gsCiAKIAlpZ3RfYXNzZXJ0KGJhdGNoLT5wdHIgPCAmYmF0Y2gtPmJ1 ZmZlcls0MDk1XSk7CiAKLQliYXRjaC0+cHRyID0gYmF0Y2gtPmJ1ZmZlcjsKKwliYXRjaC0+cHRy ID0gcHJldl9wdHI7CiAKIAkvKiBHUEdQVSBwaXBlbGluZSAqLwogCU9VVF9CQVRDSChHRU43X1BJ UEVMSU5FX1NFTEVDVCB8IEdFTjlfUElQRUxJTkVfU0VMRUNUSU9OX01BU0sgfApAQCAtMjU0LDMx ICsyMzksMjUgQEAgX19nZW45X2dwZ3B1X2ZpbGxmdW5jKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZl ciAqYmF0Y2gsCiAJZ2VuN19lbWl0X2ludGVyZmFjZV9kZXNjcmlwdG9yX2xvYWQoYmF0Y2gsIGlu dGVyZmFjZV9kZXNjcmlwdG9yKTsKIAlnZW44X2VtaXRfZ3BncHVfd2FsayhiYXRjaCwgeCwgeSwg d2lkdGgsIGhlaWdodCk7CiAKLQlPVVRfQkFUQ0goTUlfQkFUQ0hfQlVGRkVSX0VORCk7Ci0KLQli YXRjaF9lbmQgPSBpbnRlbF9iYXRjaGJ1ZmZlcl9hbGlnbihiYXRjaCwgOCk7Ci0JaWd0X2Fzc2Vy dChiYXRjaF9lbmQgPCBCQVRDSF9TVEFURV9TUExJVCk7Ci0KLQlnZW43X3JlbmRlcl9mbHVzaChi YXRjaCwgYmF0Y2hfZW5kKTsKLQlpbnRlbF9iYXRjaGJ1ZmZlcl9yZXNldChiYXRjaCk7CisJaWd0 X2Fzc2VydChiYXRjaC0+cHRyICsgOCA8IGJhdGNoLT5idWZmZXIgKyBCQVRDSF9TVEFURV9TUExJ VCk7CiB9CiAKLXZvaWQgZ2VuOV9ncGdwdV9maWxsZnVuYyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZm ZXIgKmJhdGNoLAordm9pZCBnZW45X2VtaXRfZ3BncHVfZmlsbGZ1bmMoc3RydWN0IGludGVsX2Jh dGNoYnVmZmVyICpiYXRjaCwKIAkJCSBjb25zdCBzdHJ1Y3QgaWd0X2J1ZiAqZHN0LAogCQkJIHVu c2lnbmVkIGludCB4LCB1bnNpZ25lZCBpbnQgeSwKIAkJCSB1bnNpZ25lZCBpbnQgd2lkdGgsIHVu c2lnbmVkIGludCBoZWlnaHQsCiAJCQkgdWludDhfdCBjb2xvcikKIHsKLQlfX2dlbjlfZ3BncHVf ZmlsbGZ1bmMoYmF0Y2gsIGRzdCwgeCwgeSwgd2lkdGgsIGhlaWdodCwgY29sb3IsCisJX19nZW45 X2VtaXRfZ3BncHVfZmlsbChiYXRjaCwgZHN0LCB4LCB5LCB3aWR0aCwgaGVpZ2h0LCBjb2xvciwK IAkJCSAgICAgIGdlbjlfZ3BncHVfa2VybmVsLCBzaXplb2YoZ2VuOV9ncGdwdV9rZXJuZWwpKTsK IH0KIAotdm9pZCBnZW4xMV9ncGdwdV9maWxsZnVuYyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIg KmJhdGNoLAordm9pZCBnZW4xMV9lbWl0X2dwZ3B1X2ZpbGxmdW5jKHN0cnVjdCBpbnRlbF9iYXRj aGJ1ZmZlciAqYmF0Y2gsCiAJCQkgIGNvbnN0IHN0cnVjdCBpZ3RfYnVmICpkc3QsCiAJCQkgIHVu c2lnbmVkIGludCB4LCB1bnNpZ25lZCBpbnQgeSwKIAkJCSAgdW5zaWduZWQgaW50IHdpZHRoLCB1 bnNpZ25lZCBpbnQgaGVpZ2h0LAogCQkJICB1aW50OF90IGNvbG9yKQogewotCV9fZ2VuOV9ncGdw dV9maWxsZnVuYyhiYXRjaCwgZHN0LCB4LCB5LCB3aWR0aCwgaGVpZ2h0LCBjb2xvciwKKwlfX2dl bjlfZW1pdF9ncGdwdV9maWxsKGJhdGNoLCBkc3QsIHgsIHksIHdpZHRoLCBoZWlnaHQsIGNvbG9y LAogCQkJICAgICAgZ2VuMTFfZ3BncHVfa2VybmVsLCBzaXplb2YoZ2VuMTFfZ3BncHVfa2VybmVs KSk7CiB9CmRpZmYgLS1naXQgYS9saWIvZ3BncHVfZmlsbC5oIGIvbGliL2dwZ3B1X2ZpbGwuaApp bmRleCBlNDA1ZGYzLi4xOTAxYjFlIDEwMDY0NAotLS0gYS9saWIvZ3BncHVfZmlsbC5oCisrKyBi L2xpYi9ncGdwdV9maWxsLmgKQEAgLTMwLDI4ICszMCwyOCBAQAogI2luY2x1ZGUgImludGVsX2Jh dGNoYnVmZmVyLmgiCiAKIHZvaWQKLWdlbjdfZ3BncHVfZmlsbGZ1bmMoc3RydWN0IGludGVsX2Jh dGNoYnVmZmVyICpiYXRjaCwKK2dlbjdfZW1pdF9ncGdwdV9maWxsZnVuYyhzdHJ1Y3QgaW50ZWxf YmF0Y2hidWZmZXIgKmJhdGNoLAogCQkgICAgY29uc3Qgc3RydWN0IGlndF9idWYgKmRzdCwKIAkJ ICAgIHVuc2lnbmVkIGludCB4LCB1bnNpZ25lZCBpbnQgeSwKIAkJICAgIHVuc2lnbmVkIGludCB3 aWR0aCwgdW5zaWduZWQgaW50IGhlaWdodCwKIAkJICAgIHVpbnQ4X3QgY29sb3IpOwogCiB2b2lk Ci1nZW44X2dwZ3B1X2ZpbGxmdW5jKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCitn ZW44X2VtaXRfZ3BncHVfZmlsbGZ1bmMoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwK IAkJICAgIGNvbnN0IHN0cnVjdCBpZ3RfYnVmICpkc3QsCiAJCSAgICB1bnNpZ25lZCBpbnQgeCwg dW5zaWduZWQgaW50IHksCiAJCSAgICB1bnNpZ25lZCBpbnQgd2lkdGgsIHVuc2lnbmVkIGludCBo ZWlnaHQsCiAJCSAgICB1aW50OF90IGNvbG9yKTsKIAogdm9pZAotZ2VuOV9ncGdwdV9maWxsZnVu YyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAorZ2VuOV9lbWl0X2dwZ3B1X2ZpbGxm dW5jKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCiAJCSAgICBjb25zdCBzdHJ1Y3Qg aWd0X2J1ZiAqZHN0LAogCQkgICAgdW5zaWduZWQgaW50IHgsIHVuc2lnbmVkIGludCB5LAogCQkg ICAgdW5zaWduZWQgaW50IHdpZHRoLCB1bnNpZ25lZCBpbnQgaGVpZ2h0LAogCQkgICAgdWludDhf dCBjb2xvcik7CiAKIHZvaWQKLWdlbjExX2dwZ3B1X2ZpbGxmdW5jKHN0cnVjdCBpbnRlbF9iYXRj aGJ1ZmZlciAqYmF0Y2gsCitnZW4xMV9lbWl0X2dwZ3B1X2ZpbGxmdW5jKHN0cnVjdCBpbnRlbF9i YXRjaGJ1ZmZlciAqYmF0Y2gsCiAJCSAgICAgY29uc3Qgc3RydWN0IGlndF9idWYgKmRzdCwKIAkJ ICAgICB1bnNpZ25lZCBpbnQgeCwgdW5zaWduZWQgaW50IHksCiAJCSAgICAgdW5zaWduZWQgaW50 IHdpZHRoLCB1bnNpZ25lZCBpbnQgaGVpZ2h0LApkaWZmIC0tZ2l0IGEvbGliL2ludGVsX2JhdGNo YnVmZmVyLmMgYi9saWIvaW50ZWxfYmF0Y2hidWZmZXIuYwppbmRleCAzODc0MDRmLi5kYzFlNmYy IDEwMDY0NAotLS0gYS9saWIvaW50ZWxfYmF0Y2hidWZmZXIuYworKysgYi9saWIvaW50ZWxfYmF0 Y2hidWZmZXIuYwpAQCAtODcxLDcgKzg3MSw3IEBAIGlndF9maWxsZnVuY190IGlndF9nZXRfbWVk aWFfZmlsbGZ1bmMoaW50IGRldmlkKQogfQogCiAvKioKLSAqIGlndF9nZXRfZ3BncHVfZmlsbGZ1 bmM6CisgKiBpZ3RfZ2V0X2VtaXRfZ3BncHVfZmlsbDoKICAqIEBkZXZpZDogcGNpIGRldmljZSBp ZAogICoKICAqIFJldHVybnM6CkBAIC04NzksMTggKzg3OSwxOCBAQCBpZ3RfZmlsbGZ1bmNfdCBp Z3RfZ2V0X21lZGlhX2ZpbGxmdW5jKGludCBkZXZpZCkKICAqIFRoZSBwbGF0Zm9ybS1zcGVjaWZp YyBncGdwdSBmaWxsIGZ1bmN0aW9uIHBvaW50ZXIgZm9yIHRoZSBkZXZpY2Ugc3BlY2lmaWVkCiAg KiB3aXRoIEBkZXZpZC4gV2lsbCByZXR1cm4gTlVMTCB3aGVuIG5vIGdwZ3B1IGZpbGwgZnVuY3Rp b24gaXMgaW1wbGVtZW50ZWQuCiAgKi8KLWlndF9maWxsZnVuY190IGlndF9nZXRfZ3BncHVfZmls bGZ1bmMoaW50IGRldmlkKQoraWd0X2ZpbGxmdW5jX3QgaWd0X2dldF9lbWl0X2dwZ3B1X2ZpbGxm dW5jKGludCBkZXZpZCkKIHsKIAlpZ3RfZmlsbGZ1bmNfdCBmaWxsID0gTlVMTDsKIAogCWlmIChJ U19HRU43KGRldmlkKSkKLQkJZmlsbCA9IGdlbjdfZ3BncHVfZmlsbGZ1bmM7CisJCWZpbGwgPSBn ZW43X2VtaXRfZ3BncHVfZmlsbGZ1bmM7CiAJZWxzZSBpZiAoSVNfQlJPQURXRUxMKGRldmlkKSkK LQkJZmlsbCA9IGdlbjhfZ3BncHVfZmlsbGZ1bmM7CisJCWZpbGwgPSBnZW44X2VtaXRfZ3BncHVf ZmlsbGZ1bmM7CiAJZWxzZSBpZiAoSVNfR0VOOShkZXZpZCkgfHwgSVNfR0VOMTAoZGV2aWQpKQot CQlmaWxsID0gZ2VuOV9ncGdwdV9maWxsZnVuYzsKKwkJZmlsbCA9IGdlbjlfZW1pdF9ncGdwdV9m aWxsZnVuYzsKIAllbHNlIGlmIChJU19HRU4xMShkZXZpZCkpCi0JCWZpbGwgPSBnZW4xMV9ncGdw dV9maWxsZnVuYzsKKwkJZmlsbCA9IGdlbjExX2VtaXRfZ3BncHVfZmlsbGZ1bmM7CiAKIAlyZXR1 cm4gZmlsbDsKIH0KZGlmZiAtLWdpdCBhL2xpYi9pbnRlbF9iYXRjaGJ1ZmZlci5oIGIvbGliL2lu dGVsX2JhdGNoYnVmZmVyLmgKaW5kZXggMmRjYjA5Yy4uMjFiYWJmZiAxMDA2NDQKLS0tIGEvbGli L2ludGVsX2JhdGNoYnVmZmVyLmgKKysrIGIvbGliL2ludGVsX2JhdGNoYnVmZmVyLmgKQEAgLTMy MSw3ICszMjEsNyBAQCB0eXBlZGVmIHZvaWQgKCppZ3RfZmlsbGZ1bmNfdCkoc3RydWN0IGludGVs X2JhdGNoYnVmZmVyICpiYXRjaCwKIAkJCSAgICAgICB1aW50OF90IGNvbG9yKTsKIAogaWd0X2Zp bGxmdW5jX3QgaWd0X2dldF9tZWRpYV9maWxsZnVuYyhpbnQgZGV2aWQpOwotaWd0X2ZpbGxmdW5j X3QgaWd0X2dldF9ncGdwdV9maWxsZnVuYyhpbnQgZGV2aWQpOworaWd0X2ZpbGxmdW5jX3QgaWd0 X2dldF9lbWl0X2dwZ3B1X2ZpbGxmdW5jKGludCBkZXZpZCk7CiAKIC8qKgogICogaWd0X21lZGlh X3NwaW5mdW5jX3Q6CmRpZmYgLS1naXQgYS90ZXN0cy9nZW1fZ3BncHVfZmlsbC5jIGIvdGVzdHMv Z2VtX2dwZ3B1X2ZpbGwuYwppbmRleCBkZmI1ODE2Li5kNzlmNzQ3IDEwMDY0NAotLS0gYS90ZXN0 cy9nZW1fZ3BncHVfZmlsbC5jCisrKyBiL3Rlc3RzL2dlbV9ncGdwdV9maWxsLmMKQEAgLTQ0LDYg KzQ0LDcgQEAKICNpbmNsdWRlIDxzeXMvdGltZS5oPgogI2luY2x1ZGUgImRybS5oIgogI2luY2x1 ZGUgImludGVsX2J1Zm1nci5oIgorI2luY2x1ZGUgImdwdV9jbWRzLmgiCiAKICNkZWZpbmUgV0lE VEggNjQKICNkZWZpbmUgSEVJR0hUIDY0CkBAIC05OSw3ICsxMDAsOCBAQCBpZ3Rfc2ltcGxlX21h aW4KIAlkYXRhX3QgZGF0YSA9IHswLCB9OwogCXN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0 Y2ggPSBOVUxMOwogCXN0cnVjdCBpZ3RfYnVmIGRzdDsKLQlpZ3RfZmlsbGZ1bmNfdCBncGdwdV9m aWxsID0gTlVMTDsKKwlpZ3RfZmlsbGZ1bmNfdCBlbWl0X2dwZ3B1X2ZpbGwgPSBOVUxMOworICAg ICAgICB1aW50MzJfdCBiYXRjaF9lbmQ7CiAJaW50IGksIGo7CiAKIAlkYXRhLmRybV9mZCA9IGRy bV9vcGVuX2RyaXZlcl9yZW5kZXIoRFJJVkVSX0lOVEVMKTsKQEAgLTEwOSw5ICsxMTEsOSBAQCBp Z3Rfc2ltcGxlX21haW4KIAlkYXRhLmJ1Zm1nciA9IGRybV9pbnRlbF9idWZtZ3JfZ2VtX2luaXQo ZGF0YS5kcm1fZmQsIDQwOTYpOwogCWlndF9hc3NlcnQoZGF0YS5idWZtZ3IpOwogCi0JZ3BncHVf ZmlsbCA9IGlndF9nZXRfZ3BncHVfZmlsbGZ1bmMoZGF0YS5kZXZpZCk7CisJZW1pdF9ncGdwdV9m aWxsID0gaWd0X2dldF9lbWl0X2dwZ3B1X2ZpbGxmdW5jKGRhdGEuZGV2aWQpOwogCi0JaWd0X3Jl cXVpcmVfZihncGdwdV9maWxsLAorCWlndF9yZXF1aXJlX2YoZW1pdF9ncGdwdV9maWxsLAogCQkg ICAgICAibm8gZ3BncHUtZmlsbCBmdW5jdGlvblxuIik7CiAKIAliYXRjaCA9IGludGVsX2JhdGNo YnVmZmVyX2FsbG9jKGRhdGEuYnVmbWdyLCBkYXRhLmRldmlkKTsKQEAgLTEyNSwxMCArMTI3LDE5 IEBAIGlndF9zaW1wbGVfbWFpbgogCQl9CiAJfQogCi0JZ3BncHVfZmlsbChiYXRjaCwKKyAgICAg ICAgaW50ZWxfYmF0Y2hidWZmZXJfZmx1c2goYmF0Y2gpOworCisJZW1pdF9ncGdwdV9maWxsKGJh dGNoLAogCQkgICAmZHN0LCAwLCAwLCBXSURUSCAvIDIsIEhFSUdIVCAvIDIsCiAJCSAgIENPTE9S XzRDKTsKIAorICAgICAgICBPVVRfQkFUQ0goTUlfQkFUQ0hfQlVGRkVSX0VORCk7CisKKyAgICAg ICAgYmF0Y2hfZW5kID0gaW50ZWxfYmF0Y2hidWZmZXJfYWxpZ24oYmF0Y2gsIDgpOworCisgICAg ICAgIGdlbjdfcmVuZGVyX2ZsdXNoKGJhdGNoLCBiYXRjaF9lbmQpOworICAgICAgICBpbnRlbF9i YXRjaGJ1ZmZlcl9yZXNldChiYXRjaCk7CisKIAlmb3IgKGkgPSAwOyBpIDwgV0lEVEg7IGkrKykg ewogCQlmb3IgKGogPSAwOyBqIDwgSEVJR0hUOyBqKyspIHsKIAkJCWlmIChpIDwgV0lEVEggLyAy ICYmIGogPCBIRUlHSFQgLyAyKQotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaWd0LWRldgo=