From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2 01/11] drm/i915: Use passed plane state for sprite planes, v2. Date: Tue, 17 Nov 2015 16:23:32 +0100 Message-ID: <20151117152332.GE16848@phenom.ffwll.local> References: <1445514996-18733-1-git-send-email-maarten.lankhorst@linux.intel.com> <1445514996-18733-2-git-send-email-maarten.lankhorst@linux.intel.com> <20151022125819.GS16848@phenom.ffwll.local> <562DF2AE.2090702@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f41.google.com (mail-wm0-f41.google.com [74.125.82.41]) by gabe.freedesktop.org (Postfix) with ESMTPS id F1C726E3F9 for ; Tue, 17 Nov 2015 07:23:36 -0800 (PST) Received: by wmww144 with SMTP id w144so158572498wmw.1 for ; Tue, 17 Nov 2015 07:23:35 -0800 (PST) Content-Disposition: inline In-Reply-To: <562DF2AE.2090702@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBPY3QgMjYsIDIwMTUgYXQgMTA6MzA6MjJBTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gT3AgMjItMTAtMTUgb20gMTQ6NTggc2NocmVlZiBEYW5pZWwgVmV0dGVyOgo+ ID4gT24gVGh1LCBPY3QgMjIsIDIwMTUgYXQgMDE6NTY6MjZQTSArMDIwMCwgTWFhcnRlbiBMYW5r aG9yc3Qgd3JvdGU6Cj4gPj4gRG9uJ3QgdXNlIHBsYW5lLT5zdGF0ZSBkaXJlY3RseSwgdXNlIHRo ZSBwb2ludGVyIGZyb20gY29tbWl0X3BsYW5lLgo+ID4+Cj4gPj4gU2lnbmVkLW9mZi1ieTogTWFh cnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiA+PiAt LS0KPiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgfCAgOCArKy0tLQo+ ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyB8IDY3ICsrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KPiA+PiAgMiBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNl cnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKPiA+Pgo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oCj4gPj4gaW5kZXggNGUzNTU1N2JiZDQxLi41MTcyMmU2NTdiOTEgMTAwNjQ0Cj4gPj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+PiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4+IEBAIC02MzEsMTYgKzYzMSwxNiBAQCBzdHJ1Y3Qg aW50ZWxfcGxhbmUgewo+ID4+ICAJLyoKPiA+PiAgCSAqIE5PVEU6IERvIG5vdCBwbGFjZSBuZXcg cGxhbmUgc3RhdGUgZmllbGRzIGhlcmUgKGUuZy4sIHdoZW4gYWRkaW5nCj4gPj4gIAkgKiBuZXcg cGxhbmUgcHJvcGVydGllcykuICBOZXcgcnVudGltZSBzdGF0ZSBzaG91bGQgbm93IGJlIHBsYWNl ZCBpbgo+ID4+IC0JICogdGhlIGludGVsX3BsYW5lX3N0YXRlIHN0cnVjdHVyZSBhbmQgYWNjZXNz ZWQgdmlhIGRybV9wbGFuZS0+c3RhdGUuCj4gPj4gKwkgKiB0aGUgaW50ZWxfcGxhbmVfc3RhdGUg c3RydWN0dXJlIGFuZCBhY2Nlc3NlZCB2aWEgcGxhbmVfc3RhdGUuCj4gPj4gIAkgKi8KPiA+PiAg Cj4gPj4gIAl2b2lkICgqdXBkYXRlX3BsYW5lKShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiA+ PiAtCQkJICAgICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPj4gLQkJCSAgICAgc3RydWN0IGRy bV9mcmFtZWJ1ZmZlciAqZmIsCj4gPj4gKwkJCSAgICAgc3RydWN0IGludGVsX3BsYW5lX3N0YXRl ICpwbGFuZV9zdGF0ZSwKPiA+PiAgCQkJICAgICBpbnQgY3J0Y194LCBpbnQgY3J0Y195LAo+ID4+ ICAJCQkgICAgIHVuc2lnbmVkIGludCBjcnRjX3csIHVuc2lnbmVkIGludCBjcnRjX2gsCj4gPj4g IAkJCSAgICAgdWludDMyX3QgeCwgdWludDMyX3QgeSwKPiA+PiAtCQkJICAgICB1aW50MzJfdCBz cmNfdywgdWludDMyX3Qgc3JjX2gpOwo+ID4+ICsJCQkgICAgIHVpbnQzMl90IHNyY193LCB1aW50 MzJfdCBzcmNfaCwKPiA+PiArCQkJICAgICBzdHJ1Y3QgaW50ZWxfc2NhbGVyICpzY2FsZXIpOwo+ ID4gVGhpcyBpcyBhbiB1Z2x5IGhhY2sgaW1vLiBCZXR0ZXIgdG8gYWRkIHRoZSBzY2FsZXIgcG9p bnRlciB0byB0aGUgcGxhbmUKPiA+IHN0YXRlLCBzZXQgaXQgaW4gY29tcHV0ZV9jb25maWcgb25j ZSB3ZSdyZSBkb25lIGFuZCBub3QgcGFzcyBpdCBhcm91bmQKPiA+IGxpa2UgdGhpcy4gT3Igd2Ug YWxzbyBwYXNzIGFyb3VuZCBhIHBvaW50ZXIgdG8gdGhlIHJpZ2h0IGNydGNfc3RhdGUuCj4gPgo+ ID4gQWxzbywgaWYgd2UgcGFzcyBhcm91bmQgcGxhbmVfc3RhdGUgSSB0aGluayBhbGwgdGhlIGNy dGNfeC95L3cvaCBhbmQgeC95Cj4gPiBhbmQgc3JjX3gveS93L2ggc2hvdWxkIGRpc2FwcGVhciwg Zm9yIGEgcmVhbGx5IGNsZWFuIHZmdW5jIGludGVyZmFjZS4KPiAKPiBIb3cgYWJvdXQgdGhpcz8g V2l0aCAtLXNjaXNzb3JzCj4gCj4gTWF5YmUgdGhlIGNvbW1lbnQgaW4gaW50ZWxfZHJ2LmggY2Fu IGJlIHJlbW92ZWQgbm93IHRvbywgc2luY2UKPiBldmVyeXRoaW5nIGlzIHBhc3NlZCB0aHJvdWdo IHBsYW5lX3N0YXRlIG5vdy4KClJldmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0 dGVyQGZmd2xsLmNoPgoKU29tZXdoZW4gd2UgbmVlZCB0byB1bmNvbmZ1c2Ugb3VyIG1lc3Mgb2Yg ZHJtX3JlY3QgdnMuIGV4cGxpY2l0CmNvb3JkaW5hdGVzIC4uLgotRGFuaWVsCgoKPiAtLS0tLT44 LS0tLS0tLQo+IERvbid0IHVzZSBwbGFuZS0+c3RhdGUgZGlyZWN0bHksIHVzZSB0aGUgcG9pbnRl ciBmcm9tIGNvbW1pdF9wbGFuZS4KPiAKPiBDaGFuZ2VzIHNpbmNlIHYxOgo+IC0gRml4IHVzZXMg b2YgcGxhbmUtPnN0YXRlLT5yb3RhdGlvbiBhbmQgY29sb3Iga2V5IHRvIHVzZSB0aGUgcGFzc2Vk IHN0YXRlIHRvby4KPiAtIE9ubHkgcGFzcyBjcnRjX3N0YXRlIGFuZCBwbGFuZV9zdGF0ZSB0byB1 cGRhdGVfcGxhbmUuCj4gCj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0 ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAo+IGluZGV4IDRlMzU1NTdiYmQ0MS4uNjgyZjcwZjk1ZTE3IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKPiBAQCAtNjMxLDE2ICs2MzEsMTIgQEAgc3RydWN0IGludGVsX3BsYW5l IHsKPiAgCS8qCj4gIAkgKiBOT1RFOiBEbyBub3QgcGxhY2UgbmV3IHBsYW5lIHN0YXRlIGZpZWxk cyBoZXJlIChlLmcuLCB3aGVuIGFkZGluZwo+ICAJICogbmV3IHBsYW5lIHByb3BlcnRpZXMpLiAg TmV3IHJ1bnRpbWUgc3RhdGUgc2hvdWxkIG5vdyBiZSBwbGFjZWQgaW4KPiAtCSAqIHRoZSBpbnRl bF9wbGFuZV9zdGF0ZSBzdHJ1Y3R1cmUgYW5kIGFjY2Vzc2VkIHZpYSBkcm1fcGxhbmUtPnN0YXRl Lgo+ICsJICogdGhlIGludGVsX3BsYW5lX3N0YXRlIHN0cnVjdHVyZSBhbmQgYWNjZXNzZWQgdmlh IHBsYW5lX3N0YXRlLgo+ICAJICovCj4gIAo+ICAJdm9pZCAoKnVwZGF0ZV9wbGFuZSkoc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsCj4gLQkJCSAgICAgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+IC0J CQkgICAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAo+IC0JCQkgICAgIGludCBjcnRjX3gs IGludCBjcnRjX3ksCj4gLQkJCSAgICAgdW5zaWduZWQgaW50IGNydGNfdywgdW5zaWduZWQgaW50 IGNydGNfaCwKPiAtCQkJICAgICB1aW50MzJfdCB4LCB1aW50MzJfdCB5LAo+IC0JCQkgICAgIHVp bnQzMl90IHNyY193LCB1aW50MzJfdCBzcmNfaCk7Cj4gKwkJCSAgICAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gKwkJCSAgICAgc3RydWN0IGludGVsX3BsYW5lX3N0YXRl ICpwbGFuZV9zdGF0ZSk7Cj4gIAl2b2lkICgqZGlzYWJsZV9wbGFuZSkoc3RydWN0IGRybV9wbGFu ZSAqcGxhbmUsCj4gIAkJCSAgICAgIHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4gIAlpbnQgKCpj aGVja19wbGFuZSkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfc3ByaXRlLmMKPiBpbmRleCAyNTUxMzM1YWRhMDQuLjE4MTFiOGJjYWU5NCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gQEAgLTE3OCwyOSArMTc4LDM0IEBAIHZvaWQg aW50ZWxfcGlwZV91cGRhdGVfZW5kKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICB9Cj4gIAo+ ICBzdGF0aWMgdm9pZAo+IC1za2xfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRybV9w bGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+IC0JCSBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVy ICpmYiwKPiAtCQkgaW50IGNydGNfeCwgaW50IGNydGNfeSwKPiAtCQkgdW5zaWduZWQgaW50IGNy dGNfdywgdW5zaWduZWQgaW50IGNydGNfaCwKPiAtCQkgdWludDMyX3QgeCwgdWludDMyX3QgeSwK PiAtCQkgdWludDMyX3Qgc3JjX3csIHVpbnQzMl90IHNyY19oKQo+ICtza2xfdXBkYXRlX3BsYW5l KHN0cnVjdCBkcm1fcGxhbmUgKmRybV9wbGFuZSwKPiArCQkgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCj4gKwkJIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3Rh dGUpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkcm1fcGxhbmUtPmRldjsKPiAg CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4g IAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lID0gdG9faW50ZWxfcGxhbmUoZHJtX3Bs YW5lKTsKPiArCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmVfc3RhdGUtPmJhc2Uu ZmI7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gaW50ZWxfZmJfb2JqKGZi KTsKPiAgCWNvbnN0IGludCBwaXBlID0gaW50ZWxfcGxhbmUtPnBpcGU7Cj4gIAljb25zdCBpbnQg cGxhbmUgPSBpbnRlbF9wbGFuZS0+cGxhbmUgKyAxOwo+ICAJdTMyIHBsYW5lX2N0bCwgc3RyaWRl X2Rpdiwgc3RyaWRlOwo+ICAJaW50IHBpeGVsX3NpemUgPSBkcm1fZm9ybWF0X3BsYW5lX2NwcChm Yi0+cGl4ZWxfZm9ybWF0LCAwKTsKPiAtCWNvbnN0IHN0cnVjdCBkcm1faW50ZWxfc3ByaXRlX2Nv bG9ya2V5ICprZXkgPQo+IC0JCSZ0b19pbnRlbF9wbGFuZV9zdGF0ZShkcm1fcGxhbmUtPnN0YXRl KS0+Y2tleTsKPiArCWNvbnN0IHN0cnVjdCBkcm1faW50ZWxfc3ByaXRlX2NvbG9ya2V5ICprZXkg PSAmcGxhbmVfc3RhdGUtPmNrZXk7Cj4gIAl1bnNpZ25lZCBsb25nIHN1cmZfYWRkcjsKPiAgCXUz MiB0aWxlX2hlaWdodCwgcGxhbmVfb2Zmc2V0LCBwbGFuZV9zaXplOwo+ICAJdW5zaWduZWQgaW50 IHJvdGF0aW9uOwo+ICAJaW50IHhfb2Zmc2V0LCB5X29mZnNldDsKPiAtCXN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlID0gdG9faW50ZWxfY3J0YyhjcnRjKS0+Y29uZmlnOwo+IC0J aW50IHNjYWxlcl9pZDsKPiArCj4gKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBjcnRjX3N0YXRl LT5iYXNlLmNydGM7Cj4gKwlpbnQgY3J0Y194ID0gcGxhbmVfc3RhdGUtPmRzdC54MSwgY3J0Y195 ID0gcGxhbmVfc3RhdGUtPmRzdC55MTsKPiArCXVpbnQzMl90IGNydGNfdyA9IGRybV9yZWN0X3dp ZHRoKCZwbGFuZV9zdGF0ZS0+ZHN0KTsKPiArCXVpbnQzMl90IGNydGNfaCA9IGRybV9yZWN0X2hl aWdodCgmcGxhbmVfc3RhdGUtPmRzdCk7Cj4gKwl1aW50MzJfdCB4ID0gcGxhbmVfc3RhdGUtPnNy Yy54MSA+PiAxNiwgeSA9IHBsYW5lX3N0YXRlLT5zcmMueTEgPj4gMTY7Cj4gKwl1aW50MzJfdCBz cmNfdyA9IGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+c3JjKSA+PiAxNjsKPiArCXVpbnQz Ml90IHNyY19oID0gZHJtX3JlY3RfaGVpZ2h0KCZwbGFuZV9zdGF0ZS0+c3JjKSA+PiAxNjsKPiAr CWNvbnN0IHN0cnVjdCBpbnRlbF9zY2FsZXIgKnNjYWxlciA9Cj4gKwkJJmNydGNfc3RhdGUtPnNj YWxlcl9zdGF0ZS5zY2FsZXJzW3BsYW5lX3N0YXRlLT5zY2FsZXJfaWRdOwo+ICAKPiAgCXBsYW5l X2N0bCA9IFBMQU5FX0NUTF9FTkFCTEUgfAo+ICAJCVBMQU5FX0NUTF9QSVBFX0dBTU1BX0VOQUJM RSB8Cj4gQEAgLTIwOSw3ICsyMTQsNyBAQCBza2xfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxh bmUgKmRybV9wbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJcGxhbmVfY3RsIHw9IHNr bF9wbGFuZV9jdGxfZm9ybWF0KGZiLT5waXhlbF9mb3JtYXQpOwo+ICAJcGxhbmVfY3RsIHw9IHNr bF9wbGFuZV9jdGxfdGlsaW5nKGZiLT5tb2RpZmllclswXSk7Cj4gIAo+IC0Jcm90YXRpb24gPSBk cm1fcGxhbmUtPnN0YXRlLT5yb3RhdGlvbjsKPiArCXJvdGF0aW9uID0gcGxhbmVfc3RhdGUtPmJh c2Uucm90YXRpb247Cj4gIAlwbGFuZV9jdGwgfD0gc2tsX3BsYW5lX2N0bF9yb3RhdGlvbihyb3Rh dGlvbik7Cj4gIAo+ICAJaW50ZWxfdXBkYXRlX3Nwcml0ZV93YXRlcm1hcmtzKGRybV9wbGFuZSwg Y3J0Yywgc3JjX3csIHNyY19oLAo+IEBAIC0yMTksOCArMjI0LDYgQEAgc2tsX3VwZGF0ZV9wbGFu ZShzdHJ1Y3QgZHJtX3BsYW5lICpkcm1fcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAg CXN0cmlkZV9kaXYgPSBpbnRlbF9mYl9zdHJpZGVfYWxpZ25tZW50KGRldiwgZmItPm1vZGlmaWVy WzBdLAo+ICAJCQkJCSAgICAgICBmYi0+cGl4ZWxfZm9ybWF0KTsKPiAgCj4gLQlzY2FsZXJfaWQg PSB0b19pbnRlbF9wbGFuZV9zdGF0ZShkcm1fcGxhbmUtPnN0YXRlKS0+c2NhbGVyX2lkOwo+IC0K PiAgCS8qIFNpemVzIGFyZSAwIGJhc2VkICovCj4gIAlzcmNfdy0tOwo+ICAJc3JjX2gtLTsKPiBA QCAtMjYxLDEzICsyNjQsMTMgQEAgc2tsX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpk cm1fcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCUk5MTVfV1JJVEUoUExBTkVfU0la RShwaXBlLCBwbGFuZSksIHBsYW5lX3NpemUpOwo+ICAKPiAgCS8qIHByb2dyYW0gcGxhbmUgc2Nh bGVyICovCj4gLQlpZiAoc2NhbGVyX2lkID49IDApIHsKPiArCWlmIChwbGFuZV9zdGF0ZS0+c2Nh bGVyX2lkID49IDApIHsKPiAgCQl1aW50MzJfdCBwc19jdHJsID0gMDsKPiArCQlpbnQgc2NhbGVy X2lkID0gcGxhbmVfc3RhdGUtPnNjYWxlcl9pZDsKPiAgCj4gIAkJRFJNX0RFQlVHX0tNUygicGxh bmUgPSAlZCBQU19QTEFORV9TRUwocGxhbmUpID0gMHgleFxuIiwgcGxhbmUsCj4gIAkJCVBTX1BM QU5FX1NFTChwbGFuZSkpOwo+IC0JCXBzX2N0cmwgPSBQU19TQ0FMRVJfRU4gfCBQU19QTEFORV9T RUwocGxhbmUpIHwKPiAtCQkJY3J0Y19zdGF0ZS0+c2NhbGVyX3N0YXRlLnNjYWxlcnNbc2NhbGVy X2lkXS5tb2RlOwo+ICsJCXBzX2N0cmwgPSBQU19TQ0FMRVJfRU4gfCBQU19QTEFORV9TRUwocGxh bmUpIHwgc2NhbGVyLT5tb2RlOwo+ICAJCUk5MTVfV1JJVEUoU0tMX1BTX0NUUkwocGlwZSwgc2Nh bGVyX2lkKSwgcHNfY3RybCk7Cj4gIAkJSTkxNV9XUklURShTS0xfUFNfUFdSX0dBVEUocGlwZSwg c2NhbGVyX2lkKSwgMCk7Cj4gIAkJSTkxNV9XUklURShTS0xfUFNfV0lOX1BPUyhwaXBlLCBzY2Fs ZXJfaWQpLCAoY3J0Y194IDw8IDE2KSB8IGNydGNfeSk7Cj4gQEAgLTM0MSwyNCArMzQ0LDI4IEBA IGNodl91cGRhdGVfY3NjKHN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUsIHVpbnQzMl90 IGZvcm1hdCkKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQKPiAtdmx2X3VwZGF0ZV9wbGFuZShzdHJ1 Y3QgZHJtX3BsYW5lICpkcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAtCQkgc3RydWN0 IGRybV9mcmFtZWJ1ZmZlciAqZmIsCj4gLQkJIGludCBjcnRjX3gsIGludCBjcnRjX3ksCj4gLQkJ IHVuc2lnbmVkIGludCBjcnRjX3csIHVuc2lnbmVkIGludCBjcnRjX2gsCj4gLQkJIHVpbnQzMl90 IHgsIHVpbnQzMl90IHksCj4gLQkJIHVpbnQzMl90IHNyY193LCB1aW50MzJfdCBzcmNfaCkKPiAr dmx2X3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpkcGxhbmUsCj4gKwkJIHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICsJCSBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3Rh dGUgKnBsYW5lX3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZHBsYW5l LT5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOwo+ICAJc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZSA9IHRvX2ludGVsX3Bs YW5lKGRwbGFuZSk7Cj4gKwlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5lX3N0YXRl LT5iYXNlLmZiOwo+ICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGludGVsX2Zi X29iaihmYik7Cj4gIAlpbnQgcGlwZSA9IGludGVsX3BsYW5lLT5waXBlOwo+ICAJaW50IHBsYW5l ID0gaW50ZWxfcGxhbmUtPnBsYW5lOwo+ICAJdTMyIHNwcmN0bDsKPiAgCXVuc2lnbmVkIGxvbmcg c3Byc3VyZl9vZmZzZXQsIGxpbmVhcl9vZmZzZXQ7Cj4gIAlpbnQgcGl4ZWxfc2l6ZSA9IGRybV9m b3JtYXRfcGxhbmVfY3BwKGZiLT5waXhlbF9mb3JtYXQsIDApOwo+IC0JY29uc3Qgc3RydWN0IGRy bV9pbnRlbF9zcHJpdGVfY29sb3JrZXkgKmtleSA9Cj4gLQkJJnRvX2ludGVsX3BsYW5lX3N0YXRl KGRwbGFuZS0+c3RhdGUpLT5ja2V5Owo+ICsJY29uc3Qgc3RydWN0IGRybV9pbnRlbF9zcHJpdGVf Y29sb3JrZXkgKmtleSA9ICZwbGFuZV9zdGF0ZS0+Y2tleTsKPiArCj4gKwlpbnQgY3J0Y194ID0g cGxhbmVfc3RhdGUtPmRzdC54MSwgY3J0Y195ID0gcGxhbmVfc3RhdGUtPmRzdC55MTsKPiArCXVp bnQzMl90IGNydGNfdyA9IGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+ZHN0KTsKPiArCXVp bnQzMl90IGNydGNfaCA9IGRybV9yZWN0X2hlaWdodCgmcGxhbmVfc3RhdGUtPmRzdCk7Cj4gKwl1 aW50MzJfdCB4ID0gcGxhbmVfc3RhdGUtPnNyYy54MSA+PiAxNiwgeSA9IHBsYW5lX3N0YXRlLT5z cmMueTEgPj4gMTY7Cj4gKwl1aW50MzJfdCBzcmNfdyA9IGRybV9yZWN0X3dpZHRoKCZwbGFuZV9z dGF0ZS0+c3JjKSA+PiAxNjsKPiArCXVpbnQzMl90IHNyY19oID0gZHJtX3JlY3RfaGVpZ2h0KCZw bGFuZV9zdGF0ZS0+c3JjKSA+PiAxNjsKPiAgCj4gIAlzcHJjdGwgPSBTUF9FTkFCTEU7Cj4gIAo+ IEBAIC00MjgsNyArNDM1LDcgQEAgdmx2X3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpk cGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCQkJCQkJCWZiLT5waXRjaGVzWzBdKTsK PiAgCWxpbmVhcl9vZmZzZXQgLT0gc3Byc3VyZl9vZmZzZXQ7Cj4gIAo+IC0JaWYgKGRwbGFuZS0+ c3RhdGUtPnJvdGF0aW9uID09IEJJVChEUk1fUk9UQVRFXzE4MCkpIHsKPiArCWlmIChwbGFuZV9z dGF0ZS0+YmFzZS5yb3RhdGlvbiA9PSBCSVQoRFJNX1JPVEFURV8xODApKSB7Cj4gIAkJc3ByY3Rs IHw9IFNQX1JPVEFURV8xODA7Cj4gIAo+ICAJCXggKz0gc3JjX3c7Cj4gQEAgLTQ4MSwyMyArNDg4 LDI4IEBAIHZsdl9kaXNhYmxlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRwbGFuZSwgc3RydWN0 IGRybV9jcnRjICpjcnRjKQo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZAo+IC1pdmJfdXBkYXRlX3Bs YW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gLQkJ IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAo+IC0JCSBpbnQgY3J0Y194LCBpbnQgY3J0Y195 LAo+IC0JCSB1bnNpZ25lZCBpbnQgY3J0Y193LCB1bnNpZ25lZCBpbnQgY3J0Y19oLAo+IC0JCSB1 aW50MzJfdCB4LCB1aW50MzJfdCB5LAo+IC0JCSB1aW50MzJfdCBzcmNfdywgdWludDMyX3Qgc3Jj X2gpCj4gK2l2Yl91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gKwkJIHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICsJCSBzdHJ1Y3QgaW50ZWxfcGxh bmVfc3RhdGUgKnBsYW5lX3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g cGxhbmUtPmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lID0gdG9faW50 ZWxfcGxhbmUocGxhbmUpOwo+ICsJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwbGFuZV9z dGF0ZS0+YmFzZS5mYjsKPiAgCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBpbnRl bF9mYl9vYmooZmIpOwo+ICAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9wbGFuZS0+cGlwZTsKPiAg CXUzMiBzcHJjdGwsIHNwcnNjYWxlID0gMDsKPiAgCXVuc2lnbmVkIGxvbmcgc3Byc3VyZl9vZmZz ZXQsIGxpbmVhcl9vZmZzZXQ7Cj4gIAlpbnQgcGl4ZWxfc2l6ZSA9IGRybV9mb3JtYXRfcGxhbmVf Y3BwKGZiLT5waXhlbF9mb3JtYXQsIDApOwo+IC0JY29uc3Qgc3RydWN0IGRybV9pbnRlbF9zcHJp dGVfY29sb3JrZXkgKmtleSA9Cj4gLQkJJnRvX2ludGVsX3BsYW5lX3N0YXRlKHBsYW5lLT5zdGF0 ZSktPmNrZXk7Cj4gKwljb25zdCBzdHJ1Y3QgZHJtX2ludGVsX3Nwcml0ZV9jb2xvcmtleSAqa2V5 ID0gJnBsYW5lX3N0YXRlLT5ja2V5Owo+ICsKPiArCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGNy dGNfc3RhdGUtPmJhc2UuY3J0YzsKPiArCWludCBjcnRjX3ggPSBwbGFuZV9zdGF0ZS0+ZHN0Lngx LCBjcnRjX3kgPSBwbGFuZV9zdGF0ZS0+ZHN0LnkxOwo+ICsJdWludDMyX3QgY3J0Y193ID0gZHJt X3JlY3Rfd2lkdGgoJnBsYW5lX3N0YXRlLT5kc3QpOwo+ICsJdWludDMyX3QgY3J0Y19oID0gZHJt X3JlY3RfaGVpZ2h0KCZwbGFuZV9zdGF0ZS0+ZHN0KTsKPiArCXVpbnQzMl90IHggPSBwbGFuZV9z dGF0ZS0+c3JjLngxID4+IDE2LCB5ID0gcGxhbmVfc3RhdGUtPnNyYy55MSA+PiAxNjsKPiArCXVp bnQzMl90IHNyY193ID0gZHJtX3JlY3Rfd2lkdGgoJnBsYW5lX3N0YXRlLT5zcmMpID4+IDE2Owo+ ICsJdWludDMyX3Qgc3JjX2ggPSBkcm1fcmVjdF9oZWlnaHQoJnBsYW5lX3N0YXRlLT5zcmMpID4+ IDE2Owo+ICAKPiAgCXNwcmN0bCA9IFNQUklURV9FTkFCTEU7Cj4gIAo+IEBAIC01NjEsNyArNTcz LDcgQEAgaXZiX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRy bV9jcnRjICpjcnRjLAo+ICAJCQkJCSAgICAgICBwaXhlbF9zaXplLCBmYi0+cGl0Y2hlc1swXSk7 Cj4gIAlsaW5lYXJfb2Zmc2V0IC09IHNwcnN1cmZfb2Zmc2V0Owo+ICAKPiAtCWlmIChwbGFuZS0+ c3RhdGUtPnJvdGF0aW9uID09IEJJVChEUk1fUk9UQVRFXzE4MCkpIHsKPiArCWlmIChwbGFuZV9z dGF0ZS0+YmFzZS5yb3RhdGlvbiA9PSBCSVQoRFJNX1JPVEFURV8xODApKSB7Cj4gIAkJc3ByY3Rs IHw9IFNQUklURV9ST1RBVEVfMTgwOwo+ICAKPiAgCQkvKiBIU1cgYW5kIEJEVyBkb2VzIHRoaXMg YXV0b21hZ2ljYWxseSBpbiBoYXJkd2FyZSAqLwo+IEBAIC02MjMsMjMgKzYzNSwyOCBAQCBpdmJf ZGlzYWJsZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRybV9jcnRjICpj cnRjKQo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZAo+IC1pbGtfdXBkYXRlX3BsYW5lKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gLQkJIHN0cnVjdCBkcm1f ZnJhbWVidWZmZXIgKmZiLAo+IC0JCSBpbnQgY3J0Y194LCBpbnQgY3J0Y195LAo+IC0JCSB1bnNp Z25lZCBpbnQgY3J0Y193LCB1bnNpZ25lZCBpbnQgY3J0Y19oLAo+IC0JCSB1aW50MzJfdCB4LCB1 aW50MzJfdCB5LAo+IC0JCSB1aW50MzJfdCBzcmNfdywgdWludDMyX3Qgc3JjX2gpCj4gK2lsa191 cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gKwkJIHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICsJCSBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBs YW5lX3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxhbmUtPmRldjsK PiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 Cj4gIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lID0gdG9faW50ZWxfcGxhbmUocGxh bmUpOwo+ICsJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwbGFuZV9zdGF0ZS0+YmFzZS5m YjsKPiAgCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBpbnRlbF9mYl9vYmooZmIp Owo+ICAJaW50IHBpcGUgPSBpbnRlbF9wbGFuZS0+cGlwZTsKPiAgCXVuc2lnbmVkIGxvbmcgZHZz c3VyZl9vZmZzZXQsIGxpbmVhcl9vZmZzZXQ7Cj4gIAl1MzIgZHZzY250ciwgZHZzc2NhbGU7Cj4g IAlpbnQgcGl4ZWxfc2l6ZSA9IGRybV9mb3JtYXRfcGxhbmVfY3BwKGZiLT5waXhlbF9mb3JtYXQs IDApOwo+IC0JY29uc3Qgc3RydWN0IGRybV9pbnRlbF9zcHJpdGVfY29sb3JrZXkgKmtleSA9Cj4g LQkJJnRvX2ludGVsX3BsYW5lX3N0YXRlKHBsYW5lLT5zdGF0ZSktPmNrZXk7Cj4gKwljb25zdCBz dHJ1Y3QgZHJtX2ludGVsX3Nwcml0ZV9jb2xvcmtleSAqa2V5ID0gJnBsYW5lX3N0YXRlLT5ja2V5 Owo+ICsKPiArCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGNydGNfc3RhdGUtPmJhc2UuY3J0YzsK PiArCWludCBjcnRjX3ggPSBwbGFuZV9zdGF0ZS0+ZHN0LngxLCBjcnRjX3kgPSBwbGFuZV9zdGF0 ZS0+ZHN0LnkxOwo+ICsJdWludDMyX3QgY3J0Y193ID0gZHJtX3JlY3Rfd2lkdGgoJnBsYW5lX3N0 YXRlLT5kc3QpOwo+ICsJdWludDMyX3QgY3J0Y19oID0gZHJtX3JlY3RfaGVpZ2h0KCZwbGFuZV9z dGF0ZS0+ZHN0KTsKPiArCXVpbnQzMl90IHggPSBwbGFuZV9zdGF0ZS0+c3JjLngxID4+IDE2LCB5 ID0gcGxhbmVfc3RhdGUtPnNyYy55MSA+PiAxNjsKPiArCXVpbnQzMl90IHNyY193ID0gZHJtX3Jl Y3Rfd2lkdGgoJnBsYW5lX3N0YXRlLT5zcmMpID4+IDE2Owo+ICsJdWludDMyX3Qgc3JjX2ggPSBk cm1fcmVjdF9oZWlnaHQoJnBsYW5lX3N0YXRlLT5zcmMpID4+IDE2Owo+ICAKPiAgCWR2c2NudHIg PSBEVlNfRU5BQkxFOwo+ICAKPiBAQCAtNjk5LDcgKzcxNiw3IEBAIGlsa191cGRhdGVfcGxhbmUo c3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCQkJCQkg ICAgICAgcGl4ZWxfc2l6ZSwgZmItPnBpdGNoZXNbMF0pOwo+ICAJbGluZWFyX29mZnNldCAtPSBk dnNzdXJmX29mZnNldDsKPiAgCj4gLQlpZiAocGxhbmUtPnN0YXRlLT5yb3RhdGlvbiA9PSBCSVQo RFJNX1JPVEFURV8xODApKSB7Cj4gKwlpZiAocGxhbmVfc3RhdGUtPmJhc2Uucm90YXRpb24gPT0g QklUKERSTV9ST1RBVEVfMTgwKSkgewo+ICAJCWR2c2NudHIgfD0gRFZTX1JPVEFURV8xODA7Cj4g IAo+ICAJCXggKz0gc3JjX3c7Cj4gQEAgLTkzMiwyMyArOTQ5LDE3IEBAIHN0YXRpYyB2b2lkCj4g IGludGVsX2NvbW1pdF9zcHJpdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAkJ CSAgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZSkKPiAgewo+IC0Jc3RydWN0IGRybV9j cnRjICpjcnRjID0gc3RhdGUtPmJhc2UuY3J0YzsKPiAgCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50 ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSk7Cj4gLQlzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpmYiA9IHN0YXRlLT5iYXNlLmZiOwo+IC0KPiAtCWNydGMgPSBjcnRjID8gY3J0YyA6IHBs YW5lLT5jcnRjOwo+ICAKPiAgCWlmIChzdGF0ZS0+dmlzaWJsZSkgewo+IC0JCWludGVsX3BsYW5l LT51cGRhdGVfcGxhbmUocGxhbmUsIGNydGMsIGZiLAo+IC0JCQkJCSAgc3RhdGUtPmRzdC54MSwg c3RhdGUtPmRzdC55MSwKPiAtCQkJCQkgIGRybV9yZWN0X3dpZHRoKCZzdGF0ZS0+ZHN0KSwKPiAt CQkJCQkgIGRybV9yZWN0X2hlaWdodCgmc3RhdGUtPmRzdCksCj4gLQkJCQkJICBzdGF0ZS0+c3Jj LngxID4+IDE2LAo+IC0JCQkJCSAgc3RhdGUtPnNyYy55MSA+PiAxNiwKPiAtCQkJCQkgIGRybV9y ZWN0X3dpZHRoKCZzdGF0ZS0+c3JjKSA+PiAxNiwKPiAtCQkJCQkgIGRybV9yZWN0X2hlaWdodCgm c3RhdGUtPnNyYykgPj4gMTYpOwo+ICsJCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlID0KPiArCQkJdG9faW50ZWxfY3J0YyhzdGF0ZS0+YmFzZS5jcnRjKS0+Y29uZmlnOwo+ICsK PiArCQlpbnRlbF9wbGFuZS0+dXBkYXRlX3BsYW5lKHBsYW5lLCBjcnRjX3N0YXRlLCBzdGF0ZSk7 Cj4gIAl9IGVsc2Ugewo+IC0JCWludGVsX3BsYW5lLT5kaXNhYmxlX3BsYW5lKHBsYW5lLCBjcnRj KTsKPiArCQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBzdGF0ZS0+YmFzZS5jcnRjOwo+ICsKPiAr CQlpbnRlbF9wbGFuZS0+ZGlzYWJsZV9wbGFuZShwbGFuZSwgY3J0YyA/OiBwbGFuZS0+Y3J0Yyk7 Cj4gIAl9Cj4gIH0KPiAgCj4gCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwg SW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK