From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Harrison Subject: Re: [PATCH 04/51] drm/i915: Merged the many do_execbuf() parameters into a structure Date: Fri, 27 Feb 2015 12:22:42 +0000 Message-ID: <54F06192.7030202@Intel.com> References: <1423828140-10653-1-git-send-email-John.C.Harrison@Intel.com> <1423828140-10653-5-git-send-email-John.C.Harrison@Intel.com> <20150225215217.GD24485@phenom.ffwll.local> 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 976DE6E2F1 for ; Fri, 27 Feb 2015 04:22:45 -0800 (PST) In-Reply-To: <20150225215217.GD24485@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gMjUvMDIvMjAxNSAyMTo1MiwgRGFuaWVsIFZldHRlciB3cm90ZToKPiBPbiBGcmksIEZlYiAx MywgMjAxNSBhdCAxMTo0ODoxM0FNICswMDAwLCBKb2huLkMuSGFycmlzb25ASW50ZWwuY29tIHdy b3RlOgo+PiBGcm9tOiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgo+ Pgo+PiBUaGUgZG9fZXhlY2J1ZigpIGZ1bmN0aW9uIHRha2VzIHF1aXRlIGEgZmV3IHBhcmFtZXRl cnMuIFRoZSBhY3R1YWwgc2V0IG9mCj4+IHBhcmFtZXRlcnMgaXMgZ29pbmcgdG8gY2hhbmdlIHdp dGggdGhlIGNvbnZlcnNpb24gdG8gcGFzc2luZyByZXF1ZXN0cyBhcm91bmQuCj4+IEZ1cnRoZXIs IGl0IGlzIGR1ZSB0byBncm93IG1hc3NpdmVseSB3aXRoIHRoZSBhcnJpdmFsIG9mIHRoZSBHUFUg c2NoZWR1bGVyLgo+Pgo+PiBUaGlzIHBhdGNoIHNpbXBsaWVzIHRoZSBwcm90b3R5cGUgYnkgcGFz c2luZyBhIHBhcmFtZXRlciBzdHJ1Y3R1cmUgaW5zdGVhZC4KPj4gQ2hhbmdpbmcgdGhlIHBhcmFt ZXRlciBzZXQgaW4gdGhlIGZ1dHVyZSBpcyB0aGVuIHNpbXBseSBhIG1hdHRlciBvZgo+PiBhZGRp bmcvcmVtb3ZpbmcgaXRlbXMgdG8gdGhlIHN0cnVjdHVyZS4KPj4KPj4gTm90ZSB0aGF0IHRoZSBz dHJ1Y3R1cmUgZG9lcyBub3QgY29udGFpbiBhYnNvbHV0ZWx5IGV2ZXJ5dGhpbmcgdGhhdCBpcyBw YXNzZWQKPj4gaW4uIFRoaXMgaXMgYmVjYXVzZSB0aGUgaW50ZW50aW9uIGlzIHRvIHVzZSB0aGlz IHN0cnVjdHVyZSBtb3JlIGV4dGVuc2l2ZWx5Cj4+IGxhdGVyIGluIHRoaXMgcGF0Y2ggc2VyaWVz IGFuZCBtb3JlIGVzcGVjaWFsbHkgaW4gdGhlIEdQVSBzY2hlZHVsZXIgdGhhdCBpcwo+PiBjb21p bmcgc29vbi4gVGhlIGxhdHRlciByZXF1aXJlcyBoYW5naW5nIG9uIHRvIHRoZSBzdHJ1Y3R1cmUg YXMgdGhlIGZpbmFsCj4+IGhhcmR3YXJlIHN1Ym1pc3Npb24gY2FuIGJlIGRlbGF5ZWQgdW50aWwg bG9uZyBhZnRlciB0aGUgZXhlY2J1ZiBJT0NUTCBoYXMKPj4gcmV0dXJuZWQgdG8gdXNlciBsYW5k LiBUaHVzIGl0IGlzIHVuc2FmZSB0byBwdXQgYW55dGhpbmcgaW4gdGhlIHN0cnVjdHVyZSB0aGF0 Cj4+IGlzIGxvY2FsIHRvIHRoZSBJT0NUTCBjYWxsIGl0c2VsZiAtIHN1Y2ggYXMgdGhlICdhcmdz JyBwYXJhbWV0ZXIuIEFsbCBlbnRyaWVzCj4+IG11c3QgYmUgY29waWVzIG9mIGRhdGEgb3IgcG9p bnRlcnMgdG8gc3RydWN0dXJlcyB0aGF0IGFyZSByZWZlcmVuY2UgY291bnRlZCBpbgo+PiBzb21l d2F5IGFuZCBndWFyYW50ZWVkIHRvIGV4aXN0IGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIGJhdGNo IGJ1ZmZlcidzIGxpZmUuCj4+Cj4+IEZvcjogVklaLTUxMTUKPj4gU2lnbmVkLW9mZi1ieTogSm9o biBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KPj4gLS0tCj4+ICAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgIHwgICAyNyArKysrKysrLS0tLS0t LQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyB8ICAgNTYg KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jICAgICAgICAgICB8ICAgMjYgKysrKysrKy0tLS0tLQo+PiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5oICAgICAgICAgICB8ICAgIDkgKystLS0KPj4gICA0IGZpbGVz IGNoYW5nZWQsIDY3IGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKPj4gaW5kZXggZTkwYjc4Ni4uZTZkNjE2YiAxMDA2NDQKPj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCj4+IEBAIC0xNjQwLDYgKzE2NDAsMTYgQEAgc3RydWN0IGk5MTVfd29y a2Fyb3VuZHMgewo+PiAgIAl1MzIgY291bnQ7Cj4+ICAgfTsKPj4gICAKPj4gK3N0cnVjdCBpOTE1 X2V4ZWNidWZmZXJfcGFyYW1zIHsKPj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAgICAgICAgICAgICAg ICpkZXY7Cj4+ICsJc3RydWN0IGRybV9maWxlICAgICAgICAgICAgICAgICAqZmlsZTsKPj4gKwl1 aW50MzJfdCAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoX2ZsYWdzOwo+PiArCXVpbnQz Ml90ICAgICAgICAgICAgICAgICAgICAgICAgYmF0Y2hfb2JqX3ZtX29mZnNldDsKPj4gKwlzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICAgICAgICAgICpyaW5nOwo+PiArCXN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICAgICAgKmJhdGNoX29iajsKPj4gKwlzdHJ1Y3QgaW50ZWxfY29udGV4dCAgICAg ICAgICAgICpjdHg7Cj4+ICt9Owo+IHRiaCBJJ20gbm90IGEgZmFuIG9mIHBhcmFtZXRlciBvYmpl Y3RzIGluIEMuIEMgaXMgdmVyYm9zZSBhbmQgZXhwbGljaXQuCj4KPiBJZiB3ZSBhZGQgdGhlIHJl cXVlc3QgdGhlbiB3ZSBjYW4gcmVtb3ZlIHJpbmcgYW5kIGN0eCwgd2hpY2ggYWxyZWFkeQo+IGlt cHJvdmVzIHRoaW5ncy4gV2UgYWxzbyBoYXZlIHRoZSBlYiBzdHJ1Y3R1cmUgd2UgdXNlIHRvIHBh c3MgYXJvdW5kIGEKPiBwaWxlIG9mIHRoaW5ncywgd2hpY2ggd2UgY291bGQgc29tZXdoYXQgcmV1 c2UgaGVyZS4gV2hhdCBlbHNlIGRvIHlvdSBwbGFuCj4gdG8gYWRkPyBKdXN0IHdhbnQgdG8gZmln dXJlIG91dCB3aGV0aGVyIHRoaXMgaXMgcmVhbGx5IHJlcXVpcmVkIC4uLgo+IC1EYW5pZWwKClRo ZSBtYWpvciBhZHZhbnRhZ2Ugb2YgdGhpcyBpcyB3aGVuIHRoZSBHUFUgc2NoZWR1bGVyIGFycml2 ZXMuIEl0IHNwbGl0cyAKdGhlIGV4ZWNidWZmZXIgY29kZSBwYXRoIGluIGhhbGYgLSBmcm9udCBo YWxmIGlzIGFsbCB0aGUgc29mdHdhcmUgc3RhdGUgCnZlcmlmaWNhdGlvbiBhbmQgbWFuYWdlbWVu dCwgYmFjayBoYWxmIGlzIHRoZSBhY3R1YWwgaGFyZHdhcmUgd3JpdGVzIHRvIApwb3N0IHRoZSBi dWZmZXIuIFRoaXMgc3RydWN0dXJlIGlzIHVzZWQgdG8gYnJpZGdlIHRoZSB0d28uIEl0IGNvbnRh aW5zIAphbGwgdGhlIHN0YXRlIGNyZWF0ZWQgYnkgdGhlIGZyb250IGhhbGYgdGhhdCBpcyBsYXRl ciB1c2VkIGJ5IHRoZSBiYWNrIApoYWxmLiBJdCBpcyBzYXZlZCBhd2F5IHdpdGggdGhlIHJlcXVl c3Qvc2NoZWR1bGVyIG5vZGUgdW50aWwgc3VjaCBhIHRpbWUgCmFzIHRoZSBiYWNrIGhhbGYgaXMg Y2FsbGVkLiBIZW5jZSBzb21lIGtpbmQgb2Ygc3RydWN0dXJlIGlzIHJlcXVpcmVkIGFuZCAKaXQg ZG9lcyBub3QgcmVhbGx5IG1ha2Ugc2Vuc2UgdG8gYWRkIGFsbCB0aGlzIGluZm9ybWF0aW9uIHRv IHRoZSBnZW5lcmljIApyZXF1ZXN0IHN0cnVjdHVyZS4gQWxzbywgd2l0aCB0aGUgZnVsbCBwcmUt ZW1wdGl2ZSBzY2hlZHVsZXIsIHRoZSAKc3RydWN0dXJlIGdyb3dzIHRvIGFib3V0IHR3ZW50eSBl bnRyaWVzIGFuZCBwYXNzaW5nIHRoYXQgcXVhbnRpdHkgb2YgCmluZGl2aWR1YWwgcGFyYW1ldGVy cyB0byBhIGZ1bmN0aW9uIGlzIGp1c3QgdW53aWVsZGx5IQoKCj4+ICsKPj4gICBzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSB7Cj4+ICAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7Cj4+ICAgCXN0cnVj dCBrbWVtX2NhY2hlICpzbGFiOwo+PiBAQCAtMTg5MSwxMyArMTkwMSw5IEBAIHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlIHsKPj4gICAKPj4gICAJLyogQWJzdHJhY3QgdGhlIHN1Ym1pc3Npb24gbWVj aGFuaXNtIChsZWdhY3kgcmluZ2J1ZmZlciBvciBleGVjbGlzdHMpIGF3YXkgKi8KPj4gICAJc3Ry dWN0IHsKPj4gLQkJaW50ICgqZG9fZXhlY2J1Zikoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3Ry dWN0IGRybV9maWxlICpmaWxlLAo+PiAtCQkJCSAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmlu ZywKPj4gLQkJCQkgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCj4+ICsJCWludCAoKmRvX2V4 ZWNidWYpKHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCj4+ICAgCQkJCSAg c3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMiAqYXJncywKPj4gLQkJCQkgIHN0cnVjdCBs aXN0X2hlYWQgKnZtYXMsCj4+IC0JCQkJICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqYmF0 Y2hfb2JqLAo+PiAtCQkJCSAgdTY0IGV4ZWNfc3RhcnQsIHUzMiBmbGFncyk7Cj4+ICsJCQkJICBz dHJ1Y3QgbGlzdF9oZWFkICp2bWFzKTsKPj4gICAJCWludCAoKmluaXRfcmluZ3MpKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpOwo+PiAgIAkJdm9pZCAoKmNsZWFudXBfcmluZykoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqcmluZyk7Cj4+ICAgCQl2b2lkICgqc3RvcF9yaW5nKShzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICpyaW5nKTsKPj4gQEAgLTI2MjIsMTQgKzI2MjgsOSBAQCB2b2lkIGk5MTVfZ2Vt X2V4ZWNidWZmZXJfcmV0aXJlX2NvbW1hbmRzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+ICAg CQkJCQkgc3RydWN0IGRybV9maWxlICpmaWxlLAo+PiAgIAkJCQkJIHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcsCj4+ICAgCQkJCQkgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaik7 Cj4+IC1pbnQgaTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJtaXNzaW9uKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCj4+IC0JCQkJICAgc3RydWN0IGRybV9maWxlICpmaWxlLAo+PiAtCQkJCSAgIHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4+IC0JCQkJICAgc3RydWN0IGludGVsX2NvbnRleHQg KmN0eCwKPj4gK2ludCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24oc3RydWN0IGk5MTVf ZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcywKPj4gICAJCQkJICAgc3RydWN0IGRybV9pOTE1X2dl bV9leGVjYnVmZmVyMiAqYXJncywKPj4gLQkJCQkgICBzdHJ1Y3QgbGlzdF9oZWFkICp2bWFzLAo+ PiAtCQkJCSAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpiYXRjaF9vYmosCj4+IC0JCQkJ ICAgdTY0IGV4ZWNfc3RhcnQsIHUzMiBmbGFncyk7Cj4+ICsJCQkJICAgc3RydWN0IGxpc3RfaGVh ZCAqdm1hcyk7Cj4+ICAgaW50IGk5MTVfZ2VtX2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdm9pZCAqZGF0YSwKPj4gICAJCQlzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7Cj4+ ICAgaW50IGk5MTVfZ2VtX2V4ZWNidWZmZXIyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVj YnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKPj4g aW5kZXggZWM5ZWE0NS4uOTNiMGVmMCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2V4ZWNidWZmZXIuYwo+PiBAQCAtMTEzMiwxNyArMTEzMiwxNSBAQCBpOTE1X2dlbV9l eGVjYnVmZmVyX3BhcnNlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4+ICAgfQo+PiAg IAo+PiAgIGludAo+PiAtaTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJtaXNzaW9uKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKPj4gLQkJCSAgICAgICBzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICpyaW5nLAo+PiAtCQkJICAgICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0 ICpjdHgsCj4+ICtpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24oc3RydWN0IGk5MTVfZXhl Y2J1ZmZlcl9wYXJhbXMgKnBhcmFtcywKPj4gICAJCQkgICAgICAgc3RydWN0IGRybV9pOTE1X2dl bV9leGVjYnVmZmVyMiAqYXJncywKPj4gLQkJCSAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICp2bWFz LAo+PiAtCQkJICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpiYXRjaF9vYmosCj4+ IC0JCQkgICAgICAgdTY0IGV4ZWNfc3RhcnQsIHUzMiBkaXNwYXRjaF9mbGFncykKPj4gKwkJCSAg ICAgICBzdHJ1Y3QgbGlzdF9oZWFkICp2bWFzKQo+PiAgIHsKPj4gICAJc3RydWN0IGRybV9jbGlw X3JlY3QgKmNsaXByZWN0cyA9IE5VTEw7Cj4+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBh cmFtcy0+ZGV2Owo+PiArCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcgPSBwYXJhbXMtPnJp bmc7Cj4+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3By aXZhdGU7Cj4+IC0JdTY0IGV4ZWNfbGVuOwo+PiArCXU2NCBleGVjX3N0YXJ0LCBleGVjX2xlbjsK Pj4gICAJaW50IGluc3RwX21vZGU7Cj4+ICAgCXUzMiBpbnN0cF9tYXNrOwo+PiAgIAlpbnQgaSwg cmV0ID0gMDsKPj4gQEAgLTExOTQsNyArMTE5Miw3IEBAIGk5MTVfZ2VtX3JpbmdidWZmZXJfc3Vi bWlzc2lvbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCj4+ ICAgCWlmIChyZXQpCj4+ICAgCQlnb3RvIGVycm9yOwo+PiAgIAo+PiAtCXJldCA9IGk5MTVfc3dp dGNoX2NvbnRleHQocmluZywgY3R4KTsKPj4gKwlyZXQgPSBpOTE1X3N3aXRjaF9jb250ZXh0KHJp bmcsIHBhcmFtcy0+Y3R4KTsKPj4gICAJaWYgKHJldCkKPj4gICAJCWdvdG8gZXJyb3I7Cj4+ICAg Cj4+IEBAIC0xMjUxLDEyICsxMjQ5LDE1IEBAIGk5MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlzc2lv bihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCj4+ICAgCX0K Pj4gICAKPj4gICAJaWYgKGFyZ3MtPmZsYWdzICYgSTkxNV9FWEVDX0dFTjdfU09MX1JFU0VUKSB7 Cj4+IC0JCXJldCA9IGk5MTVfcmVzZXRfZ2VuN19zb2xfb2Zmc2V0cyhkZXYsIHJpbmcpOwo+PiAr CQlyZXQgPSBpOTE1X3Jlc2V0X2dlbjdfc29sX29mZnNldHMocGFyYW1zLT5kZXYsIHJpbmcpOwo+ PiAgIAkJaWYgKHJldCkKPj4gICAJCQlnb3RvIGVycm9yOwo+PiAgIAl9Cj4+ICAgCj4+IC0JZXhl Y19sZW4gPSBhcmdzLT5iYXRjaF9sZW47Cj4+ICsJZXhlY19sZW4gICA9IGFyZ3MtPmJhdGNoX2xl bjsKPj4gKwlleGVjX3N0YXJ0ID0gcGFyYW1zLT5iYXRjaF9vYmpfdm1fb2Zmc2V0ICsKPj4gKwkJ ICAgICBhcmdzLT5iYXRjaF9zdGFydF9vZmZzZXQ7Cj4+ICsKPj4gICAJaWYgKGNsaXByZWN0cykg ewo+PiAgIAkJZm9yIChpID0gMDsgaSA8IGFyZ3MtPm51bV9jbGlwcmVjdHM7IGkrKykgewo+PiAg IAkJCXJldCA9IGk5MTVfZW1pdF9ib3gocmluZywgJmNsaXByZWN0c1tpXSwKPj4gQEAgLTEyNjYs MjIgKzEyNjcsMjMgQEAgaTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJtaXNzaW9uKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKPj4gICAKPj4gICAJCQlyZXQgPSBy aW5nLT5kaXNwYXRjaF9leGVjYnVmZmVyKHJpbmcsCj4+ICAgCQkJCQkJCWV4ZWNfc3RhcnQsIGV4 ZWNfbGVuLAo+PiAtCQkJCQkJCWRpc3BhdGNoX2ZsYWdzKTsKPj4gKwkJCQkJCQlwYXJhbXMtPmRp c3BhdGNoX2ZsYWdzKTsKPj4gICAJCQlpZiAocmV0KQo+PiAgIAkJCQlnb3RvIGVycm9yOwo+PiAg IAkJfQo+PiAgIAl9IGVsc2Ugewo+PiAgIAkJcmV0ID0gcmluZy0+ZGlzcGF0Y2hfZXhlY2J1ZmZl cihyaW5nLAo+PiAgIAkJCQkJCWV4ZWNfc3RhcnQsIGV4ZWNfbGVuLAo+PiAtCQkJCQkJZGlzcGF0 Y2hfZmxhZ3MpOwo+PiArCQkJCQkJcGFyYW1zLT5kaXNwYXRjaF9mbGFncyk7Cj4+ICAgCQlpZiAo cmV0KQo+PiAgIAkJCXJldHVybiByZXQ7Cj4+ICAgCX0KPj4gICAKPj4gLQl0cmFjZV9pOTE1X2dl bV9yaW5nX2Rpc3BhdGNoKGludGVsX3JpbmdfZ2V0X3JlcXVlc3QocmluZyksIGRpc3BhdGNoX2Zs YWdzKTsKPj4gKwl0cmFjZV9pOTE1X2dlbV9yaW5nX2Rpc3BhdGNoKGludGVsX3JpbmdfZ2V0X3Jl cXVlc3QocmluZyksIHBhcmFtcy0+ZGlzcGF0Y2hfZmxhZ3MpOwo+PiAgIAo+PiAgIAlpOTE1X2dl bV9leGVjYnVmZmVyX21vdmVfdG9fYWN0aXZlKHZtYXMsIHJpbmcpOwo+PiAtCWk5MTVfZ2VtX2V4 ZWNidWZmZXJfcmV0aXJlX2NvbW1hbmRzKGRldiwgZmlsZSwgcmluZywgYmF0Y2hfb2JqKTsKPj4g KwlpOTE1X2dlbV9leGVjYnVmZmVyX3JldGlyZV9jb21tYW5kcyhwYXJhbXMtPmRldiwgcGFyYW1z LT5maWxlLCByaW5nLAo+PiArCQkJCQkgICAgcGFyYW1zLT5iYXRjaF9vYmopOwo+PiAgIAo+PiAg IGVycm9yOgo+PiAgIAlrZnJlZShjbGlwcmVjdHMpOwo+PiBAQCAtMTM1MSw4ICsxMzUzLDkgQEAg aTkxNV9nZW1fZG9fZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRh LAo+PiAgIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nOwo+PiAgIAlzdHJ1Y3QgaW50ZWxf Y29udGV4dCAqY3R4Owo+PiAgIAlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bTsKPj4gKwlz dHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyBwYXJhbXNfbWFzdGVyOyAvKiBYWFg6IHdpbGwg YmUgcmVtb3ZlZCBsYXRlciAqLwo+PiArCXN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpw YXJhbXMgPSAmcGFyYW1zX21hc3RlcjsKPj4gICAJY29uc3QgdTMyIGN0eF9pZCA9IGk5MTVfZXhl Y2J1ZmZlcjJfZ2V0X2NvbnRleHRfaWQoKmFyZ3MpOwo+PiAtCXU2NCBleGVjX3N0YXJ0ID0gYXJn cy0+YmF0Y2hfc3RhcnRfb2Zmc2V0Owo+PiAgIAl1MzIgZGlzcGF0Y2hfZmxhZ3M7Cj4+ICAgCWlu dCByZXQ7Cj4+ICAgCWJvb2wgbmVlZF9yZWxvY3M7Cj4+IEBAIC0xNDQ1LDYgKzE0NDgsOCBAQCBp OTE1X2dlbV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEs Cj4+ICAgCWVsc2UKPj4gICAJCXZtID0gJmRldl9wcml2LT5ndHQuYmFzZTsKPj4gICAKPj4gKwlt ZW1zZXQoJnBhcmFtc19tYXN0ZXIsIDB4MDAsIHNpemVvZihwYXJhbXNfbWFzdGVyKSk7Cj4+ICsK Pj4gICAJZWIgPSBlYl9jcmVhdGUoYXJncyk7Cj4+ICAgCWlmIChlYiA9PSBOVUxMKSB7Cj4+ICAg CQlpOTE1X2dlbV9jb250ZXh0X3VucmVmZXJlbmNlKGN0eCk7Cj4+IEBAIC0xNTIyLDEzICsxNTI3 LDI0IEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9p ZCAqZGF0YSwKPj4gICAJCWlmIChyZXQpCj4+ICAgCQkJZ290byBlcnI7Cj4+ICAgCj4+IC0JCWV4 ZWNfc3RhcnQgKz0gaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KGJhdGNoX29iaik7Cj4+ICsJCXBh cmFtcy0+YmF0Y2hfb2JqX3ZtX29mZnNldCA9IGk5MTVfZ2VtX29ial9nZ3R0X29mZnNldChiYXRj aF9vYmopOwo+PiAgIAl9IGVsc2UKPj4gLQkJZXhlY19zdGFydCArPSBpOTE1X2dlbV9vYmpfb2Zm c2V0KGJhdGNoX29iaiwgdm0pOwo+PiArCQlwYXJhbXMtPmJhdGNoX29ial92bV9vZmZzZXQgPSBp OTE1X2dlbV9vYmpfb2Zmc2V0KGJhdGNoX29iaiwgdm0pOwo+PiAgIAo+PiAtCXJldCA9IGRldl9w cml2LT5ndC5kb19leGVjYnVmKGRldiwgZmlsZSwgcmluZywgY3R4LCBhcmdzLAo+PiAtCQkJCSAg ICAgICZlYi0+dm1hcywgYmF0Y2hfb2JqLCBleGVjX3N0YXJ0LAo+PiAtCQkJCSAgICAgIGRpc3Bh dGNoX2ZsYWdzKTsKPj4gKwkvKgo+PiArCSAqIFNhdmUgYXNzb3J0ZWQgc3R1ZmYgYXdheSB0byBw YXNzIHRocm91Z2ggdG8gKl9zdWJtaXNzaW9uKCkuCj4+ICsJICogTkI6IFRoaXMgZGF0YSBzaG91 bGQgYmUgJ3BlcnNpc3RlbnQnIGFuZCBub3QgbG9jYWwgYXMgaXQgd2lsbAo+PiArCSAqIGtlcHQg YXJvdW5kIGJleW9uZCB0aGUgZHVyYXRpb24gb2YgdGhlIElPQ1RMIG9uY2UgdGhlIEdQVQo+PiAr CSAqIHNjaGVkdWxlciBhcnJpdmVzLgo+PiArCSAqLwo+PiArCXBhcmFtcy0+ZGV2ICAgICAgICAg ICAgICAgICAgICAgPSBkZXY7Cj4+ICsJcGFyYW1zLT5maWxlICAgICAgICAgICAgICAgICAgICA9 IGZpbGU7Cj4+ICsJcGFyYW1zLT5yaW5nICAgICAgICAgICAgICAgICAgICA9IHJpbmc7Cj4+ICsJ cGFyYW1zLT5kaXNwYXRjaF9mbGFncyAgICAgICAgICA9IGRpc3BhdGNoX2ZsYWdzOwo+PiArCXBh cmFtcy0+YmF0Y2hfb2JqICAgICAgICAgICAgICAgPSBiYXRjaF9vYmo7Cj4+ICsJcGFyYW1zLT5j dHggICAgICAgICAgICAgICAgICAgICA9IGN0eDsKPj4gKwo+PiArCXJldCA9IGRldl9wcml2LT5n dC5kb19leGVjYnVmKHBhcmFtcywgYXJncywgJmViLT52bWFzKTsKPj4gICAKPj4gICAJLyoKPj4g ICAJICogRklYTUU6IFdlIGNydWNpYWxseSByZWx5IHVwb24gdGhlIGFjdGl2ZSB0cmFja2luZyBm b3IgdGhlIChwcGd0dCkKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPj4gaW5kZXggNzYyMTM2 Yi4uY2EyOTI5MCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPj4gQEAgLTYxOCwx NiArNjE4LDE1IEBAIHN0YXRpYyBpbnQgZXhlY2xpc3RzX21vdmVfdG9fZ3B1KHN0cnVjdCBpbnRl bF9yaW5nYnVmZmVyICpyaW5nYnVmLAo+PiAgICAqCj4+ICAgICogUmV0dXJuOiBub24temVybyBp ZiB0aGUgc3VibWlzc2lvbiBmYWlscy4KPj4gICAgKi8KPj4gLWludCBpbnRlbF9leGVjbGlzdHNf c3VibWlzc2lvbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUs Cj4+IC0JCQkgICAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPj4gLQkJCSAgICAg ICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAo+PiAraW50IGludGVsX2V4ZWNsaXN0c19zdWJt aXNzaW9uKHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCj4+ICAgCQkJICAg ICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgKmFyZ3MsCj4+IC0JCQkgICAgICAg c3RydWN0IGxpc3RfaGVhZCAqdm1hcywKPj4gLQkJCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqYmF0Y2hfb2JqLAo+PiAtCQkJICAgICAgIHU2NCBleGVjX3N0YXJ0LCB1MzIgZGlz cGF0Y2hfZmxhZ3MpCj4+ICsJCQkgICAgICAgc3RydWN0IGxpc3RfaGVhZCAqdm1hcykKPj4gICB7 Cj4+ICsJc3RydWN0IGRybV9kZXZpY2UgICAgICAgKmRldiA9IHBhcmFtcy0+ZGV2Owo+PiArCXN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgICpyaW5nID0gcGFyYW1zLT5yaW5nOwo+PiAgIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+PiAtCXN0cnVj dCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmID0gY3R4LT5lbmdpbmVbcmluZy0+aWRdLnJpbmdi dWY7Cj4+ICsJc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPSBwYXJhbXMtPmN0eC0+ ZW5naW5lW3JpbmctPmlkXS5yaW5nYnVmOwo+PiArCXU2NCBleGVjX3N0YXJ0Owo+PiAgIAlpbnQg aW5zdHBfbW9kZTsKPj4gICAJdTMyIGluc3RwX21hc2s7Cj4+ICAgCWludCByZXQ7Cj4+IEBAIC02 NzgsMTMgKzY3NywxMyBAQCBpbnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Npb24oc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAo+PiAgIAkJcmV0dXJuIC1FSU5W QUw7Cj4+ICAgCX0KPj4gICAKPj4gLQlyZXQgPSBleGVjbGlzdHNfbW92ZV90b19ncHUocmluZ2J1 ZiwgY3R4LCB2bWFzKTsKPj4gKwlyZXQgPSBleGVjbGlzdHNfbW92ZV90b19ncHUocmluZ2J1Ziwg cGFyYW1zLT5jdHgsIHZtYXMpOwo+PiAgIAlpZiAocmV0KQo+PiAgIAkJcmV0dXJuIHJldDsKPj4g ICAKPj4gICAJaWYgKHJpbmcgPT0gJmRldl9wcml2LT5yaW5nW1JDU10gJiYKPj4gICAJICAgIGlu c3RwX21vZGUgIT0gZGV2X3ByaXYtPnJlbGF0aXZlX2NvbnN0YW50c19tb2RlKSB7Cj4+IC0JCXJl dCA9IGludGVsX2xvZ2ljYWxfcmluZ19iZWdpbihyaW5nYnVmLCBjdHgsIDQpOwo+PiArCQlyZXQg PSBpbnRlbF9sb2dpY2FsX3JpbmdfYmVnaW4ocmluZ2J1ZiwgcGFyYW1zLT5jdHgsIDQpOwo+PiAg IAkJaWYgKHJldCkKPj4gICAJCQlyZXR1cm4gcmV0Owo+PiAgIAo+PiBAQCAtNjk3LDE0ICs2OTYs MTcgQEAgaW50IGludGVsX2V4ZWNsaXN0c19zdWJtaXNzaW9uKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKPj4gICAJCWRldl9wcml2LT5yZWxhdGl2ZV9jb25z dGFudHNfbW9kZSA9IGluc3RwX21vZGU7Cj4+ICAgCX0KPj4gICAKPj4gLQlyZXQgPSByaW5nLT5l bWl0X2JiX3N0YXJ0KHJpbmdidWYsIGN0eCwgZXhlY19zdGFydCwgZGlzcGF0Y2hfZmxhZ3MpOwo+ PiArCWV4ZWNfc3RhcnQgPSBwYXJhbXMtPmJhdGNoX29ial92bV9vZmZzZXQgKwo+PiArCQkgICAg IGFyZ3MtPmJhdGNoX3N0YXJ0X29mZnNldDsKPj4gKwo+PiArCXJldCA9IHJpbmctPmVtaXRfYmJf c3RhcnQocmluZ2J1ZiwgcGFyYW1zLT5jdHgsIGV4ZWNfc3RhcnQsIHBhcmFtcy0+ZGlzcGF0Y2hf ZmxhZ3MpOwo+PiAgIAlpZiAocmV0KQo+PiAgIAkJcmV0dXJuIHJldDsKPj4gICAKPj4gLQl0cmFj ZV9pOTE1X2dlbV9yaW5nX2Rpc3BhdGNoKGludGVsX3JpbmdfZ2V0X3JlcXVlc3QocmluZyksIGRp c3BhdGNoX2ZsYWdzKTsKPj4gKwl0cmFjZV9pOTE1X2dlbV9yaW5nX2Rpc3BhdGNoKGludGVsX3Jp bmdfZ2V0X3JlcXVlc3QocmluZyksIHBhcmFtcy0+ZGlzcGF0Y2hfZmxhZ3MpOwo+PiAgIAo+PiAg IAlpOTE1X2dlbV9leGVjYnVmZmVyX21vdmVfdG9fYWN0aXZlKHZtYXMsIHJpbmcpOwo+PiAtCWk5 MTVfZ2VtX2V4ZWNidWZmZXJfcmV0aXJlX2NvbW1hbmRzKGRldiwgZmlsZSwgcmluZywgYmF0Y2hf b2JqKTsKPj4gKwlpOTE1X2dlbV9leGVjYnVmZmVyX3JldGlyZV9jb21tYW5kcyhwYXJhbXMtPmRl diwgcGFyYW1zLT5maWxlLCByaW5nLCBwYXJhbXMtPmJhdGNoX29iaik7Cj4+ICAgCj4+ICAgCXJl dHVybiAwOwo+PiAgIH0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKPj4gaW5kZXggMzA5Mzgz Ni4uYWUyZjNlZCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKPj4gQEAgLTgwLDEz ICs4MCwxMCBAQCB2b2lkIGludGVsX2xyX2NvbnRleHRfdW5waW4oc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZywKPj4gICAKPj4gICAvKiBFeGVjbGlzdHMgKi8KPj4gICBpbnQgaW50ZWxfc2Fu aXRpemVfZW5hYmxlX2V4ZWNsaXN0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgZW5hYmxl X2V4ZWNsaXN0cyk7Cj4+IC1pbnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Npb24oc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAo+PiAtCQkJICAgICAgIHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4+IC0JCQkgICAgICAgc3RydWN0IGludGVsX2NvbnRl eHQgKmN0eCwKPj4gK3N0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zOwo+PiAraW50IGludGVs X2V4ZWNsaXN0c19zdWJtaXNzaW9uKHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJh bXMsCj4+ICAgCQkJICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgKmFyZ3Ms Cj4+IC0JCQkgICAgICAgc3RydWN0IGxpc3RfaGVhZCAqdm1hcywKPj4gLQkJCSAgICAgICBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqYmF0Y2hfb2JqLAo+PiAtCQkJICAgICAgIHU2NCBleGVj X3N0YXJ0LCB1MzIgZGlzcGF0Y2hfZmxhZ3MpOwo+PiArCQkJICAgICAgIHN0cnVjdCBsaXN0X2hl YWQgKnZtYXMpOwo+PiAgIHUzMiBpbnRlbF9leGVjbGlzdHNfY3R4X2lkKHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpjdHhfb2JqKTsKPj4gICAKPj4gICB2b2lkIGludGVsX2xyY19pcnFfaGFu ZGxlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKTsKPj4gLS0gCj4+IDEuNy45LjUKPj4K Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+ IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==