From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [CI 16/21] drm/i915: Prepare object synchronisation for asynchronicity Date: Fri, 9 Sep 2016 12:00:56 +0100 Message-ID: <20160909110101.31967-16-chris@chris-wilson.co.uk> References: <20160909110101.31967-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0C6526E79B for ; Fri, 9 Sep 2016 11:01:29 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id a6so2216225wmc.2 for ; Fri, 09 Sep 2016 04:01:28 -0700 (PDT) Received: from haswell.alporthouse.com ([78.156.65.138]) by smtp.gmail.com with ESMTPSA id kq2sm2786494wjc.41.2016.09.09.04.01.21 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 09 Sep 2016 04:01:22 -0700 (PDT) In-Reply-To: <20160909110101.31967-1-chris@chris-wilson.co.uk> 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 V2UgYXJlIGFib3V0IHRvIHNwZWNpYWxpemUgb2JqZWN0IHN5bmNocm9uaXNhdGlvbiB0byBlbmFi bGUgbm9uYmxvY2tpbmcKZXhlY2J1ZiBzdWJtaXNzaW9uLiBGaXJzdCB3ZSBtYWtlIGEgY29weSBv ZiB0aGUgY3VycmVudCBvYmplY3QKc3luY2hyb25pc2F0aW9uIGZvciBleGVjYnVmZmVyLiBUaGUg Z2VuZXJhbCBpOTE1X2dlbV9vYmplY3Rfc3luYygpIHdpbGwKYmUgcmVtb3ZlZCBmb2xsb3dpbmcg dGhlIHJlbW92YWwgb2YgQ1MgZmxpcHMgaW4gdGhlIG5lYXIgZnV0dXJlLgoKU2lnbmVkLW9mZi1i eTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ClJldmlld2VkLWJ5OiBK b2huIEhhcnJpc29uIDxqb2huLmMuaGFycmlzb25AaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogSm9v bmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgICB8ICAyIC0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgICB8IDkxIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIHwg IDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyAgICB8IDg3ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X3JlcXVlc3QuaCAgICB8ICA1ICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgICAgICAgfCAgMiArLQogNiBmaWxlcyBjaGFuZ2VkLCA5NSBpbnNlcnRpb25zKCspLCA5NSBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCAzNzk3OGQzZjYyY2UuLjFl MmRkYTg4YTQ4MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0zMjIxLDggKzMyMjEsNiBA QCBpOTE1X2dlbV9vYmpfZmluaXNoX3NobWVtX2FjY2VzcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqKQogfQogCiBpbnQgX19tdXN0X2NoZWNrIGk5MTVfbXV0ZXhfbG9ja19pbnRlcnJ1 cHRpYmxlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwotaW50IGk5MTVfZ2VtX29iamVjdF9zeW5j KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCi0JCQkgc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICp0byk7CiB2b2lkIGk5MTVfdm1hX21vdmVfdG9fYWN0aXZlKHN0cnVjdCBpOTE1 X3ZtYSAqdm1hLAogCQkJICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJ CSAgICAgdW5zaWduZWQgaW50IGZsYWdzKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDg5 YTVmOGQ5NDhlNy4uNGI1MzY0ZDQ3N2YxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTI4 MTgsOTcgKzI4MTgsNiBAQCBpOTE1X2dlbV93YWl0X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKIAlyZXR1cm4gcmV0OwogfQog Ci1zdGF0aWMgaW50Ci1fX2k5MTVfZ2VtX29iamVjdF9zeW5jKHN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqdG8sCi0JCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKmZyb20p Ci17Ci0JaW50IHJldDsKLQotCWlmICh0by0+ZW5naW5lID09IGZyb20tPmVuZ2luZSkKLQkJcmV0 dXJuIDA7Ci0KLQlpZiAoIWk5MTUuc2VtYXBob3JlcykgewotCQlyZXQgPSBpOTE1X3dhaXRfcmVx dWVzdChmcm9tLAotCQkJCQlmcm9tLT5pOTE1LT5tbS5pbnRlcnJ1cHRpYmxlIHwKLQkJCQkJSTkx NV9XQUlUX0xPQ0tFRCwKLQkJCQkJTlVMTCwKLQkJCQkJTk9fV0FJVEJPT1NUKTsKLQkJaWYgKHJl dCkKLQkJCXJldHVybiByZXQ7Ci0JfSBlbHNlIHsKLQkJaW50IGlkeCA9IGludGVsX2VuZ2luZV9z eW5jX2luZGV4KGZyb20tPmVuZ2luZSwgdG8tPmVuZ2luZSk7Ci0JCWlmIChmcm9tLT5mZW5jZS5z ZXFubyA8PSBmcm9tLT5lbmdpbmUtPnNlbWFwaG9yZS5zeW5jX3NlcW5vW2lkeF0pCi0JCQlyZXR1 cm4gMDsKLQotCQl0cmFjZV9pOTE1X2dlbV9yaW5nX3N5bmNfdG8odG8sIGZyb20pOwotCQlyZXQg PSB0by0+ZW5naW5lLT5zZW1hcGhvcmUuc3luY190byh0bywgZnJvbSk7Ci0JCWlmIChyZXQpCi0J CQlyZXR1cm4gcmV0OwotCi0JCWZyb20tPmVuZ2luZS0+c2VtYXBob3JlLnN5bmNfc2Vxbm9baWR4 XSA9IGZyb20tPmZlbmNlLnNlcW5vOwotCX0KLQotCXJldHVybiAwOwotfQotCi0vKioKLSAqIGk5 MTVfZ2VtX29iamVjdF9zeW5jIC0gc3luYyBhbiBvYmplY3QgdG8gYSByaW5nLgotICoKLSAqIEBv Ymo6IG9iamVjdCB3aGljaCBtYXkgYmUgaW4gdXNlIG9uIGFub3RoZXIgcmluZy4KLSAqIEB0bzog cmVxdWVzdCB3ZSBhcmUgd2lzaGluZyB0byB1c2UKLSAqCi0gKiBUaGlzIGNvZGUgaXMgbWVhbnQg dG8gYWJzdHJhY3Qgb2JqZWN0IHN5bmNocm9uaXphdGlvbiB3aXRoIHRoZSBHUFUuCi0gKiBDb25j ZXB0dWFsbHkgd2Ugc2VyaWFsaXNlIHdyaXRlcyBiZXR3ZWVuIGVuZ2luZXMgaW5zaWRlIHRoZSBH UFUuCi0gKiBXZSBvbmx5IGFsbG93IG9uZSBlbmdpbmUgdG8gd3JpdGUgaW50byBhIGJ1ZmZlciBh dCBhbnkgdGltZSwgYnV0Ci0gKiBtdWx0aXBsZSByZWFkZXJzLiBUbyBlbnN1cmUgZWFjaCBoYXMg YSBjb2hlcmVudCB2aWV3IG9mIG1lbW9yeSwgd2UgbXVzdDoKLSAqCi0gKiAtIElmIHRoZXJlIGlz IGFuIG91dHN0YW5kaW5nIHdyaXRlIHJlcXVlc3QgdG8gdGhlIG9iamVjdCwgdGhlIG5ldwotICog ICByZXF1ZXN0IG11c3Qgd2FpdCBmb3IgaXQgdG8gY29tcGxldGUgKGVpdGhlciBDUFUgb3IgaW4g aHcsIHJlcXVlc3RzCi0gKiAgIG9uIHRoZSBzYW1lIHJpbmcgd2lsbCBiZSBuYXR1cmFsbHkgb3Jk ZXJlZCkuCi0gKgotICogLSBJZiB3ZSBhcmUgYSB3cml0ZSByZXF1ZXN0IChwZW5kaW5nX3dyaXRl X2RvbWFpbiBpcyBzZXQpLCB0aGUgbmV3Ci0gKiAgIHJlcXVlc3QgbXVzdCB3YWl0IGZvciBvdXRz dGFuZGluZyByZWFkIHJlcXVlc3RzIHRvIGNvbXBsZXRlLgotICoKLSAqIFJldHVybnMgMCBpZiBz dWNjZXNzZnVsLCBlbHNlIHByb3BhZ2F0ZXMgdXAgdGhlIGxvd2VyIGxheWVyIGVycm9yLgotICov Ci1pbnQKLWk5MTVfZ2VtX29iamVjdF9zeW5jKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosCi0JCSAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICp0bykKLXsKLQlzdHJ1Y3Qg aTkxNV9nZW1fYWN0aXZlICphY3RpdmU7Ci0JdW5zaWduZWQgbG9uZyBhY3RpdmVfbWFzazsKLQlp bnQgaWR4OwotCi0JbG9ja2RlcF9hc3NlcnRfaGVsZCgmb2JqLT5iYXNlLmRldi0+c3RydWN0X211 dGV4KTsKLQotCWFjdGl2ZV9tYXNrID0gaTkxNV9nZW1fb2JqZWN0X2dldF9hY3RpdmUob2JqKTsK LQlpZiAoIWFjdGl2ZV9tYXNrKQotCQlyZXR1cm4gMDsKLQotCWlmIChvYmotPmJhc2UucGVuZGlu Z193cml0ZV9kb21haW4pIHsKLQkJYWN0aXZlID0gb2JqLT5sYXN0X3JlYWQ7Ci0JfSBlbHNlIHsK LQkJYWN0aXZlX21hc2sgPSAxOwotCQlhY3RpdmUgPSAmb2JqLT5sYXN0X3dyaXRlOwotCX0KLQot CWZvcl9lYWNoX2FjdGl2ZShhY3RpdmVfbWFzaywgaWR4KSB7Ci0JCXN0cnVjdCBkcm1faTkxNV9n ZW1fcmVxdWVzdCAqcmVxdWVzdDsKLQkJaW50IHJldDsKLQotCQlyZXF1ZXN0ID0gaTkxNV9nZW1f YWN0aXZlX3BlZWsoJmFjdGl2ZVtpZHhdLAotCQkJCQkgICAgICAgJm9iai0+YmFzZS5kZXYtPnN0 cnVjdF9tdXRleCk7Ci0JCWlmICghcmVxdWVzdCkKLQkJCWNvbnRpbnVlOwotCi0JCXJldCA9IF9f aTkxNV9nZW1fb2JqZWN0X3N5bmModG8sIHJlcXVlc3QpOwotCQlpZiAocmV0KQotCQkJcmV0dXJu IHJldDsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQogc3RhdGljIHZvaWQgX19pOTE1X3ZtYV9pb3Vu bWFwKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQogewogCUdFTV9CVUdfT04oaTkxNV92bWFfaXNfcGlu bmVkKHZtYSkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhl Y2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCmlu ZGV4IDk0MzJkNGNlOWZmYi4uY2NhZjE1YmE0ZTMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0xMTMzLDcgKzExMzMsOCBAQCBpOTE1X2dlbV9leGVj YnVmZmVyX21vdmVfdG9fZ3B1KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCQlz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gdm1hLT5vYmo7CiAKIAkJaWYgKG9iai0+ ZmxhZ3MgJiBvdGhlcl9yaW5ncykgewotCQkJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3N5bmMob2Jq LCByZXEpOworCQkJcmV0ID0gaTkxNV9nZW1fcmVxdWVzdF9hd2FpdF9vYmplY3QKKwkJCQkocmVx LCBvYmosIG9iai0+YmFzZS5wZW5kaW5nX3dyaXRlX2RvbWFpbik7CiAJCQlpZiAocmV0KQogCQkJ CXJldHVybiByZXQ7CiAJCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX3JlcXVlc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwpp bmRleCBhMTQ5MzEwYzgyY2UuLjAxN2NhZGY1NGQ4MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX3JlcXVlc3QuYwpAQCAtNDYwLDYgKzQ2MCw5MyBAQCBlcnI6CiAJcmV0dXJuIEVSUl9Q VFIocmV0KTsKIH0KIAorc3RhdGljIGludAoraTkxNV9nZW1fcmVxdWVzdF9hd2FpdF9yZXF1ZXN0 KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqdG8sCisJCQkgICAgICAgc3RydWN0IGRybV9p OTE1X2dlbV9yZXF1ZXN0ICpmcm9tKQoreworCWludCBpZHgsIHJldDsKKworCUdFTV9CVUdfT04o dG8gPT0gZnJvbSk7CisKKwlpZiAodG8tPmVuZ2luZSA9PSBmcm9tLT5lbmdpbmUpCisJCXJldHVy biAwOworCisJaWR4ID0gaW50ZWxfZW5naW5lX3N5bmNfaW5kZXgoZnJvbS0+ZW5naW5lLCB0by0+ ZW5naW5lKTsKKwlpZiAoZnJvbS0+ZmVuY2Uuc2Vxbm8gPD0gZnJvbS0+ZW5naW5lLT5zZW1hcGhv cmUuc3luY19zZXFub1tpZHhdKQorCQlyZXR1cm4gMDsKKworCXRyYWNlX2k5MTVfZ2VtX3Jpbmdf c3luY190byh0bywgZnJvbSk7CisJaWYgKCFpOTE1LnNlbWFwaG9yZXMpIHsKKwkJcmV0ID0gaTkx NV93YWl0X3JlcXVlc3QoZnJvbSwKKwkJCQkJSTkxNV9XQUlUX0lOVEVSUlVQVElCTEUgfAorCQkJ CQlJOTE1X1dBSVRfTE9DS0VELAorCQkJCQlOVUxMLCBOT19XQUlUQk9PU1QpOworCQlpZiAocmV0 KQorCQkJcmV0dXJuIHJldDsKKwl9IGVsc2UgeworCQlyZXQgPSB0by0+ZW5naW5lLT5zZW1hcGhv cmUuc3luY190byh0bywgZnJvbSk7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OworCX0KKwor CWZyb20tPmVuZ2luZS0+c2VtYXBob3JlLnN5bmNfc2Vxbm9baWR4XSA9IGZyb20tPmZlbmNlLnNl cW5vOworCXJldHVybiAwOworfQorCisvKioKKyAqIGk5MTVfZ2VtX3JlcXVlc3RfYXdhaXRfb2Jq ZWN0IC0gc2V0IHRoaXMgcmVxdWVzdCB0byAoYXN5bmMpIHdhaXQgdXBvbiBhIGJvCisgKgorICog QHRvOiByZXF1ZXN0IHdlIGFyZSB3aXNoaW5nIHRvIHVzZQorICogQG9iajogb2JqZWN0IHdoaWNo IG1heSBiZSBpbiB1c2Ugb24gYW5vdGhlciByaW5nLgorICoKKyAqIFRoaXMgY29kZSBpcyBtZWFu dCB0byBhYnN0cmFjdCBvYmplY3Qgc3luY2hyb25pemF0aW9uIHdpdGggdGhlIEdQVS4KKyAqIENv bmNlcHR1YWxseSB3ZSBzZXJpYWxpc2Ugd3JpdGVzIGJldHdlZW4gZW5naW5lcyBpbnNpZGUgdGhl IEdQVS4KKyAqIFdlIG9ubHkgYWxsb3cgb25lIGVuZ2luZSB0byB3cml0ZSBpbnRvIGEgYnVmZmVy IGF0IGFueSB0aW1lLCBidXQKKyAqIG11bHRpcGxlIHJlYWRlcnMuIFRvIGVuc3VyZSBlYWNoIGhh cyBhIGNvaGVyZW50IHZpZXcgb2YgbWVtb3J5LCB3ZSBtdXN0OgorICoKKyAqIC0gSWYgdGhlcmUg aXMgYW4gb3V0c3RhbmRpbmcgd3JpdGUgcmVxdWVzdCB0byB0aGUgb2JqZWN0LCB0aGUgbmV3Cisg KiAgIHJlcXVlc3QgbXVzdCB3YWl0IGZvciBpdCB0byBjb21wbGV0ZSAoZWl0aGVyIENQVSBvciBp biBodywgcmVxdWVzdHMKKyAqICAgb24gdGhlIHNhbWUgcmluZyB3aWxsIGJlIG5hdHVyYWxseSBv cmRlcmVkKS4KKyAqCisgKiAtIElmIHdlIGFyZSBhIHdyaXRlIHJlcXVlc3QgKHBlbmRpbmdfd3Jp dGVfZG9tYWluIGlzIHNldCksIHRoZSBuZXcKKyAqICAgcmVxdWVzdCBtdXN0IHdhaXQgZm9yIG91 dHN0YW5kaW5nIHJlYWQgcmVxdWVzdHMgdG8gY29tcGxldGUuCisgKgorICogUmV0dXJucyAwIGlm IHN1Y2Nlc3NmdWwsIGVsc2UgcHJvcGFnYXRlcyB1cCB0aGUgbG93ZXIgbGF5ZXIgZXJyb3IuCisg Ki8KK2ludAoraTkxNV9nZW1fcmVxdWVzdF9hd2FpdF9vYmplY3Qoc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICp0bywKKwkJCSAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmos CisJCQkgICAgICBib29sIHdyaXRlKQoreworCXN0cnVjdCBpOTE1X2dlbV9hY3RpdmUgKmFjdGl2 ZTsKKwl1bnNpZ25lZCBsb25nIGFjdGl2ZV9tYXNrOworCWludCBpZHg7CisKKwlpZiAod3JpdGUp IHsKKwkJYWN0aXZlX21hc2sgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X2FjdGl2ZShvYmopOworCQlh Y3RpdmUgPSBvYmotPmxhc3RfcmVhZDsKKwl9IGVsc2UgeworCQlhY3RpdmVfbWFzayA9IDE7CisJ CWFjdGl2ZSA9ICZvYmotPmxhc3Rfd3JpdGU7CisJfQorCisJZm9yX2VhY2hfYWN0aXZlKGFjdGl2 ZV9tYXNrLCBpZHgpIHsKKwkJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0Owor CQlpbnQgcmV0OworCisJCXJlcXVlc3QgPSBpOTE1X2dlbV9hY3RpdmVfcGVlaygmYWN0aXZlW2lk eF0sCisJCQkJCSAgICAgICAmb2JqLT5iYXNlLmRldi0+c3RydWN0X211dGV4KTsKKwkJaWYgKCFy ZXF1ZXN0KQorCQkJY29udGludWU7CisKKwkJcmV0ID0gaTkxNV9nZW1fcmVxdWVzdF9hd2FpdF9y ZXF1ZXN0KHRvLCByZXF1ZXN0KTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJfQorCisJ cmV0dXJuIDA7Cit9CisKIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX21hcmtfYnVzeShjb25zdCBzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZW5naW5lLT5pOTE1OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fcmVxdWVzdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVx dWVzdC5oCmluZGV4IGUxNDFiMWNjYTE2YS4uODgzZGYzYmRiMzgxIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5oCkBAIC0yMDksNiArMjA5LDExIEBAIHN0YXRpYyBpbmxp bmUgdm9pZCBpOTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKipwZHN0LAogCSpwZHN0ID0gc3JjOwogfQogCitpbnQKK2k5MTVfZ2VtX3JlcXVlc3RfYXdh aXRfb2JqZWN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqdG8sCisJCQkgICAgICBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCQkJICAgICAgYm9vbCB3cml0ZSk7CisKIHZv aWQgX19pOTE1X2FkZF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLCBi b29sIGZsdXNoX2NhY2hlcyk7CiAjZGVmaW5lIGk5MTVfYWRkX3JlcXVlc3QocmVxKSBcCiAJX19p OTE1X2FkZF9yZXF1ZXN0KHJlcSwgdHJ1ZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YwppbmRleCA1NzcxYWQ4MDI0OTguLjhkNGMzNWQ1NWIxYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwpAQCAtMTIyNzUsNyArMTIyNzUsNyBAQCBzdGF0aWMgaW50IGludGVsX2Ny dGNfcGFnZV9mbGlwKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCWdvdG8gY2xlYW51cF91bnBp bjsKIAkJfQogCi0JCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zeW5jKG9iaiwgcmVxdWVzdCk7CisJ CXJldCA9IGk5MTVfZ2VtX3JlcXVlc3RfYXdhaXRfb2JqZWN0KHJlcXVlc3QsIG9iaiwgZmFsc2Up OwogCQlpZiAocmV0KQogCQkJZ290byBjbGVhbnVwX3JlcXVlc3Q7CiAKLS0gCjIuOS4zCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK