From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 10/18] drm/i915: Perform a direct reset of the GPU from the waiter Date: Tue, 30 Aug 2016 09:18:04 +0100 Message-ID: <20160830081812.4110-11-chris@chris-wilson.co.uk> References: <20160830081812.4110-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-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 093C66E5E9 for ; Tue, 30 Aug 2016 08:18:32 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id i5so2028455wmg.2 for ; Tue, 30 Aug 2016 01:18:31 -0700 (PDT) In-Reply-To: <20160830081812.4110-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 Cc: mika.kuoppala@intel.com List-Id: intel-gfx@lists.freedesktop.org SWYgYSB3YWl0ZXIgaXMgaG9sZGluZyB0aGUgc3RydWN0X211dGV4LCB0aGVuIHRoZSByZXNldCB3 b3JrZXIgY2Fubm90CnJlc2V0IHRoZSBHUFUgdW50aWwgdGhlIHdhaXRlciByZXR1cm5zLiBXZSBk byBub3Qgd2FudCB0byByZXR1cm4gLUVBR0FJTgpmb3JtIGk5MTVfd2FpdF9yZXF1ZXN0IGFzIHRo YXQgYnJlYWtzIGRlbGljYXRlIG9wZXJhdGlvbnMgbGlrZQppOTE1X3ZtYV91bmJpbmQoKSB3aGlj aCBvZnRlbiBjYW5ub3QgYmUgcmVzdGFydGVkIGVhc2lseSwgYW5kIHJldHVybmluZwotRUlPIGlz IGp1c3QgYXMgdXNlbGVzcyAoYW5kIGhhcyBpbiB0aGUgcGFzdCBwcm92ZW4gZGFuZ2Vyb3VzKS4g VGhlCnJlbWFpbmluZyBXQVJOX09OKGk5MTVfd2FpdF9yZXF1ZXN0KSBzZXJ2ZSBhcyBhIHZhbHVh YmxlIHJlbWluZGVyIHRoYXQKaGFuZGxpbmcgZXJyb3JzIGZyb20gYW4gaW5kZWZpbml0ZSB3YWl0 IGFyZSB0cmlja3kuCgpXZSBjYW4ga2VlcCB0aGUgY3VycmVudCBzZW1hbnRpYyB0aGF0IGtub3dp bmcgYWZ0ZXIgYSByZXNldCBpcyBjb21wbGV0ZSwKc28gaXMgdGhlIHJlcXVlc3QsIGJ5IHBlcmZv cm1pbmcgdGhlIHJlc2V0IG91cnNlbHZlcyBpZiB3ZSBob2xkIHRoZQptdXRleC4KCnVldmVudCBl bWlzc2lvbiBpcyBzdGlsbCBoYW5kbGVkIGJ5IHRoZSByZXNldCB3b3JrZXIsIHNvIGl0IG1heSBh cHBlYXIKc2xpZ2h0bHkgb3V0IG9mIG9yZGVyIHdpdGggcmVzcGVjdCB0byB0aGUgYWN0dWFsIHJl c2V0IChhbmQgY29uY3VycmVudAp1c2Ugb2YgdGhlIGRldmljZSkuCgpTaWduZWQtb2ZmLWJ5OiBD aHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5jICAgICAgICAgfCAxMSArKysrKystLS0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgIHwgMTUgKysrLS0tLS0tLS0tLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKyst LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmggfCAgOSArKysrKysr LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgICAgICB8ICAyICsrCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgfCAgNiArKy0tLS0KIDcgZmlsZXMg Y2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmMKaW5kZXggMDFiNTE4ZGNiZDdhLi5lYTdkM2U4NzgxNWMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuYwpAQCAtMTc1Miw2ICsxNzUyLDggQEAgaW50IGk5MTVfcmVzdW1lX3N3aXRjaGVy b28oc3RydWN0IGRybV9kZXZpY2UgKmRldikKICAqIFJlc2V0IHRoZSBjaGlwLiAgVXNlZnVsIGlm IGEgaGFuZyBpcyBkZXRlY3RlZC4gUmV0dXJucyB6ZXJvIG9uIHN1Y2Nlc3NmdWwKICAqIHJlc2V0 IG9yIG90aGVyd2lzZSBhbiBlcnJvciBjb2RlLgogICoKKyAqIENhbGxlciBtdXN0IGhvbGQgdGhl IHN0cnVjdF9tdXRleC4KKyAqCiAgKiBQcm9jZWR1cmUgaXMgZmFpcmx5IHNpbXBsZToKICAqICAg LSByZXNldCB0aGUgY2hpcCB1c2luZyB0aGUgcmVzZXQgcmVnCiAgKiAgIC0gcmUtaW5pdCBjb250 ZXh0IHN0YXRlCkBAIC0xNzY2LDcgKzE3NjgsMTAgQEAgaW50IGk5MTVfcmVzZXQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXN0cnVjdCBpOTE1X2dwdV9lcnJvciAqZXJyb3Ig PSAmZGV2X3ByaXYtPmdwdV9lcnJvcjsKIAlpbnQgcmV0OwogCi0JbXV0ZXhfbG9jaygmZGV2LT5z dHJ1Y3RfbXV0ZXgpOworCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldi0+c3RydWN0X211dGV4KTsK KworCWlmICghdGVzdF9hbmRfY2xlYXJfYml0KEk5MTVfUkVTRVRfSU5fUFJPR1JFU1MsICZlcnJv ci0+ZmxhZ3MpKQorCQlyZXR1cm4gMDsKIAogCS8qIENsZWFyIGFueSBwcmV2aW91cyBmYWlsZWQg YXR0ZW1wdHMgYXQgcmVjb3ZlcnkuIFRpbWUgdG8gdHJ5IGFnYWluLiAqLwogCV9fY2xlYXJfYml0 KEk5MTVfV0VER0VELCAmZXJyb3ItPmZsYWdzKTsKQEAgLTE4MDcsOSArMTgxMiw2IEBAIGludCBp OTE1X3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJZ290byBlcnJv cjsKIAl9CiAKLQljbGVhcl9iaXQoSTkxNV9SRVNFVF9JTl9QUk9HUkVTUywgJmVycm9yLT5mbGFn cyk7Ci0JbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Ci0KIAkvKgogCSAqIHJwcy9y YzYgcmUtaW5pdCBpcyBuZWNlc3NhcnkgdG8gcmVzdG9yZSBzdGF0ZSBsb3N0IGFmdGVyIHRoZQog CSAqIHJlc2V0IGFuZCB0aGUgcmUtaW5zdGFsbCBvZiBndCBpcnFzLiBTa2lwIGZvciBpcm9ubGFr ZSBwZXIKQEAgLTE4MjMsNyArMTgyNSw2IEBAIGludCBpOTE1X3Jlc2V0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKIAogZXJyb3I6CiAJc2V0X2JpdChJOTE1X1dFREdFRCwgJmVy cm9yLT5mbGFncyk7Ci0JbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CiAJcmV0dXJu IHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZTU3NGVhYTY1YzRkLi5jNmRi YzZiNTc5OGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMzg0OSw3ICszODQ5LDkgQEAg d2FpdF9yZW1haW5pbmdfbXNfZnJvbV9qaWZmaWVzKHVuc2lnbmVkIGxvbmcgdGltZXN0YW1wX2pp ZmZpZXMsIGludCB0b193YWl0X21zKQogCQkJICAgIHNjaGVkdWxlX3RpbWVvdXRfdW5pbnRlcnJ1 cHRpYmxlKHJlbWFpbmluZ19qaWZmaWVzKTsKIAl9CiB9Ci1zdGF0aWMgaW5saW5lIGJvb2wgX19p OTE1X3JlcXVlc3RfaXJxX2NvbXBsZXRlKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVx KQorCitzdGF0aWMgaW5saW5lIGJvb2wKK19faTkxNV9yZXF1ZXN0X2lycV9jb21wbGV0ZShzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIHsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUgPSByZXEtPmVuZ2luZTsKIApAQCAtMzkxMSwxNyArMzkxMyw2IEBAIHN0YXRpYyBp bmxpbmUgYm9vbCBfX2k5MTVfcmVxdWVzdF9pcnFfY29tcGxldGUoc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpyZXEpCiAJCQlyZXR1cm4gdHJ1ZTsKIAl9CiAKLQkvKiBXZSBuZWVkIHRvIGNo ZWNrIHdoZXRoZXIgYW55IGdwdSByZXNldCBoYXBwZW5lZCBpbiBiZXR3ZWVuCi0JICogdGhlIHJl cXVlc3QgYmVpbmcgc3VibWl0dGVkIGFuZCBub3cuIElmIGEgcmVzZXQgaGFzIG9jY3VycmVkLAot CSAqIHRoZSBzZXFubyB3aWxsIGhhdmUgYmVlbiBhZHZhbmNlIHBhc3Qgb3VycyBhbmQgb3VyIHJl cXVlc3QKLQkgKiBpcyBjb21wbGV0ZS4gSWYgd2UgYXJlIGluIHRoZSBwcm9jZXNzIG9mIGhhbmRs aW5nIGEgcmVzZXQsCi0JICogdGhlIHJlcXVlc3QgaXMgZWZmZWN0aXZlbHkgY29tcGxldGUgYXMg dGhlIHJlbmRlcmluZyB3aWxsCi0JICogYmUgZGlzY2FyZGVkLCBidXQgd2UgbmVlZCB0byByZXR1 cm4gaW4gb3JkZXIgdG8gZHJvcCB0aGUKLQkgKiBzdHJ1Y3RfbXV0ZXguCi0JICovCi0JaWYgKGk5 MTVfcmVzZXRfaW5fcHJvZ3Jlc3MoJnJlcS0+aTkxNS0+Z3B1X2Vycm9yKSkKLQkJcmV0dXJuIHRy dWU7Ci0KIAlyZXR1cm4gZmFsc2U7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDUx YmIwNWY2MjY4Ni4uY2M1NjVmNzg1ODg4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTI4 MDAsNyArMjgwMCw4IEBAIF9faTkxNV9nZW1fb2JqZWN0X3N5bmMoc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICp0bywKIAogCWlmICghaTkxNS5zZW1hcGhvcmVzKSB7CiAJCXJldCA9IGk5MTVf d2FpdF9yZXF1ZXN0KGZyb20sCi0JCQkJCWZyb20tPmk5MTUtPm1tLmludGVycnVwdGlibGUsCisJ CQkJCWZyb20tPmk5MTUtPm1tLmludGVycnVwdGlibGUgfAorCQkJCQlJOTE1X1dBSVRfTE9DS0VE LAogCQkJCQlOVUxMLAogCQkJCQlOT19XQUlUQk9PU1QpOwogCQlpZiAocmV0KQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCmluZGV4IDNjNjAwZmYzZTlkNS4uMTBhMTFiN2Qx MTE0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCkBAIC02NjYsOCAr NjY2LDggQEAgaW50IGk5MTVfd2FpdF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqcmVxLAogCWlmIChpOTE1X3NwaW5fcmVxdWVzdChyZXEsIHN0YXRlLCA1KSkKIAkJZ290byBj b21wbGV0ZTsKIAotCXNldF9jdXJyZW50X3N0YXRlKHN0YXRlKTsKLQlhZGRfd2FpdF9xdWV1ZSgm cmVxLT5pOTE1LT5ncHVfZXJyb3Iud2FpdF9xdWV1ZSwgJnJlc2V0KTsKKwlpZiAoZmxhZ3MgJiBJ OTE1X1dBSVRfTE9DS0VEKQorCQlhZGRfd2FpdF9xdWV1ZSgmcmVxLT5pOTE1LT5ncHVfZXJyb3Iu d2FpdF9xdWV1ZSwgJnJlc2V0KTsKIAogCWludGVsX3dhaXRfaW5pdCgmd2FpdCwgcmVxLT5mZW5j ZS5zZXFubyk7CiAJaWYgKGludGVsX2VuZ2luZV9hZGRfd2FpdChyZXEtPmVuZ2luZSwgJndhaXQp KQpAQCAtNjkyLDkgKzY5Miw5IEBAIGludCBpOTE1X3dhaXRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJaWYgKGludGVsX3dhaXRfY29tcGxldGUoJndhaXQpKQog CQkJYnJlYWs7CiAKK3dha2V1cDoKIAkJc2V0X2N1cnJlbnRfc3RhdGUoc3RhdGUpOwogCi13YWtl dXA6CiAJCS8qIENhcmVmdWxseSBjaGVjayBpZiB0aGUgcmVxdWVzdCBpcyBjb21wbGV0ZSwgZ2l2 aW5nIHRpbWUKIAkJICogZm9yIHRoZSBzZXFubyB0byBiZSB2aXNpYmxlIGZvbGxvd2luZyB0aGUg aW50ZXJydXB0LgogCQkgKiBXZSBhbHNvIGhhdmUgdG8gY2hlY2sgaW4gY2FzZSB3ZSBhcmUga2lj a2VkIGJ5IHRoZSBHUFUKQEAgLTcwMywxMSArNzAzLDMyIEBAIHdha2V1cDoKIAkJaWYgKF9faTkx NV9yZXF1ZXN0X2lycV9jb21wbGV0ZShyZXEpKQogCQkJYnJlYWs7CiAKKwkJLyogSWYgdGhlIEdQ VSBpcyBodW5nLCBhbmQgd2UgaG9sZCB0aGUgbG9jaywgcmVzZXQgdGhlIEdQVQorCQkgKiBhbmQg dGhlbiBjaGVjayBmb3IgY29tcGxldGlvbi4gT24gYSBmdWxsIHJlc2V0LCB0aGUgZW5naW5lJ3MK KwkJICogSFcgc2Vxbm8gd2lsbCBiZSBhZHZhbmNlZCBwYXNzZWQgdXMgYW5kIHdlIGFyZSBjb21w bGV0ZS4KKwkJICogSWYgd2UgZG8gYSBwYXJ0aWFsIHJlc2V0LCB3ZSBoYXZlIHRvIHdhaXQgZm9y IHRoZSBHUFUgdG8KKwkJICogcmVzdW1lIGFuZCB1cGRhdGUgdGhlIGJyZWFkY3J1bWIuCisJCSAq CisJCSAqIElmIHdlIGRvbid0IGhvbGQgdGhlIG11dGV4LCB3ZSBjYW4ganVzdCB3YWl0IGZvciB0 aGUgd29ya2VyCisJCSAqIHRvIGNvbWUgYWxvbmcgYW5kIHVwZGF0ZSB0aGUgYnJlYWRjcnVtYiAo ZWl0aGVyIGRpcmVjdGx5CisJCSAqIGl0c2VsZiwgb3IgaW5kaXJlY3RseSBieSByZWNvdmVyaW5n IHRoZSBHUFUpLgorCQkgKi8KKwkJaWYgKGZsYWdzICYgSTkxNV9XQUlUX0xPQ0tFRCAmJgorCQkg ICAgaTkxNV9yZXNldF9pbl9wcm9ncmVzcygmcmVxLT5pOTE1LT5ncHVfZXJyb3IpKSB7CisJCQlf X3NldF9jdXJyZW50X3N0YXRlKFRBU0tfUlVOTklORyk7CisJCQlpZiAoIWk5MTVfcmVzZXQocmVx LT5pOTE1KSkKKwkJCQlnb3RvIHdha2V1cDsKKworCQkJYnJlYWs7CisJCX0KKwogCQkvKiBPbmx5 IHNwaW4gaWYgd2Uga25vdyB0aGUgR1BVIGlzIHByb2Nlc3NpbmcgdGhpcyByZXF1ZXN0ICovCiAJ CWlmIChpOTE1X3NwaW5fcmVxdWVzdChyZXEsIHN0YXRlLCAyKSkKIAkJCWJyZWFrOwogCX0KLQly ZW1vdmVfd2FpdF9xdWV1ZSgmcmVxLT5pOTE1LT5ncHVfZXJyb3Iud2FpdF9xdWV1ZSwgJnJlc2V0 KTsKKworCWlmIChmbGFncyAmIEk5MTVfV0FJVF9MT0NLRUQpCisJCXJlbW92ZV93YWl0X3F1ZXVl KCZyZXEtPmk5MTUtPmdwdV9lcnJvci53YWl0X3F1ZXVlLCAmcmVzZXQpOwogCiAJaW50ZWxfZW5n aW5lX3JlbW92ZV93YWl0KHJlcS0+ZW5naW5lLCAmd2FpdCk7CiAJX19zZXRfY3VycmVudF9zdGF0 ZShUQVNLX1JVTk5JTkcpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fcmVxdWVzdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5oCmlu ZGV4IDQxZGU0ZDlhYTNmZS4uNDljM2MwMDZlYzE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fcmVxdWVzdC5oCkBAIC0yMjMsNiArMjIzLDcgQEAgaW50IGk5MTVfd2FpdF9yZXF1ZXN0 KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCQkgICAgICBzdHJ1Y3QgaW50ZWxf cnBzX2NsaWVudCAqcnBzKQogCV9fYXR0cmlidXRlX18oKG5vbm51bGwoMSkpKTsKICNkZWZpbmUg STkxNV9XQUlUX0lOVEVSUlVQVElCTEUgQklUKDApCisjZGVmaW5lIEk5MTVfV0FJVF9MT0NLRUQg QklUKDEpIC8qIHN0cnVjdF9tdXRleCBoZWxkLCBoYW5kbGUgR1BVIHJlc2V0ICovCiAKIHN0YXRp YyBpbmxpbmUgdTMyIGludGVsX2VuZ2luZV9nZXRfc2Vxbm8oc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lKTsKIApAQCAtNTc2LDcgKzU3Nyw5IEBAIGk5MTVfZ2VtX2FjdGl2ZV93YWl0KGNv bnN0IHN0cnVjdCBpOTE1X2dlbV9hY3RpdmUgKmFjdGl2ZSwgc3RydWN0IG11dGV4ICptdXRleCkK IAlpZiAoIXJlcXVlc3QpCiAJCXJldHVybiAwOwogCi0JcmV0dXJuIGk5MTVfd2FpdF9yZXF1ZXN0 KHJlcXVlc3QsIEk5MTVfV0FJVF9JTlRFUlJVUFRJQkxFLCBOVUxMLCBOVUxMKTsKKwlyZXR1cm4g aTkxNV93YWl0X3JlcXVlc3QocmVxdWVzdCwKKwkJCQkgSTkxNV9XQUlUX0lOVEVSUlVQVElCTEUg fCBJOTE1X1dBSVRfTE9DS0VELAorCQkJCSBOVUxMLCBOVUxMKTsKIH0KIAogLyoqCkBAIC02Mzks NyArNjQyLDkgQEAgaTkxNV9nZW1fYWN0aXZlX3JldGlyZShzdHJ1Y3QgaTkxNV9nZW1fYWN0aXZl ICphY3RpdmUsCiAJaWYgKCFyZXF1ZXN0KQogCQlyZXR1cm4gMDsKIAotCXJldCA9IGk5MTVfd2Fp dF9yZXF1ZXN0KHJlcXVlc3QsIEk5MTVfV0FJVF9JTlRFUlJVUFRJQkxFLCBOVUxMLCBOVUxMKTsK KwlyZXQgPSBpOTE1X3dhaXRfcmVxdWVzdChyZXF1ZXN0LAorCQkJCUk5MTVfV0FJVF9JTlRFUlJV UFRJQkxFIHwgSTkxNV9XQUlUX0xPQ0tFRCwKKwkJCQlOVUxMLCBOVUxMKTsKIAlpZiAocmV0KQog CQlyZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2ly cS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwppbmRleCAzZmQ5Y2JkZjJhZGIu LjBkMWZiNDdmODZjNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCkBAIC0yNTIxLDcgKzI1MjEs OSBAQCBzdGF0aWMgdm9pZCBpOTE1X3Jlc2V0X2FuZF93YWtldXAoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQogCSAqIHBlbmRpbmcgc3RhdGUgYW5kIG5vdCBwcm9wZXJseSBkcm9w IGxvY2tzLCByZXN1bHRpbmcgaW4KIAkgKiBkZWFkbG9ja3Mgd2l0aCB0aGUgcmVzZXQgd29yay4K IAkgKi8KKwltdXRleF9sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CiAJcmV0ID0g aTkxNV9yZXNldChkZXZfcHJpdik7CisJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVj dF9tdXRleCk7CiAKIAlpbnRlbF9maW5pc2hfcmVzZXQoZGV2X3ByaXYpOwogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKaW5kZXggYTZlNmYyYzQ5Mjk5Li5mYTRmMzczMWJl MjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKQEAgLTIyMjMsMTQg KzIyMjMsMTIgQEAgc3RhdGljIGludCB3YWl0X2Zvcl9zcGFjZShzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSwgaW50IGJ5dGVzKQogCWlmIChXQVJOX09OKCZ0YXJnZXQtPnJpbmdfbGlu ayA9PSAmcmluZy0+cmVxdWVzdF9saXN0KSkKIAkJcmV0dXJuIC1FTk9TUEM7CiAKLQlyZXQgPSBp OTE1X3dhaXRfcmVxdWVzdCh0YXJnZXQsIEk5MTVfV0FJVF9JTlRFUlJVUFRJQkxFLAorCXJldCA9 IGk5MTVfd2FpdF9yZXF1ZXN0KHRhcmdldCwKKwkJCQlJOTE1X1dBSVRfSU5URVJSVVBUSUJMRSB8 IEk5MTVfV0FJVF9MT0NLRUQsCiAJCQkJTlVMTCwgTk9fV0FJVEJPT1NUKTsKIAlpZiAocmV0KQog CQlyZXR1cm4gcmV0OwogCi0JaWYgKGk5MTVfcmVzZXRfaW5fcHJvZ3Jlc3MoJnRhcmdldC0+aTkx NS0+Z3B1X2Vycm9yKSkKLQkJcmV0dXJuIC1FQUdBSU47Ci0KIAlpOTE1X2dlbV9yZXF1ZXN0X3Jl dGlyZV91cHRvKHRhcmdldCk7CiAKIAlpbnRlbF9yaW5nX3VwZGF0ZV9zcGFjZShyaW5nKTsKLS0g CjIuOS4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK