From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [DPU PATCH 06/11] drm/msm: Remove msm_commit/kthread, use atomic helper commit Date: Wed, 28 Feb 2018 14:19:01 -0500 Message-ID: <20180228191906.185417-7-seanpaul@chromium.org> References: <20180228191906.185417-1-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180228191906.185417-1-seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, Sean Paul , hoegsberg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org List-Id: dri-devel@lists.freedesktop.org TW92aW5nIGZ1cnRoZXIgdG93YXJkcyBzd2l0Y2hpbmcgZnVsbHkgdG8gdGhlIHRoZSBhdG9taWMg aGVscGVycywgdGhpcwpwYXRjaCByZW1vdmVzIHRoZSBoYW5kLXJvbGxlZCBrdGhyZWFkIG5vbmJs b2NrIGNvbW1pdCBjb2RlIGFuZCB1c2VzIHRoZQphdG9taWMgaGVscGVycyBjb21taXRfd29yayBt b2RlbC4KClRoZXJlJ3Mgc3RpbGwgYSBsb3Qgb2YgY29weXBhc3RhIGhlcmUsIGJ1dCBpdCdzIHN0 aWxsIG5lZWRlZCB0bwpmYWNpbGl0YXRlIHRoZSBzd2FwX3N0YXRlIGFuZCBwcmVwYXJlX2ZlbmNl IHByaXZhdGUgZnVuY3Rpb25zLiBUaGVzZQp3aWxsIGJlIHNvcnRlZCBvdXQgaW4gYSBmb2xsb3ct b24gcGF0Y2guCgpDaGFuZ2UtSWQ6IEk5ZmNiYTI3ODI0YmE2M2QzZmFiOTZjYjJiYzE5NGJmYTZm MzQ3NWI3ClNpZ25lZC1vZmYtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2F0b21pYy5jIHwgMTk5ICsrKysrKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jICAgIHwgICAx IC0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oICAgIHwgICA0IC0KIDMgZmlsZXMgY2hh bmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMTY5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vbXNtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21f YXRvbWljLmMKaW5kZXggM2ExOGJkM2RjMjE1Li43ZTU0ZWI2NWQwOTYgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vbXNtX2F0b21pYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20v bXNtX2F0b21pYy5jCkBAIC0yMSw1MSArMjEsNiBAQAogI2luY2x1ZGUgIm1zbV9nZW0uaCIKICNp bmNsdWRlICJtc21fZmVuY2UuaCIKIAotc3RydWN0IG1zbV9jb21taXQgewotCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXY7Ci0Jc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOwotCXVpbnQzMl90 IGNydGNfbWFzazsKLQlib29sIG5vbmJsb2NrOwotCXN0cnVjdCBrdGhyZWFkX3dvcmsgY29tbWl0 X3dvcms7Ci19OwotCi0vKiBibG9jayB1bnRpbCBzcGVjaWZpZWQgY3J0Y3MgYXJlIG5vIGxvbmdl ciBwZW5kaW5nIHVwZGF0ZSwgYW5kCi0gKiBhdG9taWNhbGx5IG1hcmsgdGhlbSBhcyBwZW5kaW5n IHVwZGF0ZQotICovCi1zdGF0aWMgaW50IHN0YXJ0X2F0b21pYyhzdHJ1Y3QgbXNtX2RybV9wcml2 YXRlICpwcml2LCB1aW50MzJfdCBjcnRjX21hc2spCi17Ci0JaW50IHJldDsKLQotCXNwaW5fbG9j aygmcHJpdi0+cGVuZGluZ19jcnRjc19ldmVudC5sb2NrKTsKLQlyZXQgPSB3YWl0X2V2ZW50X2lu dGVycnVwdGlibGVfbG9ja2VkKHByaXYtPnBlbmRpbmdfY3J0Y3NfZXZlbnQsCi0JCQkhKHByaXYt PnBlbmRpbmdfY3J0Y3MgJiBjcnRjX21hc2spKTsKLQlpZiAocmV0ID09IDApIHsKLQkJREJHKCJz dGFydDogJTA4eCIsIGNydGNfbWFzayk7Ci0JCXByaXYtPnBlbmRpbmdfY3J0Y3MgfD0gY3J0Y19t YXNrOwotCX0KLQlzcGluX3VubG9jaygmcHJpdi0+cGVuZGluZ19jcnRjc19ldmVudC5sb2NrKTsK LQotCXJldHVybiByZXQ7Ci19Ci0KLS8qIGNsZWFyIHNwZWNpZmllZCBjcnRjcyAobm8gbG9uZ2Vy IHBlbmRpbmcgdXBkYXRlKQotICovCi1zdGF0aWMgdm9pZCBlbmRfYXRvbWljKHN0cnVjdCBtc21f ZHJtX3ByaXZhdGUgKnByaXYsIHVpbnQzMl90IGNydGNfbWFzaykKLXsKLQlzcGluX2xvY2soJnBy aXYtPnBlbmRpbmdfY3J0Y3NfZXZlbnQubG9jayk7Ci0JREJHKCJlbmQ6ICUwOHgiLCBjcnRjX21h c2spOwotCXByaXYtPnBlbmRpbmdfY3J0Y3MgJj0gfmNydGNfbWFzazsKLQl3YWtlX3VwX2FsbF9s b2NrZWQoJnByaXYtPnBlbmRpbmdfY3J0Y3NfZXZlbnQpOwotCXNwaW5fdW5sb2NrKCZwcml2LT5w ZW5kaW5nX2NydGNzX2V2ZW50LmxvY2spOwotfQotCi1zdGF0aWMgdm9pZCBjb21taXRfZGVzdHJv eShzdHJ1Y3QgbXNtX2NvbW1pdCAqYykKLXsKLQllbmRfYXRvbWljKGMtPmRldi0+ZGV2X3ByaXZh dGUsIGMtPmNydGNfbWFzayk7Ci0JaWYgKGMtPm5vbmJsb2NrKQotCQlrZnJlZShjKTsKLX0KLQog c3RhdGljIHZvaWQgbXNtX2F0b21pY193YWl0X2Zvcl9jb21taXRfZG9uZSgKIAkJc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKIAkJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKQEAg LTExOCw2ICs3MywxMCBAQCBzdGF0aWMgdm9pZCBtc21fYXRvbWljX2NvbW1pdF90YWlsKHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIAogCW1zbV9hdG9taWNfd2FpdF9mb3JfY29tbWl0 X2RvbmUoZGV2LCBzdGF0ZSk7CiAKKwlkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfaHdfZG9uZShz dGF0ZSk7CisKKwlkcm1fYXRvbWljX2hlbHBlcl93YWl0X2Zvcl92YmxhbmtzKGRldiwgc3RhdGUp OworCiAJZHJtX2F0b21pY19oZWxwZXJfY2xlYW51cF9wbGFuZXMoZGV2LCBzdGF0ZSk7CiAKIAlr bXMtPmZ1bmNzLT5jb21wbGV0ZV9jb21taXQoa21zLCBzdGF0ZSk7CkBAIC0xMjYsMTA5ICs4NSwy NSBAQCBzdGF0aWMgdm9pZCBtc21fYXRvbWljX2NvbW1pdF90YWlsKHN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSkKIC8qIFRoZSAocG90ZW50aWFsbHkpIGFzeW5jaHJvbm91cyBwYXJ0IG9m IHRoZSBjb21taXQuICBBdCB0aGlzIHBvaW50CiAgKiBub3RoaW5nIGNhbiBmYWlsIHNob3J0IG9m IGFybWFnZWRkb24uCiAgKi8KLXN0YXRpYyB2b2lkIGNvbXBsZXRlX2NvbW1pdChzdHJ1Y3QgbXNt X2NvbW1pdCAqYykKK3N0YXRpYyB2b2lkIGNvbW1pdF90YWlsKHN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjLT5zdGF0 ZTsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gc3RhdGUtPmRldjsKKwlkcm1fYXRvbWljX2hl bHBlcl93YWl0X2Zvcl9mZW5jZXMoc3RhdGUtPmRldiwgc3RhdGUsIGZhbHNlKTsKIAotCWRybV9h dG9taWNfaGVscGVyX3dhaXRfZm9yX2ZlbmNlcyhkZXYsIHN0YXRlLCBmYWxzZSk7CisJZHJtX2F0 b21pY19oZWxwZXJfd2FpdF9mb3JfZGVwZW5kZW5jaWVzKHN0YXRlKTsKIAogCW1zbV9hdG9taWNf Y29tbWl0X3RhaWwoc3RhdGUpOwogCi0JZHJtX2F0b21pY19zdGF0ZV9wdXQoc3RhdGUpOwotfQot Ci1zdGF0aWMgdm9pZCBfbXNtX2RybV9jb21taXRfd29ya19jYihzdHJ1Y3Qga3RocmVhZF93b3Jr ICp3b3JrKQotewotCXN0cnVjdCBtc21fY29tbWl0ICpjb21taXQgPSAgTlVMTDsKLQotCWlmICgh d29yaykgewotCQlEUk1fRVJST1IoIiVzOiBJbnZhbGlkIGNvbW1pdCB3b3JrIGRhdGEhXG4iLCBf X2Z1bmNfXyk7Ci0JCXJldHVybjsKLQl9Ci0KLQljb21taXQgPSBjb250YWluZXJfb2Yod29yaywg c3RydWN0IG1zbV9jb21taXQsIGNvbW1pdF93b3JrKTsKLQotCWNvbXBsZXRlX2NvbW1pdChjb21t aXQpOwotCi0JY29tbWl0X2Rlc3Ryb3koY29tbWl0KTsKLX0KLQotc3RhdGljIHN0cnVjdCBtc21f Y29tbWl0ICpjb21taXRfaW5pdChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCi0JCWJv b2wgbm9uYmxvY2spCi17Ci0Jc3RydWN0IG1zbV9jb21taXQgKmMgPSBremFsbG9jKHNpemVvZigq YyksIEdGUF9LRVJORUwpOworCWRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9jbGVhbnVwX2RvbmUo c3RhdGUpOwogCi0JaWYgKCFjKQotCQlyZXR1cm4gTlVMTDsKLQotCWMtPmRldiA9IHN0YXRlLT5k ZXY7Ci0JYy0+c3RhdGUgPSBzdGF0ZTsKLQljLT5ub25ibG9jayA9IG5vbmJsb2NrOwotCi0Ja3Ro cmVhZF9pbml0X3dvcmsoJmMtPmNvbW1pdF93b3JrLCBfbXNtX2RybV9jb21taXRfd29ya19jYik7 Ci0KLQlyZXR1cm4gYzsKKwlkcm1fYXRvbWljX3N0YXRlX3B1dChzdGF0ZSk7CiB9CiAKLS8qIFN0 YXJ0IGRpc3BsYXkgdGhyZWFkIGZ1bmN0aW9uICovCi1zdGF0aWMgdm9pZCBtc21fYXRvbWljX2Nv bW1pdF9kaXNwYXRjaChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQlzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqc3RhdGUsIHN0cnVjdCBtc21fY29tbWl0ICpjb21taXQpCitzdGF0aWMgdm9pZCBj b21taXRfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiB7Ci0Jc3RydWN0IG1zbV9kcm1f cHJpdmF0ZSAqcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGRybV9jcnRjICpjcnRj ID0gTlVMTDsKLQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlID0gTlVMTDsK LQlpbnQgcmV0ID0gLUVJTlZBTCwgaSA9IDAsIGogPSAwOwotCWJvb2wgbm9uYmxvY2s7Ci0KLQkv KiBjYWNoZSBzaW5jZSB3b3JrIHdpbGwga2ZyZWUgY29tbWl0IGluIG5vbi1ibG9ja2luZyBjYXNl ICovCi0Jbm9uYmxvY2sgPSBjb21taXQtPm5vbmJsb2NrOwotCi0JZm9yX2VhY2hfbmV3X2NydGNf aW5fc3RhdGUoc3RhdGUsIGNydGMsIG5ld19jcnRjX3N0YXRlLCBpKSB7Ci0JCWZvciAoaiA9IDA7 IGogPCBwcml2LT5udW1fY3J0Y3M7IGorKykgewotCQkJaWYgKHByaXYtPmRpc3BfdGhyZWFkW2pd LmNydGNfaWQgPT0KLQkJCQkJCWNydGMtPmJhc2UuaWQpIHsKLQkJCQlpZiAocHJpdi0+ZGlzcF90 aHJlYWRbal0udGhyZWFkKSB7Ci0JCQkJCWt0aHJlYWRfcXVldWVfd29yaygKLQkJCQkJCSZwcml2 LT5kaXNwX3RocmVhZFtqXS53b3JrZXIsCi0JCQkJCQkJJmNvbW1pdC0+Y29tbWl0X3dvcmspOwot CQkJCQkvKiBvbmx5IHJldHVybiB6ZXJvIGlmIHdvcmsgaXMKLQkJCQkJICogcXVldWVkIHN1Y2Nl c3NmdWxseS4KLQkJCQkJICovCi0JCQkJCXJldCA9IDA7Ci0JCQkJfSBlbHNlIHsKLQkJCQkJRFJN X0VSUk9SKCIgRXJyb3IgZm9yIGNydGNfaWQ6ICVkXG4iLAotCQkJCQkJcHJpdi0+ZGlzcF90aHJl YWRbal0uY3J0Y19pZCk7Ci0JCQkJfQotCQkJCWJyZWFrOwotCQkJfQotCQl9Ci0JCS8qCi0JCSAq IFRPRE86IGhhbmRsZSBjYXNlcyB3aGVyZSB0aGVyZSB3aWxsIGJlIG1vcmUgdGhhbgotCQkgKiBv bmUgY3J0YyBwZXIgY29tbWl0IGN5Y2xlLiBSZW1vdmUgdGhpcyBjaGVjayB0aGVuLgotCQkgKiBD dXJyZW50IGFzc3VtcHRpb24gaXMgdGhlcmUgd2lsbCBiZSBvbmx5IG9uZSBjcnRjCi0JCSAqIHBl ciBjb21taXQgY3ljbGUuCi0JCSAqLwotCQlpZiAoaiA8IHByaXYtPm51bV9jcnRjcykKLQkJCWJy ZWFrOwotCX0KLQotCWlmIChyZXQpIHsKLQkJLyoqCi0JCSAqIHRoaXMgaXMgbm90IGV4cGVjdGVk IHRvIGhhcHBlbiwgYnV0IGF0IHRoaXMgcG9pbnQgdGhlIHN0YXRlCi0JCSAqIGhhcyBiZWVuIHN3 YXBwZWQsIGJ1dCB3ZSBjb3VsZG4ndCBkaXNwYXRjaCB0byBhIGNydGMgdGhyZWFkLgotCQkgKiBm YWxsYmFjayBub3cgdG8gYSBzeW5jaHJvbm91cyBjb21wbGV0ZV9jb21taXQgdG8gdHJ5IGFuZAot CQkgKiBlbnN1cmUgdGhhdCBTVyBhbmQgSFcgc3RhdGUgZG9uJ3QgZ2V0IG91dCBvZiBzeW5jLgot CQkgKi8KLQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gZGlzcGF0Y2ggY29tbWl0IHRvIGFueSBDUlRD XG4iKTsKLQkJY29tcGxldGVfY29tbWl0KGNvbW1pdCk7Ci0JfSBlbHNlIGlmICghbm9uYmxvY2sp IHsKLQkJa3RocmVhZF9mbHVzaF93b3JrKCZjb21taXQtPmNvbW1pdF93b3JrKTsKLQl9Ci0KLQkv KiBmcmVlIG5vbmJsb2NraW5nIGNvbW1pdHMgaW4gdGhpcyBjb250ZXh0LCBhZnRlciBwcm9jZXNz aW5nICovCi0JaWYgKCFub25ibG9jaykKLQkJa2ZyZWUoY29tbWl0KTsKKwlzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqc3RhdGUgPSBjb250YWluZXJfb2Yod29yaywKKwkJCQkJCSAgICAgIHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlLAorCQkJCQkJICAgICAgY29tbWl0X3dvcmspOworCWNvbW1pdF90 YWlsKHN0YXRlKTsKIH0KIAogLyoqCkBAIC0yNDcsMTcgKzEyMiwxMiBAQCBpbnQgbXNtX2F0b21p Y19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlLCBib29sIG5vbmJsb2NrKQogewogCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnBy aXYgPSBkZXYtPmRldl9wcml2YXRlOwotCXN0cnVjdCBtc21fY29tbWl0ICpjOwogCXN0cnVjdCBk cm1fY3J0YyAqY3J0YzsKIAlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7CiAJc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmU7CiAJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xkX3BsYW5l X3N0YXRlLCAqbmV3X3BsYW5lX3N0YXRlOwogCWludCBpLCByZXQ7CiAKLQlyZXQgPSBkcm1fYXRv bWljX2hlbHBlcl9wcmVwYXJlX3BsYW5lcyhkZXYsIHN0YXRlKTsKLQlpZiAocmV0KQotCQlyZXR1 cm4gcmV0OwotCiAJLyoKIAkgKiBOb3RlIHRoYXQgcGxhbmUtPmF0b21pY19hc3luY19jaGVjaygp IHNob3VsZCBmYWlsIGlmIHdlIG5lZWQKIAkgKiB0byByZS1hc3NpZ24gaHdwaXBlIG9yIGFueXRo aW5nIHRoYXQgdG91Y2hlcyBnbG9iYWwgYXRvbWljCkBAIC0yNjUsMzIgKzEzNSwzMCBAQCBpbnQg bXNtX2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkgKiBjYXNlcy4KIAkg Ki8KIAlpZiAoc3RhdGUtPmFzeW5jX3VwZGF0ZSkgeworCQlyZXQgPSBkcm1fYXRvbWljX2hlbHBl cl9wcmVwYXJlX3BsYW5lcyhkZXYsIHN0YXRlKTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7 CisKIAkJZHJtX2F0b21pY19oZWxwZXJfYXN5bmNfY29tbWl0KGRldiwgc3RhdGUpOwogCQlkcm1f YXRvbWljX2hlbHBlcl9jbGVhbnVwX3BsYW5lcyhkZXYsIHN0YXRlKTsKIAkJcmV0dXJuIDA7CiAJ fQogCi0JYyA9IGNvbW1pdF9pbml0KHN0YXRlLCBub25ibG9jayk7Ci0JaWYgKCFjKSB7Ci0JCXJl dCA9IC1FTk9NRU07Ci0JCWdvdG8gZXJyb3I7Ci0JfQorCXJldCA9IGRybV9hdG9taWNfaGVscGVy X3NldHVwX2NvbW1pdChzdGF0ZSwgbm9uYmxvY2spOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7 CiAKLQkvKgotCSAqIEZpZ3VyZSBvdXQgd2hhdCBjcnRjcyB3ZSBoYXZlOgotCSAqLwotCWZvcl9l YWNoX25ld19jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBjcnRjX3N0YXRlLCBpKQotCQljLT5j cnRjX21hc2sgfD0gZHJtX2NydGNfbWFzayhjcnRjKTsKKwlJTklUX1dPUksoJnN0YXRlLT5jb21t aXRfd29yaywgY29tbWl0X3dvcmspOwogCi0JLyoKLQkgKiBXYWl0IGZvciBwZW5kaW5nIHVwZGF0 ZXMgb24gYW55IG9mIHRoZSBzYW1lIGNydGMncyBhbmQgdGhlbgotCSAqIG1hcmsgb3VyIHNldCBv ZiBjcnRjJ3MgYXMgYnVzeToKLQkgKi8KLQlyZXQgPSBzdGFydF9hdG9taWMoZGV2LT5kZXZfcHJp dmF0ZSwgYy0+Y3J0Y19tYXNrKTsKKwlyZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9wcmVwYXJlX3Bs YW5lcyhkZXYsIHN0YXRlKTsKIAlpZiAocmV0KQotCQlnb3RvIGVycl9mcmVlOworCQlyZXR1cm4g cmV0OwogCi0JQlVHX09OKGRybV9hdG9taWNfaGVscGVyX3N3YXBfc3RhdGUoc3RhdGUsIGZhbHNl KSA8IDApOworCWlmICghbm9uYmxvY2spIHsKKwkJcmV0ID0gZHJtX2F0b21pY19oZWxwZXJfd2Fp dF9mb3JfZmVuY2VzKGRldiwgc3RhdGUsIHRydWUpOworCQlpZiAocmV0KQorCQkJZ290byBlcnJv cjsKKwl9CiAKIAkvKgogCSAqIFRoaXMgaXMgdGhlIHBvaW50IG9mIG5vIHJldHVybiAtIGV2ZXJ5 dGhpbmcgYmVsb3cgbmV2ZXIgZmFpbHMgZXhjZXB0CkBAIC0yOTksNiArMTY3LDggQEAgaW50IG1z bV9hdG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJICoKIAkgKiBzd2FwIGRy aXZlciBwcml2YXRlIHN0YXRlIHdoaWxlIHN0aWxsIGhvbGRpbmcgc3RhdGVfbG9jawogCSAqLwor CUJVR19PTihkcm1fYXRvbWljX2hlbHBlcl9zd2FwX3N0YXRlKHN0YXRlLCBmYWxzZSkgPCAwKTsK KwogCWlmICh0b19rbXNfc3RhdGUoc3RhdGUpLT5zdGF0ZSkKIAkJcHJpdi0+a21zLT5mdW5jcy0+ c3dhcF9zdGF0ZShwcml2LT5rbXMsIHN0YXRlKTsKIApAQCAtMzI5LDEyICsxOTksMTMgQEAgaW50 IG1zbV9hdG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJICovCiAKIAlkcm1f YXRvbWljX3N0YXRlX2dldChzdGF0ZSk7Ci0JbXNtX2F0b21pY19jb21taXRfZGlzcGF0Y2goZGV2 LCBzdGF0ZSwgYyk7CisJaWYgKG5vbmJsb2NrKQorCQlxdWV1ZV93b3JrKHN5c3RlbV91bmJvdW5k X3dxLCAmc3RhdGUtPmNvbW1pdF93b3JrKTsKKwllbHNlCisJCWNvbW1pdF90YWlsKHN0YXRlKTsK IAogCXJldHVybiAwOwogCi1lcnJfZnJlZToKLQlrZnJlZShjKTsKIGVycm9yOgogCWRybV9hdG9t aWNfaGVscGVyX2NsZWFudXBfcGxhbmVzKGRldiwgc3RhdGUpOwogCXJldHVybiByZXQ7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vbXNtX2Rydi5jCmluZGV4IGVkYTRhMjM0MGY5My4uYjM1NDQyNGNjY2I1IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNt L21zbV9kcnYuYwpAQCAtNTQ5LDcgKzU0OSw2IEBAIHN0YXRpYyBpbnQgbXNtX2RybV9pbml0KHN0 cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRybV9kcml2ZXIgKmRydikKIAkJZ290byBtZHNzX2lu aXRfZmFpbDsKIAogCXByaXYtPndxID0gYWxsb2Nfb3JkZXJlZF93b3JrcXVldWUoIm1zbV9kcm0i LCAwKTsKLQlpbml0X3dhaXRxdWV1ZV9oZWFkKCZwcml2LT5wZW5kaW5nX2NydGNzX2V2ZW50KTsK IAogCUlOSVRfTElTVF9IRUFEKCZwcml2LT5jbGllbnRfZXZlbnRfbGlzdCk7CiAJSU5JVF9MSVNU X0hFQUQoJnByaXYtPmluYWN0aXZlX2xpc3QpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L21zbS9tc21fZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuaAppbmRleCBjZjk2 YTg1ZjRiNTUuLjI5MjQ5NmI2ODJlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9t c21fZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKQEAgLTUzNiwxMCAr NTM2LDYgQEAgc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSB7CiAKIAlzdHJ1Y3Qgd29ya3F1ZXVlX3N0 cnVjdCAqd3E7CiAKLQkvKiBjcnRjcyBwZW5kaW5nIGFzeW5jIGF0b21pYyB1cGRhdGVzOiAqLwot CXVpbnQzMl90IHBlbmRpbmdfY3J0Y3M7Ci0Jd2FpdF9xdWV1ZV9oZWFkX3QgcGVuZGluZ19jcnRj c19ldmVudDsKLQogCXVuc2lnbmVkIGludCBudW1fcGxhbmVzOwogCXN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lc1tNQVhfUExBTkVTXTsKIAotLSAKU2VhbiBQYXVsLCBTb2Z0d2FyZSBFbmdpbmVlciwg R29vZ2xlIC8gQ2hyb21pdW0gT1MKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ZyZWVkcmVubwo=