From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 32/39] drm/i915: Drop the deferred active reference Date: Wed, 13 Mar 2019 14:43:54 +0000 Message-ID: <20190313144401.17735-32-chris@chris-wilson.co.uk> References: <20190313144401.17735-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 E5AC589F73 for ; Wed, 13 Mar 2019 14:45:02 +0000 (UTC) In-Reply-To: <20190313144401.17735-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 QW4gb2xkIG9wdGltaXNhdGlvbiB0byByZWR1Y2UgdGhlIG51bWJlciBvZiBhdG9taWNzIHBlciBi YXRjaCBzYWRseQpyZWxpZXMgb24gc3RydWN0X211dGV4IGZvciBjb29yZGluYXRpb24uIEluIG9y ZGVyIHRvIHJlbW92ZSBzdHJ1Y3RfbXV0ZXgKZnJvbSBzZXJpYWxpc2luZyBvYmplY3QvY29udGV4 dCBjbG9zaW5nLCBhbHdheXMgdGFraW5nIGFuZCByZWxlYXNpbmcgYW4KYWN0aXZlIHJlZmVyZW5j ZSBvbiBmaXJzdCB1c2UgLyBsYXN0IHVzZSBncmVhdGx5IHNpbXBsaWZpZXMgdGhlIGxvY2tpbmcu CgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dC5jICAgfCAgMiAr LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5jICAgIHwgMTMgKy0t LS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oICAgIHwg MjQgKy0tLS0tLS0tLS0tLS0tLS0tLQogLi4uL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2Jq ZWN0X3R5cGVzLmggIHwgIDggLS0tLS0tLQogLi4uL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3Rz L2h1Z2VfcGFnZXMuYyAgIHwgIDMgKy0tCiAuLi4vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2Vt X2NvaGVyZW5jeS5jICAgfCAgNCArKy0tCiAuLi4vZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1 X2dlbV9jb250ZXh0LmMgfCAxMSArKysrKy0tLS0KIC4uLi9kcm0vaTkxNS9nZW0vc2VsZnRlc3Rz L2k5MTVfZ2VtX21tYW4uYyAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvc2No ZWR1bGVyLmMgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f YmF0Y2hfcG9vbC5jICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3Jl bmRlcl9zdGF0ZS5jICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jICAg ICAgICAgICAgICAgfCAxNSArKysrKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2VuZ2luZV9jcy5jICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmMgICAgICAgfCAgMyArLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0 cy9pOTE1X3JlcXVlc3QuYyB8ICA4IC0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0 ZXN0cy9pZ3Rfc3Bpbm5lci5jICB8ICA5ICstLS0tLS0KIC4uLi9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2ludGVsX2hhbmdjaGVjay5jICB8ICA5ICstLS0tLS0KIC4uLi9kcm0vaTkxNS9zZWxmdGVz dHMvaW50ZWxfd29ya2Fyb3VuZHMuYyAgICB8ICAzIC0tLQogMTggZmlsZXMgY2hhbmdlZCwgMjYg aW5zZXJ0aW9ucygrKSwgOTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV9jb250ZXh0LmMKaW5kZXggZjNjNTVjOTllYjFlLi5hZjk2YjU3ZjlkMWQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtMTI5LDcg KzEyOSw3IEBAIHN0YXRpYyB2b2lkIGx1dF9jbG9zZShzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAq Y3R4KQogCQlyYWRpeF90cmVlX2l0ZXJfZGVsZXRlKCZjdHgtPmhhbmRsZXNfdm1hLCAmaXRlciwg c2xvdCk7CiAKIAkJdm1hLT5vcGVuX2NvdW50LS07Ci0JCV9faTkxNV9nZW1fb2JqZWN0X3JlbGVh c2VfdW5sZXNzX2FjdGl2ZSh2bWEtPm9iaik7CisJCWk5MTVfdm1hX3B1dCh2bWEpOwogCX0KIAly Y3VfcmVhZF91bmxvY2soKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV9vYmplY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9v YmplY3QuYwppbmRleCBlYmVkMTg5OGE2Y2MuLmQyMWE3MDk1MDkyYyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuYwpAQCAtMTU2LDcgKzE1Niw3IEBAIHZvaWQg aTkxNV9nZW1fY2xvc2Vfb2JqZWN0KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2VtLCBzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbGUpCiAJCWxpc3RfZGVsKCZsdXQtPmN0eF9saW5rKTsKIAogCQlpOTE1X2x1 dF9oYW5kbGVfZnJlZShsdXQpOwotCQlfX2k5MTVfZ2VtX29iamVjdF9yZWxlYXNlX3VubGVzc19h Y3RpdmUob2JqKTsKKwkJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwogCX0KIAogCW11dGV4X3Vu bG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CkBAIC0zNDgsMTcgKzM0OCw2IEBAIHZvaWQg aTkxNV9nZW1fZnJlZV9vYmplY3Qoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnZW1fb2JqKQogCWNh bGxfcmN1KCZvYmotPnJjdSwgX19pOTE1X2dlbV9mcmVlX29iamVjdF9yY3UpOwogfQogCi12b2lk IF9faTkxNV9nZW1fb2JqZWN0X3JlbGVhc2VfdW5sZXNzX2FjdGl2ZShzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqKQotewotCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJm9iai0+YmFzZS5kZXYt PnN0cnVjdF9tdXRleCk7Ci0KLQlpZiAoIWk5MTVfZ2VtX29iamVjdF9oYXNfYWN0aXZlX3JlZmVy ZW5jZShvYmopICYmCi0JICAgIGk5MTVfZ2VtX29iamVjdF9pc19hY3RpdmUob2JqKSkKLQkJaTkx NV9nZW1fb2JqZWN0X3NldF9hY3RpdmVfcmVmZXJlbmNlKG9iaik7Ci0JZWxzZQotCQlpOTE1X2dl bV9vYmplY3RfcHV0KG9iaik7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgZW51bSBmYl9vcF9vcmlnaW4K IGZiX3dyaXRlX29yaWdpbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCB1bnNpZ25l ZCBpbnQgZG9tYWluKQogewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX29iamVjdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVj dC5oCmluZGV4IGQyMjlhOGQ2NzVkMS4uYWZjNjY1MzU5ZTU4IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCkBAIC0xNjEsMzEgKzE2MSw5IEBAIGk5MTVfZ2Vt X29iamVjdF9uZWVkc19hc3luY19jYW5jZWwoY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iaikKIHN0YXRpYyBpbmxpbmUgYm9vbAogaTkxNV9nZW1fb2JqZWN0X2lzX2FjdGl2ZShj b25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewotCXJldHVybiBvYmotPmFj dGl2ZV9jb3VudDsKKwlyZXR1cm4gUkVBRF9PTkNFKG9iai0+YWN0aXZlX2NvdW50KTsKIH0KIAot c3RhdGljIGlubGluZSBib29sCi1pOTE1X2dlbV9vYmplY3RfaGFzX2FjdGl2ZV9yZWZlcmVuY2Uo Y29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKLXsKLQlyZXR1cm4gdGVzdF9i aXQoSTkxNV9CT19BQ1RJVkVfUkVGLCAmb2JqLT5mbGFncyk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUg dm9pZAotaTkxNV9nZW1fb2JqZWN0X3NldF9hY3RpdmVfcmVmZXJlbmNlKHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmopCi17Ci0JbG9ja2RlcF9hc3NlcnRfaGVsZCgmb2JqLT5iYXNlLmRl di0+c3RydWN0X211dGV4KTsKLQlfX3NldF9iaXQoSTkxNV9CT19BQ1RJVkVfUkVGLCAmb2JqLT5m bGFncyk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZAotaTkxNV9nZW1fb2JqZWN0X2NsZWFyX2Fj dGl2ZV9yZWZlcmVuY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKLXsKLQlsb2Nr ZGVwX2Fzc2VydF9oZWxkKCZvYmotPmJhc2UuZGV2LT5zdHJ1Y3RfbXV0ZXgpOwotCV9fY2xlYXJf Yml0KEk5MTVfQk9fQUNUSVZFX1JFRiwgJm9iai0+ZmxhZ3MpOwotfQotCi12b2lkIF9faTkxNV9n ZW1fb2JqZWN0X3JlbGVhc2VfdW5sZXNzX2FjdGl2ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqKTsKLQogc3RhdGljIGlubGluZSBib29sCiBpOTE1X2dlbV9vYmplY3RfaXNfZnJhbWVi dWZmZXIoY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIHsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3RfdHlwZXMuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3RfdHlwZXMuaAppbmRleCBkYTZh MzNlMjM5NWYuLjlmNjEyMjA3OTVhNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV9vYmplY3RfdHlwZXMuaApAQCAtMTIwLDE0ICsxMjAsNiBAQCBzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCB7CiAJc3RydWN0IGxpc3RfaGVhZCBiYXRjaF9wb29sX2xpbms7CiAJ STkxNV9TRUxGVEVTVF9ERUNMQVJFKHN0cnVjdCBsaXN0X2hlYWQgc3RfbGluayk7CiAKLQl1bnNp Z25lZCBsb25nIGZsYWdzOwotCi0JLyoqCi0JICogSGF2ZSB3ZSB0YWtlbiBhIHJlZmVyZW5jZSBm b3IgdGhlIG9iamVjdCBmb3IgaW5jb21wbGV0ZSBHUFUKLQkgKiBhY3Rpdml0eT8KLQkgKi8KLSNk ZWZpbmUgSTkxNV9CT19BQ1RJVkVfUkVGIDAKLQogCS8qCiAJICogSXMgdGhlIG9iamVjdCB0byBi ZSBtYXBwZWQgYXMgcmVhZC1vbmx5IHRvIHRoZSBHUFUKIAkgKiBPbmx5IGhvbm91cmVkIGlmIGhh cmR3YXJlIGhhcyByZWxldmFudCBwdGUgYml0CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jCmluZGV4IDE4OWZkYjVhZWNlOC4uMjk1ZTJkYzMwODQw IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2h1Z2VfcGFn ZXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2h1Z2VfcGFnZXMu YwpAQCAtOTc5LDggKzk3OSw2IEBAIHN0YXRpYyBpbnQgZ3B1X3dyaXRlKHN0cnVjdCBpOTE1X3Zt YSAqdm1hLAogCWlmIChlcnIpCiAJCWdvdG8gZXJyX3JlcXVlc3Q7CiAKLQlpOTE1X2dlbV9vYmpl Y3Rfc2V0X2FjdGl2ZV9yZWZlcmVuY2UoYmF0Y2gtPm9iaik7Ci0KIAlpOTE1X3ZtYV9sb2NrKHZt YSk7CiAJZXJyID0gaTkxNV9nZW1fb2JqZWN0X3NldF90b19ndHRfZG9tYWluKHZtYS0+b2JqLCBm YWxzZSk7CiAJaWYgKGVyciA9PSAwKQpAQCAtOTk5LDYgKzk5Nyw3IEBAIHN0YXRpYyBpbnQgZ3B1 X3dyaXRlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAogZXJyX2JhdGNoOgogCWk5MTVfdm1hX3VucGlu KGJhdGNoKTsKIAlpOTE1X3ZtYV9jbG9zZShiYXRjaCk7CisJaTkxNV92bWFfcHV0KGJhdGNoKTsK IAogCXJldHVybiBlcnI7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v c2VsZnRlc3RzL2k5MTVfZ2VtX2NvaGVyZW5jeS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb2hlcmVuY3kuYwppbmRleCBhZWJjNzk1MDBjYTEuLmVjOTNm ZWJjZjBmYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9p OTE1X2dlbV9jb2hlcmVuY3kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRl c3RzL2k5MTVfZ2VtX2NvaGVyZW5jeS5jCkBAIC0zNjUsNyArMzY1LDcgQEAgc3RhdGljIGludCBp Z3RfZ2VtX2NvaGVyZW5jeSh2b2lkICphcmcpCiAJCQkJCQl9CiAJCQkJCX0KIAotCQkJCQlfX2k5 MTVfZ2VtX29iamVjdF9yZWxlYXNlX3VubGVzc19hY3RpdmUob2JqKTsKKwkJCQkJaTkxNV9nZW1f b2JqZWN0X3B1dChvYmopOwogCQkJCX0KIAkJCX0KIAkJfQpAQCAtMzc3LDcgKzM3Nyw3IEBAIHN0 YXRpYyBpbnQgaWd0X2dlbV9jb2hlcmVuY3kodm9pZCAqYXJnKQogCXJldHVybiBlcnI7CiAKIHB1 dF9vYmplY3Q6Ci0JX19pOTE1X2dlbV9vYmplY3RfcmVsZWFzZV91bmxlc3NfYWN0aXZlKG9iaik7 CisJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwogCWdvdG8gdW5sb2NrOwogfQogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5j CmluZGV4IDliZTc1NzM5YzlmYS4uOTQ0OGQxYjQzNGE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtMzE0LDE0 ICszMTQsMTQgQEAgc3RhdGljIGludCBncHVfZmlsbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqLAogCWlmIChlcnIpCiAJCWdvdG8gc2tpcF9yZXF1ZXN0OwogCi0JaTkxNV9nZW1fb2Jq ZWN0X3NldF9hY3RpdmVfcmVmZXJlbmNlKGJhdGNoLT5vYmopOworCWk5MTVfcmVxdWVzdF9hZGQo cnEpOworCiAJaTkxNV92bWFfdW5waW4oYmF0Y2gpOwogCWk5MTVfdm1hX2Nsb3NlKGJhdGNoKTsK KwlpOTE1X3ZtYV9wdXQoYmF0Y2gpOwogCiAJaTkxNV92bWFfdW5waW4odm1hKTsKIAotCWk5MTVf cmVxdWVzdF9hZGQocnEpOwotCiAJcmV0dXJuIDA7CiAKIHNraXBfcmVxdWVzdDoKQEAgLTgwMyw5 ICs4MDMsOSBAQCBlbWl0X3JwY3NfcXVlcnkoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aiwKIAlpZiAoZXJyKQogCQlnb3RvIHNraXBfcmVxdWVzdDsKIAotCWk5MTVfZ2VtX29iamVjdF9z ZXRfYWN0aXZlX3JlZmVyZW5jZShiYXRjaC0+b2JqKTsKIAlpOTE1X3ZtYV91bnBpbihiYXRjaCk7 CiAJaTkxNV92bWFfY2xvc2UoYmF0Y2gpOworCWk5MTVfdm1hX3B1dChiYXRjaCk7CiAKIAlpOTE1 X3ZtYV91bnBpbih2bWEpOwogCkBAIC04MjEsNiArODIxLDcgQEAgZW1pdF9ycGNzX3F1ZXJ5KHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJaTkxNV9yZXF1ZXN0X2FkZChycSk7CiBl cnJfYmF0Y2g6CiAJaTkxNV92bWFfdW5waW4oYmF0Y2gpOworCWk5MTVfdm1hX3B1dChiYXRjaCk7 CiBlcnJfdm1hOgogCWk5MTVfdm1hX3VucGluKHZtYSk7CiAKQEAgLTEzNjgsOSArMTM2OSw5IEBA IHN0YXRpYyBpbnQgd3JpdGVfdG9fc2NyYXRjaChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4 LAogCWlmIChlcnIpCiAJCWdvdG8gc2tpcF9yZXF1ZXN0OwogCi0JaTkxNV9nZW1fb2JqZWN0X3Nl dF9hY3RpdmVfcmVmZXJlbmNlKG9iaik7CiAJaTkxNV92bWFfdW5waW4odm1hKTsKIAlpOTE1X3Zt YV9jbG9zZSh2bWEpOworCWk5MTVfdm1hX3B1dCh2bWEpOwogCiAJaTkxNV9yZXF1ZXN0X2FkZChy cSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkx NV9nZW1fbW1hbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dl bV9tbWFuLmMKaW5kZXggMDYyYzZiZGVhM2Q4Li41MGQyNjA2OTg4OWUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fbW1hbi5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fbW1hbi5jCkBAIC0zNTMs OCArMzUzLDggQEAgc3RhdGljIGludCBtYWtlX29ial9idXN5KHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmopCiAKIAlpOTE1X3JlcXVlc3RfYWRkKHJxKTsKIAotCV9faTkxNV9nZW1fb2Jq ZWN0X3JlbGVhc2VfdW5sZXNzX2FjdGl2ZShvYmopOwogCWk5MTVfdm1hX3VucGluKHZtYSk7CisJ aTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOyAvKiBsZWF2ZSBpdCBvbmx5IGFsaXZlIHZpYSBpdHMg YWN0aXZlIHJlZiAqLwogCiAJcmV0dXJuIGVycjsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d2dC9zY2hlZHVsZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9zY2hl ZHVsZXIuYwppbmRleCBkNmI5YjhiNDZmMTcuLjljZWY1NGU2OTljZiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3NjaGVkdWxlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d2dC9zY2hlZHVsZXIuYwpAQCAtNjA4LDcgKzYwOCw3IEBAIHN0YXRpYyB2b2lkIHJlbGVh c2Vfc2hhZG93X2JhdGNoX2J1ZmZlcihzdHJ1Y3QgaW50ZWxfdmdwdV93b3JrbG9hZCAqd29ya2xv YWQpCiAJCQkJaTkxNV92bWFfdW5waW4oYmItPnZtYSk7CiAJCQkJaTkxNV92bWFfY2xvc2UoYmIt PnZtYSk7CiAJCQl9Ci0JCQlfX2k5MTVfZ2VtX29iamVjdF9yZWxlYXNlX3VubGVzc19hY3RpdmUo YmItPm9iaik7CisJCQlpOTE1X2dlbV9vYmplY3RfcHV0KGJiLT5vYmopOwogCQl9CiAJCWxpc3Rf ZGVsKCZiYi0+bGlzdCk7CiAJCWtmcmVlKGJiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2JhdGNoX3Bvb2wuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2JhdGNoX3Bvb2wuYwppbmRleCBmMzg5MGI2NjRlM2YuLjU2YWRmZGNhZWQzZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fYmF0Y2hfcG9vbC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2JhdGNoX3Bvb2wuYwpAQCAtNTUsNyArNTUsNyBA QCB2b2lkIGk5MTVfZ2VtX2JhdGNoX3Bvb2xfZmluaShzdHJ1Y3QgaTkxNV9nZW1fYmF0Y2hfcG9v bCAqcG9vbCkKIAkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKG9iaiwgbmV4dCwKIAkJCQkJICZw b29sLT5jYWNoZV9saXN0W25dLAogCQkJCQkgYmF0Y2hfcG9vbF9saW5rKQotCQkJX19pOTE1X2dl bV9vYmplY3RfcmVsZWFzZV91bmxlc3NfYWN0aXZlKG9iaik7CisJCQlpOTE1X2dlbV9vYmplY3Rf cHV0KG9iaik7CiAKIAkJSU5JVF9MSVNUX0hFQUQoJnBvb2wtPmNhY2hlX2xpc3Rbbl0pOwogCX0K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmMKaW5kZXggYTYw OGRkZjc0YjVjLi44MGE5YTEzNGVlNjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX3JlbmRlcl9zdGF0ZS5jCkBAIC0yMzAsNiArMjMwLDYgQEAgaW50IGk5MTVfZ2VtX3JlbmRl cl9zdGF0ZV9lbWl0KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxKQogZXJyX3ZtYToKIAlpOTE1X3Zt YV9jbG9zZShzby52bWEpOwogZXJyX29iajoKLQlfX2k5MTVfZ2VtX29iamVjdF9yZWxlYXNlX3Vu bGVzc19hY3RpdmUoc28ub2JqKTsKKwlpOTE1X2dlbV9vYmplY3RfcHV0KHNvLm9iaik7CiAJcmV0 dXJuIGVycjsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jCmluZGV4IDUxYThkMmIwZDdiMy4uNzQx YWU2NmVlZmY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMKQEAgLTExNCwxMCArMTE0LDcgQEAg c3RhdGljIHZvaWQgX19pOTE1X3ZtYV9yZXRpcmUoc3RydWN0IGk5MTVfYWN0aXZlICpyZWYpCiAJ ICovCiAJb2JqX2J1bXBfbXJ1KG9iaik7CiAKLQlpZiAoaTkxNV9nZW1fb2JqZWN0X2hhc19hY3Rp dmVfcmVmZXJlbmNlKG9iaikpIHsKLQkJaTkxNV9nZW1fb2JqZWN0X2NsZWFyX2FjdGl2ZV9yZWZl cmVuY2Uob2JqKTsKLQkJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwotCX0KKwlpOTE1X2dlbV9v YmplY3RfcHV0KG9iaik7IC8qIGFuZCBkcm9wIHRoZSBhY3RpdmUgcmVmZXJlbmNlICovCiB9CiAK IHN0YXRpYyBzdHJ1Y3QgaTkxNV92bWEgKgpAQCAtNDQyLDcgKzQzOSw3IEBAIHZvaWQgaTkxNV92 bWFfdW5waW5fYW5kX3JlbGVhc2Uoc3RydWN0IGk5MTVfdm1hICoqcF92bWEsIHVuc2lnbmVkIGlu dCBmbGFncykKIAlpZiAoZmxhZ3MgJiBJOTE1X1ZNQV9SRUxFQVNFX01BUCkKIAkJaTkxNV9nZW1f b2JqZWN0X3VucGluX21hcChvYmopOwogCi0JX19pOTE1X2dlbV9vYmplY3RfcmVsZWFzZV91bmxl c3NfYWN0aXZlKG9iaik7CisJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwogfQogCiBib29sIGk5 MTVfdm1hX21pc3BsYWNlZChjb25zdCBzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKQEAgLTkzOSwxMiAr OTM2LDEyIEBAIGludCBpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZShzdHJ1Y3QgaTkxNV92bWEgKnZt YSwKIAkgKiBhZGQgdGhlIGFjdGl2ZSByZWZlcmVuY2UgZmlyc3QgYW5kIHF1ZXVlIGZvciBpdCB0 byBiZSBkcm9wcGVkCiAJICogKmxhc3QqLgogCSAqLwotCWlmICghdm1hLT5hY3RpdmUuY291bnQp Ci0JCW9iai0+YWN0aXZlX2NvdW50Kys7CisJaWYgKCF2bWEtPmFjdGl2ZS5jb3VudCAmJiAhb2Jq LT5hY3RpdmVfY291bnQrKykKKwkJaTkxNV9nZW1fb2JqZWN0X2dldChvYmopOyAvKiBvbmNlIG1v cmUgZm9yIHRoZSBhY3RpdmUgcmVmICovCiAKIAlpZiAodW5saWtlbHkoaTkxNV9hY3RpdmVfcmVm KCZ2bWEtPmFjdGl2ZSwgcnEtPmZlbmNlLmNvbnRleHQsIHJxKSkpIHsKLQkJaWYgKCF2bWEtPmFj dGl2ZS5jb3VudCkKLQkJCW9iai0+YWN0aXZlX2NvdW50LS07CisJCWlmICghdm1hLT5hY3RpdmUu Y291bnQgJiYgIS0tb2JqLT5hY3RpdmVfY291bnQpCisJCQlpOTE1X2dlbV9vYmplY3RfcHV0KG9i aik7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdp bmVfY3MuYwppbmRleCAzODFiNTJhMjZmZTMuLjRlYjBlODc5Yjc2YSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKQEAgLTQ4MSw3ICs0ODEsNyBAQCBzdGF0aWMgdm9pZCBj bGVhbnVwX3N0YXR1c19wYWdlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJaTkx NV92bWFfdW5waW4odm1hKTsKIAogCWk5MTVfZ2VtX29iamVjdF91bnBpbl9tYXAodm1hLT5vYmop OwotCV9faTkxNV9nZW1fb2JqZWN0X3JlbGVhc2VfdW5sZXNzX2FjdGl2ZSh2bWEtPm9iaik7CisJ aTkxNV9nZW1fb2JqZWN0X3B1dCh2bWEtPm9iaik7CiB9CiAKIHN0YXRpYyBpbnQgcGluX2dndHRf c3RhdHVzX3BhZ2Uoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCmluZGV4IDA3MjEyZTk1NTMwNC4uYjUxODI0YmFhMDY5 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCkBAIC0xMzQwLDEwICsx MzQwLDkgQEAgaW50ZWxfZW5naW5lX2NyZWF0ZV9yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSwKIHZvaWQgaW50ZWxfcmluZ19mcmVlKHN0cnVjdCBrcmVmICpyZWYpCiB7CiAJc3Ry dWN0IGludGVsX3JpbmcgKnJpbmcgPSBjb250YWluZXJfb2YocmVmLCB0eXBlb2YoKnJpbmcpLCBy ZWYpOwotCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSByaW5nLT52bWEtPm9iajsK IAogCWk5MTVfdm1hX2Nsb3NlKHJpbmctPnZtYSk7Ci0JX19pOTE1X2dlbV9vYmplY3RfcmVsZWFz ZV91bmxlc3NfYWN0aXZlKG9iaik7CisJaTkxNV92bWFfcHV0KHJpbmctPnZtYSk7CiAKIAlpOTE1 X3RpbWVsaW5lX3B1dChyaW5nLT50aW1lbGluZSk7CiAJa2ZyZWUocmluZyk7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9yZXF1ZXN0LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9yZXF1ZXN0LmMKaW5kZXggMTE2MmQzN2JjMTA2 Li5kYTE5NTQzZjdjNGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0 cy9pOTE1X3JlcXVlc3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkx NV9yZXF1ZXN0LmMKQEAgLTg3NywxMSArODc3LDYgQEAgc3RhdGljIGludCBsaXZlX2FsbF9lbmdp bmVzKHZvaWQgKmFyZykKIAkJR0VNX0JVR19PTihlcnIpOwogCQlyZXF1ZXN0W2lkXS0+YmF0Y2gg PSBiYXRjaDsKIAotCQlpZiAoIWk5MTVfZ2VtX29iamVjdF9oYXNfYWN0aXZlX3JlZmVyZW5jZShi YXRjaC0+b2JqKSkgewotCQkJaTkxNV9nZW1fb2JqZWN0X2dldChiYXRjaC0+b2JqKTsKLQkJCWk5 MTVfZ2VtX29iamVjdF9zZXRfYWN0aXZlX3JlZmVyZW5jZShiYXRjaC0+b2JqKTsKLQkJfQotCiAJ CWk5MTVfdm1hX2xvY2soYmF0Y2gpOwogCQllcnIgPSBpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZShi YXRjaCwgcmVxdWVzdFtpZF0sIDApOwogCQlpOTE1X3ZtYV91bmxvY2soYmF0Y2gpOwpAQCAtMTAw NCw5ICs5OTksNiBAQCBzdGF0aWMgaW50IGxpdmVfc2VxdWVudGlhbF9lbmdpbmVzKHZvaWQgKmFy ZykKIAkJaTkxNV92bWFfdW5sb2NrKGJhdGNoKTsKIAkJR0VNX0JVR19PTihlcnIpOwogCi0JCWk5 MTVfZ2VtX29iamVjdF9zZXRfYWN0aXZlX3JlZmVyZW5jZShiYXRjaC0+b2JqKTsKLQkJaTkxNV92 bWFfZ2V0KGJhdGNoKTsKLQogCQlpOTE1X3JlcXVlc3RfZ2V0KHJlcXVlc3RbaWRdKTsKIAkJaTkx NV9yZXF1ZXN0X2FkZChyZXF1ZXN0W2lkXSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9pZ3Rfc3Bpbm5lci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL2lndF9zcGlubmVyLmMKaW5kZXggZDgyMjA3MmZlOGRmLi5iOWU2Y2UxODAyNzEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pZ3Rfc3Bpbm5lci5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pZ3Rfc3Bpbm5lci5jCkBAIC03Nywx NSArNzcsOCBAQCBzdGF0aWMgaW50IG1vdmVfdG9fYWN0aXZlKHN0cnVjdCBpOTE1X3ZtYSAqdm1h LAogCWk5MTVfdm1hX2xvY2sodm1hKTsKIAllcnIgPSBpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZSh2 bWEsIHJxLCBmbGFncyk7CiAJaTkxNV92bWFfdW5sb2NrKHZtYSk7Ci0JaWYgKGVycikKLQkJcmV0 dXJuIGVycjsKLQotCWlmICghaTkxNV9nZW1fb2JqZWN0X2hhc19hY3RpdmVfcmVmZXJlbmNlKHZt YS0+b2JqKSkgewotCQlpOTE1X2dlbV9vYmplY3RfZ2V0KHZtYS0+b2JqKTsKLQkJaTkxNV9nZW1f b2JqZWN0X3NldF9hY3RpdmVfcmVmZXJlbmNlKHZtYS0+b2JqKTsKLQl9CiAKLQlyZXR1cm4gMDsK KwlyZXR1cm4gZXJyOwogfQogCiBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9oYW5nY2hlY2suYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9oYW5nY2hlY2suYwppbmRleCBkZjFjYjAxZmZi OWMuLjdjMjVjMDU2NTc5YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2ludGVsX2hhbmdjaGVjay5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0 cy9pbnRlbF9oYW5nY2hlY2suYwpAQCAtMTE3LDE1ICsxMTcsOCBAQCBzdGF0aWMgaW50IG1vdmVf dG9fYWN0aXZlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAogCWk5MTVfdm1hX2xvY2sodm1hKTsKIAll cnIgPSBpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZSh2bWEsIHJxLCBmbGFncyk7CiAJaTkxNV92bWFf dW5sb2NrKHZtYSk7Ci0JaWYgKGVycikKLQkJcmV0dXJuIGVycjsKLQotCWlmICghaTkxNV9nZW1f b2JqZWN0X2hhc19hY3RpdmVfcmVmZXJlbmNlKHZtYS0+b2JqKSkgewotCQlpOTE1X2dlbV9vYmpl Y3RfZ2V0KHZtYS0+b2JqKTsKLQkJaTkxNV9nZW1fb2JqZWN0X3NldF9hY3RpdmVfcmVmZXJlbmNl KHZtYS0+b2JqKTsKLQl9CiAKLQlyZXR1cm4gMDsKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMg c3RydWN0IGk5MTVfcmVxdWVzdCAqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvaW50ZWxfd29ya2Fyb3VuZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0 ZXN0cy9pbnRlbF93b3JrYXJvdW5kcy5jCmluZGV4IGMwNjhkNjQ1NDNkOS4uNzgzZjAyNDRhYzQ5 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfd29ya2Fy b3VuZHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfd29ya2Fy b3VuZHMuYwpAQCAtMTM2LDkgKzEzNiw2IEBAIHJlYWRfbm9ucHJpdnMoc3RydWN0IGk5MTVfZ2Vt X2NvbnRleHQgKmN0eCwgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCX0KIAlpbnRl bF9yaW5nX2FkdmFuY2UocnEsIGNzKTsKIAotCWk5MTVfZ2VtX29iamVjdF9nZXQocmVzdWx0KTsK LQlpOTE1X2dlbV9vYmplY3Rfc2V0X2FjdGl2ZV9yZWZlcmVuY2UocmVzdWx0KTsKLQogCWk5MTVf cmVxdWVzdF9hZGQocnEpOwogCWk5MTVfdm1hX3VucGluKHZtYSk7CiAKLS0gCjIuMjAuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4