From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 02/13] drm/i915: Eliminate usage of pipe_wm_parameters from ILK-style WM Date: Wed, 26 Aug 2015 08:37:41 -0700 Message-ID: <20150826153741.GP13406@intel.com> References: <1440119524-13867-1-git-send-email-matthew.d.roper@intel.com> <1440119524-13867-3-git-send-email-matthew.d.roper@intel.com> <20150826133912.GS5176@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id EE3436EAC4 for ; Wed, 26 Aug 2015 08:37:42 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20150826133912.GS5176@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: ander.conselvan.de.oliveira@intel.com, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBBdWcgMjYsIDIwMTUgYXQgMDQ6Mzk6MTJQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFRodSwgQXVnIDIwLCAyMDE1IGF0IDA2OjExOjUzUE0gLTA3MDAsIE1hdHQg Um9wZXIgd3JvdGU6Cj4gPiBKdXN0IHB1bGwgdGhlIGluZm8gb3V0IG9mIHRoZSBDUlRDIHN0YXRl IHN0cnVjdHVyZSByYXRoZXIgdGhhbiBzdGFnaW5nCj4gPiBpdCBpbiBhbiBhZGRpdGlvbmFsIHN0 cnVjdHVyZS4KPiA+IAo+ID4gU2lnbmVkLW9mZi1ieTogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJv cGVyQGludGVsLmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bt LmMgfCA4NCArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gIDEg ZmlsZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCA1NiBkZWxldGlvbnMoLSkKPiA+IAo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gPiBpbmRleCBjOWNmN2NmLi5kODJlYTgyIDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ID4gQEAgLTE3ODcsMTIgKzE3ODcsNiBAQCBzdHJ1 Y3Qgc2tsX3BpcGVfd21fcGFyYW1ldGVycyB7Cj4gPiAgCXN0cnVjdCBpbnRlbF9wbGFuZV93bV9w YXJhbWV0ZXJzIGN1cnNvcjsKPiA+ICB9Owo+ID4gIAo+ID4gLXN0cnVjdCBpbGtfcGlwZV93bV9w YXJhbWV0ZXJzIHsKPiA+IC0JYm9vbCBhY3RpdmU7Cj4gPiAtCXVpbnQzMl90IHBpcGVfaHRvdGFs Owo+ID4gLQl1aW50MzJfdCBwaXhlbF9yYXRlOwo+ID4gLX07Cj4gPiAtCj4gPiAgc3RydWN0IGls a193bV9tYXhpbXVtcyB7Cj4gPiAgCXVpbnQxNl90IHByaTsKPiA+ICAJdWludDE2X3Qgc3ByOwo+ ID4gQEAgLTE4MTEsNyArMTgwNSw3IEBAIHN0cnVjdCBpbnRlbF93bV9jb25maWcgewo+ID4gICAq IEZvciBib3RoIFdNX1BJUEUgYW5kIFdNX0xQLgo+ID4gICAqIG1lbV92YWx1ZSBtdXN0IGJlIGlu IDAuMXVzIHVuaXRzLgo+ID4gICAqLwo+ID4gLXN0YXRpYyB1aW50MzJfdCBpbGtfY29tcHV0ZV9w cmlfd20oY29uc3Qgc3RydWN0IGlsa19waXBlX3dtX3BhcmFtZXRlcnMgKnBhcmFtcywKPiA+ICtz dGF0aWMgdWludDMyX3QgaWxrX2NvbXB1dGVfcHJpX3dtKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjc3RhdGUsCj4gPiAgCQkJCSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0 ZSAqcHN0YXRlLAo+ID4gIAkJCQkgICB1aW50MzJfdCBtZW1fdmFsdWUsCj4gPiAgCQkJCSAgIGJv b2wgaXNfbHApCj4gPiBAQCAtMTgxOSwxNiArMTgxMywxNiBAQCBzdGF0aWMgdWludDMyX3QgaWxr X2NvbXB1dGVfcHJpX3dtKGNvbnN0IHN0cnVjdCBpbGtfcGlwZV93bV9wYXJhbWV0ZXJzICpwYXJh bXMsCj4gPiAgCWludCBicHAgPSBwc3RhdGUtPmJhc2UuZmIgPyBwc3RhdGUtPmJhc2UuZmItPmJp dHNfcGVyX3BpeGVsIC8gOCA6IDA7Cj4gPiAgCXVpbnQzMl90IG1ldGhvZDEsIG1ldGhvZDI7Cj4g PiAgCj4gPiAtCWlmICghcGFyYW1zLT5hY3RpdmUgfHwgIXBzdGF0ZS0+dmlzaWJsZSkKPiA+ICsJ aWYgKCFjc3RhdGUtPmJhc2UuYWN0aXZlIHx8ICFwc3RhdGUtPnZpc2libGUpCj4gPiAgCQlyZXR1 cm4gMDsKPiAKPiBQcmV2aW91c2x5IHdlIGxvb2tkIGF0IGNydGMtPmFjdGl2ZSwgbm93IHdlIGxv b2sgYXQgc3RhdGUtPmJhc2UuYWN0aXZlLgo+IFNpbmNlIHRoZSBhdG9taWMgbW9kZXNldCBjb2Rl IGlzIGEgYml0IGluc2FuZSBhbmQgZG9lc24ndCBoYXZlIGFuCj4gaW50ZXJtZWRpYXRlIGF0b21p YyBzdGF0ZSBmb3IgdGhlIGRpc2FibGUtPnJlLWVuYWJsZSBjYXNlLCBJJ20gbm90IHN1cmUKPiB0 aGlzIHdpbGwgZmx5IGN1cnJlbnRseS4KPiAKPiBJJ2QgYmUgbXVjaCBoYXBwaWVyIGlmIHNvbWVv bmUgYWRkZWQgdGhlIGludGVybWVkaWF0ZSBhdG9taWMgc3RhdGUgdG8KPiBoYW5kbGUgcGlwZSBk aXNhYmxpbmcgaW4gYSBuaWNlciB3YXkuIEFmdGVyd2FyZHMgd2Ugc2hvdWxkIGJlIGFibGUgdG8K PiBlbGltaWF0ZSBhbGwgc3BlY2lhbCBjYXNlcyBkZWFsaW5nIHdpdGggd2F0ZXJtYXJrcyBhbmQg anVzdCBkbyB0aGUgd20KPiB1cGRhdGVzIGZyb20gdGhlIGNvbW1pdF9wbGFuZXMgKG9yIHdoYXRl dmVyIGl0IHdhcyBjYWxsZWQpLgoKSSB0aGluayBJJ20gbWlzc2luZyBzb21lIG9mIHRoZSBjb250 ZXh0IGZvciB5b3VyIGNvbW1lbnQuICBBdCB0aGUgbW9tZW50CndlIHVwZGF0ZSB3YXRlcm1hcmtz IGFmdGVyIHZibGFuayBpZiB0aGUgQ1JUQyBpcyBiZWluZyByZS1lbmFibGVkIGFuZApiZWZvcmUg dGhlIHZibGFuayBpbiBvdGhlciBjYXNlcywgc28gaXQgc2VlbXMgbGlrZSBpZiB3ZSB1c2UKY3J0 Yy0+YWN0aXZlIGhlcmUsIHRoZW4gd2hlbiB3ZSBnZXQgdG8gdGhlIHBvc3QtdmJsYW5rIHdhdGVy bWFyayB1cGRhdGUKd2Ugd29uJ3QgaGF2ZSBhbnkgd2F0ZXJtYXJrIHZhbHVlcyBzaW5jZSB3ZSds bCBiZSBhY3Rpbmcgb24gdGhlIG9sZCBkYXRhCnRoYXQgc2F5cyB0aGUgQ1JUQyBpcyBzdGlsbCBv ZmYuCgpXaGVuIHlvdSB0YWxrIGFib3V0IGludGVybWVkaWF0ZSBhdG9taWMgc3RhdGUgYXJlIHlv dSBzYXlpbmcgdGhhdCB5b3UKd2FudCB0byBzZWUgQ1JUQyBlbmFibGVzIHRha2UgYSB0d28gc3Rl cCBwcm9jZXNzIHdoZXJlIHRoZSBDUlRDIGdldHMKZW5hYmxlZCB3aXRoIG5vIHBsYW5lcyBmaXJz dCwgdGhlbiBhbGwgdGhlIHBsYW5lcyBnZXQgdHVybmVkIG9uIGR1cmluZwp0aGUgbmV4dCB2Ymxh bms/CgoKTWF0dAoKPiAKPiA+ICAKPiA+IC0JbWV0aG9kMSA9IGlsa193bV9tZXRob2QxKHBhcmFt cy0+cGl4ZWxfcmF0ZSwgYnBwLCBtZW1fdmFsdWUpOwo+ID4gKwltZXRob2QxID0gaWxrX3dtX21l dGhvZDEoaWxrX3BpcGVfcGl4ZWxfcmF0ZShjc3RhdGUpLCBicHAsIG1lbV92YWx1ZSk7Cj4gPiAg Cj4gPiAgCWlmICghaXNfbHApCj4gPiAgCQlyZXR1cm4gbWV0aG9kMTsKPiA+ICAKPiA+IC0JbWV0 aG9kMiA9IGlsa193bV9tZXRob2QyKHBhcmFtcy0+cGl4ZWxfcmF0ZSwKPiA+IC0JCQkJIHBhcmFt cy0+cGlwZV9odG90YWwsCj4gPiArCW1ldGhvZDIgPSBpbGtfd21fbWV0aG9kMihpbGtfcGlwZV9w aXhlbF9yYXRlKGNzdGF0ZSksCj4gPiArCQkJCSBjc3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZS5j cnRjX2h0b3RhbCwKPiA+ICAJCQkJIGRybV9yZWN0X3dpZHRoKCZwc3RhdGUtPmRzdCksCj4gPiAg CQkJCSBicHAsCj4gPiAgCQkJCSBtZW1fdmFsdWUpOwo+ID4gQEAgLTE4NDAsMTkgKzE4MzQsMTkg QEAgc3RhdGljIHVpbnQzMl90IGlsa19jb21wdXRlX3ByaV93bShjb25zdCBzdHJ1Y3QgaWxrX3Bp cGVfd21fcGFyYW1ldGVycyAqcGFyYW1zLAo+ID4gICAqIEZvciBib3RoIFdNX1BJUEUgYW5kIFdN X0xQLgo+ID4gICAqIG1lbV92YWx1ZSBtdXN0IGJlIGluIDAuMXVzIHVuaXRzLgo+ID4gICAqLwo+ ID4gLXN0YXRpYyB1aW50MzJfdCBpbGtfY29tcHV0ZV9zcHJfd20oY29uc3Qgc3RydWN0IGlsa19w aXBlX3dtX3BhcmFtZXRlcnMgKnBhcmFtcywKPiA+ICtzdGF0aWMgdWludDMyX3QgaWxrX2NvbXB1 dGVfc3ByX3dtKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCj4gPiAgCQkJ CSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcHN0YXRlLAo+ID4gIAkJCQkgICB1 aW50MzJfdCBtZW1fdmFsdWUpCj4gPiAgewo+ID4gIAlpbnQgYnBwID0gcHN0YXRlLT5iYXNlLmZi ID8gcHN0YXRlLT5iYXNlLmZiLT5iaXRzX3Blcl9waXhlbCAvIDggOiAwOwo+ID4gIAl1aW50MzJf dCBtZXRob2QxLCBtZXRob2QyOwo+ID4gIAo+ID4gLQlpZiAoIXBhcmFtcy0+YWN0aXZlIHx8ICFw c3RhdGUtPnZpc2libGUpCj4gPiArCWlmICghY3N0YXRlLT5iYXNlLmFjdGl2ZSB8fCAhcHN0YXRl LT52aXNpYmxlKQo+ID4gIAkJcmV0dXJuIDA7Cj4gPiAgCj4gPiAtCW1ldGhvZDEgPSBpbGtfd21f bWV0aG9kMShwYXJhbXMtPnBpeGVsX3JhdGUsIGJwcCwgbWVtX3ZhbHVlKTsKPiA+IC0JbWV0aG9k MiA9IGlsa193bV9tZXRob2QyKHBhcmFtcy0+cGl4ZWxfcmF0ZSwKPiA+IC0JCQkJIHBhcmFtcy0+ cGlwZV9odG90YWwsCj4gPiArCW1ldGhvZDEgPSBpbGtfd21fbWV0aG9kMShpbGtfcGlwZV9waXhl bF9yYXRlKGNzdGF0ZSksIGJwcCwgbWVtX3ZhbHVlKTsKPiA+ICsJbWV0aG9kMiA9IGlsa193bV9t ZXRob2QyKGlsa19waXBlX3BpeGVsX3JhdGUoY3N0YXRlKSwKPiA+ICsJCQkJIGNzdGF0ZS0+YmFz ZS5hZGp1c3RlZF9tb2RlLmNydGNfaHRvdGFsLAo+ID4gIAkJCQkgZHJtX3JlY3Rfd2lkdGgoJnBz dGF0ZS0+ZHN0KSwKPiA+ICAJCQkJIGJwcCwKPiA+ICAJCQkJIG1lbV92YWx1ZSk7Cj4gPiBAQCAt MTg2MywzMCArMTg1NywzMCBAQCBzdGF0aWMgdWludDMyX3QgaWxrX2NvbXB1dGVfc3ByX3dtKGNv bnN0IHN0cnVjdCBpbGtfcGlwZV93bV9wYXJhbWV0ZXJzICpwYXJhbXMsCj4gPiAgICogRm9yIGJv dGggV01fUElQRSBhbmQgV01fTFAuCj4gPiAgICogbWVtX3ZhbHVlIG11c3QgYmUgaW4gMC4xdXMg dW5pdHMuCj4gPiAgICovCj4gPiAtc3RhdGljIHVpbnQzMl90IGlsa19jb21wdXRlX2N1cl93bShj b25zdCBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAqcGFyYW1zLAo+ID4gK3N0YXRpYyB1 aW50MzJfdCBpbGtfY29tcHV0ZV9jdXJfd20oY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNzdGF0ZSwKPiA+ICAJCQkJICAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwc3Rh dGUsCj4gPiAgCQkJCSAgIHVpbnQzMl90IG1lbV92YWx1ZSkKPiA+ICB7Cj4gPiAgCWludCBicHAg PSBwc3RhdGUtPmJhc2UuZmIgPyBwc3RhdGUtPmJhc2UuZmItPmJpdHNfcGVyX3BpeGVsIC8gOCA6 IDA7Cj4gPiAgCj4gPiAtCWlmICghcGFyYW1zLT5hY3RpdmUgfHwgIXBzdGF0ZS0+dmlzaWJsZSkK PiA+ICsJaWYgKCFjc3RhdGUtPmJhc2UuYWN0aXZlIHx8ICFwc3RhdGUtPnZpc2libGUpCj4gPiAg CQlyZXR1cm4gMDsKPiA+ICAKPiA+IC0JcmV0dXJuIGlsa193bV9tZXRob2QyKHBhcmFtcy0+cGl4 ZWxfcmF0ZSwKPiA+IC0JCQkgICAgICBwYXJhbXMtPnBpcGVfaHRvdGFsLAo+ID4gKwlyZXR1cm4g aWxrX3dtX21ldGhvZDIoaWxrX3BpcGVfcGl4ZWxfcmF0ZShjc3RhdGUpLAo+ID4gKwkJCSAgICAg IGNzdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfaHRvdGFsLAo+ID4gIAkJCSAgICAgIGRy bV9yZWN0X3dpZHRoKCZwc3RhdGUtPmRzdCksCj4gPiAgCQkJICAgICAgYnBwLAo+ID4gIAkJCSAg ICAgIG1lbV92YWx1ZSk7Cj4gPiAgfQo+ID4gIAo+ID4gIC8qIE9ubHkgZm9yIFdNX0xQLiAqLwo+ ID4gLXN0YXRpYyB1aW50MzJfdCBpbGtfY29tcHV0ZV9mYmNfd20oY29uc3Qgc3RydWN0IGlsa19w aXBlX3dtX3BhcmFtZXRlcnMgKnBhcmFtcywKPiA+ICtzdGF0aWMgdWludDMyX3QgaWxrX2NvbXB1 dGVfZmJjX3dtKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCj4gPiAgCQkJ CSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcHN0YXRlLAo+ID4gIAkJCQkgICB1 aW50MzJfdCBwcmlfdmFsKQo+ID4gIHsKPiA+ICAJaW50IGJwcCA9IHBzdGF0ZS0+YmFzZS5mYiA/ IHBzdGF0ZS0+YmFzZS5mYi0+Yml0c19wZXJfcGl4ZWwgLyA4IDogMDsKPiA+ICAKPiA+IC0JaWYg KCFwYXJhbXMtPmFjdGl2ZSB8fCAhcHN0YXRlLT52aXNpYmxlKQo+ID4gKwlpZiAoIWNzdGF0ZS0+ YmFzZS5hY3RpdmUgfHwgIXBzdGF0ZS0+dmlzaWJsZSkKPiA+ICAJCXJldHVybiAwOwo+ID4gIAo+ ID4gIAlyZXR1cm4gaWxrX3dtX2ZiYyhwcmlfdmFsLCBkcm1fcmVjdF93aWR0aCgmcHN0YXRlLT5k c3QpLCBicHApOwo+ID4gQEAgLTIwNTYsNyArMjA1MCw3IEBAIHN0YXRpYyBib29sIGlsa192YWxp ZGF0ZV93bV9sZXZlbChpbnQgbGV2ZWwsCj4gPiAgc3RhdGljIHZvaWQgaWxrX2NvbXB1dGVfd21f bGV2ZWwoY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gIAkJCQkg Y29uc3Qgc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCj4gPiAgCQkJCSBpbnQgbGV2ZWws Cj4gPiAtCQkJCSBjb25zdCBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAqcCwKPiA+ICsJ CQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCj4gPiAgCQkJCSBzdHJ1Y3QgaW50 ZWxfd21fbGV2ZWwgKnJlc3VsdCkKPiA+ICB7Cj4gPiAgCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50 ZWxfcGxhbmU7Cj4gPiBAQCAtMjA3NywxOCArMjA3MSwxOCBAQCBzdGF0aWMgdm9pZCBpbGtfY29t cHV0ZV93bV9sZXZlbChjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4g PiAgCj4gPiAgCQlzd2l0Y2ggKGludGVsX3BsYW5lLT5iYXNlLnR5cGUpIHsKPiA+ICAJCWNhc2Ug RFJNX1BMQU5FX1RZUEVfUFJJTUFSWToKPiA+IC0JCQlyZXN1bHQtPnByaV92YWwgPSBpbGtfY29t cHV0ZV9wcmlfd20ocCwgcHN0YXRlLAo+ID4gKwkJCXJlc3VsdC0+cHJpX3ZhbCA9IGlsa19jb21w dXRlX3ByaV93bShjc3RhdGUsIHBzdGF0ZSwKPiA+ICAJCQkJCQkJICAgICBwcmlfbGF0ZW5jeSwK PiA+ICAJCQkJCQkJICAgICBsZXZlbCk7Cj4gPiAtCQkJcmVzdWx0LT5mYmNfdmFsID0gaWxrX2Nv bXB1dGVfZmJjX3dtKHAsIHBzdGF0ZSwKPiA+ICsJCQlyZXN1bHQtPmZiY192YWwgPSBpbGtfY29t cHV0ZV9mYmNfd20oY3N0YXRlLCBwc3RhdGUsCj4gPiAgCQkJCQkJCSAgICAgcmVzdWx0LT5wcmlf dmFsKTsKPiA+ICAJCQlicmVhazsKPiA+ICAJCWNhc2UgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWToK PiA+IC0JCQlyZXN1bHQtPnNwcl92YWwgPSBpbGtfY29tcHV0ZV9zcHJfd20ocCwgcHN0YXRlLAo+ ID4gKwkJCXJlc3VsdC0+c3ByX3ZhbCA9IGlsa19jb21wdXRlX3Nwcl93bShjc3RhdGUsIHBzdGF0 ZSwKPiA+ICAJCQkJCQkJICAgICBzcHJfbGF0ZW5jeSk7Cj4gPiAgCQkJYnJlYWs7Cj4gPiAgCQlj YXNlIERSTV9QTEFORV9UWVBFX0NVUlNPUjoKPiA+IC0JCQlyZXN1bHQtPmN1cl92YWwgPSBpbGtf Y29tcHV0ZV9jdXJfd20ocCwgcHN0YXRlLAo+ID4gKwkJCXJlc3VsdC0+Y3VyX3ZhbCA9IGlsa19j b21wdXRlX2N1cl93bShjc3RhdGUsIHBzdGF0ZSwKPiA+ICAJCQkJCQkJICAgICBjdXJfbGF0ZW5j eSk7Cj4gPiAgCQkJYnJlYWs7Cj4gPiAgCQl9Cj4gPiBAQCAtMjM1MiwxOSArMjM0Niw2IEBAIHN0 YXRpYyB2b2lkIHNrbF9zZXR1cF93bV9sYXRlbmN5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4g PiAgCWludGVsX3ByaW50X3dtX2xhdGVuY3koZGV2LCAiR2VuOSBQbGFuZSIsIGRldl9wcml2LT53 bS5za2xfbGF0ZW5jeSk7Cj4gPiAgfQo+ID4gIAo+ID4gLXN0YXRpYyB2b2lkIGlsa19jb21wdXRl X3dtX3BhcmFtZXRlcnMoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gLQkJCQkgICAgICBzdHJ1 Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAqcCkKPiA+IC17Cj4gPiAtCXN0cnVjdCBpbnRlbF9j cnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiA+IC0KPiA+IC0JaWYgKCFp bnRlbF9jcnRjLT5hY3RpdmUpCj4gPiAtCQlyZXR1cm47Cj4gPiAtCj4gPiAtCXAtPmFjdGl2ZSA9 IHRydWU7Cj4gPiAtCXAtPnBpcGVfaHRvdGFsID0gaW50ZWxfY3J0Yy0+Y29uZmlnLT5iYXNlLmFk anVzdGVkX21vZGUuY3J0Y19odG90YWw7Cj4gPiAtCXAtPnBpeGVsX3JhdGUgPSBpbGtfcGlwZV9w aXhlbF9yYXRlKGludGVsX2NydGMtPmNvbmZpZyk7Cj4gPiAtfQo+ID4gLQo+ID4gIHN0YXRpYyB2 b2lkIGlsa19jb21wdXRlX3dtX2NvbmZpZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gIAkJ CQkgIHN0cnVjdCBpbnRlbF93bV9jb25maWcgKmNvbmZpZykKPiA+ICB7Cj4gPiBAQCAtMjM4NCwx MCArMjM2NSwxMCBAQCBzdGF0aWMgdm9pZCBpbGtfY29tcHV0ZV93bV9jb25maWcoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKPiA+ICB9Cj4gPiAgCj4gPiAgLyogQ29tcHV0ZSBuZXcgd2F0ZXJtYXJr cyBmb3IgdGhlIHBpcGUgKi8KPiA+IC1zdGF0aWMgYm9vbCBpbnRlbF9jb21wdXRlX3BpcGVfd20o c3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gLQkJCQkgIGNvbnN0IHN0cnVjdCBpbGtfcGlwZV93 bV9wYXJhbWV0ZXJzICpwYXJhbXMsCj4gPiArc3RhdGljIGJvb2wgaW50ZWxfY29tcHV0ZV9waXBl X3dtKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCj4gPiAgCQkJCSAgc3RydWN0IGlu dGVsX3BpcGVfd20gKnBpcGVfd20pCj4gPiAgewo+ID4gKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGMg PSBjc3RhdGUtPmJhc2UuY3J0YzsKPiA+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMt PmRldjsKPiA+ICAJY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKPiA+ICAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19p bnRlbF9jcnRjKGNydGMpOwo+ID4gQEAgLTI0MTIsOCArMjM5Myw3IEBAIHN0YXRpYyBib29sIGlu dGVsX2NvbXB1dGVfcGlwZV93bShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiAgCQlkcm1fcmVj dF93aWR0aCgmc3Byc3RhdGUtPmRzdCkgIT0gZHJtX3JlY3Rfd2lkdGgoJnNwcnN0YXRlLT5zcmMp ID4+IDE2IHx8Cj4gPiAgCQlkcm1fcmVjdF9oZWlnaHQoJnNwcnN0YXRlLT5kc3QpICE9IGRybV9y ZWN0X2hlaWdodCgmc3Byc3RhdGUtPnNyYykgPj4gMTY7Cj4gPiAgCj4gPiAtCj4gPiAtCXBpcGVf d20tPnBpcGVfZW5hYmxlZCA9IHBhcmFtcy0+YWN0aXZlOwo+ID4gKwlwaXBlX3dtLT5waXBlX2Vu YWJsZWQgPSBjc3RhdGUtPmJhc2UuYWN0aXZlOwo+ID4gIAlwaXBlX3dtLT5zcHJpdGVzX2VuYWJs ZWQgPSBzcHJzdGF0ZS0+dmlzaWJsZTsKPiA+ICAJcGlwZV93bS0+c3ByaXRlc19zY2FsZWQgPSBj b25maWcuc3ByaXRlc19zY2FsZWQ7Cj4gPiAgCj4gPiBAQCAtMjQyNSw3ICsyNDA1LDcgQEAgc3Rh dGljIGJvb2wgaW50ZWxfY29tcHV0ZV9waXBlX3dtKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ ICAJaWYgKGNvbmZpZy5zcHJpdGVzX3NjYWxlZCkKPiA+ICAJCW1heF9sZXZlbCA9IDA7Cj4gPiAg Cj4gPiAtCWlsa19jb21wdXRlX3dtX2xldmVsKGRldl9wcml2LCBpbnRlbF9jcnRjLCAwLCBwYXJh bXMsICZwaXBlX3dtLT53bVswXSk7Cj4gPiArCWlsa19jb21wdXRlX3dtX2xldmVsKGRldl9wcml2 LCBpbnRlbF9jcnRjLCAwLCBjc3RhdGUsICZwaXBlX3dtLT53bVswXSk7Cj4gPiAgCj4gPiAgCWlm IChJU19IQVNXRUxMKGRldikgfHwgSVNfQlJPQURXRUxMKGRldikpCj4gPiAgCQlwaXBlX3dtLT5s aW5ldGltZSA9IGhzd19jb21wdXRlX2xpbmV0aW1lX3dtKGRldiwgY3J0Yyk7Cj4gPiBAQCAtMjQ0 Miw3ICsyNDIyLDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfY29tcHV0ZV9waXBlX3dtKHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKPiA+ICAJZm9yIChsZXZlbCA9IDE7IGxldmVsIDw9IG1heF9sZXZlbDsg bGV2ZWwrKykgewo+ID4gIAkJc3RydWN0IGludGVsX3dtX2xldmVsIHdtID0ge307Cj4gPiAgCj4g PiAtCQlpbGtfY29tcHV0ZV93bV9sZXZlbChkZXZfcHJpdiwgaW50ZWxfY3J0YywgbGV2ZWwsIHBh cmFtcywgJndtKTsKPiA+ICsJCWlsa19jb21wdXRlX3dtX2xldmVsKGRldl9wcml2LCBpbnRlbF9j cnRjLCBsZXZlbCwgY3N0YXRlLCAmd20pOwo+ID4gIAo+ID4gIAkJLyoKPiA+ICAJCSAqIERpc2Fi bGUgYW55IHdhdGVybWFyayBsZXZlbCB0aGF0IGV4Y2VlZHMgdGhlCj4gPiBAQCAtMzc0OCwxOSAr MzcyOCwxNyBAQCBza2xfdXBkYXRlX3Nwcml0ZV93bShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwg c3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gIHN0YXRpYyB2b2lkIGlsa191cGRhdGVfd20oc3Ry dWN0IGRybV9jcnRjICpjcnRjKQo+ID4gIHsKPiA+ICAJc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+ID4gKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3N0YXRlID0gdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSk7Cj4gPiAgCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gPiAgCXN0cnVjdCBpbGtfd21fbWF4 aW11bXMgbWF4Owo+ID4gLQlzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyBwYXJhbXMgPSB7 fTsKPiA+ICAJc3RydWN0IGlsa193bV92YWx1ZXMgcmVzdWx0cyA9IHt9Owo+ID4gIAllbnVtIGlu dGVsX2RkYl9wYXJ0aXRpb25pbmcgcGFydGl0aW9uaW5nOwo+ID4gIAlzdHJ1Y3QgaW50ZWxfcGlw ZV93bSBwaXBlX3dtID0ge307Cj4gPiAgCXN0cnVjdCBpbnRlbF9waXBlX3dtIGxwX3dtXzFfMiA9 IHt9LCBscF93bV81XzYgPSB7fSwgKmJlc3RfbHBfd207Cj4gPiAgCXN0cnVjdCBpbnRlbF93bV9j b25maWcgY29uZmlnID0ge307Cj4gPiAgCj4gPiAtCWlsa19jb21wdXRlX3dtX3BhcmFtZXRlcnMo Y3J0YywgJnBhcmFtcyk7Cj4gPiAtCj4gPiAtCWludGVsX2NvbXB1dGVfcGlwZV93bShjcnRjLCAm cGFyYW1zLCAmcGlwZV93bSk7Cj4gPiArCWludGVsX2NvbXB1dGVfcGlwZV93bShjc3RhdGUsICZw aXBlX3dtKTsKPiA+ICAKPiA+ICAJaWYgKCFtZW1jbXAoJmludGVsX2NydGMtPndtLmFjdGl2ZSwg JnBpcGVfd20sIHNpemVvZihwaXBlX3dtKSkpCj4gPiAgCQlyZXR1cm47Cj4gPiBAQCAtMzgwMCwx MiArMzc3OCw2IEBAIGlsa191cGRhdGVfc3ByaXRlX3dtKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l LAo+ID4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxhbmUtPmRldjsKPiA+ICAJc3RydWN0 IGludGVsX3BsYW5lICppbnRlbF9wbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lKTsKPiA+ICAK PiA+IC0JaW50ZWxfcGxhbmUtPndtLmVuYWJsZWQgPSBlbmFibGVkOwo+ID4gLQlpbnRlbF9wbGFu ZS0+d20uc2NhbGVkID0gc2NhbGVkOwo+ID4gLQlpbnRlbF9wbGFuZS0+d20uaG9yaXpfcGl4ZWxz ID0gc3ByaXRlX3dpZHRoOwo+ID4gLQlpbnRlbF9wbGFuZS0+d20udmVydF9waXhlbHMgPSBzcHJp dGVfd2lkdGg7Cj4gPiAtCWludGVsX3BsYW5lLT53bS5ieXRlc19wZXJfcGl4ZWwgPSBwaXhlbF9z aXplOwo+ID4gLQo+ID4gIAkvKgo+ID4gIAkgKiBJVkIgd29ya2Fyb3VuZDogbXVzdCBkaXNhYmxl IGxvdyBwb3dlciB3YXRlcm1hcmtzIGZvciBhdCBsZWFzdAo+ID4gIAkgKiBvbmUgZnJhbWUgYmVm b3JlIGVuYWJsaW5nIHNjYWxpbmcuICBMUCB3YXRlcm1hcmtzIGNhbiBiZSByZS1lbmFibGVkCj4g PiAtLSAKPiA+IDIuMS40Cj4gPiAKPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiBJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4gCj4gLS0gCj4gVmlsbGUgU3lyasOkbMOkCj4gSW50 ZWwgT1RDCgotLSAKTWF0dCBSb3BlcgpHcmFwaGljcyBTb2Z0d2FyZSBFbmdpbmVlcgpJb1RHIFBs YXRmb3JtIEVuYWJsaW5nICYgRGV2ZWxvcG1lbnQKSW50ZWwgQ29ycG9yYXRpb24KKDkxNikgMzU2 LTI3OTUKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK