From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 04/51] drm/i915: Merged the many do_execbuf() parameters into a structure Date: Wed, 25 Feb 2015 22:52:17 +0100 Message-ID: <20150225215217.GD24485@phenom.ffwll.local> References: <1423828140-10653-1-git-send-email-John.C.Harrison@Intel.com> <1423828140-10653-5-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 mail-wi0-f174.google.com (mail-wi0-f174.google.com [209.85.212.174]) by gabe.freedesktop.org (Postfix) with ESMTP id 7348C6E0C3 for ; Wed, 25 Feb 2015 13:50:39 -0800 (PST) Received: by mail-wi0-f174.google.com with SMTP id em10so36725982wid.1 for ; Wed, 25 Feb 2015 13:50:38 -0800 (PST) Content-Disposition: inline In-Reply-To: <1423828140-10653-5-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 Cc: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBGZWIgMTMsIDIwMTUgYXQgMTE6NDg6MTNBTSArMDAwMCwgSm9obi5DLkhhcnJpc29u QEludGVsLmNvbSB3cm90ZToKPiBGcm9tOiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25A SW50ZWwuY29tPgo+IAo+IFRoZSBkb19leGVjYnVmKCkgZnVuY3Rpb24gdGFrZXMgcXVpdGUgYSBm ZXcgcGFyYW1ldGVycy4gVGhlIGFjdHVhbCBzZXQgb2YKPiBwYXJhbWV0ZXJzIGlzIGdvaW5nIHRv IGNoYW5nZSB3aXRoIHRoZSBjb252ZXJzaW9uIHRvIHBhc3NpbmcgcmVxdWVzdHMgYXJvdW5kLgo+ IEZ1cnRoZXIsIGl0IGlzIGR1ZSB0byBncm93IG1hc3NpdmVseSB3aXRoIHRoZSBhcnJpdmFsIG9m IHRoZSBHUFUgc2NoZWR1bGVyLgo+IAo+IFRoaXMgcGF0Y2ggc2ltcGxpZXMgdGhlIHByb3RvdHlw ZSBieSBwYXNzaW5nIGEgcGFyYW1ldGVyIHN0cnVjdHVyZSBpbnN0ZWFkLgo+IENoYW5naW5nIHRo ZSBwYXJhbWV0ZXIgc2V0IGluIHRoZSBmdXR1cmUgaXMgdGhlbiBzaW1wbHkgYSBtYXR0ZXIgb2YK PiBhZGRpbmcvcmVtb3ZpbmcgaXRlbXMgdG8gdGhlIHN0cnVjdHVyZS4KPiAKPiBOb3RlIHRoYXQg dGhlIHN0cnVjdHVyZSBkb2VzIG5vdCBjb250YWluIGFic29sdXRlbHkgZXZlcnl0aGluZyB0aGF0 IGlzIHBhc3NlZAo+IGluLiBUaGlzIGlzIGJlY2F1c2UgdGhlIGludGVudGlvbiBpcyB0byB1c2Ug dGhpcyBzdHJ1Y3R1cmUgbW9yZSBleHRlbnNpdmVseQo+IGxhdGVyIGluIHRoaXMgcGF0Y2ggc2Vy aWVzIGFuZCBtb3JlIGVzcGVjaWFsbHkgaW4gdGhlIEdQVSBzY2hlZHVsZXIgdGhhdCBpcwo+IGNv bWluZyBzb29uLiBUaGUgbGF0dGVyIHJlcXVpcmVzIGhhbmdpbmcgb24gdG8gdGhlIHN0cnVjdHVy ZSBhcyB0aGUgZmluYWwKPiBoYXJkd2FyZSBzdWJtaXNzaW9uIGNhbiBiZSBkZWxheWVkIHVudGls IGxvbmcgYWZ0ZXIgdGhlIGV4ZWNidWYgSU9DVEwgaGFzCj4gcmV0dXJuZWQgdG8gdXNlciBsYW5k LiBUaHVzIGl0IGlzIHVuc2FmZSB0byBwdXQgYW55dGhpbmcgaW4gdGhlIHN0cnVjdHVyZSB0aGF0 Cj4gaXMgbG9jYWwgdG8gdGhlIElPQ1RMIGNhbGwgaXRzZWxmIC0gc3VjaCBhcyB0aGUgJ2FyZ3Mn IHBhcmFtZXRlci4gQWxsIGVudHJpZXMKPiBtdXN0IGJlIGNvcGllcyBvZiBkYXRhIG9yIHBvaW50 ZXJzIHRvIHN0cnVjdHVyZXMgdGhhdCBhcmUgcmVmZXJlbmNlIGNvdW50ZWQgaW4KPiBzb21ld2F5 IGFuZCBndWFyYW50ZWVkIHRvIGV4aXN0IGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIGJhdGNoIGJ1 ZmZlcidzIGxpZmUuCj4gCj4gRm9yOiBWSVotNTExNQo+IFNpZ25lZC1vZmYtYnk6IEpvaG4gSGFy cmlzb24gPEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgICB8ICAgMjcgKysrKysrKy0tLS0tLS0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIHwgICA1NiArKysrKysrKysr KysrKysrKystLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAg ICAgICAgICB8ICAgMjYgKysrKysrKy0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuaCAgICAgICAgICAgfCAgICA5ICsrLS0tCj4gIDQgZmlsZXMgY2hhbmdlZCwgNjcgaW5z ZXJ0aW9ucygrKSwgNTEgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4g aW5kZXggZTkwYjc4Ni4uZTZkNjE2YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBA IC0xNjQwLDYgKzE2NDAsMTYgQEAgc3RydWN0IGk5MTVfd29ya2Fyb3VuZHMgewo+ICAJdTMyIGNv dW50Owo+ICB9Owo+ICAKPiArc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgewo+ICsJc3Ry dWN0IGRybV9kZXZpY2UgICAgICAgICAgICAgICAqZGV2Owo+ICsJc3RydWN0IGRybV9maWxlICAg ICAgICAgICAgICAgICAqZmlsZTsKPiArCXVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgICAg ZGlzcGF0Y2hfZmxhZ3M7Cj4gKwl1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgICAgIGJhdGNo X29ial92bV9vZmZzZXQ7Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICAgICAgICAgICpyaW5n Owo+ICsJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgICAgICAqYmF0Y2hfb2JqOwo+ICsJc3Ry dWN0IGludGVsX2NvbnRleHQgICAgICAgICAgICAqY3R4Owo+ICt9OwoKdGJoIEknbSBub3QgYSBm YW4gb2YgcGFyYW1ldGVyIG9iamVjdHMgaW4gQy4gQyBpcyB2ZXJib3NlIGFuZCBleHBsaWNpdC4K CklmIHdlIGFkZCB0aGUgcmVxdWVzdCB0aGVuIHdlIGNhbiByZW1vdmUgcmluZyBhbmQgY3R4LCB3 aGljaCBhbHJlYWR5CmltcHJvdmVzIHRoaW5ncy4gV2UgYWxzbyBoYXZlIHRoZSBlYiBzdHJ1Y3R1 cmUgd2UgdXNlIHRvIHBhc3MgYXJvdW5kIGEKcGlsZSBvZiB0aGluZ3MsIHdoaWNoIHdlIGNvdWxk IHNvbWV3aGF0IHJldXNlIGhlcmUuIFdoYXQgZWxzZSBkbyB5b3UgcGxhbgp0byBhZGQ/IEp1c3Qg d2FudCB0byBmaWd1cmUgb3V0IHdoZXRoZXIgdGhpcyBpcyByZWFsbHkgcmVxdWlyZWQgLi4uCi1E YW5pZWwKCj4gKwo+ICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7Cj4gIAlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2Owo+ICAJc3RydWN0IGttZW1fY2FjaGUgKnNsYWI7Cj4gQEAgLTE4OTEsMTMgKzE5 MDEsOSBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7Cj4gIAo+ICAJLyogQWJzdHJhY3QgdGhl IHN1Ym1pc3Npb24gbWVjaGFuaXNtIChsZWdhY3kgcmluZ2J1ZmZlciBvciBleGVjbGlzdHMpIGF3 YXkgKi8KPiAgCXN0cnVjdCB7Cj4gLQkJaW50ICgqZG9fZXhlY2J1Zikoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAo+IC0JCQkJICBzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICpyaW5nLAo+IC0JCQkJICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAo+ICsJCWlu dCAoKmRvX2V4ZWNidWYpKHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCj4g IAkJCQkgIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgKmFyZ3MsCj4gLQkJCQkgIHN0 cnVjdCBsaXN0X2hlYWQgKnZtYXMsCj4gLQkJCQkgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpiYXRjaF9vYmosCj4gLQkJCQkgIHU2NCBleGVjX3N0YXJ0LCB1MzIgZmxhZ3MpOwo+ICsJCQkJ ICBzdHJ1Y3QgbGlzdF9oZWFkICp2bWFzKTsKPiAgCQlpbnQgKCppbml0X3JpbmdzKShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KTsKPiAgCQl2b2lkICgqY2xlYW51cF9yaW5nKShzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICpyaW5nKTsKPiAgCQl2b2lkICgqc3RvcF9yaW5nKShzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICpyaW5nKTsKPiBAQCAtMjYyMiwxNCArMjYyOCw5IEBAIHZvaWQgaTkxNV9nZW1fZXhl Y2J1ZmZlcl9yZXRpcmVfY29tbWFuZHMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkJCQkg c3RydWN0IGRybV9maWxlICpmaWxlLAo+ICAJCQkJCSBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpy aW5nLAo+ICAJCQkJCSBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKTsKPiAtaW50IGk5 MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IC0J CQkJICAgc3RydWN0IGRybV9maWxlICpmaWxlLAo+IC0JCQkJICAgc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZywKPiAtCQkJCSAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCj4gK2ludCBp OTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24oc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJh bXMgKnBhcmFtcywKPiAgCQkJCSAgIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgKmFy Z3MsCj4gLQkJCQkgICBzdHJ1Y3QgbGlzdF9oZWFkICp2bWFzLAo+IC0JCQkJICAgc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKmJhdGNoX29iaiwKPiAtCQkJCSAgIHU2NCBleGVjX3N0YXJ0LCB1 MzIgZmxhZ3MpOwo+ICsJCQkJICAgc3RydWN0IGxpc3RfaGVhZCAqdm1hcyk7Cj4gIGludCBpOTE1 X2dlbV9leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gIAkJ CXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKPiAgaW50IGk5MTVfZ2VtX2V4ZWNidWZmZXIy KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+IGluZGV4IGVjOWVhNDUuLjkzYjBlZjAgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4gQEAgLTExMzIs MTcgKzExMzIsMTUgQEAgaTkxNV9nZW1fZXhlY2J1ZmZlcl9wYXJzZShzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICpyaW5nLAo+ICB9Cj4gIAo+ICBpbnQKPiAtaTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJt aXNzaW9uKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKPiAt CQkJICAgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4gLQkJCSAgICAgICBzdHJ1 Y3QgaW50ZWxfY29udGV4dCAqY3R4LAo+ICtpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24o c3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcywKPiAgCQkJICAgICAgIHN0cnVj dCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgKmFyZ3MsCj4gLQkJCSAgICAgICBzdHJ1Y3QgbGlz dF9oZWFkICp2bWFzLAo+IC0JCQkgICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmJh dGNoX29iaiwKPiAtCQkJICAgICAgIHU2NCBleGVjX3N0YXJ0LCB1MzIgZGlzcGF0Y2hfZmxhZ3Mp Cj4gKwkJCSAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICp2bWFzKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJt X2NsaXBfcmVjdCAqY2xpcHJlY3RzID0gTlVMTDsKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBwYXJhbXMtPmRldjsKPiArCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcgPSBwYXJhbXMt PnJpbmc7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOwo+IC0JdTY0IGV4ZWNfbGVuOwo+ICsJdTY0IGV4ZWNfc3RhcnQsIGV4ZWNfbGVuOwo+ ICAJaW50IGluc3RwX21vZGU7Cj4gIAl1MzIgaW5zdHBfbWFzazsKPiAgCWludCBpLCByZXQgPSAw Owo+IEBAIC0xMTk0LDcgKzExOTIsNyBAQCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24o c3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAo+ICAJaWYgKHJl dCkKPiAgCQlnb3RvIGVycm9yOwo+ICAKPiAtCXJldCA9IGk5MTVfc3dpdGNoX2NvbnRleHQocmlu ZywgY3R4KTsKPiArCXJldCA9IGk5MTVfc3dpdGNoX2NvbnRleHQocmluZywgcGFyYW1zLT5jdHgp Owo+ICAJaWYgKHJldCkKPiAgCQlnb3RvIGVycm9yOwo+ICAKPiBAQCAtMTI1MSwxMiArMTI0OSwx NSBAQCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24oc3RydWN0IGRybV9kZXZpY2UgKmRl diwgc3RydWN0IGRybV9maWxlICpmaWxlLAo+ICAJfQo+ICAKPiAgCWlmIChhcmdzLT5mbGFncyAm IEk5MTVfRVhFQ19HRU43X1NPTF9SRVNFVCkgewo+IC0JCXJldCA9IGk5MTVfcmVzZXRfZ2VuN19z b2xfb2Zmc2V0cyhkZXYsIHJpbmcpOwo+ICsJCXJldCA9IGk5MTVfcmVzZXRfZ2VuN19zb2xfb2Zm c2V0cyhwYXJhbXMtPmRldiwgcmluZyk7Cj4gIAkJaWYgKHJldCkKPiAgCQkJZ290byBlcnJvcjsK PiAgCX0KPiAgCj4gLQlleGVjX2xlbiA9IGFyZ3MtPmJhdGNoX2xlbjsKPiArCWV4ZWNfbGVuICAg PSBhcmdzLT5iYXRjaF9sZW47Cj4gKwlleGVjX3N0YXJ0ID0gcGFyYW1zLT5iYXRjaF9vYmpfdm1f b2Zmc2V0ICsKPiArCQkgICAgIGFyZ3MtPmJhdGNoX3N0YXJ0X29mZnNldDsKPiArCj4gIAlpZiAo Y2xpcHJlY3RzKSB7Cj4gIAkJZm9yIChpID0gMDsgaSA8IGFyZ3MtPm51bV9jbGlwcmVjdHM7IGkr Kykgewo+ICAJCQlyZXQgPSBpOTE1X2VtaXRfYm94KHJpbmcsICZjbGlwcmVjdHNbaV0sCj4gQEAg LTEyNjYsMjIgKzEyNjcsMjMgQEAgaTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJtaXNzaW9uKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKPiAgCj4gIAkJCXJldCA9 IHJpbmctPmRpc3BhdGNoX2V4ZWNidWZmZXIocmluZywKPiAgCQkJCQkJCWV4ZWNfc3RhcnQsIGV4 ZWNfbGVuLAo+IC0JCQkJCQkJZGlzcGF0Y2hfZmxhZ3MpOwo+ICsJCQkJCQkJcGFyYW1zLT5kaXNw YXRjaF9mbGFncyk7Cj4gIAkJCWlmIChyZXQpCj4gIAkJCQlnb3RvIGVycm9yOwo+ICAJCX0KPiAg CX0gZWxzZSB7Cj4gIAkJcmV0ID0gcmluZy0+ZGlzcGF0Y2hfZXhlY2J1ZmZlcihyaW5nLAo+ICAJ CQkJCQlleGVjX3N0YXJ0LCBleGVjX2xlbiwKPiAtCQkJCQkJZGlzcGF0Y2hfZmxhZ3MpOwo+ICsJ CQkJCQlwYXJhbXMtPmRpc3BhdGNoX2ZsYWdzKTsKPiAgCQlpZiAocmV0KQo+ICAJCQlyZXR1cm4g cmV0Owo+ICAJfQo+ICAKPiAtCXRyYWNlX2k5MTVfZ2VtX3JpbmdfZGlzcGF0Y2goaW50ZWxfcmlu Z19nZXRfcmVxdWVzdChyaW5nKSwgZGlzcGF0Y2hfZmxhZ3MpOwo+ICsJdHJhY2VfaTkxNV9nZW1f cmluZ19kaXNwYXRjaChpbnRlbF9yaW5nX2dldF9yZXF1ZXN0KHJpbmcpLCBwYXJhbXMtPmRpc3Bh dGNoX2ZsYWdzKTsKPiAgCj4gIAlpOTE1X2dlbV9leGVjYnVmZmVyX21vdmVfdG9fYWN0aXZlKHZt YXMsIHJpbmcpOwo+IC0JaTkxNV9nZW1fZXhlY2J1ZmZlcl9yZXRpcmVfY29tbWFuZHMoZGV2LCBm aWxlLCByaW5nLCBiYXRjaF9vYmopOwo+ICsJaTkxNV9nZW1fZXhlY2J1ZmZlcl9yZXRpcmVfY29t bWFuZHMocGFyYW1zLT5kZXYsIHBhcmFtcy0+ZmlsZSwgcmluZywKPiArCQkJCQkgICAgcGFyYW1z LT5iYXRjaF9vYmopOwo+ICAKPiAgZXJyb3I6Cj4gIAlrZnJlZShjbGlwcmVjdHMpOwo+IEBAIC0x MzUxLDggKzEzNTMsOSBAQCBpOTE1X2dlbV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHZvaWQgKmRhdGEsCj4gIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nOwo+ICAJ c3RydWN0IGludGVsX2NvbnRleHQgKmN0eDsKPiAgCXN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2Ug KnZtOwo+ICsJc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgcGFyYW1zX21hc3RlcjsgLyog WFhYOiB3aWxsIGJlIHJlbW92ZWQgbGF0ZXIgKi8KPiArCXN0cnVjdCBpOTE1X2V4ZWNidWZmZXJf cGFyYW1zICpwYXJhbXMgPSAmcGFyYW1zX21hc3RlcjsKPiAgCWNvbnN0IHUzMiBjdHhfaWQgPSBp OTE1X2V4ZWNidWZmZXIyX2dldF9jb250ZXh0X2lkKCphcmdzKTsKPiAtCXU2NCBleGVjX3N0YXJ0 ID0gYXJncy0+YmF0Y2hfc3RhcnRfb2Zmc2V0Owo+ICAJdTMyIGRpc3BhdGNoX2ZsYWdzOwo+ICAJ aW50IHJldDsKPiAgCWJvb2wgbmVlZF9yZWxvY3M7Cj4gQEAgLTE0NDUsNiArMTQ0OCw4IEBAIGk5 MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwK PiAgCWVsc2UKPiAgCQl2bSA9ICZkZXZfcHJpdi0+Z3R0LmJhc2U7Cj4gIAo+ICsJbWVtc2V0KCZw YXJhbXNfbWFzdGVyLCAweDAwLCBzaXplb2YocGFyYW1zX21hc3RlcikpOwo+ICsKPiAgCWViID0g ZWJfY3JlYXRlKGFyZ3MpOwo+ICAJaWYgKGViID09IE5VTEwpIHsKPiAgCQlpOTE1X2dlbV9jb250 ZXh0X3VucmVmZXJlbmNlKGN0eCk7Cj4gQEAgLTE1MjIsMTMgKzE1MjcsMjQgQEAgaTkxNV9nZW1f ZG9fZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAJCWlm IChyZXQpCj4gIAkJCWdvdG8gZXJyOwo+ICAKPiAtCQlleGVjX3N0YXJ0ICs9IGk5MTVfZ2VtX29i al9nZ3R0X29mZnNldChiYXRjaF9vYmopOwo+ICsJCXBhcmFtcy0+YmF0Y2hfb2JqX3ZtX29mZnNl dCA9IGk5MTVfZ2VtX29ial9nZ3R0X29mZnNldChiYXRjaF9vYmopOwo+ICAJfSBlbHNlCj4gLQkJ ZXhlY19zdGFydCArPSBpOTE1X2dlbV9vYmpfb2Zmc2V0KGJhdGNoX29iaiwgdm0pOwo+ICsJCXBh cmFtcy0+YmF0Y2hfb2JqX3ZtX29mZnNldCA9IGk5MTVfZ2VtX29ial9vZmZzZXQoYmF0Y2hfb2Jq LCB2bSk7Cj4gIAo+IC0JcmV0ID0gZGV2X3ByaXYtPmd0LmRvX2V4ZWNidWYoZGV2LCBmaWxlLCBy aW5nLCBjdHgsIGFyZ3MsCj4gLQkJCQkgICAgICAmZWItPnZtYXMsIGJhdGNoX29iaiwgZXhlY19z dGFydCwKPiAtCQkJCSAgICAgIGRpc3BhdGNoX2ZsYWdzKTsKPiArCS8qCj4gKwkgKiBTYXZlIGFz c29ydGVkIHN0dWZmIGF3YXkgdG8gcGFzcyB0aHJvdWdoIHRvICpfc3VibWlzc2lvbigpLgo+ICsJ ICogTkI6IFRoaXMgZGF0YSBzaG91bGQgYmUgJ3BlcnNpc3RlbnQnIGFuZCBub3QgbG9jYWwgYXMg aXQgd2lsbAo+ICsJICoga2VwdCBhcm91bmQgYmV5b25kIHRoZSBkdXJhdGlvbiBvZiB0aGUgSU9D VEwgb25jZSB0aGUgR1BVCj4gKwkgKiBzY2hlZHVsZXIgYXJyaXZlcy4KPiArCSAqLwo+ICsJcGFy YW1zLT5kZXYgICAgICAgICAgICAgICAgICAgICA9IGRldjsKPiArCXBhcmFtcy0+ZmlsZSAgICAg ICAgICAgICAgICAgICAgPSBmaWxlOwo+ICsJcGFyYW1zLT5yaW5nICAgICAgICAgICAgICAgICAg ICA9IHJpbmc7Cj4gKwlwYXJhbXMtPmRpc3BhdGNoX2ZsYWdzICAgICAgICAgID0gZGlzcGF0Y2hf ZmxhZ3M7Cj4gKwlwYXJhbXMtPmJhdGNoX29iaiAgICAgICAgICAgICAgID0gYmF0Y2hfb2JqOwo+ ICsJcGFyYW1zLT5jdHggICAgICAgICAgICAgICAgICAgICA9IGN0eDsKPiArCj4gKwlyZXQgPSBk ZXZfcHJpdi0+Z3QuZG9fZXhlY2J1ZihwYXJhbXMsIGFyZ3MsICZlYi0+dm1hcyk7Cj4gIAo+ICAJ LyoKPiAgCSAqIEZJWE1FOiBXZSBjcnVjaWFsbHkgcmVseSB1cG9uIHRoZSBhY3RpdmUgdHJhY2tp bmcgZm9yIHRoZSAocHBndHQpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBpbmRleCA3NjIx MzZiLi5jYTI5MjkwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xy Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBAQCAtNjE4LDE2 ICs2MTgsMTUgQEAgc3RhdGljIGludCBleGVjbGlzdHNfbW92ZV90b19ncHUoc3RydWN0IGludGVs X3JpbmdidWZmZXIgKnJpbmdidWYsCj4gICAqCj4gICAqIFJldHVybjogbm9uLXplcm8gaWYgdGhl IHN1Ym1pc3Npb24gZmFpbHMuCj4gICAqLwo+IC1pbnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Np b24oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAo+IC0JCQkg ICAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPiAtCQkJICAgICAgIHN0cnVjdCBp bnRlbF9jb250ZXh0ICpjdHgsCj4gK2ludCBpbnRlbF9leGVjbGlzdHNfc3VibWlzc2lvbihzdHJ1 Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zLAo+ICAJCQkgICAgICAgc3RydWN0IGRy bV9pOTE1X2dlbV9leGVjYnVmZmVyMiAqYXJncywKPiAtCQkJICAgICAgIHN0cnVjdCBsaXN0X2hl YWQgKnZtYXMsCj4gLQkJCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqYmF0Y2hf b2JqLAo+IC0JCQkgICAgICAgdTY0IGV4ZWNfc3RhcnQsIHUzMiBkaXNwYXRjaF9mbGFncykKPiAr CQkJICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgKnZtYXMpCj4gIHsKPiArCXN0cnVjdCBkcm1fZGV2 aWNlICAgICAgICpkZXYgPSBwYXJhbXMtPmRldjsKPiArCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg ICpyaW5nID0gcGFyYW1zLT5yaW5nOwo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5n YnVmID0gY3R4LT5lbmdpbmVbcmluZy0+aWRdLnJpbmdidWY7Cj4gKwlzdHJ1Y3QgaW50ZWxfcmlu Z2J1ZmZlciAqcmluZ2J1ZiA9IHBhcmFtcy0+Y3R4LT5lbmdpbmVbcmluZy0+aWRdLnJpbmdidWY7 Cj4gKwl1NjQgZXhlY19zdGFydDsKPiAgCWludCBpbnN0cF9tb2RlOwo+ICAJdTMyIGluc3RwX21h c2s7Cj4gIAlpbnQgcmV0Owo+IEBAIC02NzgsMTMgKzY3NywxMyBAQCBpbnQgaW50ZWxfZXhlY2xp c3RzX3N1Ym1pc3Npb24oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpm aWxlLAo+ICAJCXJldHVybiAtRUlOVkFMOwo+ICAJfQo+ICAKPiAtCXJldCA9IGV4ZWNsaXN0c19t b3ZlX3RvX2dwdShyaW5nYnVmLCBjdHgsIHZtYXMpOwo+ICsJcmV0ID0gZXhlY2xpc3RzX21vdmVf dG9fZ3B1KHJpbmdidWYsIHBhcmFtcy0+Y3R4LCB2bWFzKTsKPiAgCWlmIChyZXQpCj4gIAkJcmV0 dXJuIHJldDsKPiAgCj4gIAlpZiAocmluZyA9PSAmZGV2X3ByaXYtPnJpbmdbUkNTXSAmJgo+ICAJ ICAgIGluc3RwX21vZGUgIT0gZGV2X3ByaXYtPnJlbGF0aXZlX2NvbnN0YW50c19tb2RlKSB7Cj4g LQkJcmV0ID0gaW50ZWxfbG9naWNhbF9yaW5nX2JlZ2luKHJpbmdidWYsIGN0eCwgNCk7Cj4gKwkJ cmV0ID0gaW50ZWxfbG9naWNhbF9yaW5nX2JlZ2luKHJpbmdidWYsIHBhcmFtcy0+Y3R4LCA0KTsK PiAgCQlpZiAocmV0KQo+ICAJCQlyZXR1cm4gcmV0Owo+ICAKPiBAQCAtNjk3LDE0ICs2OTYsMTcg QEAgaW50IGludGVsX2V4ZWNsaXN0c19zdWJtaXNzaW9uKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKPiAgCQlkZXZfcHJpdi0+cmVsYXRpdmVfY29uc3RhbnRz X21vZGUgPSBpbnN0cF9tb2RlOwo+ICAJfQo+ICAKPiAtCXJldCA9IHJpbmctPmVtaXRfYmJfc3Rh cnQocmluZ2J1ZiwgY3R4LCBleGVjX3N0YXJ0LCBkaXNwYXRjaF9mbGFncyk7Cj4gKwlleGVjX3N0 YXJ0ID0gcGFyYW1zLT5iYXRjaF9vYmpfdm1fb2Zmc2V0ICsKPiArCQkgICAgIGFyZ3MtPmJhdGNo X3N0YXJ0X29mZnNldDsKPiArCj4gKwlyZXQgPSByaW5nLT5lbWl0X2JiX3N0YXJ0KHJpbmdidWYs IHBhcmFtcy0+Y3R4LCBleGVjX3N0YXJ0LCBwYXJhbXMtPmRpc3BhdGNoX2ZsYWdzKTsKPiAgCWlm IChyZXQpCj4gIAkJcmV0dXJuIHJldDsKPiAgCj4gLQl0cmFjZV9pOTE1X2dlbV9yaW5nX2Rpc3Bh dGNoKGludGVsX3JpbmdfZ2V0X3JlcXVlc3QocmluZyksIGRpc3BhdGNoX2ZsYWdzKTsKPiArCXRy YWNlX2k5MTVfZ2VtX3JpbmdfZGlzcGF0Y2goaW50ZWxfcmluZ19nZXRfcmVxdWVzdChyaW5nKSwg cGFyYW1zLT5kaXNwYXRjaF9mbGFncyk7Cj4gIAo+ICAJaTkxNV9nZW1fZXhlY2J1ZmZlcl9tb3Zl X3RvX2FjdGl2ZSh2bWFzLCByaW5nKTsKPiAtCWk5MTVfZ2VtX2V4ZWNidWZmZXJfcmV0aXJlX2Nv bW1hbmRzKGRldiwgZmlsZSwgcmluZywgYmF0Y2hfb2JqKTsKPiArCWk5MTVfZ2VtX2V4ZWNidWZm ZXJfcmV0aXJlX2NvbW1hbmRzKHBhcmFtcy0+ZGV2LCBwYXJhbXMtPmZpbGUsIHJpbmcsIHBhcmFt cy0+YmF0Y2hfb2JqKTsKPiAgCj4gIAlyZXR1cm4gMDsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5oCj4gaW5kZXggMzA5MzgzNi4uYWUyZjNlZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5oCj4gQEAgLTgwLDEzICs4MCwxMCBAQCB2b2lkIGludGVsX2xyX2NvbnRleHRfdW5waW4o c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPiAgCj4gIC8qIEV4ZWNsaXN0cyAqLwo+ICBp bnQgaW50ZWxfc2FuaXRpemVfZW5hYmxlX2V4ZWNsaXN0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCBpbnQgZW5hYmxlX2V4ZWNsaXN0cyk7Cj4gLWludCBpbnRlbF9leGVjbGlzdHNfc3VibWlzc2lv bihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCj4gLQkJCSAg ICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+IC0JCQkgICAgICAgc3RydWN0IGlu dGVsX2NvbnRleHQgKmN0eCwKPiArc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXM7Cj4gK2lu dCBpbnRlbF9leGVjbGlzdHNfc3VibWlzc2lvbihzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFt cyAqcGFyYW1zLAo+ICAJCQkgICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMiAq YXJncywKPiAtCQkJICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgKnZtYXMsCj4gLQkJCSAgICAgICBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqYmF0Y2hfb2JqLAo+IC0JCQkgICAgICAgdTY0IGV4 ZWNfc3RhcnQsIHUzMiBkaXNwYXRjaF9mbGFncyk7Cj4gKwkJCSAgICAgICBzdHJ1Y3QgbGlzdF9o ZWFkICp2bWFzKTsKPiAgdTMyIGludGVsX2V4ZWNsaXN0c19jdHhfaWQoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKmN0eF9vYmopOwo+ICAKPiAgdm9pZCBpbnRlbF9scmNfaXJxX2hhbmRsZXIo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7Cj4gLS0gCj4gMS43LjkuNQo+IAo+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKRGFuaWVs IFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KKzQxICgwKSA3OSAz NjUgNTcgNDggLSBodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=