From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 25/55] drm/i915: Update i915_gem_object_sync() to take a request structure Date: Fri, 29 May 2015 17:43:46 +0100 Message-ID: <1432917856-12261-26-git-send-email-John.C.Harrison@Intel.com> References: <1432917856-12261-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 D79E572130 for ; Fri, 29 May 2015 09:44:45 -0700 (PDT) In-Reply-To: <1432917856-12261-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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClRoZSBwbGFu IGlzIHRvIHBhc3MgcmVxdWVzdHMgYXJvdW5kIGFzIHRoZSBiYXNpYyBzdWJtaXNzaW9uIHRyYWNr aW5nIHN0cnVjdHVyZQpyYXRoZXIgdGhhbiByaW5ncyBhbmQgY29udGV4dHMuIFRoaXMgcGF0Y2gg dXBkYXRlcyB0aGUgaTkxNV9nZW1fb2JqZWN0X3N5bmMoKQpjb2RlIHBhdGguCgp2MjogTXVjaCBt b3JlIGNvbXBsZXggcGF0Y2ggdG8gc2hhcmUgYSBzaW5nbGUgcmVxdWVzdCBiZXR3ZWVuIHRoZSBz eW5jIGFuZCB0aGUKcGFnZSBmbGlwLiBUaGUgX3N5bmMoKSBmdW5jdGlvbiBub3cgc3VwcG9ydHMg bGF6eSBhbGxvY2F0aW9uIG9mIHRoZSByZXF1ZXN0CnN0cnVjdHVyZS4gVGhhdCBpcywgaWYgb25l IGlzIHBhc3NlZCBpbiB0aGVuIHRoYXQgd2lsbCBiZSB1c2VkLiBJZiBvbmUgaXMgbm90LAp0aGVu IGEgcmVxdWVzdCB3aWxsIGJlIGFsbG9jYXRlZCBhbmQgcGFzc2VkIGJhY2sgb3V0LiBOb3RlIHRo YXQgdGhlIF9zeW5jKCkgY29kZQpkb2VzIG5vdCBuZWNlc3NhcmlseSByZXF1aXJlIGEgcmVxdWVz dC4gVGh1cyBvbmUgd2lsbCBvbmx5IGJlIGNyZWF0ZWQgdW50aWwKY2VydGFpbiBzaXR1YXRpb25z LiBUaGUgcmVhc29uIHRoZSBsYXp5IGFsbG9jYXRpb24gbXVzdCBiZSBkb25lIHdpdGhpbiB0aGUK X3N5bmMoKSBjb2RlIGl0c2VsZiBpcyBiZWNhdXNlIHRoZSBkZWNpc2lvbiB0byBuZWVkIG9uZSBv ciBub3QgaXMgbm90IHJlYWxseQpzb21ldGhpbmcgdGhhdCBjb2RlIGFib3ZlIGNhbiBzZWNvbmQg Z3Vlc3MgKGV4Y2VwdCBpbiB0aGUgY2FzZSB3aGVyZSBvbmUgaXMKZGVmaW5pdGVseSBub3QgcmVx dWlyZWQgYmVjYXVzZSBubyByaW5nIGlzIHBhc3NlZCBpbikuCgpUaGUgY2FsbCBjaGFpbnMgYWJv dmUgX3N5bmMoKSBub3cgc3VwcG9ydCBwYXNzaW5nIGEgcmVxdWVzdCB0aHJvdWdoIHdoaWNoIG1v c3QKY2FsbGVycyBwYXNzaW5nIGluIE5VTEwgYW5kIGFzc3VtaW5nIHRoYXQgbm8gcmVxdWVzdCB3 aWxsIGJlIHJlcXVpcmVkIChiZWNhdXNlCnRoZXkgYWxzbyBwYXNzIGluIE5VTEwgZm9yIHRoZSBy aW5nIGFuZCB0aGVyZWZvcmUgY2FuJ3QgYmUgZ2VuZXJhdGluZyBhbnkgcmluZwpjb2RlKS4KClRo ZSBleGVjZXB0aW9uIGlzIGludGVsX2NydGNfcGFnZV9mbGlwKCkgd2hpY2ggbm93IHN1cHBvcnRz IGhhdmluZyBhIHJlcXVlc3QKcmV0dXJuZWQgZnJvbSBfc3luYygpLiBJZiBvbmUgaXMsIHRoZW4g dGhhdCByZXF1ZXN0IGlzIHNoYXJlZCBieSB0aGUgcGFnZSBmbGlwCihpZiB0aGUgcGFnZSBmbGlw IGlzIG9mIGEgdHlwZSB0byBuZWVkIGEgcmVxdWVzdCkuIElmIF9zeW5jKCkgZG9lcyBub3QgZ2Vu ZXJhdGUKYSByZXF1ZXN0IGJ1dCB0aGUgcGFnZSBmbGlwIGRvZXMgbmVlZCBvbmUsIHRoZW4gdGhl IHBhZ2UgZmxpcCBwYXRoIHdpbGwgY3JlYXRlCml0cyBvd24gcmVxdWVzdC4KCnYzOiBVcGRhdGVk IGNvbW1lbnQgZGVzY3JpcHRpb24gdG8gYmUgY2xlYXJlciBhYm91dCAndG9fcmVxJyBwYXJhbWV0 ZXIgKFRvbWFzCkVsZiByZXZpZXcgcmVxdWVzdCkuIFJlYmFzZWQgb250byBuZXdlciB0cmVlIHRo YXQgc2lnbmlmaWNhbnRseSBjaGFuZ2VkIHRoZQpzeW5jaHJvbmlzYXRpb24gY29kZS4KCkZvcjog VklaLTUxMTUKU2lnbmVkLW9mZi1ieTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQElu dGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAg fCAgICA0ICsrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICAgIHwg ICA0OCArKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9leGVjYnVmZmVyLmMgfCAgICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMgICAgICAgfCAgIDE3ICsrKysrKystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oICAgICAgICAgICB8ICAgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2ZiZGV2LmMgICAgICAgICB8ICAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5jICAgICAgICAgICB8ICAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292 ZXJsYXkuYyAgICAgICB8ICAgIDIgKy0KIDggZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygr KSwgMjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggNjRhMTBmYS4u ZjY5ZTljYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yNzc4LDcgKzI3NzgsOCBAQCBz dGF0aWMgaW5saW5lIHZvaWQgaTkxNV9nZW1fb2JqZWN0X3VucGluX3BhZ2VzKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmopCiAKIGludCBfX211c3RfY2hlY2sgaTkxNV9tdXRleF9sb2Nr X2ludGVycnVwdGlibGUoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiBpbnQgaTkxNV9nZW1fb2Jq ZWN0X3N5bmMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKLQkJCSBzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICp0byk7CisJCQkgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqdG8sCisJCQkg c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICoqdG9fcmVxKTsKIHZvaWQgaTkxNV92bWFfbW92 ZV90b19hY3RpdmUoc3RydWN0IGk5MTVfdm1hICp2bWEsCiAJCQkgICAgIHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKnJpbmcpOwogaW50IGk5MTVfZ2VtX2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmls ZSAqZmlsZV9wcml2LApAQCAtMjg4OSw2ICsyODkwLDcgQEAgaW50IF9fbXVzdF9jaGVjawogaTkx NV9nZW1fb2JqZWN0X3Bpbl90b19kaXNwbGF5X3BsYW5lKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmosCiAJCQkJICAgICB1MzIgYWxpZ25tZW50LAogCQkJCSAgICAgc3RydWN0IGludGVs X2VuZ2luZV9jcyAqcGlwZWxpbmVkLAorCQkJCSAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICoqcGlwZWxpbmVkX3JlcXVlc3QsCiAJCQkJICAgICBjb25zdCBzdHJ1Y3QgaTkxNV9nZ3R0 X3ZpZXcgKnZpZXcpOwogdm9pZCBpOTE1X2dlbV9vYmplY3RfdW5waW5fZnJvbV9kaXNwbGF5X3Bs YW5lKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkJCSAgICAgIGNvbnN0IHN0 cnVjdCBpOTE1X2dndHRfdmlldyAqdmlldyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCBi N2Q2NmFhLi5kYjkwMDQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTMwOTgsMjUgKzMw OTgsMjYgQEAgb3V0Ogogc3RhdGljIGludAogX19pOTE1X2dlbV9vYmplY3Rfc3luYyhzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkgICAgICAgc3RydWN0IGludGVsX2VuZ2luZV9j cyAqdG8sCi0JCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKKwkJICAg ICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqZnJvbV9yZXEsCisJCSAgICAgICBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKip0b19yZXEpCiB7CiAJc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZnJvbTsKIAlpbnQgcmV0OwogCi0JZnJvbSA9IGk5MTVfZ2VtX3JlcXVlc3RfZ2V0X3Jp bmcocmVxKTsKKwlmcm9tID0gaTkxNV9nZW1fcmVxdWVzdF9nZXRfcmluZyhmcm9tX3JlcSk7CiAJ aWYgKHRvID09IGZyb20pCiAJCXJldHVybiAwOwogCi0JaWYgKGk5MTVfZ2VtX3JlcXVlc3RfY29t cGxldGVkKHJlcSwgdHJ1ZSkpCisJaWYgKGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKGZyb21f cmVxLCB0cnVlKSkKIAkJcmV0dXJuIDA7CiAKLQlyZXQgPSBpOTE1X2dlbV9jaGVja19vbHIocmVx KTsKKwlyZXQgPSBpOTE1X2dlbV9jaGVja19vbHIoZnJvbV9yZXEpOwogCWlmIChyZXQpCiAJCXJl dHVybiByZXQ7CiAKIAlpZiAoIWk5MTVfc2VtYXBob3JlX2lzX2VuYWJsZWQob2JqLT5iYXNlLmRl dikpIHsKIAkJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KG9iai0+YmFz ZS5kZXYpOwotCQlyZXQgPSBfX2k5MTVfd2FpdF9yZXF1ZXN0KHJlcSwKKwkJcmV0ID0gX19pOTE1 X3dhaXRfcmVxdWVzdChmcm9tX3JlcSwKIAkJCQkJICBhdG9taWNfcmVhZCgmaTkxNS0+Z3B1X2Vy cm9yLnJlc2V0X2NvdW50ZXIpLAogCQkJCQkgIGk5MTUtPm1tLmludGVycnVwdGlibGUsCiAJCQkJ CSAgTlVMTCwKQEAgLTMxMjQsMTUgKzMxMjUsMjUgQEAgX19pOTE1X2dlbV9vYmplY3Rfc3luYyhz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJl dDsKIAotCQlpOTE1X2dlbV9vYmplY3RfcmV0aXJlX3JlcXVlc3Qob2JqLCByZXEpOworCQlpOTE1 X2dlbV9vYmplY3RfcmV0aXJlX3JlcXVlc3Qob2JqLCBmcm9tX3JlcSk7CiAJfSBlbHNlIHsKIAkJ aW50IGlkeCA9IGludGVsX3Jpbmdfc3luY19pbmRleChmcm9tLCB0byk7Ci0JCXUzMiBzZXFubyA9 IGk5MTVfZ2VtX3JlcXVlc3RfZ2V0X3NlcW5vKHJlcSk7CisJCXUzMiBzZXFubyA9IGk5MTVfZ2Vt X3JlcXVlc3RfZ2V0X3NlcW5vKGZyb21fcmVxKTsKIAorCQlXQVJOX09OKCF0b19yZXEpOworCisJ CS8qIE9wdGltaXphdGlvbjogQXZvaWQgc2VtYXBob3JlIHN5bmMgd2hlbiB3ZSBhcmUgc3VyZSB3 ZSBhbHJlYWR5CisJCSAqIHdhaXRlZCBmb3IgYW4gb2JqZWN0IHdpdGggaGlnaGVyIHNlcW5vICov CiAJCWlmIChzZXFubyA8PSBmcm9tLT5zZW1hcGhvcmUuc3luY19zZXFub1tpZHhdKQogCQkJcmV0 dXJuIDA7CiAKLQkJdHJhY2VfaTkxNV9nZW1fcmluZ19zeW5jX3RvKGZyb20sIHRvLCByZXEpOwor CQlpZiAoKnRvX3JlcSA9PSBOVUxMKSB7CisJCQlyZXQgPSBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9j KHRvLCB0by0+ZGVmYXVsdF9jb250ZXh0LCB0b19yZXEpOworCQkJaWYgKHJldCkKKwkJCQlyZXR1 cm4gcmV0OworCQl9CisKKwkJdHJhY2VfaTkxNV9nZW1fcmluZ19zeW5jX3RvKGZyb20sIHRvLCBm cm9tX3JlcSk7CiAJCXJldCA9IHRvLT5zZW1hcGhvcmUuc3luY190byh0bywgZnJvbSwgc2Vxbm8p OwogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKQEAgLTMxNTMsNiArMzE2NCw5IEBAIF9faTkx NV9nZW1fb2JqZWN0X3N5bmMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKICAqCiAg KiBAb2JqOiBvYmplY3Qgd2hpY2ggbWF5IGJlIGluIHVzZSBvbiBhbm90aGVyIHJpbmcuCiAgKiBA dG86IHJpbmcgd2Ugd2lzaCB0byB1c2UgdGhlIG9iamVjdCBvbi4gTWF5IGJlIE5VTEwuCisgKiBA dG9fcmVxOiByZXF1ZXN0IHdlIHdpc2ggdG8gdXNlIHRoZSBvYmplY3QgZm9yLiBTZWUgYmVsb3cu CisgKiAgICAgICAgICBUaGlzIHdpbGwgYmUgYWxsb2NhdGVkIGFuZCByZXR1cm5lZCBpZiBhIHJl cXVlc3QgaXMKKyAqICAgICAgICAgIHJlcXVpcmVkIGJ1dCBub3QgcGFzc2VkIGluLgogICoKICAq IFRoaXMgY29kZSBpcyBtZWFudCB0byBhYnN0cmFjdCBvYmplY3Qgc3luY2hyb25pemF0aW9uIHdp dGggdGhlIEdQVS4KICAqIENhbGxpbmcgd2l0aCBOVUxMIGltcGxpZXMgc3luY2hyb25pemluZyB0 aGUgb2JqZWN0IHdpdGggdGhlIENQVQpAQCAtMzE2OCwxMSArMzE4MiwyMiBAQCBfX2k5MTVfZ2Vt X29iamVjdF9zeW5jKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAgKiAtIElmIHdl IGFyZSBhIHdyaXRlIHJlcXVlc3QgKHBlbmRpbmdfd3JpdGVfZG9tYWluIGlzIHNldCksIHRoZSBu ZXcKICAqICAgcmVxdWVzdCBtdXN0IHdhaXQgZm9yIG91dHN0YW5kaW5nIHJlYWQgcmVxdWVzdHMg dG8gY29tcGxldGUuCiAgKgorICogRm9yIENQVSBzeW5jaHJvbmlzYXRpb24gKE5VTEwgdG8pIG5v IHJlcXVlc3QgaXMgcmVxdWlyZWQuIEZvciBzeW5jaW5nIHdpdGgKKyAqIHJpbmdzIHRvX3JlcSBt dXN0IGJlIG5vbi1OVUxMLiBIb3dldmVyLCBhIHJlcXVlc3QgZG9lcyBub3QgaGF2ZSB0byBiZQor ICogcHJlLWFsbG9jYXRlZC4gSWYgKnRvX3JlcSBpcyBudWxsIGFuZCBzeW5jIGNvbW1hbmRzIHdp bGwgYmUgZW1pdHRlZCB0aGVuIGEKKyAqIHJlcXVlc3Qgd2lsbCBiZSBhbGxvY2F0ZWQgYXV0b21h dGljYWxseSBhbmQgcmV0dXJuZWQgdGhyb3VnaCAqdG9fcmVxLiBOb3RlCisgKiB0aGF0IGl0IGlz IG5vdCBndWFyYW50ZWVkIHRoYXQgY29tbWFuZHMgd2lsbCBiZSBlbWl0dGVkIChiZWNhdXNlIHRo ZQorICogbWlnaHQgYWxyZWFkeSBiZSBpZGxlKS4gSGVuY2UgdGhlcmUgaXMgbm8gbmVlZCB0byBj cmVhdGUgYSByZXF1ZXN0IHRoYXQKKyAqIG1pZ2h0IG5ldmVyIGhhdmUgYW55IHdvcmsgc3VibWl0 dGVkLiBOb3RlIGZ1cnRoZXIgdGhhdCBpZiBhIHJlcXVlc3QgaXMKKyAqIHJldHVybmVkIGluICp0 b19yZXEsIGl0IGlzIHRoZSByZXNwb25zaWJpbGl0eSBvZiB0aGUgY2FsbGVyIHRvIHN1Ym1pdAor ICogdGhhdCByZXF1ZXN0IChhZnRlciBwb3RlbnRpYWxseSBhZGRpbmcgbW9yZSB3b3JrIHRvIGl0 KS4KKyAqCiAgKiBSZXR1cm5zIDAgaWYgc3VjY2Vzc2Z1bCwgZWxzZSBwcm9wYWdhdGVzIHVwIHRo ZSBsb3dlciBsYXllciBlcnJvci4KICAqLwogaW50CiBpOTE1X2dlbV9vYmplY3Rfc3luYyhzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAotCQkgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnRvKQorCQkgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnRvLAorCQkgICAgIHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqKnRvX3JlcSkKIHsKIAljb25zdCBib29sIHJlYWRvbmx5 ID0gb2JqLT5iYXNlLnBlbmRpbmdfd3JpdGVfZG9tYWluID09IDA7CiAJc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpyZXFbSTkxNV9OVU1fUklOR1NdOwpAQCAtMzE5NCw3ICszMjE5LDcgQEAg aTkxNV9nZW1fb2JqZWN0X3N5bmMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJ CQlyZXFbbisrXSA9IG9iai0+bGFzdF9yZWFkX3JlcVtpXTsKIAl9CiAJZm9yIChpID0gMDsgaSA8 IG47IGkrKykgewotCQlyZXQgPSBfX2k5MTVfZ2VtX29iamVjdF9zeW5jKG9iaiwgdG8sIHJlcVtp XSk7CisJCXJldCA9IF9faTkxNV9nZW1fb2JqZWN0X3N5bmMob2JqLCB0bywgcmVxW2ldLCB0b19y ZXEpOwogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKIAl9CkBAIC00MTQ0LDEyICs0MTY5LDEz IEBAIGludAogaTkxNV9nZW1fb2JqZWN0X3Bpbl90b19kaXNwbGF5X3BsYW5lKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkJICAgICB1MzIgYWxpZ25tZW50LAogCQkJCSAgICAg c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcGlwZWxpbmVkLAorCQkJCSAgICAgc3RydWN0IGRybV9p OTE1X2dlbV9yZXF1ZXN0ICoqcGlwZWxpbmVkX3JlcXVlc3QsCiAJCQkJICAgICBjb25zdCBzdHJ1 Y3QgaTkxNV9nZ3R0X3ZpZXcgKnZpZXcpCiB7CiAJdTMyIG9sZF9yZWFkX2RvbWFpbnMsIG9sZF93 cml0ZV9kb21haW47CiAJaW50IHJldDsKIAotCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zeW5jKG9i aiwgcGlwZWxpbmVkKTsKKwlyZXQgPSBpOTE1X2dlbV9vYmplY3Rfc3luYyhvYmosIHBpcGVsaW5l ZCwgcGlwZWxpbmVkX3JlcXVlc3QpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwppbmRleCA1MGIxY2VkLi5iZWE5 MmFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVy LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC04 OTksNyArODk5LDcgQEAgaTkxNV9nZW1fZXhlY2J1ZmZlcl9tb3ZlX3RvX2dwdShzdHJ1Y3QgZHJt X2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aiA9IHZtYS0+b2JqOwogCiAJCWlmIChvYmotPmFjdGl2ZSAmIG90aGVyX3JpbmdzKSB7Ci0JCQly ZXQgPSBpOTE1X2dlbV9vYmplY3Rfc3luYyhvYmosIHJlcS0+cmluZyk7CisJCQlyZXQgPSBpOTE1 X2dlbV9vYmplY3Rfc3luYyhvYmosIHJlcS0+cmluZywgJnJlcSk7CiAJCQlpZiAocmV0KQogCQkJ CXJldHVybiByZXQ7CiAJCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCA2 NTdhMzMzLi42NTI4YWRhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0y MzM4LDcgKzIzMzgsOCBAQCBpbnQKIGludGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2JqKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLAogCQkJICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCQkg ICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSwKLQkJCSAgIHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnBpcGVsaW5lZCkKKwkJCSAgIHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnBpcGVsaW5lZCwKKwkJCSAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqKnBpcGVs aW5lZF9yZXF1ZXN0KQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBmYi0+ZGV2OwogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CkBAIC0y NDAzLDcgKzI0MDQsNyBAQCBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwKIAogCWRldl9wcml2LT5tbS5pbnRlcnJ1cHRpYmxlID0gZmFsc2U7CiAJcmV0 ID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl90b19kaXNwbGF5X3BsYW5lKG9iaiwgYWxpZ25tZW50LCBw aXBlbGluZWQsCi0JCQkJCQkgICAmdmlldyk7CisJCQkJCQkgICBwaXBlbGluZWRfcmVxdWVzdCwg JnZpZXcpOwogCWlmIChyZXQpCiAJCWdvdG8gZXJyX2ludGVycnVwdGlibGU7CiAKQEAgLTExMTE5 LDYgKzExMTIwLDcgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX3BhZ2VfZmxpcChzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCiAJc3RydWN0IGludGVsX3VucGluX3dvcmsgKndvcms7CiAJc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqcmluZzsKIAlib29sIG1taW9fZmxpcDsKKwlzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKnJlcXVlc3QgPSBOVUxMOwogCWludCByZXQ7CiAKIAkvKgpAQCAtMTEyMjUs NyArMTEyMjcsNyBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfcGFnZV9mbGlwKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKIAkgKi8KIAlyZXQgPSBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihjcnRj LT5wcmltYXJ5LCBmYiwKIAkJCQkJIGNydGMtPnByaW1hcnktPnN0YXRlLAotCQkJCQkgbW1pb19m bGlwID8gaTkxNV9nZW1fcmVxdWVzdF9nZXRfcmluZyhvYmotPmxhc3Rfd3JpdGVfcmVxKSA6IHJp bmcpOworCQkJCQkgbW1pb19mbGlwID8gaTkxNV9nZW1fcmVxdWVzdF9nZXRfcmluZyhvYmotPmxh c3Rfd3JpdGVfcmVxKSA6IHJpbmcsICZyZXF1ZXN0KTsKIAlpZiAocmV0KQogCQlnb3RvIGNsZWFu dXBfcGVuZGluZzsKIApAQCAtMTEyNTYsNiArMTEyNTgsOSBAQCBzdGF0aWMgaW50IGludGVsX2Ny dGNfcGFnZV9mbGlwKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCQkJaW50ZWxfcmluZ19nZXRf cmVxdWVzdChyaW5nKSk7CiAJfQogCisJaWYgKHJlcXVlc3QpCisJCWk5MTVfYWRkX3JlcXVlc3Rf bm9fZmx1c2gocmVxdWVzdC0+cmluZyk7CisKIAl3b3JrLT5mbGlwX3F1ZXVlZF92YmxhbmsgPSBk cm1fY3J0Y192YmxhbmtfY291bnQoY3J0Yyk7CiAJd29yay0+ZW5hYmxlX3N0YWxsX2NoZWNrID0g dHJ1ZTsKIApAQCAtMTEyNzMsNiArMTEyNzgsOCBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfcGFn ZV9mbGlwKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIGNsZWFudXBfdW5waW46CiAJaW50ZWxfdW5w aW5fZmJfb2JqKGZiLCBjcnRjLT5wcmltYXJ5LT5zdGF0ZSk7CiBjbGVhbnVwX3BlbmRpbmc6CisJ aWYgKHJlcXVlc3QpCisJCWk5MTVfZ2VtX3JlcXVlc3RfY2FuY2VsKHJlcXVlc3QpOwogCWF0b21p Y19kZWMoJmludGVsX2NydGMtPnVucGluX3dvcmtfY291bnQpOwogCW11dGV4X3VubG9jaygmZGV2 LT5zdHJ1Y3RfbXV0ZXgpOwogY2xlYW51cDoKQEAgLTEzMTcxLDcgKzEzMTc4LDcgQEAgaW50ZWxf cHJlcGFyZV9wbGFuZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJaWYgKHJldCkKIAkJ CURSTV9ERUJVR19LTVMoImZhaWxlZCB0byBhdHRhY2ggcGh5cyBvYmplY3RcbiIpOwogCX0gZWxz ZSB7Ci0JCXJldCA9IGludGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2JqKHBsYW5lLCBmYiwgbmV3X3N0 YXRlLCBOVUxMKTsKKwkJcmV0ID0gaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmoocGxhbmUsIGZi LCBuZXdfc3RhdGUsIE5VTEwsIE5VTEwpOwogCX0KIAogCWlmIChyZXQgPT0gMCkKQEAgLTE1MjE4 LDcgKzE1MjI1LDcgQEAgdm9pZCBpbnRlbF9tb2Rlc2V0X2dlbV9pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCiAJCXJldCA9IGludGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2JqKGMtPnByaW1hcnks CiAJCQkJCQkgYy0+cHJpbWFyeS0+ZmIsCiAJCQkJCQkgYy0+cHJpbWFyeS0+c3RhdGUsCi0JCQkJ CQkgTlVMTCk7CisJCQkJCQkgTlVMTCwgTlVMTCk7CiAJCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1 Y3RfbXV0ZXgpOwogCQlpZiAocmV0KSB7CiAJCQlEUk1fRVJST1IoImZhaWxlZCB0byBwaW4gYm9v dCBmYiBvbiBwaXBlICVkXG4iLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCAwMmQ4MzE3 Li43MzY1MGFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMTAzNCw3ICsxMDM0LDgg QEAgdm9pZCBpbnRlbF9yZWxlYXNlX2xvYWRfZGV0ZWN0X3BpcGUoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwKIGludCBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSwKIAkJCSAgICAgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKIAkJ CSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSwKLQkJCSAg ICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpwaXBlbGluZWQpOworCQkJICAgICAgIHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnBpcGVsaW5lZCwKKwkJCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKipwaXBlbGluZWRfcmVxdWVzdCk7CiBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVy ICoKIF9faW50ZWxfZnJhbWVidWZmZXJfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJ CQkgICBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQsCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZmJkZXYuYwppbmRleCA0ZTdlN2RhLi5kZDlmM2IyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2ZiZGV2LmMKQEAgLTE1MSw3ICsxNTEsNyBAQCBzdGF0aWMgaW50IGludGVsZmJfYWxsb2Moc3Ry dWN0IGRybV9mYl9oZWxwZXIgKmhlbHBlciwKIAl9CiAKIAkvKiBGbHVzaCBldmVyeXRoaW5nIG91 dCwgd2UnbGwgYmUgZG9pbmcgR1RUIG9ubHkgZnJvbSBub3cgb24gKi8KLQlyZXQgPSBpbnRlbF9w aW5fYW5kX2ZlbmNlX2ZiX29iaihOVUxMLCBmYiwgTlVMTCwgTlVMTCk7CisJcmV0ID0gaW50ZWxf cGluX2FuZF9mZW5jZV9mYl9vYmooTlVMTCwgZmIsIE5VTEwsIE5VTEwsIE5VTEwpOwogCWlmIChy ZXQpIHsKIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gcGluIG9iajogJWRcbiIsIHJldCk7CiAJCWdv dG8gb3V0X2ZiOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCA2ZDAwNWIxLi5mOGU4ZmRi IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtNjM4LDcgKzYzOCw3IEBAIHN0YXRpYyBp bnQgZXhlY2xpc3RzX21vdmVfdG9fZ3B1KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVx LAogCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gdm1hLT5vYmo7CiAKIAkJaWYg KG9iai0+YWN0aXZlICYgb3RoZXJfcmluZ3MpIHsKLQkJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9z eW5jKG9iaiwgcmVxLT5yaW5nKTsKKwkJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zeW5jKG9iaiwg cmVxLT5yaW5nLCAmcmVxKTsKIAkJCWlmIChyZXQpCiAJCQkJcmV0dXJuIHJldDsKIAkJfQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jCmluZGV4IGU3NTM0YjkuLjBmODE4N2EgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMKQEAgLTcyNCw3ICs3MjQsNyBAQCBzdGF0aWMg aW50IGludGVsX292ZXJsYXlfZG9fcHV0X2ltYWdlKHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVy bGF5LAogCWlmIChyZXQgIT0gMCkKIAkJcmV0dXJuIHJldDsKIAotCXJldCA9IGk5MTVfZ2VtX29i amVjdF9waW5fdG9fZGlzcGxheV9wbGFuZShuZXdfYm8sIDAsIE5VTEwsCisJcmV0ID0gaTkxNV9n ZW1fb2JqZWN0X3Bpbl90b19kaXNwbGF5X3BsYW5lKG5ld19ibywgMCwgTlVMTCwgTlVMTCwKIAkJ CQkJCSAgICZpOTE1X2dndHRfdmlld19ub3JtYWwpOwogCWlmIChyZXQgIT0gMCkKIAkJcmV0dXJu IHJldDsKLS0gCjEuNy45LjUKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==