From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 24/33] drm/i915: Drop the deferred active reference Date: Mon, 20 May 2019 09:01:18 +0100 Message-ID: <20190520080127.18255-24-chris@chris-wilson.co.uk> References: <20190520080127.18255-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 fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2C9AE892E4 for ; Mon, 20 May 2019 09:21:13 +0000 (UTC) In-Reply-To: <20190520080127.18255-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: Matthew Auld List-Id: intel-gfx@lists.freedesktop.org QW4gb2xkIG9wdGltaXNhdGlvbiB0byByZWR1Y2UgdGhlIG51bWJlciBvZiBhdG9taWNzIHBlciBi YXRjaCBzYWRseQpyZWxpZXMgb24gc3RydWN0X211dGV4IGZvciBjb29yZGluYXRpb24uIEluIG9y ZGVyIHRvIHJlbW92ZSBzdHJ1Y3RfbXV0ZXgKZnJvbSBzZXJpYWxpc2luZyBvYmplY3QvY29udGV4 dCBjbG9zaW5nLCBhbHdheXMgdGFraW5nIGFuZCByZWxlYXNpbmcgYW4KYWN0aXZlIHJlZmVyZW5j ZSBvbiBmaXJzdCB1c2UgLyBsYXN0IHVzZSBncmVhdGx5IHNpbXBsaWZpZXMgdGhlIGxvY2tpbmcu CgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4K UmV2aWV3ZWQtYnk6IE1hdHRoZXcgQXVsZCA8bWF0dGhldy5hdWxkQGludGVsLmNvbT4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dC5jICAgfCAgMiArLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5jICAgIHwgMTMgKy0tLS0tLS0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oICAgIHwgMjQgKy0t LS0tLS0tLS0tLS0tLS0tLQogLi4uL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X3R5 cGVzLmggIHwgIDggLS0tLS0tLQogLi4uL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2h1Z2Vf cGFnZXMuYyAgIHwgIDMgKy0tCiAuLi4vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX2NvaGVy ZW5jeS5jICAgfCAgNCArKy0tCiAuLi4vZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9j b250ZXh0LmMgfCAxMSArKysrKy0tLS0KIC4uLi9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVf Z2VtX21tYW4uYyAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdp bmVfY3MuYyAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1 ZmZlci5jICAgIHwgIDMgKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF9oYW5n Y2hlY2suYyAgfCAgOSArLS0tLS0tCiAuLi4vZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3dvcmth cm91bmRzLmMgICAgfCAgMyAtLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9zY2hlZHVsZXIu YyAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9iYXRjaF9w b29sLmMgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0 YXRlLmMgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMgICAgICAgICAg ICAgICB8IDE1ICsrKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5 MTVfcmVxdWVzdC5jIHwgIDggLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3Rz L2lndF9zcGlubmVyLmMgIHwgIDkgKy0tLS0tLQogMTggZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0 aW9ucygrKSwgOTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9jb250ZXh0LmMKaW5kZXggMjE3ZDg3YzEzY2Q4Li41MDE2YTNlMWY4NjMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtMTEyLDcgKzExMiw3 IEBAIHN0YXRpYyB2b2lkIGx1dF9jbG9zZShzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQog CQlyYWRpeF90cmVlX2l0ZXJfZGVsZXRlKCZjdHgtPmhhbmRsZXNfdm1hLCAmaXRlciwgc2xvdCk7 CiAKIAkJdm1hLT5vcGVuX2NvdW50LS07Ci0JCV9faTkxNV9nZW1fb2JqZWN0X3JlbGVhc2VfdW5s ZXNzX2FjdGl2ZSh2bWEtPm9iaik7CisJCWk5MTVfdm1hX3B1dCh2bWEpOwogCX0KIAlyY3VfcmVh ZF91bmxvY2soKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9vYmplY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3Qu YwppbmRleCAyYzZlZmUyMDU5ODcuLjliM2JkOTM4N2I3MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuYwpAQCAtMTU1LDcgKzE1NSw3IEBAIHZvaWQgaTkxNV9n ZW1fY2xvc2Vfb2JqZWN0KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2VtLCBzdHJ1Y3QgZHJtX2Zp bGUgKmZpbGUpCiAJCWxpc3RfZGVsKCZsdXQtPmN0eF9saW5rKTsKIAogCQlpOTE1X2x1dF9oYW5k bGVfZnJlZShsdXQpOwotCQlfX2k5MTVfZ2VtX29iamVjdF9yZWxlYXNlX3VubGVzc19hY3RpdmUo b2JqKTsKKwkJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwogCX0KIAogCW11dGV4X3VubG9jaygm aTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CkBAIC0zNDcsMTcgKzM0Nyw2IEBAIHZvaWQgaTkxNV9n ZW1fZnJlZV9vYmplY3Qoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnZW1fb2JqKQogCWNhbGxfcmN1 KCZvYmotPnJjdSwgX19pOTE1X2dlbV9mcmVlX29iamVjdF9yY3UpOwogfQogCi12b2lkIF9faTkx NV9nZW1fb2JqZWN0X3JlbGVhc2VfdW5sZXNzX2FjdGl2ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqKQotewotCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJm9iai0+YmFzZS5kZXYtPnN0cnVj dF9tdXRleCk7Ci0KLQlpZiAoIWk5MTVfZ2VtX29iamVjdF9oYXNfYWN0aXZlX3JlZmVyZW5jZShv YmopICYmCi0JICAgIGk5MTVfZ2VtX29iamVjdF9pc19hY3RpdmUob2JqKSkKLQkJaTkxNV9nZW1f b2JqZWN0X3NldF9hY3RpdmVfcmVmZXJlbmNlKG9iaik7Ci0JZWxzZQotCQlpOTE1X2dlbV9vYmpl Y3RfcHV0KG9iaik7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgZW51bSBmYl9vcF9vcmlnaW4KIGZiX3dy aXRlX29yaWdpbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCB1bnNpZ25lZCBpbnQg ZG9tYWluKQogewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2Vt X29iamVjdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCmlu ZGV4IDQxMDZlNWFmNGM1OS4uMzlkZjVkNjBmYTdiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX29iamVjdC5oCkBAIC0xNjEsMzEgKzE2MSw5IEBAIGk5MTVfZ2VtX29iamVj dF9uZWVkc19hc3luY19jYW5jZWwoY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aikKIHN0YXRpYyBpbmxpbmUgYm9vbAogaTkxNV9nZW1fb2JqZWN0X2lzX2FjdGl2ZShjb25zdCBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewotCXJldHVybiBvYmotPmFjdGl2ZV9j b3VudDsKKwlyZXR1cm4gUkVBRF9PTkNFKG9iai0+YWN0aXZlX2NvdW50KTsKIH0KIAotc3RhdGlj IGlubGluZSBib29sCi1pOTE1X2dlbV9vYmplY3RfaGFzX2FjdGl2ZV9yZWZlcmVuY2UoY29uc3Qg c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKLXsKLQlyZXR1cm4gdGVzdF9iaXQoSTkx NV9CT19BQ1RJVkVfUkVGLCAmb2JqLT5mbGFncyk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZAot aTkxNV9nZW1fb2JqZWN0X3NldF9hY3RpdmVfcmVmZXJlbmNlKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmopCi17Ci0JbG9ja2RlcF9hc3NlcnRfaGVsZCgmb2JqLT5iYXNlLmRldi0+c3Ry dWN0X211dGV4KTsKLQlfX3NldF9iaXQoSTkxNV9CT19BQ1RJVkVfUkVGLCAmb2JqLT5mbGFncyk7 Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZAotaTkxNV9nZW1fb2JqZWN0X2NsZWFyX2FjdGl2ZV9y ZWZlcmVuY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKLXsKLQlsb2NrZGVwX2Fz c2VydF9oZWxkKCZvYmotPmJhc2UuZGV2LT5zdHJ1Y3RfbXV0ZXgpOwotCV9fY2xlYXJfYml0KEk5 MTVfQk9fQUNUSVZFX1JFRiwgJm9iai0+ZmxhZ3MpOwotfQotCi12b2lkIF9faTkxNV9nZW1fb2Jq ZWN0X3JlbGVhc2VfdW5sZXNzX2FjdGl2ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq KTsKLQogc3RhdGljIGlubGluZSBib29sCiBpOTE1X2dlbV9vYmplY3RfaXNfZnJhbWVidWZmZXIo Y29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIHsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3RfdHlwZXMuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3RfdHlwZXMuaAppbmRleCBkZjhlMjllZTM5 NDMuLjY3YTk5MmQ2ZWUwYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX29iamVjdF90eXBlcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9vYmplY3RfdHlwZXMuaApAQCAtMTIwLDE0ICsxMjAsNiBAQCBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCB7CiAJc3RydWN0IGxpc3RfaGVhZCBiYXRjaF9wb29sX2xpbms7CiAJSTkxNV9T RUxGVEVTVF9ERUNMQVJFKHN0cnVjdCBsaXN0X2hlYWQgc3RfbGluayk7CiAKLQl1bnNpZ25lZCBs b25nIGZsYWdzOwotCi0JLyoqCi0JICogSGF2ZSB3ZSB0YWtlbiBhIHJlZmVyZW5jZSBmb3IgdGhl IG9iamVjdCBmb3IgaW5jb21wbGV0ZSBHUFUKLQkgKiBhY3Rpdml0eT8KLQkgKi8KLSNkZWZpbmUg STkxNV9CT19BQ1RJVkVfUkVGIDAKLQogCS8qCiAJICogSXMgdGhlIG9iamVjdCB0byBiZSBtYXBw ZWQgYXMgcmVhZC1vbmx5IHRvIHRoZSBHUFUKIAkgKiBPbmx5IGhvbm91cmVkIGlmIGhhcmR3YXJl IGhhcyByZWxldmFudCBwdGUgYml0CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxm dGVzdHMvaHVnZV9wYWdlcy5jCmluZGV4IDQ2NWUwZTFkNGFhMy4uZWMyOTg1YzBhOTJlIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYwpAQCAt OTc2LDggKzk3Niw2IEBAIHN0YXRpYyBpbnQgZ3B1X3dyaXRlKHN0cnVjdCBpOTE1X3ZtYSAqdm1h LAogCWlmIChlcnIpCiAJCWdvdG8gZXJyX3JlcXVlc3Q7CiAKLQlpOTE1X2dlbV9vYmplY3Rfc2V0 X2FjdGl2ZV9yZWZlcmVuY2UoYmF0Y2gtPm9iaik7Ci0KIAlpOTE1X3ZtYV9sb2NrKHZtYSk7CiAJ ZXJyID0gaTkxNV9nZW1fb2JqZWN0X3NldF90b19ndHRfZG9tYWluKHZtYS0+b2JqLCBmYWxzZSk7 CiAJaWYgKGVyciA9PSAwKQpAQCAtOTk2LDYgKzk5NCw3IEBAIHN0YXRpYyBpbnQgZ3B1X3dyaXRl KHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAogZXJyX2JhdGNoOgogCWk5MTVfdm1hX3VucGluKGJhdGNo KTsKIAlpOTE1X3ZtYV9jbG9zZShiYXRjaCk7CisJaTkxNV92bWFfcHV0KGJhdGNoKTsKIAogCXJl dHVybiBlcnI7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRl c3RzL2k5MTVfZ2VtX2NvaGVyZW5jeS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0 ZXN0cy9pOTE1X2dlbV9jb2hlcmVuY3kuYwppbmRleCBiNWM1ZGQwMzRkNWMuLmM3MmUxN2RhMDkw YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dl bV9jb2hlcmVuY3kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5 MTVfZ2VtX2NvaGVyZW5jeS5jCkBAIC0zNjUsNyArMzY1LDcgQEAgc3RhdGljIGludCBpZ3RfZ2Vt X2NvaGVyZW5jeSh2b2lkICphcmcpCiAJCQkJCQl9CiAJCQkJCX0KIAotCQkJCQlfX2k5MTVfZ2Vt X29iamVjdF9yZWxlYXNlX3VubGVzc19hY3RpdmUob2JqKTsKKwkJCQkJaTkxNV9nZW1fb2JqZWN0 X3B1dChvYmopOwogCQkJCX0KIAkJCX0KIAkJfQpAQCAtMzc3LDcgKzM3Nyw3IEBAIHN0YXRpYyBp bnQgaWd0X2dlbV9jb2hlcmVuY3kodm9pZCAqYXJnKQogCXJldHVybiBlcnI7CiAKIHB1dF9vYmpl Y3Q6Ci0JX19pOTE1X2dlbV9vYmplY3RfcmVsZWFzZV91bmxlc3NfYWN0aXZlKG9iaik7CisJaTkx NV9nZW1fb2JqZWN0X3B1dChvYmopOwogCWdvdG8gdW5sb2NrOwogfQogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5jCmluZGV4 IDcyZWVkZDZjMmEwYS4uMWJjM2I4MDI2NDAwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtMzE4LDE0ICszMTgs MTQgQEAgc3RhdGljIGludCBncHVfZmlsbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq LAogCWlmIChlcnIpCiAJCWdvdG8gc2tpcF9yZXF1ZXN0OwogCi0JaTkxNV9nZW1fb2JqZWN0X3Nl dF9hY3RpdmVfcmVmZXJlbmNlKGJhdGNoLT5vYmopOworCWk5MTVfcmVxdWVzdF9hZGQocnEpOwor CiAJaTkxNV92bWFfdW5waW4oYmF0Y2gpOwogCWk5MTVfdm1hX2Nsb3NlKGJhdGNoKTsKKwlpOTE1 X3ZtYV9wdXQoYmF0Y2gpOwogCiAJaTkxNV92bWFfdW5waW4odm1hKTsKIAotCWk5MTVfcmVxdWVz dF9hZGQocnEpOwotCiAJcmV0dXJuIDA7CiAKIHNraXBfcmVxdWVzdDoKQEAgLTgwMiw5ICs4MDIs OSBAQCBlbWl0X3JwY3NfcXVlcnkoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlp ZiAoZXJyKQogCQlnb3RvIHNraXBfcmVxdWVzdDsKIAotCWk5MTVfZ2VtX29iamVjdF9zZXRfYWN0 aXZlX3JlZmVyZW5jZShiYXRjaC0+b2JqKTsKIAlpOTE1X3ZtYV91bnBpbihiYXRjaCk7CiAJaTkx NV92bWFfY2xvc2UoYmF0Y2gpOworCWk5MTVfdm1hX3B1dChiYXRjaCk7CiAKIAlpOTE1X3ZtYV91 bnBpbih2bWEpOwogCkBAIC04MjAsNiArODIwLDcgQEAgZW1pdF9ycGNzX3F1ZXJ5KHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJaTkxNV9yZXF1ZXN0X2FkZChycSk7CiBlcnJfYmF0 Y2g6CiAJaTkxNV92bWFfdW5waW4oYmF0Y2gpOworCWk5MTVfdm1hX3B1dChiYXRjaCk7CiBlcnJf dm1hOgogCWk5MTVfdm1hX3VucGluKHZtYSk7CiAKQEAgLTEzNjUsOSArMTM2Niw5IEBAIHN0YXRp YyBpbnQgd3JpdGVfdG9fc2NyYXRjaChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAogCWlm IChlcnIpCiAJCWdvdG8gc2tpcF9yZXF1ZXN0OwogCi0JaTkxNV9nZW1fb2JqZWN0X3NldF9hY3Rp dmVfcmVmZXJlbmNlKG9iaik7CiAJaTkxNV92bWFfdW5waW4odm1hKTsKIAlpOTE1X3ZtYV9jbG9z ZSh2bWEpOworCWk5MTVfdm1hX3B1dCh2bWEpOwogCiAJaTkxNV9yZXF1ZXN0X2FkZChycSk7CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1f bW1hbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9tbWFu LmMKaW5kZXggMjk3Zjg4NjRkMzkyLi41ZGIzMzI3OTU4ZmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fbW1hbi5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fbW1hbi5jCkBAIC0zNTQsOCArMzU0 LDggQEAgc3RhdGljIGludCBtYWtlX29ial9idXN5KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmopCiAKIAlpOTE1X3JlcXVlc3RfYWRkKHJxKTsKIAotCV9faTkxNV9nZW1fb2JqZWN0X3Jl bGVhc2VfdW5sZXNzX2FjdGl2ZShvYmopOwogCWk5MTVfdm1hX3VucGluKHZtYSk7CisJaTkxNV9n ZW1fb2JqZWN0X3B1dChvYmopOyAvKiBsZWF2ZSBpdCBvbmx5IGFsaXZlIHZpYSBpdHMgYWN0aXZl IHJlZiAqLwogCiAJcmV0dXJuIGVycjsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf ZW5naW5lX2NzLmMKaW5kZXggYWM1ODgyYzM2Y2Y1Li4xYWYyZTAwZGMzNmIgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jCkBAIC00ODcsNyArNDg3LDcgQEAgc3Rh dGljIHZvaWQgY2xlYW51cF9zdGF0dXNfcGFnZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUpCiAJCWk5MTVfdm1hX3VucGluKHZtYSk7CiAKIAlpOTE1X2dlbV9vYmplY3RfdW5waW5fbWFw KHZtYS0+b2JqKTsKLQlfX2k5MTVfZ2VtX29iamVjdF9yZWxlYXNlX3VubGVzc19hY3RpdmUodm1h LT5vYmopOworCWk5MTVfZ2VtX29iamVjdF9wdXQodm1hLT5vYmopOwogfQogCiBzdGF0aWMgaW50 IHBpbl9nZ3R0X3N0YXR1c19wYWdlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYwppbmRleCA2NmQ1YTUyZDUw NWMuLmZmNThkNjU4ZTNlMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfcmluZ2J1ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3Jpbmdi dWZmZXIuYwpAQCAtMTMwMiwxMCArMTMwMiw5IEBAIGludGVsX2VuZ2luZV9jcmVhdGVfcmluZyhz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiB2b2lkIGludGVsX3JpbmdfZnJlZShzdHJ1 Y3Qga3JlZiAqcmVmKQogewogCXN0cnVjdCBpbnRlbF9yaW5nICpyaW5nID0gY29udGFpbmVyX29m KHJlZiwgdHlwZW9mKCpyaW5nKSwgcmVmKTsKLQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqID0gcmluZy0+dm1hLT5vYmo7CiAKIAlpOTE1X3ZtYV9jbG9zZShyaW5nLT52bWEpOwotCV9f aTkxNV9nZW1fb2JqZWN0X3JlbGVhc2VfdW5sZXNzX2FjdGl2ZShvYmopOworCWk5MTVfdm1hX3B1 dChyaW5nLT52bWEpOwogCiAJaTkxNV90aW1lbGluZV9wdXQocmluZy0+dGltZWxpbmUpOwogCWtm cmVlKHJpbmcpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3Rf aGFuZ2NoZWNrLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF9oYW5nY2hlY2su YwppbmRleCA0NTc0NWUzNmI1ZjQuLjkxMGY5NjIzMTkzNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RfaGFuZ2NoZWNrLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3Qvc2VsZnRlc3RfaGFuZ2NoZWNrLmMKQEAgLTExOCwxNSArMTE4LDggQEAgc3RhdGlj IGludCBtb3ZlX3RvX2FjdGl2ZShzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKIAlpOTE1X3ZtYV9sb2Nr KHZtYSk7CiAJZXJyID0gaTkxNV92bWFfbW92ZV90b19hY3RpdmUodm1hLCBycSwgZmxhZ3MpOwog CWk5MTVfdm1hX3VubG9jayh2bWEpOwotCWlmIChlcnIpCi0JCXJldHVybiBlcnI7Ci0KLQlpZiAo IWk5MTVfZ2VtX29iamVjdF9oYXNfYWN0aXZlX3JlZmVyZW5jZSh2bWEtPm9iaikpIHsKLQkJaTkx NV9nZW1fb2JqZWN0X2dldCh2bWEtPm9iaik7Ci0JCWk5MTVfZ2VtX29iamVjdF9zZXRfYWN0aXZl X3JlZmVyZW5jZSh2bWEtPm9iaik7Ci0JfQogCi0JcmV0dXJuIDA7CisJcmV0dXJuIGVycjsKIH0K IAogc3RhdGljIHN0cnVjdCBpOTE1X3JlcXVlc3QgKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3Qvc2VsZnRlc3Rfd29ya2Fyb3VuZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L3NlbGZ0ZXN0X3dvcmthcm91bmRzLmMKaW5kZXggZDRiYTUyOTZiMmM4Li5kYjQwZDRmODA1 ZWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3dvcmthcm91 bmRzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3Rfd29ya2Fyb3VuZHMu YwpAQCAtMTM1LDkgKzEzNSw2IEBAIHJlYWRfbm9ucHJpdnMoc3RydWN0IGk5MTVfZ2VtX2NvbnRl eHQgKmN0eCwgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCX0KIAlpbnRlbF9yaW5n X2FkdmFuY2UocnEsIGNzKTsKIAotCWk5MTVfZ2VtX29iamVjdF9nZXQocmVzdWx0KTsKLQlpOTE1 X2dlbV9vYmplY3Rfc2V0X2FjdGl2ZV9yZWZlcmVuY2UocmVzdWx0KTsKLQogCWk5MTVfcmVxdWVz dF9hZGQocnEpOwogCWk5MTVfdm1hX3VucGluKHZtYSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d2dC9zY2hlZHVsZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9z Y2hlZHVsZXIuYwppbmRleCA4NDBjYWMwNmFkZDcuLmQ0ZGMwZTE4OTU0NyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3NjaGVkdWxlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d2dC9zY2hlZHVsZXIuYwpAQCAtNTgzLDcgKzU4Myw3IEBAIHN0YXRpYyB2b2lkIHJl bGVhc2Vfc2hhZG93X2JhdGNoX2J1ZmZlcihzdHJ1Y3QgaW50ZWxfdmdwdV93b3JrbG9hZCAqd29y a2xvYWQpCiAJCQkJaTkxNV92bWFfdW5waW4oYmItPnZtYSk7CiAJCQkJaTkxNV92bWFfY2xvc2Uo YmItPnZtYSk7CiAJCQl9Ci0JCQlfX2k5MTVfZ2VtX29iamVjdF9yZWxlYXNlX3VubGVzc19hY3Rp dmUoYmItPm9iaik7CisJCQlpOTE1X2dlbV9vYmplY3RfcHV0KGJiLT5vYmopOwogCQl9CiAJCWxp c3RfZGVsKCZiYi0+bGlzdCk7CiAJCWtmcmVlKGJiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2JhdGNoX3Bvb2wuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2JhdGNoX3Bvb2wuYwppbmRleCBmMzg5MGI2NjRlM2YuLjU2YWRmZGNhZWQzZSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fYmF0Y2hfcG9vbC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2JhdGNoX3Bvb2wuYwpAQCAtNTUsNyArNTUs NyBAQCB2b2lkIGk5MTVfZ2VtX2JhdGNoX3Bvb2xfZmluaShzdHJ1Y3QgaTkxNV9nZW1fYmF0Y2hf cG9vbCAqcG9vbCkKIAkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKG9iaiwgbmV4dCwKIAkJCQkJ ICZwb29sLT5jYWNoZV9saXN0W25dLAogCQkJCQkgYmF0Y2hfcG9vbF9saW5rKQotCQkJX19pOTE1 X2dlbV9vYmplY3RfcmVsZWFzZV91bmxlc3NfYWN0aXZlKG9iaik7CisJCQlpOTE1X2dlbV9vYmpl Y3RfcHV0KG9iaik7CiAKIAkJSU5JVF9MSVNUX0hFQUQoJnBvb2wtPmNhY2hlX2xpc3Rbbl0pOwog CX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlbmRlcl9zdGF0 ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmMKaW5kZXgg NzA2ZWQ3MTQ2OGU4Li40ZWUwMzIwNzJkNGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jCkBAIC0yMzAsNiArMjMwLDYgQEAgaW50IGk5MTVfZ2VtX3Jl bmRlcl9zdGF0ZV9lbWl0KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxKQogZXJyX3ZtYToKIAlpOTE1 X3ZtYV9jbG9zZShzby52bWEpOwogZXJyX29iajoKLQlfX2k5MTVfZ2VtX29iamVjdF9yZWxlYXNl X3VubGVzc19hY3RpdmUoc28ub2JqKTsKKwlpOTE1X2dlbV9vYmplY3RfcHV0KHNvLm9iaik7CiAJ cmV0dXJuIGVycjsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1h LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jCmluZGV4IDM2MjBkMzljMGJjOC4u MTZkNDdmMWY2NDVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMKQEAgLTExNSwxMCArMTE1LDcg QEAgc3RhdGljIHZvaWQgX19pOTE1X3ZtYV9yZXRpcmUoc3RydWN0IGk5MTVfYWN0aXZlICpyZWYp CiAJICovCiAJb2JqX2J1bXBfbXJ1KG9iaik7CiAKLQlpZiAoaTkxNV9nZW1fb2JqZWN0X2hhc19h Y3RpdmVfcmVmZXJlbmNlKG9iaikpIHsKLQkJaTkxNV9nZW1fb2JqZWN0X2NsZWFyX2FjdGl2ZV9y ZWZlcmVuY2Uob2JqKTsKLQkJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwotCX0KKwlpOTE1X2dl bV9vYmplY3RfcHV0KG9iaik7IC8qIGFuZCBkcm9wIHRoZSBhY3RpdmUgcmVmZXJlbmNlICovCiB9 CiAKIHN0YXRpYyBzdHJ1Y3QgaTkxNV92bWEgKgpAQCAtNDQzLDcgKzQ0MCw3IEBAIHZvaWQgaTkx NV92bWFfdW5waW5fYW5kX3JlbGVhc2Uoc3RydWN0IGk5MTVfdm1hICoqcF92bWEsIHVuc2lnbmVk IGludCBmbGFncykKIAlpZiAoZmxhZ3MgJiBJOTE1X1ZNQV9SRUxFQVNFX01BUCkKIAkJaTkxNV9n ZW1fb2JqZWN0X3VucGluX21hcChvYmopOwogCi0JX19pOTE1X2dlbV9vYmplY3RfcmVsZWFzZV91 bmxlc3NfYWN0aXZlKG9iaik7CisJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwogfQogCiBib29s IGk5MTVfdm1hX21pc3BsYWNlZChjb25zdCBzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKQEAgLTk0MCwx MiArOTM3LDEyIEBAIGludCBpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZShzdHJ1Y3QgaTkxNV92bWEg KnZtYSwKIAkgKiBhZGQgdGhlIGFjdGl2ZSByZWZlcmVuY2UgZmlyc3QgYW5kIHF1ZXVlIGZvciBp dCB0byBiZSBkcm9wcGVkCiAJICogKmxhc3QqLgogCSAqLwotCWlmICghdm1hLT5hY3RpdmUuY291 bnQpCi0JCW9iai0+YWN0aXZlX2NvdW50Kys7CisJaWYgKCF2bWEtPmFjdGl2ZS5jb3VudCAmJiAh b2JqLT5hY3RpdmVfY291bnQrKykKKwkJaTkxNV9nZW1fb2JqZWN0X2dldChvYmopOyAvKiBvbmNl IG1vcmUgZm9yIHRoZSBhY3RpdmUgcmVmICovCiAKIAlpZiAodW5saWtlbHkoaTkxNV9hY3RpdmVf cmVmKCZ2bWEtPmFjdGl2ZSwgcnEtPmZlbmNlLmNvbnRleHQsIHJxKSkpIHsKLQkJaWYgKCF2bWEt PmFjdGl2ZS5jb3VudCkKLQkJCW9iai0+YWN0aXZlX2NvdW50LS07CisJCWlmICghdm1hLT5hY3Rp dmUuY291bnQgJiYgIS0tb2JqLT5hY3RpdmVfY291bnQpCisJCQlpOTE1X2dlbV9vYmplY3RfcHV0 KG9iaik7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfcmVxdWVzdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv c2VsZnRlc3RzL2k5MTVfcmVxdWVzdC5jCmluZGV4IDFiOWMxODM5MjBhYS4uNjkzZWEwOTdjMDVm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9yZXF1ZXN0 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfcmVxdWVzdC5jCkBA IC04NzAsMTEgKzg3MCw2IEBAIHN0YXRpYyBpbnQgbGl2ZV9hbGxfZW5naW5lcyh2b2lkICphcmcp CiAJCUdFTV9CVUdfT04oZXJyKTsKIAkJcmVxdWVzdFtpZF0tPmJhdGNoID0gYmF0Y2g7CiAKLQkJ aWYgKCFpOTE1X2dlbV9vYmplY3RfaGFzX2FjdGl2ZV9yZWZlcmVuY2UoYmF0Y2gtPm9iaikpIHsK LQkJCWk5MTVfZ2VtX29iamVjdF9nZXQoYmF0Y2gtPm9iaik7Ci0JCQlpOTE1X2dlbV9vYmplY3Rf c2V0X2FjdGl2ZV9yZWZlcmVuY2UoYmF0Y2gtPm9iaik7Ci0JCX0KLQogCQlpOTE1X3ZtYV9sb2Nr KGJhdGNoKTsKIAkJZXJyID0gaTkxNV92bWFfbW92ZV90b19hY3RpdmUoYmF0Y2gsIHJlcXVlc3Rb aWRdLCAwKTsKIAkJaTkxNV92bWFfdW5sb2NrKGJhdGNoKTsKQEAgLTk5Nyw5ICs5OTIsNiBAQCBz dGF0aWMgaW50IGxpdmVfc2VxdWVudGlhbF9lbmdpbmVzKHZvaWQgKmFyZykKIAkJaTkxNV92bWFf dW5sb2NrKGJhdGNoKTsKIAkJR0VNX0JVR19PTihlcnIpOwogCi0JCWk5MTVfZ2VtX29iamVjdF9z ZXRfYWN0aXZlX3JlZmVyZW5jZShiYXRjaC0+b2JqKTsKLQkJaTkxNV92bWFfZ2V0KGJhdGNoKTsK LQogCQlpOTE1X3JlcXVlc3RfZ2V0KHJlcXVlc3RbaWRdKTsKIAkJaTkxNV9yZXF1ZXN0X2FkZChy ZXF1ZXN0W2lkXSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0 cy9pZ3Rfc3Bpbm5lci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2lndF9zcGlu bmVyLmMKaW5kZXggZDg0NWQxZGM3Y2U3Li4wMjMwNmFhODNkMmEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pZ3Rfc3Bpbm5lci5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9pZ3Rfc3Bpbm5lci5jCkBAIC03OSwxNSArNzksOCBAQCBzdGF0 aWMgaW50IG1vdmVfdG9fYWN0aXZlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAogCWk5MTVfdm1hX2xv Y2sodm1hKTsKIAllcnIgPSBpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZSh2bWEsIHJxLCBmbGFncyk7 CiAJaTkxNV92bWFfdW5sb2NrKHZtYSk7Ci0JaWYgKGVycikKLQkJcmV0dXJuIGVycjsKLQotCWlm ICghaTkxNV9nZW1fb2JqZWN0X2hhc19hY3RpdmVfcmVmZXJlbmNlKHZtYS0+b2JqKSkgewotCQlp OTE1X2dlbV9vYmplY3RfZ2V0KHZtYS0+b2JqKTsKLQkJaTkxNV9nZW1fb2JqZWN0X3NldF9hY3Rp dmVfcmVmZXJlbmNlKHZtYS0+b2JqKTsKLQl9CiAKLQlyZXR1cm4gMDsKKwlyZXR1cm4gZXJyOwog fQogCiBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICoKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4