From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH] drm/i915: Disable SAGV on pre plane update. Date: Thu, 22 Feb 2018 12:12:00 -0800 Message-ID: <20180222201200.GB5777@intel.com> References: <20180222192858.4101-1-rodrigo.vivi@intel.com> <20180222200047.GD5453@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9F8936E142 for ; Thu, 22 Feb 2018 20:12:00 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180222200047.GD5453@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org, Azhar Shaikh List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBGZWIgMjIsIDIwMTggYXQgMTA6MDA6NDdQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFRodSwgRmViIDIyLCAyMDE4IGF0IDExOjI4OjU4QU0gLTA4MDAsIFJvZHJp Z28gVml2aSB3cm90ZToKPiA+IEFjY29yZGluZyB0byBTcGVjICJSZXF1aXJlbWVudCBiZWZvcmUg cGxhbmUgZW5hYmxpbmcgb3IKPiA+IGNvbmZpZ3VyYXRpb24gY2hhbmdlOiBEaXNhYmxlIFNBR1Yg aWYgYW55IGVuYWJsZWQgcGxhbmUgd2lsbCBub3QKPiA+IGJlIGFibGUgdG8gZW5hYmxlIHdhdGVy bWFya3MgZm9yIG1lbW9yeSBsYXRlbmN5ID49IFNBR1YgYmxvY2sKPiA+IHRpbWUsIG9yIGFueSB0 cmFuc2NvZGVyIGlzIGludGVybGFjZWQuIEVsc2UsIGVuYWJsZSBTQUdWLiIKPiA+IAo+ID4gQ3Vy cmVudGx5IHdlIGFyZSBvbmx5IGVuYWJsaW5nIGFuZCBkaXNhYmxpbmcgU0FHViBvbiBmdWxsCj4g PiBtb2Rlc2V0LiBJZiB3ZSBlbmQgdXAgY2hhbmdpbmcgcGxhbmUgY29uZmlndXJhdGlvbnMgYW5k Cj4gPiBzYWd2IHJlbWFpbnMgZW5hYmxlZCB3aGVuIGxhdGVuY3kgaXMgaGlnaGVyIHRoYW4gc2Fn diBibG9jawo+ID4gdGltZSB0aGUgbWFjaGluZSBjYW4gaGFuZy4KPiA+IAo+ID4gQWxzbyB3ZSBh cmUgY29tcHV0aW5nIHRoZSBsYXRlbmN5IHZhbHVlcyBpbiBkaWZmZXJlbnQgcGxhY2VzCj4gPiBh bmQgZm9sbG93aW5nIGRpZmZlcmVudCBjb25kaXRpb25zL3J1bGVzLgo+ID4gCj4gPiBTbyBsZXQn cyBtb3ZlIHRoZSBjYW5fZW5hYmxlX3NhZ3YgY2hlY2sgdG8gYmUgaW5zaWRlCj4gPiBza2xfY29t cHV0ZV93bSBhbmQgZGlzYWJsZSBhbmQgZW5hYmxlIG9uIHtwcmUscG9zdH0gcGxhbmUKPiA+IHVw ZGF0ZXMuCj4gPiAKPiA+IEJ1Z3ppbGxhOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3No b3dfYnVnLmNnaT9pZD0xMDQ5NzUKPiA+IENjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5s YW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+ID4gQ2M6IEF6aGFyIFNoYWlraCA8YXpoYXIuc2hh aWtoQGludGVsLmNvbT4KPiA+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGlu dXguaW50ZWwuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZp dmlAaW50ZWwuY29tPgo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jIHwgMTggKysrKystLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oICAgICB8ICAzICstCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAg IHwgNjQgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiAgMyBmaWxlcyBj aGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCA1MyBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gaW5kZXggNjVjODQ4N2JlN2M3Li4wMDgyNTQ1 NzliZTEgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gQEAg LTUwOTAsNiArNTA5MCw4IEBAIHN0YXRpYyBib29sIGhzd19wb3N0X3VwZGF0ZV9lbmFibGVfaXBz KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zCj4gPiAgc3RhdGljIHZv aWQgaW50ZWxfcG9zdF9wbGFuZV91cGRhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9j cnRjX3N0YXRlKQo+ID4gIHsKPiA+ICAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRl bF9jcnRjKG9sZF9jcnRjX3N0YXRlLT5iYXNlLmNydGMpOwo+ID4gKwlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Cj4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiA+ICAJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9s ZF9zdGF0ZSA9IG9sZF9jcnRjX3N0YXRlLT5iYXNlLnN0YXRlOwo+ID4gIAlzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqcGlwZV9jb25maWcgPQo+ID4gIAkJaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0 Y19zdGF0ZSh0b19pbnRlbF9hdG9taWNfc3RhdGUob2xkX3N0YXRlKSwKPiA+IEBAIC01MTIwLDYg KzUxMjIsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wb3N0X3BsYW5lX3VwZGF0ZShzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpCj4gPiAgCQkgICAgICFvbGRfcHJpbWFyeV9z dGF0ZS0+YmFzZS52aXNpYmxlKSkKPiA+ICAJCQlpbnRlbF9wb3N0X2VuYWJsZV9wcmltYXJ5KCZj cnRjLT5iYXNlLCBwaXBlX2NvbmZpZyk7Cj4gPiAgCX0KPiA+ICsKPiA+ICsJaWYgKHBpcGVfY29u ZmlnLT5zYWd2KQo+ID4gKwkJaW50ZWxfZW5hYmxlX3NhZ3YoZGV2X3ByaXYpOwo+IAo+IFVuZm9y dHVuYXRlbHkgYSBzaW5nbGUgcGlwZSBjYW4ndCBtYWtlIGEgdW5pbGF0ZXJhbCBkZWNpc2lvbiB0 bwo+IGVuYWJsZSBzYWd2LiBUaGUgb3RoZXIgcGlwZXMgbXVzdCBiZSBkaXNhYmxlZCBmaXJzdC4K Ckkgd29uZGVyZWQgdGhhdC4uLgoKPiBBbmQgd2UgY2FuJ3QgdXNlCj4gc3RhdGUtPmFjdGl2ZV9j cnRjcyBmb3IgdGhpcyBpbiBub24tbW9kZXNldCBjb21taXRzIHNpbmNlIHRoYXQncyBvbmx5Cj4g dmFsaWQgZHVyaW5nIGEgbW9kZXNldC4KCmJ1dCBJIHRob3VnaHQgdGhpcyB3YXMgZW5vdWdoIDoo Cgo+IAo+IGN4c3IgaGFzIHRoZSBzYW1lIHByb2JsZW0gcHJldHR5IG11Y2guIEN1cnJlbnRseSB0 aGF0J3MgaGFuZGxlZCBzb21ld2hhdAo+IGhhY2tpbHkgZnJvbSBmb29fbWVyZ2Vfd20oKSB0byBk aXNhYmxlIGN4c3Igd2hlbiBtdWx0aXBsZSBwaXBlcyBhcmUKPiBhY3RpdmUuIEJ1dCBJIHRoaW5r IGEgYmV0dGVyIGlkZWEgbWlnaHQgYmUgdG8gbWFpbnRhaW4gYSBiaXRtYXNrIG9mCj4gcGlwZXMg YWxsb3dpbmcgY3hzciBpbiBkZXZfcHJpdi4gQW5kIHRoZW4gaGF2ZSBlbmFibGUvZGlzYWJsZSBo b29rcwo+IHRoYXQgZ2V0IGNhbGxlZCBmb3IgZWFjaCBwaXBlIGZyb20gdGhlIGNvbW1pdCBwYXRo IHRvIG1hbmlwdWxhdGUgdGhlCj4gYml0bWFzayBhbmQgYmFzZWQgb24gd2hhdCB0aGUgYml0bWFz ayBlbmRzIHVwIGxvb2tpbmcgZWl0aGVyIGVuYWJsZSBvcgo+IGRpc2FibGUgY3hzci4KCkkgY29u c2lkZXJlZCBzb21lIGtpbmQgb2YgYml0bWFzayBmb3IgdGhpcyBjYXNlIHRoaXMgbW9ybmluZywg YnV0CkkgdGhvdWdodCB0aGF0IHN0YXRlLT5hY3RpdmVfY3J0Y3Mgd291bGQgdGFrZSBjYXJlIG9m IHRoYXQgc28gSSBpZ25vcmVkCmFuZCBtb3ZlIGZvcndhcmQuCgo+IFRoYXQgaWRlYSBjb3VsZCBi ZSB1c2VkIGZvciBzYWd2IGFzIHdlbGwgSSBzdXBwb3NlLgoKY291bGQgaXQgYmUgdGhlIG90aGVy IHdheSBhcm91bmQ/Cgo+IAo+ID4gIH0KPiA+ICAKPiA+ICBzdGF0aWMgdm9pZCBpbnRlbF9wcmVf cGxhbmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKPiA+ IEBAIC01MjA1LDYgKzUyMTAsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wcmVfcGxhbmVfdXBkYXRl KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKPiA+ICAJCQkJCQkgICAg IHBpcGVfY29uZmlnKTsKPiA+ICAJZWxzZSBpZiAocGlwZV9jb25maWctPnVwZGF0ZV93bV9wcmUp Cj4gPiAgCQlpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcyhjcnRjKTsKPiA+ICsKPiA+ICsJaWYgKCFw aXBlX2NvbmZpZy0+c2FndikKPiA+ICsJCWludGVsX2Rpc2FibGVfc2FndihkZXZfcHJpdik7Cj4g PiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIGludGVsX2NydGNfZGlzYWJsZV9wbGFuZXMoc3Ry dWN0IGRybV9jcnRjICpjcnRjLCB1bnNpZ25lZCBwbGFuZV9tYXNrKQo+ID4gQEAgLTEyMzY2LDEz ICsxMjM3NCw2IEBAIHN0YXRpYyB2b2lkIGludGVsX2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gPiAgCj4gPiAgCQlpbnRlbF9zZXRfY2RjbGsoZGV2 X3ByaXYsICZkZXZfcHJpdi0+Y2RjbGsuYWN0dWFsKTsKPiA+ICAKPiA+IC0JCS8qCj4gPiAtCQkg KiBTS0wgd29ya2Fyb3VuZDogYnNwZWMgcmVjb21tZW5kcyB3ZSBkaXNhYmxlIHRoZSBTQUdWIHdo ZW4gd2UKPiA+IC0JCSAqIGhhdmUgbW9yZSB0aGVuIG9uZSBwaXBlIGVuYWJsZWQKPiA+IC0JCSAq Lwo+ID4gLQkJaWYgKCFpbnRlbF9jYW5fZW5hYmxlX3NhZ3Yoc3RhdGUpKQo+ID4gLQkJCWludGVs X2Rpc2FibGVfc2FndihkZXZfcHJpdik7Cj4gPiAtCj4gPiAgCQlpbnRlbF9tb2Rlc2V0X3Zlcmlm eV9kaXNhYmxlZChkZXYsIHN0YXRlKTsKPiA+ICAJfQo+ID4gIAo+ID4gQEAgLTEyNDMxLDkgKzEy NDMyLDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfYXRvbWljX2NvbW1pdF90YWlsKHN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpzdGF0ZSkKPiA+ICAJaWYgKGludGVsX3N0YXRlLT5tb2Rlc2V0KQo+ID4g IAkJaW50ZWxfdmVyaWZ5X3BsYW5lcyhpbnRlbF9zdGF0ZSk7Cj4gPiAgCj4gPiAtCWlmIChpbnRl bF9zdGF0ZS0+bW9kZXNldCAmJiBpbnRlbF9jYW5fZW5hYmxlX3NhZ3Yoc3RhdGUpKQo+ID4gLQkJ aW50ZWxfZW5hYmxlX3NhZ3YoZGV2X3ByaXYpOwo+ID4gLQo+ID4gIAlkcm1fYXRvbWljX2hlbHBl cl9jb21taXRfaHdfZG9uZShzdGF0ZSk7Cj4gPiAgCj4gPiAgCWlmIChpbnRlbF9zdGF0ZS0+bW9k ZXNldCkgewo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+IGluZGV4IDE1MzViZmI3ZWE0 MC4uNGMxMGE4YTk0ZDczIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiBA QCAtNzEyLDYgKzcxMiw3IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKPiA+ICAJYm9vbCB1 cGRhdGVfcGlwZTsgLyogY2FuIGEgZmFzdCBtb2Rlc2V0IGJlIHBlcmZvcm1lZD8gKi8KPiA+ICAJ Ym9vbCBkaXNhYmxlX2N4c3I7Cj4gPiAgCWJvb2wgdXBkYXRlX3dtX3ByZSwgdXBkYXRlX3dtX3Bv c3Q7IC8qIHdhdGVybWFya3MgYXJlIHVwZGF0ZWQgKi8KPiA+ICsJYm9vbCBzYWd2OyAvKiBEaXNh YmxlIFNBR1Ygb24gYW55IGxhdGVuY3kgaGlnaGVyIHRoYW4gaXRzIGJsb2NrIHRpbWUgKi8KPiA+ ICAJYm9vbCBmYl9jaGFuZ2VkOyAvKiBmYiBvbiBhbnkgb2YgdGhlIHBsYW5lcyBpcyBjaGFuZ2Vk ICovCj4gPiAgCWJvb2wgZmlmb19jaGFuZ2VkOyAvKiBGSUZPIHNwbGl0IGlzIGNoYW5nZWQgKi8K PiA+ICAKPiA+IEBAIC0yMDAxLDcgKzIwMDIsNyBAQCB2b2lkIHNrbF9waXBlX3dtX2dldF9od19z dGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiAgCQkJICAgICAgc3RydWN0IHNrbF9waXBl X3dtICpvdXQpOwo+ID4gIHZvaWQgZzR4X3dtX3Nhbml0aXplKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdik7Cj4gPiAgdm9pZCB2bHZfd21fc2FuaXRpemUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKPiA+IC1ib29sIGludGVsX2Nhbl9lbmFibGVfc2FndihzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ID4gK2Jvb2wgaW50ZWxfY2FuX2VuYWJsZV9z YWd2KHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLCB1MzIgbGF0ZW5jeSk7Cj4gPiAg aW50IGludGVsX2VuYWJsZV9zYWd2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7 Cj4gPiAgaW50IGludGVsX2Rpc2FibGVfc2FndihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpOwo+ID4gIGJvb2wgc2tsX3dtX2xldmVsX2VxdWFscyhjb25zdCBzdHJ1Y3Qgc2tsX3dt X2xldmVsICpsMSwKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w bS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ID4gaW5kZXggMjFkYWM2ZWJj MjAyLi43MzFiMzgwOGE2MmUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9wbS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gPiBA QCAtMzY4MSwxNiArMzY4MSwxMyBAQCBpbnRlbF9kaXNhYmxlX3NhZ3Yoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gIAlyZXR1cm4gMDsKPiA+ICB9Cj4gPiAgCj4gPiAtYm9v bCBpbnRlbF9jYW5fZW5hYmxlX3NhZ3Yoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ ID4gK2Jvb2wgaW50ZWxfY2FuX2VuYWJsZV9zYWd2KHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUg KmludGVsX3N0YXRlLCB1MzIgbGF0ZW5jeSkKPiA+ICB7Cj4gPiAtCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBzdGF0ZS0+ZGV2Owo+ID4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxf c3RhdGUtPmJhc2UuZGV2Owo+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGRldik7Cj4gPiAtCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKmludGVsX3N0 YXRlID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRlKTsKPiA+ICAJc3RydWN0IGludGVsX2Ny dGMgKmNydGM7Cj4gPiAtCXN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmU7Cj4gPiAgCXN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjc3RhdGU7Cj4gPiAgCWVudW0gcGlwZSBwaXBlOwo+ID4gLQlpbnQg bGV2ZWwsIGxhdGVuY3k7Cj4gPiAgCWludCBzYWd2X2Jsb2NrX3RpbWVfdXM7Cj4gPiAgCj4gPiAg CWlmICghaW50ZWxfaGFzX3NhZ3YoZGV2X3ByaXYpKQo+ID4gQEAgLTM3MDMsNiArMzcwMCw5IEBA IGJvb2wgaW50ZWxfY2FuX2VuYWJsZV9zYWd2KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0 ZSkKPiA+ICAJZWxzZQo+ID4gIAkJc2Fndl9ibG9ja190aW1lX3VzID0gMTA7Cj4gPiAgCj4gPiAr CWlmIChsYXRlbmN5IDwgc2Fndl9ibG9ja190aW1lX3VzKQo+ID4gKwkJcmV0dXJuIGZhbHNlOwo+ ID4gKwo+ID4gIAkvKgo+ID4gIAkgKiBTS0wrIHdvcmthcm91bmQ6IGJzcGVjIHJlY29tbWVuZHMg d2UgZGlzYWJsZSB0aGUgU0FHViB3aGVuIHdlIGhhdmUKPiA+ICAJICogbW9yZSB0aGVuIG9uZSBw aXBlIGVuYWJsZWQKPiA+IEBAIC0zNzIyLDM1ICszNzIyLDYgQEAgYm9vbCBpbnRlbF9jYW5fZW5h YmxlX3NhZ3Yoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ID4gIAlpZiAoY3J0Yy0+ YmFzZS5zdGF0ZS0+YWRqdXN0ZWRfbW9kZS5mbGFncyAmIERSTV9NT0RFX0ZMQUdfSU5URVJMQUNF KQo+ID4gIAkJcmV0dXJuIGZhbHNlOwo+ID4gIAo+ID4gLQlmb3JfZWFjaF9pbnRlbF9wbGFuZV9v bl9jcnRjKGRldiwgY3J0YywgcGxhbmUpIHsKPiA+IC0JCXN0cnVjdCBza2xfcGxhbmVfd20gKndt ID0KPiA+IC0JCQkmY3N0YXRlLT53bS5za2wub3B0aW1hbC5wbGFuZXNbcGxhbmUtPmlkXTsKPiA+ IC0KPiA+IC0JCS8qIFNraXAgdGhpcyBwbGFuZSBpZiBpdCdzIG5vdCBlbmFibGVkICovCj4gPiAt CQlpZiAoIXdtLT53bVswXS5wbGFuZV9lbikKPiA+IC0JCQljb250aW51ZTsKPiA+IC0KPiA+IC0J CS8qIEZpbmQgdGhlIGhpZ2hlc3QgZW5hYmxlZCB3bSBsZXZlbCBmb3IgdGhpcyBwbGFuZSAqLwo+ ID4gLQkJZm9yIChsZXZlbCA9IGlsa193bV9tYXhfbGV2ZWwoZGV2X3ByaXYpOwo+ID4gLQkJICAg ICAhd20tPndtW2xldmVsXS5wbGFuZV9lbjsgLS1sZXZlbCkKPiA+IC0JCSAgICAgeyB9Cj4gPiAt Cj4gPiAtCQlsYXRlbmN5ID0gZGV2X3ByaXYtPndtLnNrbF9sYXRlbmN5W2xldmVsXTsKPiA+IC0K PiA+IC0JCWlmIChza2xfbmVlZHNfbWVtb3J5X2J3X3dhKGludGVsX3N0YXRlKSAmJgo+ID4gLQkJ ICAgIHBsYW5lLT5iYXNlLnN0YXRlLT5mYi0+bW9kaWZpZXIgPT0KPiA+IC0JCSAgICBJOTE1X0ZP Uk1BVF9NT0RfWF9USUxFRCkKPiA+IC0JCQlsYXRlbmN5ICs9IDE1Owo+ID4gLQo+ID4gLQkJLyoK PiA+IC0JCSAqIElmIGFueSBvZiB0aGUgcGxhbmVzIG9uIHRoaXMgcGlwZSBkb24ndCBlbmFibGUg d20gbGV2ZWxzIHRoYXQKPiA+IC0JCSAqIGluY3VyIG1lbW9yeSBsYXRlbmNpZXMgaGlnaGVyIHRo YW4gc2Fndl9ibG9ja190aW1lX3VzIHdlCj4gPiAtCQkgKiBjYW4ndCBlbmFibGUgdGhlIFNBR1Yu Cj4gPiAtCQkgKi8KPiA+IC0JCWlmIChsYXRlbmN5IDwgc2Fndl9ibG9ja190aW1lX3VzKQo+ID4g LQkJCXJldHVybiBmYWxzZTsKPiA+IC0JfQo+ID4gLQo+ID4gIAlyZXR1cm4gdHJ1ZTsKPiA+ICB9 Cj4gPiAgCj4gPiBAQCAtNDUwMSw3ICs0NDcyLDggQEAgc3RhdGljIGludCBza2xfY29tcHV0ZV9w bGFuZV93bShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiAgCQkJ CWNvbnN0IHN0cnVjdCBza2xfd21fcGFyYW1zICp3cCwKPiA+ICAJCQkJdWludDE2X3QgKm91dF9i bG9ja3MsIC8qIG91dCAqLwo+ID4gIAkJCQl1aW50OF90ICpvdXRfbGluZXMsIC8qIG91dCAqLwo+ ID4gLQkJCQlib29sICplbmFibGVkIC8qIG91dCAqLykKPiA+ICsJCQkJYm9vbCAqZW5hYmxlZCwg Lyogb3V0ICovCj4gPiArCQkJCWJvb2wgKnNhZ3YgLyogb3V0ICovKQo+ID4gIHsKPiA+ICAJY29u c3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcHN0YXRlID0gJmludGVsX3BzdGF0ZS0+YmFzZTsK PiA+ICAJdWludDMyX3QgbGF0ZW5jeSA9IGRldl9wcml2LT53bS5za2xfbGF0ZW5jeVtsZXZlbF07 Cj4gPiBAQCAtNDUyOCw2ICs0NTAwLDggQEAgc3RhdGljIGludCBza2xfY29tcHV0ZV9wbGFuZV93 bShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiAgCWlmIChhcHBs eV9tZW1vcnlfYndfd2EgJiYgd3AtPnhfdGlsZWQpCj4gPiAgCQlsYXRlbmN5ICs9IDE1Owo+ID4g IAo+ID4gKwkqc2FndiA9IGludGVsX2Nhbl9lbmFibGVfc2FndihzdGF0ZSwgbGF0ZW5jeSk7Cj4g PiArCj4gPiAgCW1ldGhvZDEgPSBza2xfd21fbWV0aG9kMShkZXZfcHJpdiwgd3AtPnBsYW5lX3Bp eGVsX3JhdGUsCj4gPiAgCQkJCSB3cC0+Y3BwLCBsYXRlbmN5LCB3cC0+ZGJ1Zl9ibG9ja19zaXpl KTsKPiA+ICAJbWV0aG9kMiA9IHNrbF93bV9tZXRob2QyKHdwLT5wbGFuZV9waXhlbF9yYXRlLAo+ ID4gQEAgLTQ2MjksNyArNDYwMyw4IEBAIHNrbF9jb21wdXRlX3dtX2xldmVscyhjb25zdCBzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiAgCQkgICAgICBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3N0YXRlLAo+ID4gIAkJICAgICAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5l X3N0YXRlICppbnRlbF9wc3RhdGUsCj4gPiAgCQkgICAgICBjb25zdCBzdHJ1Y3Qgc2tsX3dtX3Bh cmFtcyAqd21fcGFyYW1zLAo+ID4gLQkJICAgICAgc3RydWN0IHNrbF9wbGFuZV93bSAqd20pCj4g PiArCQkgICAgICBzdHJ1Y3Qgc2tsX3BsYW5lX3dtICp3bSwKPiA+ICsJCSAgICAgIGJvb2wgKnNh Z3YpCj4gPiAgewo+ID4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVs X2NydGMoY3N0YXRlLT5iYXNlLmNydGMpOwo+ID4gIAlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSA9 IGludGVsX3BzdGF0ZS0+YmFzZS5wbGFuZTsKPiA+IEBAIC00NjU1LDcgKzQ2MzAsOCBAQCBza2xf Y29tcHV0ZV93bV9sZXZlbHMoY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAo+ID4gIAkJCQkJICAgd21fcGFyYW1zLAo+ID4gIAkJCQkJICAgJnJlc3VsdC0+cGxhbmVfcmVz X2IsCj4gPiAgCQkJCQkgICAmcmVzdWx0LT5wbGFuZV9yZXNfbCwKPiA+IC0JCQkJCSAgICZyZXN1 bHQtPnBsYW5lX2VuKTsKPiA+ICsJCQkJCSAgICZyZXN1bHQtPnBsYW5lX2VuLAo+ID4gKwkJCQkJ ICAgc2Fndik7Cj4gPiAgCQlpZiAocmV0KQo+ID4gIAkJCXJldHVybiByZXQ7Cj4gPiAgCX0KPiA+ IEBAIC00NzQzLDcgKzQ3MTksOCBAQCBzdGF0aWMgdm9pZCBza2xfY29tcHV0ZV90cmFuc2l0aW9u X3dtKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCj4gPiAgCj4gPiAgc3RhdGljIGlu dCBza2xfYnVpbGRfcGlwZV93bShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlLAo+ID4g IAkJCSAgICAgc3RydWN0IHNrbF9kZGJfYWxsb2NhdGlvbiAqZGRiLAo+ID4gLQkJCSAgICAgc3Ry dWN0IHNrbF9waXBlX3dtICpwaXBlX3dtKQo+ID4gKwkJCSAgICAgc3RydWN0IHNrbF9waXBlX3dt ICpwaXBlX3dtLAo+ID4gKwkJCSAgICAgYm9vbCAqc2FndikKPiA+ICB7Cj4gPiAgCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBjc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2Owo+ID4gIAlzdHJ1Y3QgZHJt X2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPSAmY3N0YXRlLT5iYXNlOwo+ID4gQEAgLTQ3NzcsNyAr NDc1NCw3IEBAIHN0YXRpYyBpbnQgc2tsX2J1aWxkX3BpcGVfd20oc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNzdGF0ZSwKPiA+ICAJCQlyZXR1cm4gcmV0Owo+ID4gIAo+ID4gIAkJcmV0ID0gc2ts X2NvbXB1dGVfd21fbGV2ZWxzKGRldl9wcml2LCBkZGIsIGNzdGF0ZSwKPiA+IC0JCQkJCSAgICBp bnRlbF9wc3RhdGUsICZ3bV9wYXJhbXMsIHdtKTsKPiA+ICsJCQkJCSAgICBpbnRlbF9wc3RhdGUs ICZ3bV9wYXJhbXMsIHdtLCBzYWd2KTsKPiA+ICAJCWlmIChyZXQpCj4gPiAgCQkJcmV0dXJuIHJl dDsKPiA+ICAJCXNrbF9jb21wdXRlX3RyYW5zaXRpb25fd20oY3N0YXRlLCAmd21fcGFyYW1zLCAm d20tPndtWzBdLAo+ID4gQEAgLTQ4OTksMTIgKzQ4NzYsMTMgQEAgc3RhdGljIGludCBza2xfdXBk YXRlX3BpcGVfd20oc3RydWN0IGRybV9jcnRjX3N0YXRlICpjc3RhdGUsCj4gPiAgCQkJICAgICAg Y29uc3Qgc3RydWN0IHNrbF9waXBlX3dtICpvbGRfcGlwZV93bSwKPiA+ICAJCQkgICAgICBzdHJ1 Y3Qgc2tsX3BpcGVfd20gKnBpcGVfd20sIC8qIG91dCAqLwo+ID4gIAkJCSAgICAgIHN0cnVjdCBz a2xfZGRiX2FsbG9jYXRpb24gKmRkYiwgLyogb3V0ICovCj4gPiAtCQkJICAgICAgYm9vbCAqY2hh bmdlZCAvKiBvdXQgKi8pCj4gPiArCQkJICAgICAgYm9vbCAqY2hhbmdlZCAvKiBvdXQgKi8sCj4g PiArCQkJICAgICAgYm9vbCAqc2FndiAvKiBvdXQgKi8pCj4gPiAgewo+ID4gIAlzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqaW50ZWxfY3N0YXRlID0gdG9faW50ZWxfY3J0Y19zdGF0ZShjc3RhdGUp Owo+ID4gIAlpbnQgcmV0Owo+ID4gIAo+ID4gLQlyZXQgPSBza2xfYnVpbGRfcGlwZV93bShpbnRl bF9jc3RhdGUsIGRkYiwgcGlwZV93bSk7Cj4gPiArCXJldCA9IHNrbF9idWlsZF9waXBlX3dtKGlu dGVsX2NzdGF0ZSwgZGRiLCBwaXBlX3dtLCBzYWd2KTsKPiA+ICAJaWYgKHJldCkKPiA+ICAJCXJl dHVybiByZXQ7Cj4gPiAgCj4gPiBAQCAtNTA5OSw2ICs1MDc3LDcgQEAgc2tsX2NvbXB1dGVfd20o c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ID4gIAlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gc3RhdGUtPmRldjsKPiA+ICAJc3RydWN0IHNrbF9waXBlX3dtICpwaXBlX3dtOwo+ID4g IAlib29sIGNoYW5nZWQgPSBmYWxzZTsKPiA+ICsJYm9vbCBzYWd2ID0gdHJ1ZTsKPiA+ICAJaW50 IHJldCwgaTsKPiA+ICAKPiA+ICAJLyoKPiA+IEBAIC01MTQ3LDcgKzUxMjYsNyBAQCBza2xfY29t cHV0ZV93bShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gPiAgCj4gPiAgCQlwaXBl X3dtID0gJmludGVsX2NzdGF0ZS0+d20uc2tsLm9wdGltYWw7Cj4gPiAgCQlyZXQgPSBza2xfdXBk YXRlX3BpcGVfd20oY3N0YXRlLCBvbGRfcGlwZV93bSwgcGlwZV93bSwKPiA+IC0JCQkJCSAmcmVz dWx0cy0+ZGRiLCAmY2hhbmdlZCk7Cj4gPiArCQkJCQkgJnJlc3VsdHMtPmRkYiwgJmNoYW5nZWQs ICZzYWd2KTsKPiA+ICAJCWlmIChyZXQpCj4gPiAgCQkJcmV0dXJuIHJldDsKPiA+ICAKPiA+IEBA IC01MTU5LDYgKzUxMzgsNyBAQCBza2xfY29tcHV0ZV93bShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUpCj4gPiAgCQkJY29udGludWU7Cj4gPiAgCj4gPiAgCQlpbnRlbF9jc3RhdGUtPnVw ZGF0ZV93bV9wcmUgPSB0cnVlOwo+ID4gKwkJaW50ZWxfY3N0YXRlLT5zYWd2ICY9IHNhZ3Y7Cj4g PiAgCX0KPiA+ICAKPiA+ICAJc2tsX3ByaW50X3dtX2NoYW5nZXMoc3RhdGUpOwo+ID4gLS0gCj4g PiAyLjEzLjYKPiAKPiAtLSAKPiBWaWxsZSBTeXJqw6Rsw6QKPiBJbnRlbCBPVEMKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==