From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: Re: [PATCH 04/53] drm/i915: Merged the many do_execbuf() parameters into a structure Date: Thu, 05 Mar 2015 14:30:28 +0000 Message-ID: <54F86884.3040306@intel.com> References: <1423828140-10653-1-git-send-email-John.C.Harrison@Intel.com> <1424366285-29232-1-git-send-email-John.C.Harrison@Intel.com> <1424366285-29232-5-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id B30B16E36F for ; Thu, 5 Mar 2015 06:30:30 -0800 (PST) In-Reply-To: <1424366285-29232-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, Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gMTkvMDIvMjAxNSAxNzoxNywgSm9obi5DLkhhcnJpc29uQEludGVsLmNvbSB3cm90ZToKPiBG cm9tOiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgo+Cj4gVGhlIGRv X2V4ZWNidWYoKSBmdW5jdGlvbiB0YWtlcyBxdWl0ZSBhIGZldyBwYXJhbWV0ZXJzLiBUaGUgYWN0 dWFsIHNldCBvZgo+IHBhcmFtZXRlcnMgaXMgZ29pbmcgdG8gY2hhbmdlIHdpdGggdGhlIGNvbnZl cnNpb24gdG8gcGFzc2luZyByZXF1ZXN0cyBhcm91bmQuCj4gRnVydGhlciwgaXQgaXMgZHVlIHRv IGdyb3cgbWFzc2l2ZWx5IHdpdGggdGhlIGFycml2YWwgb2YgdGhlIEdQVSBzY2hlZHVsZXIuCj4K PiBUaGlzIHBhdGNoIHNpbXBsaWVzIHRoZSBwcm90b3R5cGUgYnkgcGFzc2luZyBhIHBhcmFtZXRl ciBzdHJ1Y3R1cmUgaW5zdGVhZC4KCk5pdHBpY2s6IHNpbXBsaWVzIC0+IHNpbXBsaWZpZXMuCgo+ IENoYW5naW5nIHRoZSBwYXJhbWV0ZXIgc2V0IGluIHRoZSBmdXR1cmUgaXMgdGhlbiBzaW1wbHkg YSBtYXR0ZXIgb2YKPiBhZGRpbmcvcmVtb3ZpbmcgaXRlbXMgdG8gdGhlIHN0cnVjdHVyZS4KPgo+ IE5vdGUgdGhhdCB0aGUgc3RydWN0dXJlIGRvZXMgbm90IGNvbnRhaW4gYWJzb2x1dGVseSBldmVy eXRoaW5nIHRoYXQgaXMgcGFzc2VkCj4gaW4uIFRoaXMgaXMgYmVjYXVzZSB0aGUgaW50ZW50aW9u IGlzIHRvIHVzZSB0aGlzIHN0cnVjdHVyZSBtb3JlIGV4dGVuc2l2ZWx5Cj4gbGF0ZXIgaW4gdGhp cyBwYXRjaCBzZXJpZXMgYW5kIG1vcmUgZXNwZWNpYWxseSBpbiB0aGUgR1BVIHNjaGVkdWxlciB0 aGF0IGlzCj4gY29taW5nIHNvb24uIFRoZSBsYXR0ZXIgcmVxdWlyZXMgaGFuZ2luZyBvbiB0byB0 aGUgc3RydWN0dXJlIGFzIHRoZSBmaW5hbAo+IGhhcmR3YXJlIHN1Ym1pc3Npb24gY2FuIGJlIGRl bGF5ZWQgdW50aWwgbG9uZyBhZnRlciB0aGUgZXhlY2J1ZiBJT0NUTCBoYXMKPiByZXR1cm5lZCB0 byB1c2VyIGxhbmQuIFRodXMgaXQgaXMgdW5zYWZlIHRvIHB1dCBhbnl0aGluZyBpbiB0aGUgc3Ry dWN0dXJlIHRoYXQKPiBpcyBsb2NhbCB0byB0aGUgSU9DVEwgY2FsbCBpdHNlbGYgLSBzdWNoIGFz IHRoZSAnYXJncycgcGFyYW1ldGVyLiBBbGwgZW50cmllcwo+IG11c3QgYmUgY29waWVzIG9mIGRh dGEgb3IgcG9pbnRlcnMgdG8gc3RydWN0dXJlcyB0aGF0IGFyZSByZWZlcmVuY2UgY291bnRlZCBp bgo+IHNvbWV3YXkgYW5kIGd1YXJhbnRlZWQgdG8gZXhpc3QgZm9yIHRoZSBkdXJhdGlvbiBvZiB0 aGUgYmF0Y2ggYnVmZmVyJ3MgbGlmZS4KCk5pdHBpY2s6IHNvbWV3YXkgLT4gc29tZSB3YXkKCj4K PiBGb3I6IFZJWi01MTE1Cj4gU2lnbmVkLW9mZi1ieTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhh cnJpc29uQEludGVsLmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggICAgICAgICAgICB8ICAgMjcgKysrKysrKy0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyB8ICAgNTYgKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAgIHwgICAy NiArKysrKysrLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaCAgICAg ICAgICAgfCAgICA5ICsrLS0tCj4gICA0IGZpbGVzIGNoYW5nZWQsIDY3IGluc2VydGlvbnMoKyks IDUxIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggYmEwOTEz Ny4uZmRkNjNhYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0xNjQ1LDYgKzE2 NDUsMTYgQEAgc3RydWN0IGk5MTVfdmlydHVhbF9ncHUgewo+ICAgCWJvb2wgYWN0aXZlOwo+ICAg fTsKPgo+ICtzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyB7Cj4gKwlzdHJ1Y3QgZHJtX2Rl dmljZSAgICAgICAgICAgICAgICpkZXY7Cj4gKwlzdHJ1Y3QgZHJtX2ZpbGUgICAgICAgICAgICAg ICAgICpmaWxlOwo+ICsJdWludDMyX3QgICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaF9m bGFnczsKPiArCXVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgICAgYmF0Y2hfb2JqX3ZtX29m ZnNldDsKPiArCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgICAgICAgICAgKnJpbmc7Cj4gKwlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAgICAgICpiYXRjaF9vYmo7Cj4gKwlzdHJ1Y3QgaW50ZWxf Y29udGV4dCAgICAgICAgICAgICpjdHg7Cj4gK307Cj4gKwo+ICAgc3RydWN0IGRybV9pOTE1X3By aXZhdGUgewo+ICAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7Cj4gICAJc3RydWN0IGttZW1fY2Fj aGUgKnNsYWI7Cj4gQEAgLTE4OTgsMTMgKzE5MDgsOSBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSB7Cj4KPiAgIAkvKiBBYnN0cmFjdCB0aGUgc3VibWlzc2lvbiBtZWNoYW5pc20gKGxlZ2FjeSBy aW5nYnVmZmVyIG9yIGV4ZWNsaXN0cykgYXdheSAqLwo+ICAgCXN0cnVjdCB7Cj4gLQkJaW50ICgq ZG9fZXhlY2J1Zikoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxl LAo+IC0JCQkJICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+IC0JCQkJICBzdHJ1Y3Qg aW50ZWxfY29udGV4dCAqY3R4LAo+ICsJCWludCAoKmRvX2V4ZWNidWYpKHN0cnVjdCBpOTE1X2V4 ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCj4gICAJCQkJICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4 ZWNidWZmZXIyICphcmdzLAo+IC0JCQkJICBzdHJ1Y3QgbGlzdF9oZWFkICp2bWFzLAo+IC0JCQkJ ICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqYmF0Y2hfb2JqLAo+IC0JCQkJICB1NjQgZXhl Y19zdGFydCwgdTMyIGZsYWdzKTsKPiArCQkJCSAgc3RydWN0IGxpc3RfaGVhZCAqdm1hcyk7Cj4g ICAJCWludCAoKmluaXRfcmluZ3MpKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICAgCQl2b2lk ICgqY2xlYW51cF9yaW5nKShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKTsKPiAgIAkJdm9p ZCAoKnN0b3BfcmluZykoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7Cj4gQEAgLTI2Mzgs MTQgKzI2NDQsOSBAQCB2b2lkIGk5MTVfZ2VtX2V4ZWNidWZmZXJfcmV0aXJlX2NvbW1hbmRzKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAJCQkJCSBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCj4g ICAJCQkJCSBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+ICAgCQkJCQkgc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaik7Cj4gLWludCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1p c3Npb24oc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAtCQkJCSAgIHN0cnVjdCBkcm1fZmlsZSAq ZmlsZSwKPiAtCQkJCSAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4gLQkJCQkgICBz dHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAo+ICtpbnQgaTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJt aXNzaW9uKHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCj4gICAJCQkJICAg c3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMiAqYXJncywKPiAtCQkJCSAgIHN0cnVjdCBs aXN0X2hlYWQgKnZtYXMsCj4gLQkJCQkgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqYmF0 Y2hfb2JqLAo+IC0JCQkJICAgdTY0IGV4ZWNfc3RhcnQsIHUzMiBmbGFncyk7Cj4gKwkJCQkgICBz dHJ1Y3QgbGlzdF9oZWFkICp2bWFzKTsKPiAgIGludCBpOTE1X2dlbV9leGVjYnVmZmVyKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJCQlzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGVfcHJpdik7Cj4gICBpbnQgaTkxNV9nZW1fZXhlY2J1ZmZlcjIoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdm9pZCAqZGF0YSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1 ZmZlci5jCj4gaW5kZXggZWM5ZWE0NS4uOTNiMGVmMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKPiBAQCAtMTEzMiwxNyArMTEzMiwxNSBAQCBpOTE1 X2dlbV9leGVjYnVmZmVyX3BhcnNlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4gICB9 Cj4KPiAgIGludAo+IC1pOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24oc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAo+IC0JCQkgICAgICAgc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqcmluZywKPiAtCQkJICAgICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpj dHgsCj4gK2k5MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbihzdHJ1Y3QgaTkxNV9leGVjYnVm ZmVyX3BhcmFtcyAqcGFyYW1zLAo+ICAgCQkJICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhl Y2J1ZmZlcjIgKmFyZ3MsCj4gLQkJCSAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICp2bWFzLAo+IC0J CQkgICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmJhdGNoX29iaiwKPiAtCQkJICAg ICAgIHU2NCBleGVjX3N0YXJ0LCB1MzIgZGlzcGF0Y2hfZmxhZ3MpCj4gKwkJCSAgICAgICBzdHJ1 Y3QgbGlzdF9oZWFkICp2bWFzKQo+ICAgewo+ICAgCXN0cnVjdCBkcm1fY2xpcF9yZWN0ICpjbGlw cmVjdHMgPSBOVUxMOwo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBhcmFtcy0+ZGV2Owo+ ICsJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9IHBhcmFtcy0+cmluZzsKPiAgIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IC0JdTY0 IGV4ZWNfbGVuOwo+ICsJdTY0IGV4ZWNfc3RhcnQsIGV4ZWNfbGVuOwo+ICAgCWludCBpbnN0cF9t b2RlOwo+ICAgCXUzMiBpbnN0cF9tYXNrOwo+ICAgCWludCBpLCByZXQgPSAwOwo+IEBAIC0xMTk0 LDcgKzExOTIsNyBAQCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24oc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAo+ICAgCWlmIChyZXQpCj4gICAJCWdv dG8gZXJyb3I7Cj4KPiAtCXJldCA9IGk5MTVfc3dpdGNoX2NvbnRleHQocmluZywgY3R4KTsKPiAr CXJldCA9IGk5MTVfc3dpdGNoX2NvbnRleHQocmluZywgcGFyYW1zLT5jdHgpOwo+ICAgCWlmIChy ZXQpCj4gICAJCWdvdG8gZXJyb3I7Cj4KPiBAQCAtMTI1MSwxMiArMTI0OSwxNSBAQCBpOTE1X2dl bV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRy bV9maWxlICpmaWxlLAo+ICAgCX0KPgo+ICAgCWlmIChhcmdzLT5mbGFncyAmIEk5MTVfRVhFQ19H RU43X1NPTF9SRVNFVCkgewo+IC0JCXJldCA9IGk5MTVfcmVzZXRfZ2VuN19zb2xfb2Zmc2V0cyhk ZXYsIHJpbmcpOwo+ICsJCXJldCA9IGk5MTVfcmVzZXRfZ2VuN19zb2xfb2Zmc2V0cyhwYXJhbXMt PmRldiwgcmluZyk7Cj4gICAJCWlmIChyZXQpCj4gICAJCQlnb3RvIGVycm9yOwo+ICAgCX0KPgo+ IC0JZXhlY19sZW4gPSBhcmdzLT5iYXRjaF9sZW47Cj4gKwlleGVjX2xlbiAgID0gYXJncy0+YmF0 Y2hfbGVuOwo+ICsJZXhlY19zdGFydCA9IHBhcmFtcy0+YmF0Y2hfb2JqX3ZtX29mZnNldCArCj4g KwkJICAgICBhcmdzLT5iYXRjaF9zdGFydF9vZmZzZXQ7Cj4gKwo+ICAgCWlmIChjbGlwcmVjdHMp IHsKPiAgIAkJZm9yIChpID0gMDsgaSA8IGFyZ3MtPm51bV9jbGlwcmVjdHM7IGkrKykgewo+ICAg CQkJcmV0ID0gaTkxNV9lbWl0X2JveChyaW5nLCAmY2xpcHJlY3RzW2ldLAo+IEBAIC0xMjY2LDIy ICsxMjY3LDIzIEBAIGk5MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbihzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCj4KPiAgIAkJCXJldCA9IHJpbmctPmRp c3BhdGNoX2V4ZWNidWZmZXIocmluZywKPiAgIAkJCQkJCQlleGVjX3N0YXJ0LCBleGVjX2xlbiwK PiAtCQkJCQkJCWRpc3BhdGNoX2ZsYWdzKTsKPiArCQkJCQkJCXBhcmFtcy0+ZGlzcGF0Y2hfZmxh Z3MpOwo+ICAgCQkJaWYgKHJldCkKPiAgIAkJCQlnb3RvIGVycm9yOwo+ICAgCQl9Cj4gICAJfSBl bHNlIHsKPiAgIAkJcmV0ID0gcmluZy0+ZGlzcGF0Y2hfZXhlY2J1ZmZlcihyaW5nLAo+ICAgCQkJ CQkJZXhlY19zdGFydCwgZXhlY19sZW4sCj4gLQkJCQkJCWRpc3BhdGNoX2ZsYWdzKTsKPiArCQkJ CQkJcGFyYW1zLT5kaXNwYXRjaF9mbGFncyk7Cj4gICAJCWlmIChyZXQpCj4gICAJCQlyZXR1cm4g cmV0Owo+ICAgCX0KPgo+IC0JdHJhY2VfaTkxNV9nZW1fcmluZ19kaXNwYXRjaChpbnRlbF9yaW5n X2dldF9yZXF1ZXN0KHJpbmcpLCBkaXNwYXRjaF9mbGFncyk7Cj4gKwl0cmFjZV9pOTE1X2dlbV9y aW5nX2Rpc3BhdGNoKGludGVsX3JpbmdfZ2V0X3JlcXVlc3QocmluZyksIHBhcmFtcy0+ZGlzcGF0 Y2hfZmxhZ3MpOwo+Cj4gICAJaTkxNV9nZW1fZXhlY2J1ZmZlcl9tb3ZlX3RvX2FjdGl2ZSh2bWFz LCByaW5nKTsKPiAtCWk5MTVfZ2VtX2V4ZWNidWZmZXJfcmV0aXJlX2NvbW1hbmRzKGRldiwgZmls ZSwgcmluZywgYmF0Y2hfb2JqKTsKPiArCWk5MTVfZ2VtX2V4ZWNidWZmZXJfcmV0aXJlX2NvbW1h bmRzKHBhcmFtcy0+ZGV2LCBwYXJhbXMtPmZpbGUsIHJpbmcsCj4gKwkJCQkJICAgIHBhcmFtcy0+ YmF0Y2hfb2JqKTsKPgo+ICAgZXJyb3I6Cj4gICAJa2ZyZWUoY2xpcHJlY3RzKTsKPiBAQCAtMTM1 MSw4ICsxMzUzLDkgQEAgaTkxNV9nZW1fZG9fZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB2b2lkICpkYXRhLAo+ICAgCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmc7Cj4gICAJ c3RydWN0IGludGVsX2NvbnRleHQgKmN0eDsKPiAgIAlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNl ICp2bTsKPiArCXN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zIHBhcmFtc19tYXN0ZXI7IC8q IFhYWDogd2lsbCBiZSByZW1vdmVkIGxhdGVyICovCgpwYXJhbXNfbWFzdGVyIGlzIG5vdCByZW1v dmVkIGFueXdoZXJlIGluIHRoaXMgcGF0Y2ggc2VyaWVzLiBXaGF0IGlzIHRoZSAKcGxhbiBmb3Ig dGhpcyB2YXJpYWJsZT8KCihVcGRhdGU6IEpvaG4gaGFzIGluIGxhdGVyIGRpc2N1c3Npb25zIHNh aWQgdGhhdCBpdCB3aWxsIGJlIGRyb3BwZWQgb25jZSAKdGhlIHNjaGVkdWxlciBsYW5kcywgYWxz byBpdCBpcyBleHBsYWluZWQgZnVydGhlciBpbiBjb21tZW50IGJlbG93IHdoZXJlIAp0aGUgcGFy YW1zIHZhcmlhYmxlIGlzIHBvcHVsYXRlZC4gU3RpbGwsIHRoZSBjb21tZW50IGFib3ZlIGNvdWxk IHNheSAKIndpbGwgYmUgcmVtb3ZlZCBvbmNlIHRoZSBzY2hlZHVsZXIgbGFuZHMiIG9yIHNvbWV0 aGluZy4gTm90IGEgYmlnIGRlYWwsIAp0aG91Z2guKQoKUmV2aWV3ZWQtYnk6IFRvbWFzIEVsZiA8 dG9tYXMuZWxmQGludGVsLmNvbT4KClRoYW5rcywKVG9tYXMKCj4gKwlzdHJ1Y3QgaTkxNV9leGVj YnVmZmVyX3BhcmFtcyAqcGFyYW1zID0gJnBhcmFtc19tYXN0ZXI7Cj4gICAJY29uc3QgdTMyIGN0 eF9pZCA9IGk5MTVfZXhlY2J1ZmZlcjJfZ2V0X2NvbnRleHRfaWQoKmFyZ3MpOwo+IC0JdTY0IGV4 ZWNfc3RhcnQgPSBhcmdzLT5iYXRjaF9zdGFydF9vZmZzZXQ7Cj4gICAJdTMyIGRpc3BhdGNoX2Zs YWdzOwo+ICAgCWludCByZXQ7Cj4gICAJYm9vbCBuZWVkX3JlbG9jczsKPiBAQCAtMTQ0NSw2ICsx NDQ4LDggQEAgaTkxNV9nZW1fZG9fZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2 b2lkICpkYXRhLAo+ICAgCWVsc2UKPiAgIAkJdm0gPSAmZGV2X3ByaXYtPmd0dC5iYXNlOwo+Cj4g KwltZW1zZXQoJnBhcmFtc19tYXN0ZXIsIDB4MDAsIHNpemVvZihwYXJhbXNfbWFzdGVyKSk7Cj4g Kwo+ICAgCWViID0gZWJfY3JlYXRlKGFyZ3MpOwo+ICAgCWlmIChlYiA9PSBOVUxMKSB7Cj4gICAJ CWk5MTVfZ2VtX2NvbnRleHRfdW5yZWZlcmVuY2UoY3R4KTsKPiBAQCAtMTUyMiwxMyArMTUyNywy NCBAQCBpOTE1X2dlbV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsCj4gICAJCWlmIChyZXQpCj4gICAJCQlnb3RvIGVycjsKPgo+IC0JCWV4ZWNfc3RhcnQg Kz0gaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KGJhdGNoX29iaik7Cj4gKwkJcGFyYW1zLT5iYXRj aF9vYmpfdm1fb2Zmc2V0ID0gaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KGJhdGNoX29iaik7Cj4g ICAJfSBlbHNlCj4gLQkJZXhlY19zdGFydCArPSBpOTE1X2dlbV9vYmpfb2Zmc2V0KGJhdGNoX29i aiwgdm0pOwo+ICsJCXBhcmFtcy0+YmF0Y2hfb2JqX3ZtX29mZnNldCA9IGk5MTVfZ2VtX29ial9v ZmZzZXQoYmF0Y2hfb2JqLCB2bSk7Cj4KPiAtCXJldCA9IGRldl9wcml2LT5ndC5kb19leGVjYnVm KGRldiwgZmlsZSwgcmluZywgY3R4LCBhcmdzLAo+IC0JCQkJICAgICAgJmViLT52bWFzLCBiYXRj aF9vYmosIGV4ZWNfc3RhcnQsCj4gLQkJCQkgICAgICBkaXNwYXRjaF9mbGFncyk7Cj4gKwkvKgo+ ICsJICogU2F2ZSBhc3NvcnRlZCBzdHVmZiBhd2F5IHRvIHBhc3MgdGhyb3VnaCB0byAqX3N1Ym1p c3Npb24oKS4KPiArCSAqIE5COiBUaGlzIGRhdGEgc2hvdWxkIGJlICdwZXJzaXN0ZW50JyBhbmQg bm90IGxvY2FsIGFzIGl0IHdpbGwKPiArCSAqIGtlcHQgYXJvdW5kIGJleW9uZCB0aGUgZHVyYXRp b24gb2YgdGhlIElPQ1RMIG9uY2UgdGhlIEdQVQo+ICsJICogc2NoZWR1bGVyIGFycml2ZXMuCj4g KwkgKi8KPiArCXBhcmFtcy0+ZGV2ICAgICAgICAgICAgICAgICAgICAgPSBkZXY7Cj4gKwlwYXJh bXMtPmZpbGUgICAgICAgICAgICAgICAgICAgID0gZmlsZTsKPiArCXBhcmFtcy0+cmluZyAgICAg ICAgICAgICAgICAgICAgPSByaW5nOwo+ICsJcGFyYW1zLT5kaXNwYXRjaF9mbGFncyAgICAgICAg ICA9IGRpc3BhdGNoX2ZsYWdzOwo+ICsJcGFyYW1zLT5iYXRjaF9vYmogICAgICAgICAgICAgICA9 IGJhdGNoX29iajsKPiArCXBhcmFtcy0+Y3R4ICAgICAgICAgICAgICAgICAgICAgPSBjdHg7Cj4g Kwo+ICsJcmV0ID0gZGV2X3ByaXYtPmd0LmRvX2V4ZWNidWYocGFyYW1zLCBhcmdzLCAmZWItPnZt YXMpOwo+Cj4gICAJLyoKPiAgIAkgKiBGSVhNRTogV2UgY3J1Y2lhbGx5IHJlbHkgdXBvbiB0aGUg YWN0aXZlIHRyYWNraW5nIGZvciB0aGUgKHBwZ3R0KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j Cj4gaW5kZXggZjE0YjUxNy4uZjZhMjRlOGEyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmMKPiBAQCAtNjI3LDE2ICs2MjcsMTUgQEAgc3RhdGljIGludCBleGVjbGlzdHNfbW92ZV90b19n cHUoc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYsCj4gICAgKgo+ICAgICogUmV0dXJu OiBub24temVybyBpZiB0aGUgc3VibWlzc2lvbiBmYWlscy4KPiAgICAqLwo+IC1pbnQgaW50ZWxf ZXhlY2xpc3RzX3N1Ym1pc3Npb24oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9m aWxlICpmaWxlLAo+IC0JCQkgICAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPiAt CQkJICAgICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCj4gK2ludCBpbnRlbF9leGVjbGlz dHNfc3VibWlzc2lvbihzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zLAo+ICAg CQkJICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgKmFyZ3MsCj4gLQkJCSAg ICAgICBzdHJ1Y3QgbGlzdF9oZWFkICp2bWFzLAo+IC0JCQkgICAgICAgc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKmJhdGNoX29iaiwKPiAtCQkJICAgICAgIHU2NCBleGVjX3N0YXJ0LCB1MzIg ZGlzcGF0Y2hfZmxhZ3MpCj4gKwkJCSAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICp2bWFzKQo+ICAg ewo+ICsJc3RydWN0IGRybV9kZXZpY2UgICAgICAgKmRldiA9IHBhcmFtcy0+ZGV2Owo+ICsJc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAgKnJpbmcgPSBwYXJhbXMtPnJpbmc7Cj4gICAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCXN0cnVjdCBp bnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmID0gY3R4LT5lbmdpbmVbcmluZy0+aWRdLnJpbmdidWY7 Cj4gKwlzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiA9IHBhcmFtcy0+Y3R4LT5lbmdp bmVbcmluZy0+aWRdLnJpbmdidWY7Cj4gKwl1NjQgZXhlY19zdGFydDsKPiAgIAlpbnQgaW5zdHBf bW9kZTsKPiAgIAl1MzIgaW5zdHBfbWFzazsKPiAgIAlpbnQgcmV0Owo+IEBAIC02ODcsMTMgKzY4 NiwxMyBAQCBpbnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Npb24oc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAo+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgIAl9 Cj4KPiAtCXJldCA9IGV4ZWNsaXN0c19tb3ZlX3RvX2dwdShyaW5nYnVmLCBjdHgsIHZtYXMpOwo+ ICsJcmV0ID0gZXhlY2xpc3RzX21vdmVfdG9fZ3B1KHJpbmdidWYsIHBhcmFtcy0+Y3R4LCB2bWFz KTsKPiAgIAlpZiAocmV0KQo+ICAgCQlyZXR1cm4gcmV0Owo+Cj4gICAJaWYgKHJpbmcgPT0gJmRl dl9wcml2LT5yaW5nW1JDU10gJiYKPiAgIAkgICAgaW5zdHBfbW9kZSAhPSBkZXZfcHJpdi0+cmVs YXRpdmVfY29uc3RhbnRzX21vZGUpIHsKPiAtCQlyZXQgPSBpbnRlbF9sb2dpY2FsX3JpbmdfYmVn aW4ocmluZ2J1ZiwgY3R4LCA0KTsKPiArCQlyZXQgPSBpbnRlbF9sb2dpY2FsX3JpbmdfYmVnaW4o cmluZ2J1ZiwgcGFyYW1zLT5jdHgsIDQpOwo+ICAgCQlpZiAocmV0KQo+ICAgCQkJcmV0dXJuIHJl dDsKPgo+IEBAIC03MDYsMTQgKzcwNSwxNyBAQCBpbnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Np b24oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAo+ICAgCQlk ZXZfcHJpdi0+cmVsYXRpdmVfY29uc3RhbnRzX21vZGUgPSBpbnN0cF9tb2RlOwo+ICAgCX0KPgo+ IC0JcmV0ID0gcmluZy0+ZW1pdF9iYl9zdGFydChyaW5nYnVmLCBjdHgsIGV4ZWNfc3RhcnQsIGRp c3BhdGNoX2ZsYWdzKTsKPiArCWV4ZWNfc3RhcnQgPSBwYXJhbXMtPmJhdGNoX29ial92bV9vZmZz ZXQgKwo+ICsJCSAgICAgYXJncy0+YmF0Y2hfc3RhcnRfb2Zmc2V0Owo+ICsKPiArCXJldCA9IHJp bmctPmVtaXRfYmJfc3RhcnQocmluZ2J1ZiwgcGFyYW1zLT5jdHgsIGV4ZWNfc3RhcnQsIHBhcmFt cy0+ZGlzcGF0Y2hfZmxhZ3MpOwo+ICAgCWlmIChyZXQpCj4gICAJCXJldHVybiByZXQ7Cj4KPiAt CXRyYWNlX2k5MTVfZ2VtX3JpbmdfZGlzcGF0Y2goaW50ZWxfcmluZ19nZXRfcmVxdWVzdChyaW5n KSwgZGlzcGF0Y2hfZmxhZ3MpOwo+ICsJdHJhY2VfaTkxNV9nZW1fcmluZ19kaXNwYXRjaChpbnRl bF9yaW5nX2dldF9yZXF1ZXN0KHJpbmcpLCBwYXJhbXMtPmRpc3BhdGNoX2ZsYWdzKTsKPgo+ICAg CWk5MTVfZ2VtX2V4ZWNidWZmZXJfbW92ZV90b19hY3RpdmUodm1hcywgcmluZyk7Cj4gLQlpOTE1 X2dlbV9leGVjYnVmZmVyX3JldGlyZV9jb21tYW5kcyhkZXYsIGZpbGUsIHJpbmcsIGJhdGNoX29i aik7Cj4gKwlpOTE1X2dlbV9leGVjYnVmZmVyX3JldGlyZV9jb21tYW5kcyhwYXJhbXMtPmRldiwg cGFyYW1zLT5maWxlLCByaW5nLCBwYXJhbXMtPmJhdGNoX29iaik7Cj4KPiAgIAlyZXR1cm4gMDsK PiAgIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaAo+IGluZGV4IGI2NmZjNGQuLjNhNmFiY2Ug MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaAo+IEBAIC03NiwxMyArNzYsMTAgQEAgdm9p ZCBpbnRlbF9scl9jb250ZXh0X3VucGluKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4K PiAgIC8qIEV4ZWNsaXN0cyAqLwo+ICAgaW50IGludGVsX3Nhbml0aXplX2VuYWJsZV9leGVjbGlz dHMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGVuYWJsZV9leGVjbGlzdHMpOwo+IC1pbnQg aW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Npb24oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0 IGRybV9maWxlICpmaWxlLAo+IC0JCQkgICAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmlu ZywKPiAtCQkJICAgICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCj4gK3N0cnVjdCBpOTE1 X2V4ZWNidWZmZXJfcGFyYW1zOwo+ICtpbnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Npb24oc3Ry dWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcywKPiAgIAkJCSAgICAgICBzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyICphcmdzLAo+IC0JCQkgICAgICAgc3RydWN0IGxpc3Rf aGVhZCAqdm1hcywKPiAtCQkJICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpiYXRj aF9vYmosCj4gLQkJCSAgICAgICB1NjQgZXhlY19zdGFydCwgdTMyIGRpc3BhdGNoX2ZsYWdzKTsK PiArCQkJICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgKnZtYXMpOwo+ICAgdTMyIGludGVsX2V4ZWNs aXN0c19jdHhfaWQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vYmopOwo+Cj4gICB2 b2lkIGludGVsX2xyY19pcnFfaGFuZGxlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKTsK PgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK