From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 02/13] drm/i915: Eliminate usage of pipe_wm_parameters from ILK-style WM Date: Wed, 26 Aug 2015 18:51:31 +0300 Message-ID: <20150826155131.GT5176@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> <20150826153741.GP13406@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id D892A6E037 for ; Wed, 26 Aug 2015 08:51:49 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20150826153741.GP13406@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Matt Roper Cc: ander.conselvan.de.oliveira@intel.com, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBBdWcgMjYsIDIwMTUgYXQgMDg6Mzc6NDFBTSAtMDcwMCwgTWF0dCBSb3BlciB3cm90 ZToKPiBPbiBXZWQsIEF1ZyAyNiwgMjAxNSBhdCAwNDozOToxMlBNICswMzAwLCBWaWxsZSBTeXJq w6Rsw6Qgd3JvdGU6Cj4gPiBPbiBUaHUsIEF1ZyAyMCwgMjAxNSBhdCAwNjoxMTo1M1BNIC0wNzAw LCBNYXR0IFJvcGVyIHdyb3RlOgo+ID4gPiBKdXN0IHB1bGwgdGhlIGluZm8gb3V0IG9mIHRoZSBD UlRDIHN0YXRlIHN0cnVjdHVyZSByYXRoZXIgdGhhbiBzdGFnaW5nCj4gPiA+IGl0IGluIGFuIGFk ZGl0aW9uYWwgc3RydWN0dXJlLgo+ID4gPiAKPiA+ID4gU2lnbmVkLW9mZi1ieTogTWF0dCBSb3Bl ciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4KPiA+ID4gLS0tCj4gPiA+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wbS5jIHwgODQgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCA1NiBk ZWxldGlvbnMoLSkKPiA+ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ID4gPiBpbmRl eCBjOWNmN2NmLi5kODJlYTgyIDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9wbS5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMK PiA+ID4gQEAgLTE3ODcsMTIgKzE3ODcsNiBAQCBzdHJ1Y3Qgc2tsX3BpcGVfd21fcGFyYW1ldGVy cyB7Cj4gPiA+ICAJc3RydWN0IGludGVsX3BsYW5lX3dtX3BhcmFtZXRlcnMgY3Vyc29yOwo+ID4g PiAgfTsKPiA+ID4gIAo+ID4gPiAtc3RydWN0IGlsa19waXBlX3dtX3BhcmFtZXRlcnMgewo+ID4g PiAtCWJvb2wgYWN0aXZlOwo+ID4gPiAtCXVpbnQzMl90IHBpcGVfaHRvdGFsOwo+ID4gPiAtCXVp bnQzMl90IHBpeGVsX3JhdGU7Cj4gPiA+IC19Owo+ID4gPiAtCj4gPiA+ICBzdHJ1Y3QgaWxrX3dt X21heGltdW1zIHsKPiA+ID4gIAl1aW50MTZfdCBwcmk7Cj4gPiA+ICAJdWludDE2X3Qgc3ByOwo+ ID4gPiBAQCAtMTgxMSw3ICsxODA1LDcgQEAgc3RydWN0IGludGVsX3dtX2NvbmZpZyB7Cj4gPiA+ ICAgKiBGb3IgYm90aCBXTV9QSVBFIGFuZCBXTV9MUC4KPiA+ID4gICAqIG1lbV92YWx1ZSBtdXN0 IGJlIGluIDAuMXVzIHVuaXRzLgo+ID4gPiAgICovCj4gPiA+IC1zdGF0aWMgdWludDMyX3QgaWxr X2NvbXB1dGVfcHJpX3dtKGNvbnN0IHN0cnVjdCBpbGtfcGlwZV93bV9wYXJhbWV0ZXJzICpwYXJh bXMsCj4gPiA+ICtzdGF0aWMgdWludDMyX3QgaWxrX2NvbXB1dGVfcHJpX3dtKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCj4gPiA+ICAJCQkJICAgY29uc3Qgc3RydWN0IGlu dGVsX3BsYW5lX3N0YXRlICpwc3RhdGUsCj4gPiA+ICAJCQkJICAgdWludDMyX3QgbWVtX3ZhbHVl LAo+ID4gPiAgCQkJCSAgIGJvb2wgaXNfbHApCj4gPiA+IEBAIC0xODE5LDE2ICsxODEzLDE2IEBA IHN0YXRpYyB1aW50MzJfdCBpbGtfY29tcHV0ZV9wcmlfd20oY29uc3Qgc3RydWN0IGlsa19waXBl X3dtX3BhcmFtZXRlcnMgKnBhcmFtcywKPiA+ID4gIAlpbnQgYnBwID0gcHN0YXRlLT5iYXNlLmZi ID8gcHN0YXRlLT5iYXNlLmZiLT5iaXRzX3Blcl9waXhlbCAvIDggOiAwOwo+ID4gPiAgCXVpbnQz Ml90IG1ldGhvZDEsIG1ldGhvZDI7Cj4gPiA+ICAKPiA+ID4gLQlpZiAoIXBhcmFtcy0+YWN0aXZl IHx8ICFwc3RhdGUtPnZpc2libGUpCj4gPiA+ICsJaWYgKCFjc3RhdGUtPmJhc2UuYWN0aXZlIHx8 ICFwc3RhdGUtPnZpc2libGUpCj4gPiA+ICAJCXJldHVybiAwOwo+ID4gCj4gPiBQcmV2aW91c2x5 IHdlIGxvb2tkIGF0IGNydGMtPmFjdGl2ZSwgbm93IHdlIGxvb2sgYXQgc3RhdGUtPmJhc2UuYWN0 aXZlLgo+ID4gU2luY2UgdGhlIGF0b21pYyBtb2Rlc2V0IGNvZGUgaXMgYSBiaXQgaW5zYW5lIGFu ZCBkb2Vzbid0IGhhdmUgYW4KPiA+IGludGVybWVkaWF0ZSBhdG9taWMgc3RhdGUgZm9yIHRoZSBk aXNhYmxlLT5yZS1lbmFibGUgY2FzZSwgSSdtIG5vdCBzdXJlCj4gPiB0aGlzIHdpbGwgZmx5IGN1 cnJlbnRseS4KPiA+IAo+ID4gSSdkIGJlIG11Y2ggaGFwcGllciBpZiBzb21lb25lIGFkZGVkIHRo ZSBpbnRlcm1lZGlhdGUgYXRvbWljIHN0YXRlIHRvCj4gPiBoYW5kbGUgcGlwZSBkaXNhYmxpbmcg aW4gYSBuaWNlciB3YXkuIEFmdGVyd2FyZHMgd2Ugc2hvdWxkIGJlIGFibGUgdG8KPiA+IGVsaW1p YXRlIGFsbCBzcGVjaWFsIGNhc2VzIGRlYWxpbmcgd2l0aCB3YXRlcm1hcmtzIGFuZCBqdXN0IGRv IHRoZSB3bQo+ID4gdXBkYXRlcyBmcm9tIHRoZSBjb21taXRfcGxhbmVzIChvciB3aGF0ZXZlciBp dCB3YXMgY2FsbGVkKS4KPiAKPiBJIHRoaW5rIEknbSBtaXNzaW5nIHNvbWUgb2YgdGhlIGNvbnRl eHQgZm9yIHlvdXIgY29tbWVudC4gIEF0IHRoZSBtb21lbnQKPiB3ZSB1cGRhdGUgd2F0ZXJtYXJr cyBhZnRlciB2YmxhbmsgaWYgdGhlIENSVEMgaXMgYmVpbmcgcmUtZW5hYmxlZCBhbmQKPiBiZWZv cmUgdGhlIHZibGFuayBpbiBvdGhlciBjYXNlcywgc28gaXQgc2VlbXMgbGlrZSBpZiB3ZSB1c2UK PiBjcnRjLT5hY3RpdmUgaGVyZSwgdGhlbiB3aGVuIHdlIGdldCB0byB0aGUgcG9zdC12Ymxhbmsg d2F0ZXJtYXJrIHVwZGF0ZQo+IHdlIHdvbid0IGhhdmUgYW55IHdhdGVybWFyayB2YWx1ZXMgc2lu Y2Ugd2UnbGwgYmUgYWN0aW5nIG9uIHRoZSBvbGQgZGF0YQo+IHRoYXQgc2F5cyB0aGUgQ1JUQyBp cyBzdGlsbCBvZmYuCj4gCj4gV2hlbiB5b3UgdGFsayBhYm91dCBpbnRlcm1lZGlhdGUgYXRvbWlj IHN0YXRlIGFyZSB5b3Ugc2F5aW5nIHRoYXQgeW91Cj4gd2FudCB0byBzZWUgQ1JUQyBlbmFibGVz IHRha2UgYSB0d28gc3RlcCBwcm9jZXNzIHdoZXJlIHRoZSBDUlRDIGdldHMKPiBlbmFibGVkIHdp dGggbm8gcGxhbmVzIGZpcnN0LCB0aGVuIGFsbCB0aGUgcGxhbmVzIGdldCB0dXJuZWQgb24gZHVy aW5nCj4gdGhlIG5leHQgdmJsYW5rPwoKV2hhdCBJIHRoaW5rIHNob3VsZCBoYXBwZW4gaXMgc29t ZXRoaW5nIGxpa2UgdGhpczoKCi8vIHdoYXRldmVyIHRoZSB1c2VyIHdhbnRlZApjb21wdXRlX2Zp bmFsX2F0b21pY19zdGF0ZSgpCgovLyBpbmNsdWRlIGFsbCBjcnRjcyBpbiB0aGUgaW50ZXJtZWRp YXRlIHN0YXRlIHdoaWNoIGFyZQovLyBnZXR0aW5nIGRpc2FibGVkIChldmVuIHRlbXBvcmFyaWx5 IHRvIHBlcmZvcm0gYSBtb2Rlc2V0KQpjb21wdXRlX2ludGVybWVkaWF0ZV9hdG9taWNfc3RhdGUo KQoKcmV0ID0gY2hlY2tfc3RhdGVfY2hhbmdlKG9sZCwgaW50ZXJtZWRpYXRlKQpyZXQgPSBjaGVj a19zdGF0ZV9jaGFuZ2UoaW50ZXJtZWRpYXRlLCBuZXcpCgovLyBjb21taXQgYWxsIHBsYW5lcyBp biBvbiBnbyB0byBtYWtlIHRoZSBwb3Agb3V0IGFzIGF0b21pY2FsbHkgYXMKLy8gcG9zc2libGUK Zm9yX2VhY2hfY3J0Y19pbihpbnRlcm1lZGlhdGUpIHsKICAgICAgICBjb21taXRfcGxhbmVzKCkK fQoKZm9yX2VhY2hfY3J0Y19pbihpbnRlcm1lZGlhdGUpIHsKICAgICAgICBkaXNhYmxlX2NydGMo KQp9Cgpmb3JfZWFjaF9jcnRjX2luKG5ldykgewogICAgICAgIGlmICghY3VycmVudGx5X2FjdGl2 ZSkKICAgICAgICAgICAgICAgIGNydGNfZW5hYmxlKCkKfQoKLy8gY29tbWl0IGFsbCBwbGFuZXMg aW4gb24gZ28gdG8gbWFrZSB0aGUgcG9wIGluIGFzIGF0b21pY2FsbHkgYXMKLy8gcG9zc2libGUK Zm9yX2VhY2hfY3J0Y19pbihuZXcpIHsKICAgICAgICBjb21taXRfcGxhbmVzKCkKfQoKPiAKPiAK PiBNYXR0Cj4gCj4gPiAKPiA+ID4gIAo+ID4gPiAtCW1ldGhvZDEgPSBpbGtfd21fbWV0aG9kMShw YXJhbXMtPnBpeGVsX3JhdGUsIGJwcCwgbWVtX3ZhbHVlKTsKPiA+ID4gKwltZXRob2QxID0gaWxr X3dtX21ldGhvZDEoaWxrX3BpcGVfcGl4ZWxfcmF0ZShjc3RhdGUpLCBicHAsIG1lbV92YWx1ZSk7 Cj4gPiA+ICAKPiA+ID4gIAlpZiAoIWlzX2xwKQo+ID4gPiAgCQlyZXR1cm4gbWV0aG9kMTsKPiA+ ID4gIAo+ID4gPiAtCW1ldGhvZDIgPSBpbGtfd21fbWV0aG9kMihwYXJhbXMtPnBpeGVsX3JhdGUs Cj4gPiA+IC0JCQkJIHBhcmFtcy0+cGlwZV9odG90YWwsCj4gPiA+ICsJbWV0aG9kMiA9IGlsa193 bV9tZXRob2QyKGlsa19waXBlX3BpeGVsX3JhdGUoY3N0YXRlKSwKPiA+ID4gKwkJCQkgY3N0YXRl LT5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y19odG90YWwsCj4gPiA+ICAJCQkJIGRybV9yZWN0X3dp ZHRoKCZwc3RhdGUtPmRzdCksCj4gPiA+ICAJCQkJIGJwcCwKPiA+ID4gIAkJCQkgbWVtX3ZhbHVl KTsKPiA+ID4gQEAgLTE4NDAsMTkgKzE4MzQsMTkgQEAgc3RhdGljIHVpbnQzMl90IGlsa19jb21w dXRlX3ByaV93bShjb25zdCBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAqcGFyYW1zLAo+ ID4gPiAgICogRm9yIGJvdGggV01fUElQRSBhbmQgV01fTFAuCj4gPiA+ICAgKiBtZW1fdmFsdWUg bXVzdCBiZSBpbiAwLjF1cyB1bml0cy4KPiA+ID4gICAqLwo+ID4gPiAtc3RhdGljIHVpbnQzMl90 IGlsa19jb21wdXRlX3Nwcl93bShjb25zdCBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAq cGFyYW1zLAo+ID4gPiArc3RhdGljIHVpbnQzMl90IGlsa19jb21wdXRlX3Nwcl93bShjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlLAo+ID4gPiAgCQkJCSAgIGNvbnN0IHN0cnVj dCBpbnRlbF9wbGFuZV9zdGF0ZSAqcHN0YXRlLAo+ID4gPiAgCQkJCSAgIHVpbnQzMl90IG1lbV92 YWx1ZSkKPiA+ID4gIHsKPiA+ID4gIAlpbnQgYnBwID0gcHN0YXRlLT5iYXNlLmZiID8gcHN0YXRl LT5iYXNlLmZiLT5iaXRzX3Blcl9waXhlbCAvIDggOiAwOwo+ID4gPiAgCXVpbnQzMl90IG1ldGhv ZDEsIG1ldGhvZDI7Cj4gPiA+ICAKPiA+ID4gLQlpZiAoIXBhcmFtcy0+YWN0aXZlIHx8ICFwc3Rh dGUtPnZpc2libGUpCj4gPiA+ICsJaWYgKCFjc3RhdGUtPmJhc2UuYWN0aXZlIHx8ICFwc3RhdGUt PnZpc2libGUpCj4gPiA+ICAJCXJldHVybiAwOwo+ID4gPiAgCj4gPiA+IC0JbWV0aG9kMSA9IGls a193bV9tZXRob2QxKHBhcmFtcy0+cGl4ZWxfcmF0ZSwgYnBwLCBtZW1fdmFsdWUpOwo+ID4gPiAt CW1ldGhvZDIgPSBpbGtfd21fbWV0aG9kMihwYXJhbXMtPnBpeGVsX3JhdGUsCj4gPiA+IC0JCQkJ IHBhcmFtcy0+cGlwZV9odG90YWwsCj4gPiA+ICsJbWV0aG9kMSA9IGlsa193bV9tZXRob2QxKGls a19waXBlX3BpeGVsX3JhdGUoY3N0YXRlKSwgYnBwLCBtZW1fdmFsdWUpOwo+ID4gPiArCW1ldGhv ZDIgPSBpbGtfd21fbWV0aG9kMihpbGtfcGlwZV9waXhlbF9yYXRlKGNzdGF0ZSksCj4gPiA+ICsJ CQkJIGNzdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfaHRvdGFsLAo+ID4gPiAgCQkJCSBk cm1fcmVjdF93aWR0aCgmcHN0YXRlLT5kc3QpLAo+ID4gPiAgCQkJCSBicHAsCj4gPiA+ICAJCQkJ IG1lbV92YWx1ZSk7Cj4gPiA+IEBAIC0xODYzLDMwICsxODU3LDMwIEBAIHN0YXRpYyB1aW50MzJf dCBpbGtfY29tcHV0ZV9zcHJfd20oY29uc3Qgc3RydWN0IGlsa19waXBlX3dtX3BhcmFtZXRlcnMg KnBhcmFtcywKPiA+ID4gICAqIEZvciBib3RoIFdNX1BJUEUgYW5kIFdNX0xQLgo+ID4gPiAgICog bWVtX3ZhbHVlIG11c3QgYmUgaW4gMC4xdXMgdW5pdHMuCj4gPiA+ICAgKi8KPiA+ID4gLXN0YXRp YyB1aW50MzJfdCBpbGtfY29tcHV0ZV9jdXJfd20oY29uc3Qgc3RydWN0IGlsa19waXBlX3dtX3Bh cmFtZXRlcnMgKnBhcmFtcywKPiA+ID4gK3N0YXRpYyB1aW50MzJfdCBpbGtfY29tcHV0ZV9jdXJf d20oY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKPiA+ID4gIAkJCQkgICBj b25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBzdGF0ZSwKPiA+ID4gIAkJCQkgICB1aW50 MzJfdCBtZW1fdmFsdWUpCj4gPiA+ICB7Cj4gPiA+ICAJaW50IGJwcCA9IHBzdGF0ZS0+YmFzZS5m YiA/IHBzdGF0ZS0+YmFzZS5mYi0+Yml0c19wZXJfcGl4ZWwgLyA4IDogMDsKPiA+ID4gIAo+ID4g PiAtCWlmICghcGFyYW1zLT5hY3RpdmUgfHwgIXBzdGF0ZS0+dmlzaWJsZSkKPiA+ID4gKwlpZiAo IWNzdGF0ZS0+YmFzZS5hY3RpdmUgfHwgIXBzdGF0ZS0+dmlzaWJsZSkKPiA+ID4gIAkJcmV0dXJu IDA7Cj4gPiA+ICAKPiA+ID4gLQlyZXR1cm4gaWxrX3dtX21ldGhvZDIocGFyYW1zLT5waXhlbF9y YXRlLAo+ID4gPiAtCQkJICAgICAgcGFyYW1zLT5waXBlX2h0b3RhbCwKPiA+ID4gKwlyZXR1cm4g aWxrX3dtX21ldGhvZDIoaWxrX3BpcGVfcGl4ZWxfcmF0ZShjc3RhdGUpLAo+ID4gPiArCQkJICAg ICAgY3N0YXRlLT5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y19odG90YWwsCj4gPiA+ICAJCQkgICAg ICBkcm1fcmVjdF93aWR0aCgmcHN0YXRlLT5kc3QpLAo+ID4gPiAgCQkJICAgICAgYnBwLAo+ID4g PiAgCQkJICAgICAgbWVtX3ZhbHVlKTsKPiA+ID4gIH0KPiA+ID4gIAo+ID4gPiAgLyogT25seSBm b3IgV01fTFAuICovCj4gPiA+IC1zdGF0aWMgdWludDMyX3QgaWxrX2NvbXB1dGVfZmJjX3dtKGNv bnN0IHN0cnVjdCBpbGtfcGlwZV93bV9wYXJhbWV0ZXJzICpwYXJhbXMsCj4gPiA+ICtzdGF0aWMg dWludDMyX3QgaWxrX2NvbXB1dGVfZmJjX3dtKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjc3RhdGUsCj4gPiA+ICAJCQkJICAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpw c3RhdGUsCj4gPiA+ICAJCQkJICAgdWludDMyX3QgcHJpX3ZhbCkKPiA+ID4gIHsKPiA+ID4gIAlp bnQgYnBwID0gcHN0YXRlLT5iYXNlLmZiID8gcHN0YXRlLT5iYXNlLmZiLT5iaXRzX3Blcl9waXhl bCAvIDggOiAwOwo+ID4gPiAgCj4gPiA+IC0JaWYgKCFwYXJhbXMtPmFjdGl2ZSB8fCAhcHN0YXRl LT52aXNpYmxlKQo+ID4gPiArCWlmICghY3N0YXRlLT5iYXNlLmFjdGl2ZSB8fCAhcHN0YXRlLT52 aXNpYmxlKQo+ID4gPiAgCQlyZXR1cm4gMDsKPiA+ID4gIAo+ID4gPiAgCXJldHVybiBpbGtfd21f ZmJjKHByaV92YWwsIGRybV9yZWN0X3dpZHRoKCZwc3RhdGUtPmRzdCksIGJwcCk7Cj4gPiA+IEBA IC0yMDU2LDcgKzIwNTAsNyBAQCBzdGF0aWMgYm9vbCBpbGtfdmFsaWRhdGVfd21fbGV2ZWwoaW50 IGxldmVsLAo+ID4gPiAgc3RhdGljIHZvaWQgaWxrX2NvbXB1dGVfd21fbGV2ZWwoY29uc3Qgc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiAgCQkJCSBjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiA+ID4gIAkJCQkgaW50IGxldmVsLAo+ID4gPiAtCQkJ CSBjb25zdCBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAqcCwKPiA+ID4gKwkJCQkgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKPiA+ID4gIAkJCQkgc3RydWN0IGludGVsX3dt X2xldmVsICpyZXN1bHQpCj4gPiA+ICB7Cj4gPiA+ICAJc3RydWN0IGludGVsX3BsYW5lICppbnRl bF9wbGFuZTsKPiA+ID4gQEAgLTIwNzcsMTggKzIwNzEsMTggQEAgc3RhdGljIHZvaWQgaWxrX2Nv bXB1dGVfd21fbGV2ZWwoY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ ID4gPiAgCj4gPiA+ICAJCXN3aXRjaCAoaW50ZWxfcGxhbmUtPmJhc2UudHlwZSkgewo+ID4gPiAg CQljYXNlIERSTV9QTEFORV9UWVBFX1BSSU1BUlk6Cj4gPiA+IC0JCQlyZXN1bHQtPnByaV92YWwg PSBpbGtfY29tcHV0ZV9wcmlfd20ocCwgcHN0YXRlLAo+ID4gPiArCQkJcmVzdWx0LT5wcmlfdmFs ID0gaWxrX2NvbXB1dGVfcHJpX3dtKGNzdGF0ZSwgcHN0YXRlLAo+ID4gPiAgCQkJCQkJCSAgICAg cHJpX2xhdGVuY3ksCj4gPiA+ICAJCQkJCQkJICAgICBsZXZlbCk7Cj4gPiA+IC0JCQlyZXN1bHQt PmZiY192YWwgPSBpbGtfY29tcHV0ZV9mYmNfd20ocCwgcHN0YXRlLAo+ID4gPiArCQkJcmVzdWx0 LT5mYmNfdmFsID0gaWxrX2NvbXB1dGVfZmJjX3dtKGNzdGF0ZSwgcHN0YXRlLAo+ID4gPiAgCQkJ CQkJCSAgICAgcmVzdWx0LT5wcmlfdmFsKTsKPiA+ID4gIAkJCWJyZWFrOwo+ID4gPiAgCQljYXNl IERSTV9QTEFORV9UWVBFX09WRVJMQVk6Cj4gPiA+IC0JCQlyZXN1bHQtPnNwcl92YWwgPSBpbGtf Y29tcHV0ZV9zcHJfd20ocCwgcHN0YXRlLAo+ID4gPiArCQkJcmVzdWx0LT5zcHJfdmFsID0gaWxr X2NvbXB1dGVfc3ByX3dtKGNzdGF0ZSwgcHN0YXRlLAo+ID4gPiAgCQkJCQkJCSAgICAgc3ByX2xh dGVuY3kpOwo+ID4gPiAgCQkJYnJlYWs7Cj4gPiA+ICAJCWNhc2UgRFJNX1BMQU5FX1RZUEVfQ1VS U09SOgo+ID4gPiAtCQkJcmVzdWx0LT5jdXJfdmFsID0gaWxrX2NvbXB1dGVfY3VyX3dtKHAsIHBz dGF0ZSwKPiA+ID4gKwkJCXJlc3VsdC0+Y3VyX3ZhbCA9IGlsa19jb21wdXRlX2N1cl93bShjc3Rh dGUsIHBzdGF0ZSwKPiA+ID4gIAkJCQkJCQkgICAgIGN1cl9sYXRlbmN5KTsKPiA+ID4gIAkJCWJy ZWFrOwo+ID4gPiAgCQl9Cj4gPiA+IEBAIC0yMzUyLDE5ICsyMzQ2LDYgQEAgc3RhdGljIHZvaWQg c2tsX3NldHVwX3dtX2xhdGVuY3koc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ID4gIAlpbnRl bF9wcmludF93bV9sYXRlbmN5KGRldiwgIkdlbjkgUGxhbmUiLCBkZXZfcHJpdi0+d20uc2tsX2xh dGVuY3kpOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+IC1zdGF0aWMgdm9pZCBpbGtfY29tcHV0ZV93 bV9wYXJhbWV0ZXJzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ID4gLQkJCQkgICAgICBzdHJ1 Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAqcCkKPiA+ID4gLXsKPiA+ID4gLQlzdHJ1Y3QgaW50 ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gPiA+IC0KPiA+ID4g LQlpZiAoIWludGVsX2NydGMtPmFjdGl2ZSkKPiA+ID4gLQkJcmV0dXJuOwo+ID4gPiAtCj4gPiA+ IC0JcC0+YWN0aXZlID0gdHJ1ZTsKPiA+ID4gLQlwLT5waXBlX2h0b3RhbCA9IGludGVsX2NydGMt PmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfaHRvdGFsOwo+ID4gPiAtCXAtPnBpeGVs X3JhdGUgPSBpbGtfcGlwZV9waXhlbF9yYXRlKGludGVsX2NydGMtPmNvbmZpZyk7Cj4gPiA+IC19 Cj4gPiA+IC0KPiA+ID4gIHN0YXRpYyB2b2lkIGlsa19jb21wdXRlX3dtX2NvbmZpZyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAo+ID4gPiAgCQkJCSAgc3RydWN0IGludGVsX3dtX2NvbmZpZyAqY29u ZmlnKQo+ID4gPiAgewo+ID4gPiBAQCAtMjM4NCwxMCArMjM2NSwxMCBAQCBzdGF0aWMgdm9pZCBp bGtfY29tcHV0ZV93bV9jb25maWcoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ID4gIH0KPiA+ ID4gIAo+ID4gPiAgLyogQ29tcHV0ZSBuZXcgd2F0ZXJtYXJrcyBmb3IgdGhlIHBpcGUgKi8KPiA+ ID4gLXN0YXRpYyBib29sIGludGVsX2NvbXB1dGVfcGlwZV93bShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsCj4gPiA+IC0JCQkJICBjb25zdCBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAqcGFy YW1zLAo+ID4gPiArc3RhdGljIGJvb2wgaW50ZWxfY29tcHV0ZV9waXBlX3dtKHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjc3RhdGUsCj4gPiA+ICAJCQkJICBzdHJ1Y3QgaW50ZWxfcGlwZV93bSAq cGlwZV93bSkKPiA+ID4gIHsKPiA+ID4gKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBjc3RhdGUt PmJhc2UuY3J0YzsKPiA+ID4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+ ID4gPiAgCWNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2 X3ByaXZhdGU7Cj4gPiA+ICAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRl bF9jcnRjKGNydGMpOwo+ID4gPiBAQCAtMjQxMiw4ICsyMzkzLDcgQEAgc3RhdGljIGJvb2wgaW50 ZWxfY29tcHV0ZV9waXBlX3dtKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ID4gIAkJZHJtX3Jl Y3Rfd2lkdGgoJnNwcnN0YXRlLT5kc3QpICE9IGRybV9yZWN0X3dpZHRoKCZzcHJzdGF0ZS0+c3Jj KSA+PiAxNiB8fAo+ID4gPiAgCQlkcm1fcmVjdF9oZWlnaHQoJnNwcnN0YXRlLT5kc3QpICE9IGRy bV9yZWN0X2hlaWdodCgmc3Byc3RhdGUtPnNyYykgPj4gMTY7Cj4gPiA+ICAKPiA+ID4gLQo+ID4g PiAtCXBpcGVfd20tPnBpcGVfZW5hYmxlZCA9IHBhcmFtcy0+YWN0aXZlOwo+ID4gPiArCXBpcGVf d20tPnBpcGVfZW5hYmxlZCA9IGNzdGF0ZS0+YmFzZS5hY3RpdmU7Cj4gPiA+ICAJcGlwZV93bS0+ c3ByaXRlc19lbmFibGVkID0gc3Byc3RhdGUtPnZpc2libGU7Cj4gPiA+ICAJcGlwZV93bS0+c3By aXRlc19zY2FsZWQgPSBjb25maWcuc3ByaXRlc19zY2FsZWQ7Cj4gPiA+ICAKPiA+ID4gQEAgLTI0 MjUsNyArMjQwNSw3IEBAIHN0YXRpYyBib29sIGludGVsX2NvbXB1dGVfcGlwZV93bShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCj4gPiA+ICAJaWYgKGNvbmZpZy5zcHJpdGVzX3NjYWxlZCkKPiA+ID4g IAkJbWF4X2xldmVsID0gMDsKPiA+ID4gIAo+ID4gPiAtCWlsa19jb21wdXRlX3dtX2xldmVsKGRl dl9wcml2LCBpbnRlbF9jcnRjLCAwLCBwYXJhbXMsICZwaXBlX3dtLT53bVswXSk7Cj4gPiA+ICsJ aWxrX2NvbXB1dGVfd21fbGV2ZWwoZGV2X3ByaXYsIGludGVsX2NydGMsIDAsIGNzdGF0ZSwgJnBp cGVfd20tPndtWzBdKTsKPiA+ID4gIAo+ID4gPiAgCWlmIChJU19IQVNXRUxMKGRldikgfHwgSVNf QlJPQURXRUxMKGRldikpCj4gPiA+ICAJCXBpcGVfd20tPmxpbmV0aW1lID0gaHN3X2NvbXB1dGVf bGluZXRpbWVfd20oZGV2LCBjcnRjKTsKPiA+ID4gQEAgLTI0NDIsNyArMjQyMiw3IEBAIHN0YXRp YyBib29sIGludGVsX2NvbXB1dGVfcGlwZV93bShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiA+ ICAJZm9yIChsZXZlbCA9IDE7IGxldmVsIDw9IG1heF9sZXZlbDsgbGV2ZWwrKykgewo+ID4gPiAg CQlzdHJ1Y3QgaW50ZWxfd21fbGV2ZWwgd20gPSB7fTsKPiA+ID4gIAo+ID4gPiAtCQlpbGtfY29t cHV0ZV93bV9sZXZlbChkZXZfcHJpdiwgaW50ZWxfY3J0YywgbGV2ZWwsIHBhcmFtcywgJndtKTsK PiA+ID4gKwkJaWxrX2NvbXB1dGVfd21fbGV2ZWwoZGV2X3ByaXYsIGludGVsX2NydGMsIGxldmVs LCBjc3RhdGUsICZ3bSk7Cj4gPiA+ICAKPiA+ID4gIAkJLyoKPiA+ID4gIAkJICogRGlzYWJsZSBh bnkgd2F0ZXJtYXJrIGxldmVsIHRoYXQgZXhjZWVkcyB0aGUKPiA+ID4gQEAgLTM3NDgsMTkgKzM3 MjgsMTcgQEAgc2tsX3VwZGF0ZV9zcHJpdGVfd20oc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ID4gIHN0YXRpYyB2b2lkIGlsa191cGRhdGVfd20oc3Ry dWN0IGRybV9jcnRjICpjcnRjKQo+ID4gPiAgewo+ID4gPiAgCXN0cnVjdCBpbnRlbF9jcnRjICpp bnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiA+ID4gKwlzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3N0YXRlID0gdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSk7Cj4gPiA+ ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiA+ID4gIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ID4gPiAgCXN0cnVj dCBpbGtfd21fbWF4aW11bXMgbWF4Owo+ID4gPiAtCXN0cnVjdCBpbGtfcGlwZV93bV9wYXJhbWV0 ZXJzIHBhcmFtcyA9IHt9Owo+ID4gPiAgCXN0cnVjdCBpbGtfd21fdmFsdWVzIHJlc3VsdHMgPSB7 fTsKPiA+ID4gIAllbnVtIGludGVsX2RkYl9wYXJ0aXRpb25pbmcgcGFydGl0aW9uaW5nOwo+ID4g PiAgCXN0cnVjdCBpbnRlbF9waXBlX3dtIHBpcGVfd20gPSB7fTsKPiA+ID4gIAlzdHJ1Y3QgaW50 ZWxfcGlwZV93bSBscF93bV8xXzIgPSB7fSwgbHBfd21fNV82ID0ge30sICpiZXN0X2xwX3dtOwo+ ID4gPiAgCXN0cnVjdCBpbnRlbF93bV9jb25maWcgY29uZmlnID0ge307Cj4gPiA+ICAKPiA+ID4g LQlpbGtfY29tcHV0ZV93bV9wYXJhbWV0ZXJzKGNydGMsICZwYXJhbXMpOwo+ID4gPiAtCj4gPiA+ IC0JaW50ZWxfY29tcHV0ZV9waXBlX3dtKGNydGMsICZwYXJhbXMsICZwaXBlX3dtKTsKPiA+ID4g KwlpbnRlbF9jb21wdXRlX3BpcGVfd20oY3N0YXRlLCAmcGlwZV93bSk7Cj4gPiA+ICAKPiA+ID4g IAlpZiAoIW1lbWNtcCgmaW50ZWxfY3J0Yy0+d20uYWN0aXZlLCAmcGlwZV93bSwgc2l6ZW9mKHBp cGVfd20pKSkKPiA+ID4gIAkJcmV0dXJuOwo+ID4gPiBAQCAtMzgwMCwxMiArMzc3OCw2IEBAIGls a191cGRhdGVfc3ByaXRlX3dtKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ID4gPiAgCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBwbGFuZS0+ZGV2Owo+ID4gPiAgCXN0cnVjdCBpbnRlbF9wbGFu ZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSk7Cj4gPiA+ICAKPiA+ID4gLQlp bnRlbF9wbGFuZS0+d20uZW5hYmxlZCA9IGVuYWJsZWQ7Cj4gPiA+IC0JaW50ZWxfcGxhbmUtPndt LnNjYWxlZCA9IHNjYWxlZDsKPiA+ID4gLQlpbnRlbF9wbGFuZS0+d20uaG9yaXpfcGl4ZWxzID0g c3ByaXRlX3dpZHRoOwo+ID4gPiAtCWludGVsX3BsYW5lLT53bS52ZXJ0X3BpeGVscyA9IHNwcml0 ZV93aWR0aDsKPiA+ID4gLQlpbnRlbF9wbGFuZS0+d20uYnl0ZXNfcGVyX3BpeGVsID0gcGl4ZWxf c2l6ZTsKPiA+ID4gLQo+ID4gPiAgCS8qCj4gPiA+ICAJICogSVZCIHdvcmthcm91bmQ6IG11c3Qg ZGlzYWJsZSBsb3cgcG93ZXIgd2F0ZXJtYXJrcyBmb3IgYXQgbGVhc3QKPiA+ID4gIAkgKiBvbmUg ZnJhbWUgYmVmb3JlIGVuYWJsaW5nIHNjYWxpbmcuICBMUCB3YXRlcm1hcmtzIGNhbiBiZSByZS1l bmFibGVkCj4gPiA+IC0tIAo+ID4gPiAyLjEuNAo+ID4gPiAKPiA+ID4gX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+ID4gSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdAo+ID4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiA+IGh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPiA+IAo+ID4g LS0gCj4gPiBWaWxsZSBTeXJqw6Rsw6QKPiA+IEludGVsIE9UQwo+IAo+IC0tIAo+IE1hdHQgUm9w ZXIKPiBHcmFwaGljcyBTb2Z0d2FyZSBFbmdpbmVlcgo+IElvVEcgUGxhdGZvcm0gRW5hYmxpbmcg JiBEZXZlbG9wbWVudAo+IEludGVsIENvcnBvcmF0aW9uCj4gKDkxNikgMzU2LTI3OTUKCi0tIApW aWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==