From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: Re: [PATCH 28/59] drm/i915: Update i915_gem_object_sync() to take a request structure Date: Tue, 31 Mar 2015 17:53:11 +0100 Message-ID: <551AD0F7.6030303@intel.com> References: <1426768264-16996-1-git-send-email-John.C.Harrison@Intel.com> <1426768264-16996-29-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 4A1046E72D for ; Tue, 31 Mar 2015 09:53:18 -0700 (PDT) In-Reply-To: <1426768264-16996-29-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: "John.C.Harrison@Intel.com" , "Intel-GFX@Lists.FreeDesktop.Org" List-Id: intel-gfx@lists.freedesktop.org T24gMTkvMDMvMjAxNSAxMjozMCwgSm9obi5DLkhhcnJpc29uQEludGVsLmNvbSB3cm90ZToKPiBG cm9tOiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgo+Cj4gVGhlIHBs YW4gaXMgdG8gcGFzcyByZXF1ZXN0cyBhcm91bmQgYXMgdGhlIGJhc2ljIHN1Ym1pc3Npb24gdHJh Y2tpbmcgc3RydWN0dXJlCj4gcmF0aGVyIHRoYW4gcmluZ3MgYW5kIGNvbnRleHRzLiBUaGlzIHBh dGNoIHVwZGF0ZXMgdGhlIGk5MTVfZ2VtX29iamVjdF9zeW5jKCkKPiBjb2RlIHBhdGguCj4KPiB2 MjogTXVjaCBtb3JlIGNvbXBsZXggcGF0Y2ggdG8gc2hhcmUgYSBzaW5nbGUgcmVxdWVzdCBiZXR3 ZWVuIHRoZSBzeW5jIGFuZCB0aGUKPiBwYWdlIGZsaXAuIFRoZSBfc3luYygpIGZ1bmN0aW9uIG5v dyBzdXBwb3J0cyBsYXp5IGFsbG9jYXRpb24gb2YgdGhlIHJlcXVlc3QKPiBzdHJ1Y3R1cmUuIFRo YXQgaXMsIGlmIG9uZSBpcyBwYXNzZWQgaW4gdGhlbiB0aGF0IHdpbGwgYmUgdXNlZC4gSWYgb25l IGlzIG5vdCwKPiB0aGVuIGEgcmVxdWVzdCB3aWxsIGJlIGFsbG9jYXRlZCBhbmQgcGFzc2VkIGJh Y2sgb3V0LiBOb3RlIHRoYXQgdGhlIF9zeW5jKCkgY29kZQo+IGRvZXMgbm90IG5lY2Vzc2FyaWx5 IHJlcXVpcmUgYSByZXF1ZXN0LiBUaHVzIG9uZSB3aWxsIG9ubHkgYmUgY3JlYXRlZCB1bnRpbAo+ IGNlcnRhaW4gc2l0dWF0aW9ucy4gVGhlIHJlYXNvbiB0aGUgbGF6eSBhbGxvY2F0aW9uIG11c3Qg YmUgZG9uZSB3aXRoaW4gdGhlCj4gX3N5bmMoKSBjb2RlIGl0c2VsZiBpcyBiZWNhdXNlIHRoZSBk ZWNpc2lvbiB0byBuZWVkIG9uZSBvciBub3QgaXMgbm90IHJlYWxseQo+IHNvbWV0aGluZyB0aGF0 IGNvZGUgYWJvdmUgY2FuIHNlY29uZCBndWVzcyAoZXhjZXB0IGluIHRoZSBjYXNlIHdoZXJlIG9u ZSBpcwo+IGRlZmluaXRlbHkgbm90IHJlcXVpcmVkIGJlY2F1c2Ugbm8gcmluZyBpcyBwYXNzZWQg aW4pLgo+Cj4gVGhlIGNhbGwgY2hhaW5zIGFib3ZlIF9zeW5jKCkgbm93IHN1cHBvcnQgcGFzc2lu ZyBhIHJlcXVlc3QgdGhyb3VnaCB3aGljaCBtb3N0Cj4gY2FsbGVycyBwYXNzaW5nIGluIE5VTEwg YW5kIGFzc3VtaW5nIHRoYXQgbm8gcmVxdWVzdCB3aWxsIGJlIHJlcXVpcmVkIChiZWNhdXNlCj4g dGhleSBhbHNvIHBhc3MgaW4gTlVMTCBmb3IgdGhlIHJpbmcgYW5kIHRoZXJlZm9yZSBjYW4ndCBi ZSBnZW5lcmF0aW5nIGFueSByaW5nCj4gY29kZSkuCj4KPiBUaGUgZXhlY2VwdGlvbiBpcyBpbnRl bF9jcnRjX3BhZ2VfZmxpcCgpIHdoaWNoIG5vdyBzdXBwb3J0cyBoYXZpbmcgYSByZXF1ZXN0Cj4g cmV0dXJuZWQgZnJvbSBfc3luYygpLiBJZiBvbmUgaXMsIHRoZW4gdGhhdCByZXF1ZXN0IGlzIHNo YXJlZCBieSB0aGUgcGFnZSBmbGlwCj4gKGlmIHRoZSBwYWdlIGZsaXAgaXMgb2YgYSB0eXBlIHRv IG5lZWQgYSByZXF1ZXN0KS4gSWYgX3N5bmMoKSBkb2VzIG5vdCBnZW5lcmF0ZQo+IGEgcmVxdWVz dCBidXQgdGhlIHBhZ2UgZmxpcCBkb2VzIG5lZWQgb25lLCB0aGVuIHRoZSBwYWdlIGZsaXAgcGF0 aCB3aWxsIGNyZWF0ZQo+IGl0J3Mgb3duIHJlcXVlc3QuCgpOaXRwaWNrOiAiaXQncyBvd24gcmVx dWVzdCIgLT4gIml0cyBvd24gcmVxdWVzdCIKCj4KPiBGb3I6IFZJWi01MTE1Cj4gU2lnbmVkLW9m Zi1ieTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KPiAtLS0KPiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgICB8ICAgIDYgKysrKy0t Cj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgICAgfCAgIDE5ICsr KysrKysrKysrKysrKystLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNi dWZmZXIuYyB8ICAgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YyAgICAgICB8ICAgMTcgKysrKysrKysrKysrLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oICAgICAgICAgICB8ICAgIDMgKystCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9mYmRldi5jICAgICAgICAgfCAgICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuYyAgICAgICAgICAgfCAgICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9vdmVybGF5LmMgICAgICAgfCAgICAyICstCj4gICA4IGZpbGVzIGNoYW5nZWQsIDM4 IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o Cj4gaW5kZXggY2EwNzBkMy4uNTVkODJhNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ IEBAIC0yNjY1LDcgKzI2NjUsOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV9nZW1fb2JqZWN0 X3VucGluX3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4KPiAgIGludCBf X211c3RfY2hlY2sgaTkxNV9tdXRleF9sb2NrX2ludGVycnVwdGlibGUoc3RydWN0IGRybV9kZXZp Y2UgKmRldik7Cj4gICBpbnQgaTkxNV9nZW1fb2JqZWN0X3N5bmMoc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaiwKPiAtCQkJIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnRvKTsKPiArCQkJ IHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnRvLAo+ICsJCQkgc3RydWN0IGRybV9pOTE1X2dlbV9y ZXF1ZXN0ICoqdG9fcmVxKTsKPiAgIHZvaWQgaTkxNV92bWFfbW92ZV90b19hY3RpdmUoc3RydWN0 IGk5MTVfdm1hICp2bWEsCj4gICAJCQkgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcp Owo+ICAgaW50IGk5MTVfZ2VtX2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2 LAo+IEBAIC0yNzczLDcgKzI3NzQsOCBAQCBpOTE1X2dlbV9vYmplY3Rfc2V0X3RvX2NwdV9kb21h aW4oc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwgYm9vbCB3cml0ZSk7Cj4gICBpbnQg X19tdXN0X2NoZWNrCj4gICBpOTE1X2dlbV9vYmplY3RfcGluX3RvX2Rpc3BsYXlfcGxhbmUoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAgIAkJCQkgICAgIHUzMiBhbGlnbm1lbnQs Cj4gLQkJCQkgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnBpcGVsaW5lZCk7Cj4gKwkJCQkg ICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnBpcGVsaW5lZCwKPiArCQkJCSAgICAgc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICoqcGlwZWxpbmVkX3JlcXVlc3QpOwo+ICAgdm9pZCBpOTE1 X2dlbV9vYmplY3RfdW5waW5fZnJvbV9kaXNwbGF5X3BsYW5lKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmopOwo+ICAgaW50IGk5MTVfZ2VtX29iamVjdF9hdHRhY2hfcGh5cyhzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAgCQkJCWludCBhbGlnbik7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCj4gaW5kZXggMGEyNTQ2MS4uOTExNDA3MSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYwo+IEBAIC0yOTU3LDYgKzI5NTcsOSBAQCBvdXQ6Cj4gICAgKgo+ICAgICogQG9i ajogb2JqZWN0IHdoaWNoIG1heSBiZSBpbiB1c2Ugb24gYW5vdGhlciByaW5nLgo+ICAgICogQHRv OiByaW5nIHdlIHdpc2ggdG8gdXNlIHRoZSBvYmplY3Qgb24uIE1heSBiZSBOVUxMLgo+ICsgKiBA dG9fcmVxOiByZXF1ZXN0IHdlIHdpc2ggdG8gdXNlIHRoZSBvYmplY3QgZm9yLiBNYXkgYmUgTlVM TC4KCnRvX3JlcSBtYXkgb25seSBiZSBOVUxMIGlmIHRvIGlzIE5VTEwuIEFuZCB0byBtYXkgb25s eSBiZSBOVUxMIGlmIHRvX3JlcSAKaXMgTlVMTC4KCj4gKyAqICAgICAgICAgIFRoaXMgd2lsbCBi ZSBhbGxvY2F0ZWQgYW5kIHJldHVybmVkIGlmIGEgcmVxdWVzdCBpcwo+ICsgKiAgICAgICAgICBy ZXF1aXJlZCBidXQgbm90IHBhc3NlZCBpbi4KCiJUaGlzIHdpbGwgYmUgYWxsb2NhdGVkIGFuZCBy ZXR1cm5lZCBpZiBhIHJlcXVlc3QgaXMgcmVxdWlyZWQgYnV0IG5vdCAKcGFzc2VkIGluIiBzb3Vu ZHMgbGlrZSB0b19yZXEgaXMgTlVMTC4gSG93ZXZlciwgd2hhdCB3ZSBtZWFuIGhlcmUgaXMgCnRo YXQgKnRvX3JlcSBpcyBOVUxMLiBBbmQgdGhhdCBjYW4gY29pbmNpZGUgd2l0aCB0byBub3QgYmVp bmcgTlVMTC4KU28gdG9nZXRoZXIgd2l0aCB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdG9fcmVx IGFuZCB0byBkZXNjcmliZWQgaW4gbXkgCnJlbWFyayBhYm92ZSB0aGlzIGFkZHMgYW5vdGhlciBs ZXZlbCBvZiBjb21wbGV4aXR5LgoKQ291bGQgd2UgcGVyaGFwcyBmb3JtdWxhdGUgdGhlIGZ1bGwg ZXh0ZW50IG9mIHRoZSBOVUxMYWJpbGl0eSBvZiB0aGVzZSAKcGFyYW1ldGVycyBpbiBhIGNvbnNp c3RlbnQgd2F5IGluc3RlYWQgb2YgdHdvIGFyYml0cmFyeSBzZW50ZW5jZXM/IExpa2UgCnNvbWV0 aGluZyBhbG9uZyB0aGUgbGluZXMgb2Y6CgotIHRvIGNhbiBiZSBOVUxMIGlmIHRvX3JlcSBpcyBO VUxMCi0gdG9fcmVxIGNhbiBiZSBOVUxMIGlmIHRvIGlzIE5VTEwKLSBJZiAqdG9fcmVxIGlzIE5V TEwgaXQgbWF5IGJlIGFsbG9jYXRlZCBhbmQgcmV0dXJuZWQuCgpUaGFua3MsClRvbWFzCgo+ICAg ICoKPiAgICAqIFRoaXMgY29kZSBpcyBtZWFudCB0byBhYnN0cmFjdCBvYmplY3Qgc3luY2hyb25p emF0aW9uIHdpdGggdGhlIEdQVS4KPiAgICAqIENhbGxpbmcgd2l0aCBOVUxMIGltcGxpZXMgc3lu Y2hyb25pemluZyB0aGUgb2JqZWN0IHdpdGggdGhlIENQVQo+IEBAIC0yOTY2LDcgKzI5NjksOCBA QCBvdXQ6Cj4gICAgKi8KPiAgIGludAo+ICAgaTkxNV9nZW1fb2JqZWN0X3N5bmMoc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAtCQkgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KnRvKQo+ICsJCSAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqdG8sCj4gKwkJICAgICBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKip0b19yZXEpCj4gICB7Cj4gICAJc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZnJvbTsKPiAgIAl1MzIgc2Vxbm87Cj4gQEAgLTI5ODAsNiArMjk4NCw4IEBA IGk5MTVfZ2VtX29iamVjdF9zeW5jKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4g ICAJaWYgKHRvID09IE5VTEwgfHwgIWk5MTVfc2VtYXBob3JlX2lzX2VuYWJsZWQob2JqLT5iYXNl LmRldikpCj4gICAJCXJldHVybiBpOTE1X2dlbV9vYmplY3Rfd2FpdF9yZW5kZXJpbmcob2JqLCBm YWxzZSk7Cj4KPiArCVdBUk5fT04oIXRvX3JlcSk7Cj4gKwo+ICAgCWlkeCA9IGludGVsX3Jpbmdf c3luY19pbmRleChmcm9tLCB0byk7Cj4KPiAgIAlzZXFubyA9IGk5MTVfZ2VtX3JlcXVlc3RfZ2V0 X3NlcW5vKG9iai0+bGFzdF9yZWFkX3JlcSk7Cj4gQEAgLTI5ODgsNiArMjk5NCwxMiBAQCBpOTE1 X2dlbV9vYmplY3Rfc3luYyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAgCWlm IChzZXFubyA8PSBmcm9tLT5zZW1hcGhvcmUuc3luY19zZXFub1tpZHhdKQo+ICAgCQlyZXR1cm4g MDsKPgo+ICsJaWYgKCp0b19yZXEgPT0gTlVMTCkgewo+ICsJCXJldCA9IGk5MTVfZ2VtX3JlcXVl c3RfYWxsb2ModG8sIHRvLT5kZWZhdWx0X2NvbnRleHQsIHRvX3JlcSk7Cj4gKwkJaWYgKHJldCkK PiArCQkJcmV0dXJuIHJldDsKPiArCX0KPiArCj4gICAJcmV0ID0gaTkxNV9nZW1fY2hlY2tfb2xy KG9iai0+bGFzdF9yZWFkX3JlcSk7Cj4gICAJaWYgKHJldCkKPiAgIAkJcmV0dXJuIHJldDsKPiBA QCAtMzk1MywxNCArMzk2NSwxNSBAQCBzdGF0aWMgYm9vbCBpc19waW5fZGlzcGxheShzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ICAgaW50Cj4gICBpOTE1X2dlbV9vYmplY3RfcGlu X3RvX2Rpc3BsYXlfcGxhbmUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAgIAkJ CQkgICAgIHUzMiBhbGlnbm1lbnQsCj4gLQkJCQkgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KnBpcGVsaW5lZCkKPiArCQkJCSAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcGlwZWxpbmVk LAo+ICsJCQkJICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKipwaXBlbGluZWRfcmVx dWVzdCkKPiAgIHsKPiAgIAl1MzIgb2xkX3JlYWRfZG9tYWlucywgb2xkX3dyaXRlX2RvbWFpbjsK PiAgIAlib29sIHdhc19waW5fZGlzcGxheTsKPiAgIAlpbnQgcmV0Owo+Cj4gICAJaWYgKHBpcGVs aW5lZCAhPSBpOTE1X2dlbV9yZXF1ZXN0X2dldF9yaW5nKG9iai0+bGFzdF9yZWFkX3JlcSkpIHsK PiAtCQlyZXQgPSBpOTE1X2dlbV9vYmplY3Rfc3luYyhvYmosIHBpcGVsaW5lZCk7Cj4gKwkJcmV0 ID0gaTkxNV9nZW1fb2JqZWN0X3N5bmMob2JqLCBwaXBlbGluZWQsIHBpcGVsaW5lZF9yZXF1ZXN0 KTsKPiAgIAkJaWYgKHJldCkKPiAgIAkJCXJldHVybiByZXQ7Cj4gICAJfQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKPiBpbmRleCBlY2E4OGE2Li4xOTc4Zjlj IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+IEBA IC05MDIsNyArOTAyLDcgQEAgaTkxNV9nZW1fZXhlY2J1ZmZlcl9tb3ZlX3RvX2dwdShzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKPgo+ICAgCWxpc3RfZm9yX2VhY2hfZW50cnkodm1h LCB2bWFzLCBleGVjX2xpc3QpIHsKPiAgIAkJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aiA9IHZtYS0+b2JqOwo+IC0JCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zeW5jKG9iaiwgcmVxLT5y aW5nKTsKPiArCQlyZXQgPSBpOTE1X2dlbV9vYmplY3Rfc3luYyhvYmosIHJlcS0+cmluZywgJnJl cSk7Cj4gICAJCWlmIChyZXQpCj4gICAJCQlyZXR1cm4gcmV0Owo+Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IGYxYzAyOTUuLmM3MWM1MjMgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTIyNDUsNyArMjI0NSw4IEBAIGludGVsX2Zi X2FsaWduX2hlaWdodChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgaGVpZ2h0LAo+ICAgaW50 Cj4gICBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwK PiAgIAkJCSAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAo+IC0JCQkgICBzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICpwaXBlbGluZWQpCj4gKwkJCSAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KnBpcGVsaW5lZCwKPiArCQkJICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICoqcGlwZWxp bmVkX3JlcXVlc3QpCj4gICB7Cj4gICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGZiLT5kZXY7 Cj4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKPiBAQCAtMjMwNCw3ICsyMzA1LDcgQEAgaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gICAJaW50ZWxfcnVudGltZV9wbV9nZXQoZGV2X3ByaXYp Owo+Cj4gICAJZGV2X3ByaXYtPm1tLmludGVycnVwdGlibGUgPSBmYWxzZTsKPiAtCXJldCA9IGk5 MTVfZ2VtX29iamVjdF9waW5fdG9fZGlzcGxheV9wbGFuZShvYmosIGFsaWdubWVudCwgcGlwZWxp bmVkKTsKPiArCXJldCA9IGk5MTVfZ2VtX29iamVjdF9waW5fdG9fZGlzcGxheV9wbGFuZShvYmos IGFsaWdubWVudCwgcGlwZWxpbmVkLCBwaXBlbGluZWRfcmVxdWVzdCk7Cj4gICAJaWYgKHJldCkK PiAgIAkJZ290byBlcnJfaW50ZXJydXB0aWJsZTsKPgo+IEBAIC05ODgyLDYgKzk4ODMsNyBAQCBz dGF0aWMgaW50IGludGVsX2NydGNfcGFnZV9mbGlwKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAg IAllbnVtIHBpcGUgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7Cj4gICAJc3RydWN0IGludGVsX3Vu cGluX3dvcmsgKndvcms7Cj4gICAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZzsKPiArCXN0 cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCA9IE5VTEw7Cj4gICAJaW50IHJldDsK Pgo+ICAgCS8qCj4gQEAgLTk5NzksNyArOTk4MSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfY3J0Y19w YWdlX2ZsaXAoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAgCQlyaW5nID0gJmRldl9wcml2LT5y aW5nW1JDU107Cj4gICAJfQo+Cj4gLQlyZXQgPSBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihj cnRjLT5wcmltYXJ5LCBmYiwgcmluZyk7Cj4gKwlyZXQgPSBpbnRlbF9waW5fYW5kX2ZlbmNlX2Zi X29iaihjcnRjLT5wcmltYXJ5LCBmYiwgcmluZywgJnJlcXVlc3QpOwo+ICAgCWlmIChyZXQpCj4g ICAJCWdvdG8gY2xlYW51cF9wZW5kaW5nOwo+Cj4gQEAgLTEwMDA0LDYgKzEwMDA2LDkgQEAgc3Rh dGljIGludCBpbnRlbF9jcnRjX3BhZ2VfZmxpcChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gICAJ CQkJCWludGVsX3JpbmdfZ2V0X3JlcXVlc3QocmluZykpOwo+ICAgCX0KPgo+ICsJaWYgKHJlcXVl c3QpCj4gKwkJaTkxNV9hZGRfcmVxdWVzdF9ub19mbHVzaChyZXF1ZXN0LT5yaW5nKTsKPiArCj4g ICAJd29yay0+ZmxpcF9xdWV1ZWRfdmJsYW5rID0gZHJtX2NydGNfdmJsYW5rX2NvdW50KGNydGMp Owo+ICAgCXdvcmstPmVuYWJsZV9zdGFsbF9jaGVjayA9IHRydWU7Cj4KPiBAQCAtMTAwMjEsNiAr MTAwMjYsOCBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfcGFnZV9mbGlwKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YywKPiAgIGNsZWFudXBfdW5waW46Cj4gICAJaW50ZWxfdW5waW5fZmJfb2JqKG9iaik7 Cj4gICBjbGVhbnVwX3BlbmRpbmc6Cj4gKwlpZiAocmVxdWVzdCkKPiArCQlpOTE1X2dlbV9yZXF1 ZXN0X2NhbmNlbChyZXF1ZXN0KTsKPiAgIAlhdG9taWNfZGVjKCZpbnRlbF9jcnRjLT51bnBpbl93 b3JrX2NvdW50KTsKPiAgIAltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiAgIGNs ZWFudXA6Cj4gQEAgLTExOTc1LDcgKzExOTgyLDcgQEAgaW50ZWxfcHJlcGFyZV9wbGFuZV9mYihz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgIAkJaWYgKHJldCkKPiAgIAkJCURSTV9ERUJVR19L TVMoImZhaWxlZCB0byBhdHRhY2ggcGh5cyBvYmplY3RcbiIpOwo+ICAgCX0gZWxzZSB7Cj4gLQkJ cmV0ID0gaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmoocGxhbmUsIGZiLCBOVUxMKTsKPiArCQly ZXQgPSBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihwbGFuZSwgZmIsIE5VTEwsIE5VTEwpOwo+ ICAgCX0KPgo+ICAgCWlmIChyZXQgPT0gMCkKPiBAQCAtMTM5MDAsNyArMTM5MDcsNyBAQCB2b2lk IGludGVsX21vZGVzZXRfZ2VtX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPgo+ICAgCQlp ZiAoaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooYy0+cHJpbWFyeSwKPiAgIAkJCQkJICAgICAg IGMtPnByaW1hcnktPmZiLAo+IC0JCQkJCSAgICAgICBOVUxMKSkgewo+ICsJCQkJCSAgICAgICBO VUxMLCBOVUxMKSkgewo+ICAgCQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gcGluIGJvb3QgZmIgb24g cGlwZSAlZFxuIiwKPiAgIAkJCQkgIHRvX2ludGVsX2NydGMoYyktPnBpcGUpOwo+ICAgCQkJZHJt X2ZyYW1lYnVmZmVyX3VucmVmZXJlbmNlKGMtPnByaW1hcnktPmZiKTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAo+IGluZGV4IDhiYjE4ZTUuLjZhZDI4MjMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAo+IEBAIC05NjEsNyArOTYxLDggQEAgdm9pZCBpbnRlbF9yZWxlYXNlX2xvYWRf ZGV0ZWN0X3BpcGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgIAkJCQkgICAg c3RydWN0IGludGVsX2xvYWRfZGV0ZWN0X3BpcGUgKm9sZCk7Cj4gICBpbnQgaW50ZWxfcGluX2Fu ZF9mZW5jZV9mYl9vYmooc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gICAJCQkgICAgICAgc3Ry dWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCj4gLQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICpwaXBlbGluZWQpOwo+ICsJCQkgICAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcGlw ZWxpbmVkLAo+ICsJCQkgICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICoqcGlwZWxp bmVkX3JlcXVlc3QpOwo+ICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqCj4gICBfX2ludGVsX2Zy YW1lYnVmZmVyX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAgCQkJICAgc3RydWN0 IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9mYmRldi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYu Ywo+IGluZGV4IDc1N2MwZDIuLjRlN2U3ZGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZmJkZXYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Zi ZGV2LmMKPiBAQCAtMTUxLDcgKzE1MSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxmYl9hbGxvYyhzdHJ1 Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyLAo+ICAgCX0KPgo+ICAgCS8qIEZsdXNoIGV2ZXJ5dGhp bmcgb3V0LCB3ZSdsbCBiZSBkb2luZyBHVFQgb25seSBmcm9tIG5vdyBvbiAqLwo+IC0JcmV0ID0g aW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooTlVMTCwgZmIsIE5VTEwpOwo+ICsJcmV0ID0gaW50 ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooTlVMTCwgZmIsIE5VTEwsIE5VTEwpOwo+ICAgCWlmIChy ZXQpIHsKPiAgIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gcGluIG9iajogJWRcbiIsIHJldCk7Cj4g ICAJCWdvdG8gb3V0X2ZiOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gaW5kZXggMDQ4MGFk NC4uOTNmYWYxMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gQEAgLTU5MCw3ICs1 OTAsNyBAQCBzdGF0aWMgaW50IGV4ZWNsaXN0c19tb3ZlX3RvX2dwdShzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKnJlcSwKPiAgIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgdm1hcywgZXhl Y19saXN0KSB7Cj4gICAJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSB2bWEtPm9i ajsKPgo+IC0JCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zeW5jKG9iaiwgcmVxLT5yaW5nKTsKPiAr CQlyZXQgPSBpOTE1X2dlbV9vYmplY3Rfc3luYyhvYmosIHJlcS0+cmluZywgJnJlcSk7Cj4gICAJ CWlmIChyZXQpCj4gICAJCQlyZXR1cm4gcmV0Owo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292 ZXJsYXkuYwo+IGluZGV4IDZhZjI1ODEuLmNlNzc5N2MgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfb3ZlcmxheS5jCj4gQEAgLTcyMCw3ICs3MjAsNyBAQCBzdGF0aWMgaW50IGludGVsX292 ZXJsYXlfZG9fcHV0X2ltYWdlKHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5LAo+ICAgCWlm IChyZXQgIT0gMCkKPiAgIAkJcmV0dXJuIHJldDsKPgo+IC0JcmV0ID0gaTkxNV9nZW1fb2JqZWN0 X3Bpbl90b19kaXNwbGF5X3BsYW5lKG5ld19ibywgMCwgTlVMTCk7Cj4gKwlyZXQgPSBpOTE1X2dl bV9vYmplY3RfcGluX3RvX2Rpc3BsYXlfcGxhbmUobmV3X2JvLCAwLCBOVUxMLCBOVUxMKTsKPiAg IAlpZiAocmV0ICE9IDApCj4gICAJCXJldHVybiByZXQ7Cj4KPgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK