From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [RFC 3/4] drm/i915: Interrupt driven fences Date: Fri, 20 Mar 2015 17:48:36 +0000 Message-ID: <1426873717-10176-4-git-send-email-John.C.Harrison@Intel.com> References: <1426873717-10176-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 9691A6ECB0 for ; Fri, 20 Mar 2015 10:48:42 -0700 (PDT) In-Reply-To: <1426873717-10176-1-git-send-email-John.C.Harrison@Intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClRoZSBpbnRl bmRlZCB1c2FnZSBtb2RlbCBmb3Igc3RydWN0IGZlbmNlIGlzIHRoYXQgdGhlIHNpZ25hbGxlZCBz dGF0dXMgc2hvdWxkIGJlCnNldCBvbiBkZW1hbmQgcmF0aGVyIHRoYW4gcG9sbGVkLiBUaGF0IGlz LCB0aGVyZSBzaG91bGQgbm90IGJlIGEgbmVlZCBmb3IgYQonc2lnbmFsZWQnIGZ1bmN0aW9uIHRv IGJlIGNhbGxlZCBldmVyeXRpbWUgdGhlIHN0YXR1cyBpcyBxdWVyaWVkLiBJbnN0ZWFkLAonc29t ZXRoaW5nJyBzaG91bGQgYmUgZG9uZSB0byBlbmFibGUgYSBzaWduYWwgY2FsbGJhY2sgZnJvbSB0 aGUgaGFyZHdhcmUgd2hpY2gKd2lsbCB1cGRhdGUgdGhlIHN0YXRlIGRpcmVjdGx5LiBJbiB0aGUg Y2FzZSBvZiByZXF1ZXN0cywgdGhpcyBpcyB0aGUgc2Vxbm8KdXBkYXRlIGludGVycnVwdC4gVGhl IGlkZWEgaXMgdGhhdCB0aGlzIGNhbGxiYWNrIHdpbGwgb25seSBiZSBlbmFibGVkIG9uIGRlbWFu ZAp3aGVuIHNvbWV0aGluZyBhY3R1YWxseSB0cmllcyB0byB3YWl0IG9uIHRoZSBmZW5jZS4KClRo aXMgY2hhbmdlIHJlbW92ZXMgdGhlIHBvbGxpbmcgdGVzdCBhbmQgcmVwbGFjZXMgaXQgd2l0aCB0 aGUgY2FsbGJhY2sgc2NoZW1lLgpUbyBhdm9pZCByYWNlIGNvbmRpdGlvbnMgd2hlcmUgc2lnbmFs cyBjYW4gYmUgc2VudCBiZWZvcmUgYW55b25lIGlzIHdhaXRpbmcgZm9yCnRoZW0sIGl0IGRvZXMg bm90IGltcGxlbWVudCB0aGUgY2FsbGJhY2sgb24gZGVtYW5kIGZlYXR1cmUuIFdoZW4gdGhlIEdQ VQpzY2hlZHVsZXIgYXJyaXZlcywgaXQgd2lsbCBuZWVkIHRvIGtub3cgYWJvdXQgdGhlIGNvbXBs ZXRpb24gb2YgZXZlcnkgc2luZ2xlCnJlcXVlc3QgYW55d2F5LiBTbyBpdCBpcyBmYXIgc2ltcGxl ciB0byBub3QgcHV0IGluIGNvbXBsZXggYW5kIG1lc3N5IGFudGktcmFjZQpjb2RlIGluIHRoZSBm aXJzdCBwbGFjZSBnaXZlbiB0aGF0IGl0IHdpbGwgbm90IGJlIG5lZWRlZCBpbiB0aGUgZnV0dXJl LgoKSW5zdGVhZCwgZWFjaCBmZW5jZSBpcyBhZGRlZCB0byBhICdwbGVhc2UgcG9rZSBtZScgbGlz dCBhdCB0aGUgc3RhcnQgb2YKaTkxNV9hZGRfcmVxdWVzdCgpLiBUaGlzIGhhcHBlbnMgYmVmb3Jl IHRoZSBjb21tYW5kcyB0byBnZW5lcmF0ZSB0aGUgc2Vxbm8KaW50ZXJydXB0IGFyZSBhZGRlZCB0 byB0aGUgcmluZyB0aHVzIGlzIGd1YXJhbnRlZWQgdG8gYmUgcmFjZSBmcmVlLiBUaGUKaW50ZXJy dXB0IGhhbmRsZXIgdGhlbiBzY2FucyB0aHJvdWdoIHRoZSAncG9rZSBtZScgbGlzdCB3aGVuIGEg bmV3IHNlcW5vIHBvcHMKb3V0IGFuZCBzaWduYWxzIGFueSBtYXRjaGluZyBmZW5jZS9yZXF1ZXN0 LiBUaGUgZmVuY2UgaXMgdGhlbiByZW1vdmVkIGZyb20gdGhlCmxpc3Qgc28gdGhlIGVudGlyZSBy ZXF1ZXN0IHN0YWNrIGRvZXMgbm90IG5lZWQgdG8gYmUgc2Nhbm5lZCBldmVyeSB0aW1lLgoKVGhl IG9ubHkgY29tcGxpY2F0aW9uIGhlcmUgaXMgdGhhdCB0aGUgJ3Bva2UgbWUnIHN5c3RlbSByZXF1 aXJlcyBob2xkaW5nIGEKcmVmZXJlbmNlIGNvdW50IG9uIHRoZSByZXF1ZXN0IHRvIGd1YXJhbnRl ZSB0aGF0IGl0IHdvbid0IGJlIGZyZWVkIHByZW1hdHVyZWx5LgpVbmZvcnR1bmF0ZWx5LCBpdCBp cyB1bnNhZmUgdG8gZGVjcmVtZW50IHRoZSByZWZlcmVuY2UgY291bnQgZnJvbSB0aGUgaW50ZXJy dXB0CmhhbmRsZXIgYmVjYXVzZSBpZiB0aGF0IGlzIHRoZSBsYXN0IHJlZmVyZW5jZSwgdGhlIGNs ZWFuIHVwIGNvZGUgZ2V0cyBydW4gYW5kCnRoZSBjbGVhbiB1cCBjb2RlIGlzIG5vdCBJUlEgZnJp ZW5kbHkuIEhlbmNlLCB0aGUgcmVxdWVzdCBpcyBhZGRlZCB0byBhICdwbGVhc2UKY2xlYW4gbWUn IGxpc3QgdGhhdCBnZXRzIHByb2Nlc3NlZCBhdCByZXRpcmUgdGltZS4gQW55IHJlcXVlc3QgaW4g dGhpcyBsaXN0CnNpbXBseSBoYXMgaXRzIGNvdW50IGRlY3JlbWVudGVkIGFuZCBpcyB0aGVuIHJl bW92ZWQgZnJvbSB0aGF0IGxpc3QuCgpMYXN0bHksIHRoZSByaW5nIGNsZWFuIHVwIGNvZGUgaGFz IHRoZSBwb3NzaWJpbGl0eSB0byBjYW5jZWwgb3V0c3RhbmRpbmcKcmVxdWVzdHMgKGUuZy4gYmVj YXVzZSBURFIgaGFzIHJlc2V0IHRoZSByaW5nKS4gVGhlc2UgcmVxdWVzdHMgd2lsbCBuZXZlciBn ZXQKc2lnbmFsbGVkIGFuZCBzbyBtdXN0IGJlIHJlbW92ZWQgZnJvbSB0aGUgc2lnbmFsIGxpc3Qg bWFudWFsbHkuIFRoaXMgaXMgZG9uZSBieQpzZXR0aW5nIGEgJ2NhbmNlbGxlZCcgZmxhZyBhbmQg dGhlbiBjYWxsaW5nIHRoZSByZWd1bGFyIG5vdGlmeS9yZXRpcmUgY29kZSBwYXRoCnJhdGhlciB0 aGFuIGF0dGVtcHRpbmcgdG8gZHVwbGljYXRlIHRoZSBsaXN0IG1hbmlwdWxhdGF0aW9uIGFuZCBj bGVhbiB1cCBjb2RlIGluCm11bHRpcGxlIHBsYWNlcy4KCkZvcjogVklaLTUxOTAKU2lnbmVkLW9m Zi1ieTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgfCAgICA1ICsrCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgfCAgIDg0ICsrKysrKysrKysrKysrKysrKysr KysrKysrKystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgICAgICB8ICAg IDMgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICB8ICAgIDIgKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIHwgICAgMiArCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggfCAgICAyICsKIDYgZmlsZXMgY2hhbmdl ZCwgOTAgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAppbmRleCAyOGIzYzNjLi5mZjY2MmM5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTIw NTQsNiArMjA1NCw5IEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCB7CiAJICAqIHJlLW9y ZGVyaW5nLCBwcmUtZW1wdGlvbiwgZXRjLiwgdGhlcmUgaXMgbm8gZ3VhcmFudGVlIGF0IGFsbAog CSAgKiBhYm91dCB0aGUgdmFsaWRpdHkgb3Igc2VxdWVudGlhbGlhdHkgb2YgdGhlIGZlbmNlJ3Mg c2Vxbm8hICovCiAJc3RydWN0IGZlbmNlIGZlbmNlOworCXN0cnVjdCBsaXN0X2hlYWQgc2lnbmFs X2xpc3Q7CisJc3RydWN0IGxpc3RfaGVhZCB1bnNpZ25hbF9saXN0OworCWJvb2wgY2FuY2VsbGVk OwogCiAJLyoqIE9uIFdoaWNoIHJpbmcgdGhpcyByZXF1ZXN0IHdhcyBnZW5lcmF0ZWQgKi8KIAlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nOwpAQCAtMjEzMiw2ICsyMTM1LDggQEAgaW50IGk5 MTVfZ2VtX3JlcXVlc3RfYWxsb2Moc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAkJCSAg IHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqKnJlcV9vdXQpOwogdm9pZCBpOTE1X2dlbV9y ZXF1ZXN0X2NhbmNlbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSk7CiAKK3ZvaWQg aTkxNV9nZW1fcmVxdWVzdF9ub3RpZnkoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7CisK IHN0YXRpYyBpbmxpbmUgYm9vbCBpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChzdHJ1Y3QgZHJt X2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIHsKIAlyZXR1cm4gZmVuY2VfaXNfc2lnbmFsZWQoJnJl cS0+ZmVuY2UpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggYjFjZGU3ZC4uMjdiODg5MyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC0yMzY0LDYgKzIzNjQsMTIgQEAgdm9pZCBfX2k5 MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0LAogCSAq LwogCXJlcXVlc3QtPnBvc3RmaXggPSBpbnRlbF9yaW5nX2dldF90YWlsKHJpbmdidWYpOwogCisJ LyoKKwkgKiBBZGQgdGhlIGZlbmNlIHRvIHRoZSBwZW5kaW5nIGxpc3QgYmVmb3JlIGVtaXR0aW5n IHRoZSBjb21tYW5kcyB0bworCSAqIGdlbmVyYXRlIGEgc2Vxbm8gbm90aWZpY2F0aW9uIGludGVy cnVwdC4KKwkgKi8KKwlmZW5jZV9lbmFibGVfc3dfc2lnbmFsaW5nKCZyZXF1ZXN0LT5mZW5jZSk7 CisKIAlpZiAoaTkxNS5lbmFibGVfZXhlY2xpc3RzKQogCQlyZXQgPSByaW5nLT5lbWl0X3JlcXVl c3QocmVxdWVzdCk7CiAJZWxzZQpAQCAtMjQ5Miw2ICsyNDk4LDEwIEBAIHN0YXRpYyB2b2lkIGk5 MTVfZ2VtX2ZyZWVfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3Qp CiAKIAlwdXRfcGlkKHJlcXVlc3QtPnBpZCk7CiAKKwkvKiBJbiBjYXNlIHRoZSByZXF1ZXN0IGlz IHN0aWxsIGluIHRoZSBzaWduYWwgcGVuZGluZyBsaXN0ICovCisJaWYgKCFsaXN0X2VtcHR5KCZy ZXF1ZXN0LT5zaWduYWxfbGlzdCkpCisJCXJlcXVlc3QtPmNhbmNlbGxlZCA9IHRydWU7CisKIAlp OTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlKHJlcXVlc3QpOwogfQogCkBAIC0yNTMyLDI4ICsy NTQyLDYyIEBAIHN0YXRpYyBjb25zdCBjaGFyICppOTE1X2dlbV9yZXF1ZXN0X2dldF90aW1lbGlu ZV9uYW1lKHN0cnVjdCBmZW5jZSAqcmVxX2ZlbmNlKQogCiBzdGF0aWMgYm9vbCBpOTE1X2dlbV9y ZXF1ZXN0X2VuYWJsZV9zaWduYWxpbmcoc3RydWN0IGZlbmNlICpyZXFfZmVuY2UpCiB7Ci0JV0FS Tih0cnVlLCAiSXMgdGhpcyByZXF1aXJlZD8iKTsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJlcSA9IGNvbnRhaW5lcl9vZihyZXFfZmVuY2UsCisJCQkJCQkgdHlwZW9mKCpyZXEpLCBm ZW5jZSk7CisJYm9vbCB3YXNfZW1wdHk7CisKKwl3YXNfZW1wdHkgPSBsaXN0X2VtcHR5KCZyZXEt PnJpbmctPmZlbmNlX3NpZ25hbF9saXN0KTsKKwlpZiAod2FzX2VtcHR5KQorCQlXQVJOX09OKCFy ZXEtPnJpbmctPmlycV9nZXQocmVxLT5yaW5nKSk7CisKKwlpOTE1X2dlbV9yZXF1ZXN0X3JlZmVy ZW5jZShyZXEpOworCWxpc3RfYWRkX3RhaWwoJnJlcS0+c2lnbmFsX2xpc3QsICZyZXEtPnJpbmct PmZlbmNlX3NpZ25hbF9saXN0KTsKKworCS8qCisJICogTm90ZSB0aGF0IHNpZ25hbGxpbmcgaXMg YWx3YXlzIGVuYWJsZWQgZm9yIGV2ZXJ5IHJlcXVlc3QgYmVmb3JlCisJICogdGhhdCByZXF1ZXN0 IGlzIHN1Ym1pdHRlZCB0byB0aGUgaGFyZHdhcmUuIFRoZXJlZm9yZSB0aGVyZSBpcworCSAqIG5v IHJhY2UgY29uZGl0aW9uIHdoZXJlYnkgdGhlIHNpZ25hbCBjb3VsZCBwb3Agb3V0IGJlZm9yZSB0 aGUKKwkgKiByZXF1ZXN0IGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBsaXN0LiBIZW5jZSBubyBuZWVk IHRvIGNoZWNrCisJICogZm9yIGNvbXBsZXRpb24gYW5kIHVuZG8gdG8gdGhlIGxpc3QgYWRkIGFu ZCByZXR1cm4gZmFsc2UuCisJICovCisKIAlyZXR1cm4gdHJ1ZTsKIH0KIAotc3RhdGljIGJvb2wg aTkxNV9nZW1fcmVxdWVzdF9pc19jb21wbGV0ZWQoc3RydWN0IGZlbmNlICpyZXFfZmVuY2UpCit2 b2lkIGk5MTVfZ2VtX3JlcXVlc3Rfbm90aWZ5KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcp CiB7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEgPSBjb250YWluZXJfb2YocmVx X2ZlbmNlLAotCQkJCQkJIHR5cGVvZigqcmVxKSwgZmVuY2UpOworCXN0cnVjdCBkcm1faTkxNV9n ZW1fcmVxdWVzdCAqcmVxLCAqcmVxX25leHQ7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKIAl1MzIg c2Vxbm87CiAKLQlCVUdfT04ocmVxID09IE5VTEwpOworCWlmIChsaXN0X2VtcHR5KCZyaW5nLT5m ZW5jZV9zaWduYWxfbGlzdCkpCisJCXJldHVybjsKKworCXNlcW5vID0gcmluZy0+Z2V0X3NlcW5v KHJpbmcsIGZhbHNlKTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZyaW5nLT5mZW5jZV9sb2NrLCBm bGFncyk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHJlcSwgcmVxX25leHQsICZyaW5nLT5m ZW5jZV9zaWduYWxfbGlzdCwgc2lnbmFsX2xpc3QpIHsKKwkJaWYgKCFyZXEtPmNhbmNlbGxlZCkg eworCQkJaWYgKCFpOTE1X3NlcW5vX3Bhc3NlZChzZXFubywgcmVxLT5zZXFubykpCisJCQkJY29u dGludWU7CiAKLQlzZXFubyA9IHJlcS0+cmluZy0+Z2V0X3NlcW5vKHJlcS0+cmluZywgZmFsc2Uv KmxhenlfY29oZXJlbmN5Ki8pOworCQkJZmVuY2Vfc2lnbmFsX2xvY2tlZCgmcmVxLT5mZW5jZSk7 CisJCX0KKworCQlsaXN0X2RlbCgmcmVxLT5zaWduYWxfbGlzdCk7CisJCUlOSVRfTElTVF9IRUFE KCZyZXEtPnNpZ25hbF9saXN0KTsKKwkJaWYgKGxpc3RfZW1wdHkoJnJlcS0+cmluZy0+ZmVuY2Vf c2lnbmFsX2xpc3QpKQorCQkJcmVxLT5yaW5nLT5pcnFfcHV0KHJlcS0+cmluZyk7CiAKLQlyZXR1 cm4gaTkxNV9zZXFub19wYXNzZWQoc2Vxbm8sIHJlcS0+c2Vxbm8pOworCQlsaXN0X2FkZF90YWls KCZyZXEtPnVuc2lnbmFsX2xpc3QsICZyZXEtPnJpbmctPmZlbmNlX3Vuc2lnbmFsX2xpc3QpOwor CX0KKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyaW5nLT5mZW5jZV9sb2NrLCBmbGFncyk7CiB9 CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmVuY2Vfb3BzIGk5MTVfZ2VtX3JlcXVlc3RfZm9wcyA9 IHsKIAkuZ2V0X2RyaXZlcl9uYW1lCT0gaTkxNV9nZW1fcmVxdWVzdF9nZXRfZHJpdmVyX25hbWUs CiAJLmdldF90aW1lbGluZV9uYW1lCT0gaTkxNV9nZW1fcmVxdWVzdF9nZXRfdGltZWxpbmVfbmFt ZSwKIAkuZW5hYmxlX3NpZ25hbGluZwk9IGk5MTVfZ2VtX3JlcXVlc3RfZW5hYmxlX3NpZ25hbGlu ZywKLQkuc2lnbmFsZWQJCT0gaTkxNV9nZW1fcmVxdWVzdF9pc19jb21wbGV0ZWQsCiAJLndhaXQJ CQk9IGZlbmNlX2RlZmF1bHRfd2FpdCwKIAkucmVsZWFzZQkJPSBpOTE1X2dlbV9yZXF1ZXN0X2Zy ZWUsCiB9OwpAQCAtMjU5Niw2ICsyNjQwLDcgQEAgaW50IGk5MTVfZ2VtX3JlcXVlc3RfYWxsb2Mo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAkJcmV0dXJuIHJldDsKIAl9CiAKKwlJTklU X0xJU1RfSEVBRCgmcmVxdWVzdC0+c2lnbmFsX2xpc3QpOwogCWZlbmNlX2luaXQoJnJlcXVlc3Qt PmZlbmNlLCAmaTkxNV9nZW1fcmVxdWVzdF9mb3BzLCAmcmluZy0+ZmVuY2VfbG9jaywgcmluZy0+ ZmVuY2VfY29udGV4dCwgcmVxdWVzdC0+c2Vxbm8pOwogCiAJLyoKQEAgLTI3MTQsNiArMjc1OSwx MyBAQCBzdGF0aWMgdm9pZCBpOTE1X2dlbV9yZXNldF9yaW5nX2NsZWFudXAoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAogCiAJCWk5MTVfZ2VtX2ZyZWVfcmVxdWVzdChyZXF1ZXN0 KTsKIAl9CisKKwkvKgorCSAqIE1ha2Ugc3VyZSBhbnkgcmVxdWVzdHMgdGhhdCB3ZXJlIG9uIHRo ZSBzaWduYWwgcGVuZGluZyBsaXN0IGdldAorCSAqIGNsZWFuZWQgdXAuCisJICovCisJaTkxNV9n ZW1fcmVxdWVzdF9ub3RpZnkocmluZyk7CisJaTkxNV9nZW1fcmV0aXJlX3JlcXVlc3RzX3Jpbmco cmluZyk7CiB9CiAKIHZvaWQgaTkxNV9nZW1fcmVzdG9yZV9mZW5jZXMoc3RydWN0IGRybV9kZXZp Y2UgKmRldikKQEAgLTI4MTYsNiArMjg2OCwyMCBAQCBpOTE1X2dlbV9yZXRpcmVfcmVxdWVzdHNf cmluZyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogCQlpOTE1X2dlbV9yZXF1ZXN0X2Fz c2lnbigmcmluZy0+dHJhY2VfaXJxX3JlcSwgTlVMTCk7CiAJfQogCisJd2hpbGUgKCFsaXN0X2Vt cHR5KCZyaW5nLT5mZW5jZV91bnNpZ25hbF9saXN0KSkgeworCQlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcXVlc3Q7CisJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwkJc3Bpbl9sb2Nr X2lycXNhdmUoJnJpbmctPmZlbmNlX2xvY2ssIGZsYWdzKTsKKwkJcmVxdWVzdCA9IGxpc3RfZmly c3RfZW50cnkoJnJpbmctPmZlbmNlX3Vuc2lnbmFsX2xpc3QsCisJCQkJCSAgIHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCwKKwkJCQkJICAgdW5zaWduYWxfbGlzdCk7CisJCWxpc3RfZGVsKCZy ZXF1ZXN0LT51bnNpZ25hbF9saXN0KTsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmluZy0+ ZmVuY2VfbG9jaywgZmxhZ3MpOworCisJCWk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVuY2UocmVx dWVzdCk7CisJfQorCiAJV0FSTl9PTihpOTE1X3ZlcmlmeV9saXN0cyhyaW5nLT5kZXYpKTsKIH0K IApAQCAtNTA0OSw2ICs1MTE1LDggQEAgaW5pdF9yaW5nX2xpc3RzKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcpCiB7CiAJSU5JVF9MSVNUX0hFQUQoJnJpbmctPmFjdGl2ZV9saXN0KTsKIAlJ TklUX0xJU1RfSEVBRCgmcmluZy0+cmVxdWVzdF9saXN0KTsKKwlJTklUX0xJU1RfSEVBRCgmcmlu Zy0+ZmVuY2Vfc2lnbmFsX2xpc3QpOworCUlOSVRfTElTVF9IRUFEKCZyaW5nLT5mZW5jZV91bnNp Z25hbF9saXN0KTsKIH0KIAogdm9pZCBpOTE1X2luaXRfdm0oc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKaW5kZXggY2MyNzk2Yi4uZDFjZjIy NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCkBAIC05OTQsNiArOTk0LDggQEAgc3RhdGljIHZv aWQgbm90aWZ5X3Jpbmcoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogCXRyYWNlX2k5MTVfZ2Vt X3JlcXVlc3Rfbm90aWZ5KHJpbmcpOwogCisJaTkxNV9nZW1fcmVxdWVzdF9ub3RpZnkocmluZyk7 CisKIAl3YWtlX3VwX2FsbCgmcmluZy0+aXJxX3F1ZXVlKTsKIH0KIApAQCAtMjk1OSw2ICsyOTYx LDcgQEAgc3RhdGljIHZvaWQgaTkxNV9oYW5nY2hlY2tfZWxhcHNlZChzdHJ1Y3Qgd29ya19zdHJ1 Y3QgKndvcmspCiAJCQlEUk1fSU5GTygiJXMgb24gJXNcbiIsCiAJCQkJIHN0dWNrW2ldID8gInN0 dWNrIiA6ICJubyBwcm9ncmVzcyIsCiAJCQkJIHJpbmctPm5hbWUpOworCQkJdHJhY2VfcHJpbnRr KCIlczolZD4gXHgxQlszMTsxbTwlcz4gQm9ya2VkOiAlcyBAICVkIVx4MUJbMG1cbiIsIF9fZnVu Y19fLCBfX0xJTkVfXywgcmluZy0+bmFtZSwgc3R1Y2tbaV0gPyAic3R1Y2siIDogIm5vIHByb2dy ZXNzIiwgcmluZy0+aGFuZ2NoZWNrLnNlcW5vKTsKIAkJCXJpbmdzX2h1bmcrKzsKIAkJfQogCX0K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggYzEwNzJiMS4uZDg3MTI2ZSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHJjLmMKQEAgLTEzMzcsNiArMTMzNyw4IEBAIHN0YXRpYyBpbnQgbG9naWNh bF9yaW5nX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluCiAJcmluZy0+ZGV2ID0gZGV2OwogCUlOSVRfTElTVF9IRUFEKCZyaW5nLT5hY3RpdmVf bGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJnJpbmctPnJlcXVlc3RfbGlzdCk7CisJSU5JVF9MSVNU X0hFQUQoJnJpbmctPmZlbmNlX3NpZ25hbF9saXN0KTsKKwlJTklUX0xJU1RfSEVBRCgmcmluZy0+ ZmVuY2VfdW5zaWduYWxfbGlzdCk7CiAJc3Bpbl9sb2NrX2luaXQoJnJpbmctPmZlbmNlX2xvY2sp OwogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnJpbmctPmlycV9xdWV1ZSk7CiAKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwppbmRleCBmZDY1YzBkLi45ZDdhZDUxIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCkBAIC0xOTgxLDYgKzE5ODEsOCBAQCBz dGF0aWMgaW50IGludGVsX2luaXRfcmluZ19idWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK IAlJTklUX0xJU1RfSEVBRCgmcmluZy0+YWN0aXZlX2xpc3QpOwogCUlOSVRfTElTVF9IRUFEKCZy aW5nLT5yZXF1ZXN0X2xpc3QpOwogCUlOSVRfTElTVF9IRUFEKCZyaW5nLT5leGVjbGlzdF9xdWV1 ZSk7CisJSU5JVF9MSVNUX0hFQUQoJnJpbmctPmZlbmNlX3NpZ25hbF9saXN0KTsKKwlJTklUX0xJ U1RfSEVBRCgmcmluZy0+ZmVuY2VfdW5zaWduYWxfbGlzdCk7CiAJc3Bpbl9sb2NrX2luaXQoJnJp bmctPmZlbmNlX2xvY2spOwogCXJpbmdidWYtPnNpemUgPSAzMiAqIFBBR0VfU0laRTsKIAlyaW5n YnVmLT5yaW5nID0gcmluZzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3JpbmdidWZmZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaApp bmRleCBhMGNlMDhlLi43NDEyZmU0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5oCkBAIC0zMTEsNiArMzExLDggQEAgc3RydWN0ICBpbnRlbF9lbmdpbmVfY3MgewogCiAJ dW5zaWduZWQgZmVuY2VfY29udGV4dDsKIAlzcGlubG9ja190IGZlbmNlX2xvY2s7CisJc3RydWN0 IGxpc3RfaGVhZCBmZW5jZV9zaWduYWxfbGlzdDsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGZlbmNlX3Vu c2lnbmFsX2xpc3Q7CiB9OwogCiBib29sIGludGVsX3JpbmdfaW5pdGlhbGl6ZWQoc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqcmluZyk7Ci0tIAoxLjcuOS41CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=