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 16:39:12 +0300 Message-ID: <20150826133912.GS5176@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> 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 A648F8A43E for ; Wed, 26 Aug 2015 06:39:30 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1440119524-13867-3-git-send-email-matthew.d.roper@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 T24gVGh1LCBBdWcgMjAsIDIwMTUgYXQgMDY6MTE6NTNQTSAtMDcwMCwgTWF0dCBSb3BlciB3cm90 ZToKPiBKdXN0IHB1bGwgdGhlIGluZm8gb3V0IG9mIHRoZSBDUlRDIHN0YXRlIHN0cnVjdHVyZSBy YXRoZXIgdGhhbiBzdGFnaW5nCj4gaXQgaW4gYW4gYWRkaXRpb25hbCBzdHJ1Y3R1cmUuCj4gCj4g U2lnbmVkLW9mZi1ieTogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4KPiAt LS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyB8IDg0ICsrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAyOCBpbnNlcnRp b25zKCspLCA1NiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBpbmRl eCBjOWNmN2NmLi5kODJlYTgyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gQEAgLTE3 ODcsMTIgKzE3ODcsNiBAQCBzdHJ1Y3Qgc2tsX3BpcGVfd21fcGFyYW1ldGVycyB7Cj4gIAlzdHJ1 Y3QgaW50ZWxfcGxhbmVfd21fcGFyYW1ldGVycyBjdXJzb3I7Cj4gIH07Cj4gIAo+IC1zdHJ1Y3Qg aWxrX3BpcGVfd21fcGFyYW1ldGVycyB7Cj4gLQlib29sIGFjdGl2ZTsKPiAtCXVpbnQzMl90IHBp cGVfaHRvdGFsOwo+IC0JdWludDMyX3QgcGl4ZWxfcmF0ZTsKPiAtfTsKPiAtCj4gIHN0cnVjdCBp bGtfd21fbWF4aW11bXMgewo+ICAJdWludDE2X3QgcHJpOwo+ICAJdWludDE2X3Qgc3ByOwo+IEBA IC0xODExLDcgKzE4MDUsNyBAQCBzdHJ1Y3QgaW50ZWxfd21fY29uZmlnIHsKPiAgICogRm9yIGJv dGggV01fUElQRSBhbmQgV01fTFAuCj4gICAqIG1lbV92YWx1ZSBtdXN0IGJlIGluIDAuMXVzIHVu aXRzLgo+ICAgKi8KPiAtc3RhdGljIHVpbnQzMl90IGlsa19jb21wdXRlX3ByaV93bShjb25zdCBz dHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAqcGFyYW1zLAo+ICtzdGF0aWMgdWludDMyX3Qg aWxrX2NvbXB1dGVfcHJpX3dtKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUs Cj4gIAkJCQkgICBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBzdGF0ZSwKPiAgCQkJ CSAgIHVpbnQzMl90IG1lbV92YWx1ZSwKPiAgCQkJCSAgIGJvb2wgaXNfbHApCj4gQEAgLTE4MTks MTYgKzE4MTMsMTYgQEAgc3RhdGljIHVpbnQzMl90IGlsa19jb21wdXRlX3ByaV93bShjb25zdCBz dHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAqcGFyYW1zLAo+ICAJaW50IGJwcCA9IHBzdGF0 ZS0+YmFzZS5mYiA/IHBzdGF0ZS0+YmFzZS5mYi0+Yml0c19wZXJfcGl4ZWwgLyA4IDogMDsKPiAg CXVpbnQzMl90IG1ldGhvZDEsIG1ldGhvZDI7Cj4gIAo+IC0JaWYgKCFwYXJhbXMtPmFjdGl2ZSB8 fCAhcHN0YXRlLT52aXNpYmxlKQo+ICsJaWYgKCFjc3RhdGUtPmJhc2UuYWN0aXZlIHx8ICFwc3Rh dGUtPnZpc2libGUpCj4gIAkJcmV0dXJuIDA7CgpQcmV2aW91c2x5IHdlIGxvb2tkIGF0IGNydGMt PmFjdGl2ZSwgbm93IHdlIGxvb2sgYXQgc3RhdGUtPmJhc2UuYWN0aXZlLgpTaW5jZSB0aGUgYXRv bWljIG1vZGVzZXQgY29kZSBpcyBhIGJpdCBpbnNhbmUgYW5kIGRvZXNuJ3QgaGF2ZSBhbgppbnRl cm1lZGlhdGUgYXRvbWljIHN0YXRlIGZvciB0aGUgZGlzYWJsZS0+cmUtZW5hYmxlIGNhc2UsIEkn bSBub3Qgc3VyZQp0aGlzIHdpbGwgZmx5IGN1cnJlbnRseS4KCkknZCBiZSBtdWNoIGhhcHBpZXIg aWYgc29tZW9uZSBhZGRlZCB0aGUgaW50ZXJtZWRpYXRlIGF0b21pYyBzdGF0ZSB0bwpoYW5kbGUg cGlwZSBkaXNhYmxpbmcgaW4gYSBuaWNlciB3YXkuIEFmdGVyd2FyZHMgd2Ugc2hvdWxkIGJlIGFi bGUgdG8KZWxpbWlhdGUgYWxsIHNwZWNpYWwgY2FzZXMgZGVhbGluZyB3aXRoIHdhdGVybWFya3Mg YW5kIGp1c3QgZG8gdGhlIHdtCnVwZGF0ZXMgZnJvbSB0aGUgY29tbWl0X3BsYW5lcyAob3Igd2hh dGV2ZXIgaXQgd2FzIGNhbGxlZCkuCgo+ICAKPiAtCW1ldGhvZDEgPSBpbGtfd21fbWV0aG9kMShw YXJhbXMtPnBpeGVsX3JhdGUsIGJwcCwgbWVtX3ZhbHVlKTsKPiArCW1ldGhvZDEgPSBpbGtfd21f bWV0aG9kMShpbGtfcGlwZV9waXhlbF9yYXRlKGNzdGF0ZSksIGJwcCwgbWVtX3ZhbHVlKTsKPiAg Cj4gIAlpZiAoIWlzX2xwKQo+ICAJCXJldHVybiBtZXRob2QxOwo+ICAKPiAtCW1ldGhvZDIgPSBp bGtfd21fbWV0aG9kMihwYXJhbXMtPnBpeGVsX3JhdGUsCj4gLQkJCQkgcGFyYW1zLT5waXBlX2h0 b3RhbCwKPiArCW1ldGhvZDIgPSBpbGtfd21fbWV0aG9kMihpbGtfcGlwZV9waXhlbF9yYXRlKGNz dGF0ZSksCj4gKwkJCQkgY3N0YXRlLT5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y19odG90YWwsCj4g IAkJCQkgZHJtX3JlY3Rfd2lkdGgoJnBzdGF0ZS0+ZHN0KSwKPiAgCQkJCSBicHAsCj4gIAkJCQkg bWVtX3ZhbHVlKTsKPiBAQCAtMTg0MCwxOSArMTgzNCwxOSBAQCBzdGF0aWMgdWludDMyX3QgaWxr X2NvbXB1dGVfcHJpX3dtKGNvbnN0IHN0cnVjdCBpbGtfcGlwZV93bV9wYXJhbWV0ZXJzICpwYXJh bXMsCj4gICAqIEZvciBib3RoIFdNX1BJUEUgYW5kIFdNX0xQLgo+ICAgKiBtZW1fdmFsdWUgbXVz dCBiZSBpbiAwLjF1cyB1bml0cy4KPiAgICovCj4gLXN0YXRpYyB1aW50MzJfdCBpbGtfY29tcHV0 ZV9zcHJfd20oY29uc3Qgc3RydWN0IGlsa19waXBlX3dtX3BhcmFtZXRlcnMgKnBhcmFtcywKPiAr c3RhdGljIHVpbnQzMl90IGlsa19jb21wdXRlX3Nwcl93bShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3N0YXRlLAo+ICAJCQkJICAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRl ICpwc3RhdGUsCj4gIAkJCQkgICB1aW50MzJfdCBtZW1fdmFsdWUpCj4gIHsKPiAgCWludCBicHAg PSBwc3RhdGUtPmJhc2UuZmIgPyBwc3RhdGUtPmJhc2UuZmItPmJpdHNfcGVyX3BpeGVsIC8gOCA6 IDA7Cj4gIAl1aW50MzJfdCBtZXRob2QxLCBtZXRob2QyOwo+ICAKPiAtCWlmICghcGFyYW1zLT5h Y3RpdmUgfHwgIXBzdGF0ZS0+dmlzaWJsZSkKPiArCWlmICghY3N0YXRlLT5iYXNlLmFjdGl2ZSB8 fCAhcHN0YXRlLT52aXNpYmxlKQo+ICAJCXJldHVybiAwOwo+ICAKPiAtCW1ldGhvZDEgPSBpbGtf d21fbWV0aG9kMShwYXJhbXMtPnBpeGVsX3JhdGUsIGJwcCwgbWVtX3ZhbHVlKTsKPiAtCW1ldGhv ZDIgPSBpbGtfd21fbWV0aG9kMihwYXJhbXMtPnBpeGVsX3JhdGUsCj4gLQkJCQkgcGFyYW1zLT5w aXBlX2h0b3RhbCwKPiArCW1ldGhvZDEgPSBpbGtfd21fbWV0aG9kMShpbGtfcGlwZV9waXhlbF9y YXRlKGNzdGF0ZSksIGJwcCwgbWVtX3ZhbHVlKTsKPiArCW1ldGhvZDIgPSBpbGtfd21fbWV0aG9k MihpbGtfcGlwZV9waXhlbF9yYXRlKGNzdGF0ZSksCj4gKwkJCQkgY3N0YXRlLT5iYXNlLmFkanVz dGVkX21vZGUuY3J0Y19odG90YWwsCj4gIAkJCQkgZHJtX3JlY3Rfd2lkdGgoJnBzdGF0ZS0+ZHN0 KSwKPiAgCQkJCSBicHAsCj4gIAkJCQkgbWVtX3ZhbHVlKTsKPiBAQCAtMTg2MywzMCArMTg1Nywz MCBAQCBzdGF0aWMgdWludDMyX3QgaWxrX2NvbXB1dGVfc3ByX3dtKGNvbnN0IHN0cnVjdCBpbGtf cGlwZV93bV9wYXJhbWV0ZXJzICpwYXJhbXMsCj4gICAqIEZvciBib3RoIFdNX1BJUEUgYW5kIFdN X0xQLgo+ICAgKiBtZW1fdmFsdWUgbXVzdCBiZSBpbiAwLjF1cyB1bml0cy4KPiAgICovCj4gLXN0 YXRpYyB1aW50MzJfdCBpbGtfY29tcHV0ZV9jdXJfd20oY29uc3Qgc3RydWN0IGlsa19waXBlX3dt X3BhcmFtZXRlcnMgKnBhcmFtcywKPiArc3RhdGljIHVpbnQzMl90IGlsa19jb21wdXRlX2N1cl93 bShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlLAo+ICAJCQkJICAgY29uc3Qg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwc3RhdGUsCj4gIAkJCQkgICB1aW50MzJfdCBtZW1f dmFsdWUpCj4gIHsKPiAgCWludCBicHAgPSBwc3RhdGUtPmJhc2UuZmIgPyBwc3RhdGUtPmJhc2Uu ZmItPmJpdHNfcGVyX3BpeGVsIC8gOCA6IDA7Cj4gIAo+IC0JaWYgKCFwYXJhbXMtPmFjdGl2ZSB8 fCAhcHN0YXRlLT52aXNpYmxlKQo+ICsJaWYgKCFjc3RhdGUtPmJhc2UuYWN0aXZlIHx8ICFwc3Rh dGUtPnZpc2libGUpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+IC0JcmV0dXJuIGlsa193bV9tZXRob2Qy KHBhcmFtcy0+cGl4ZWxfcmF0ZSwKPiAtCQkJICAgICAgcGFyYW1zLT5waXBlX2h0b3RhbCwKPiAr CXJldHVybiBpbGtfd21fbWV0aG9kMihpbGtfcGlwZV9waXhlbF9yYXRlKGNzdGF0ZSksCj4gKwkJ CSAgICAgIGNzdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfaHRvdGFsLAo+ICAJCQkgICAg ICBkcm1fcmVjdF93aWR0aCgmcHN0YXRlLT5kc3QpLAo+ICAJCQkgICAgICBicHAsCj4gIAkJCSAg ICAgIG1lbV92YWx1ZSk7Cj4gIH0KPiAgCj4gIC8qIE9ubHkgZm9yIFdNX0xQLiAqLwo+IC1zdGF0 aWMgdWludDMyX3QgaWxrX2NvbXB1dGVfZmJjX3dtKGNvbnN0IHN0cnVjdCBpbGtfcGlwZV93bV9w YXJhbWV0ZXJzICpwYXJhbXMsCj4gK3N0YXRpYyB1aW50MzJfdCBpbGtfY29tcHV0ZV9mYmNfd20o Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKPiAgCQkJCSAgIGNvbnN0IHN0 cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcHN0YXRlLAo+ICAJCQkJICAgdWludDMyX3QgcHJpX3Zh bCkKPiAgewo+ICAJaW50IGJwcCA9IHBzdGF0ZS0+YmFzZS5mYiA/IHBzdGF0ZS0+YmFzZS5mYi0+ Yml0c19wZXJfcGl4ZWwgLyA4IDogMDsKPiAgCj4gLQlpZiAoIXBhcmFtcy0+YWN0aXZlIHx8ICFw c3RhdGUtPnZpc2libGUpCj4gKwlpZiAoIWNzdGF0ZS0+YmFzZS5hY3RpdmUgfHwgIXBzdGF0ZS0+ dmlzaWJsZSkKPiAgCQlyZXR1cm4gMDsKPiAgCj4gIAlyZXR1cm4gaWxrX3dtX2ZiYyhwcmlfdmFs LCBkcm1fcmVjdF93aWR0aCgmcHN0YXRlLT5kc3QpLCBicHApOwo+IEBAIC0yMDU2LDcgKzIwNTAs NyBAQCBzdGF0aWMgYm9vbCBpbGtfdmFsaWRhdGVfd21fbGV2ZWwoaW50IGxldmVsLAo+ICBzdGF0 aWMgdm9pZCBpbGtfY29tcHV0ZV93bV9sZXZlbChjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gIAkJCQkgY29uc3Qgc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMs Cj4gIAkJCQkgaW50IGxldmVsLAo+IC0JCQkJIGNvbnN0IHN0cnVjdCBpbGtfcGlwZV93bV9wYXJh bWV0ZXJzICpwLAo+ICsJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCj4gIAkJ CQkgc3RydWN0IGludGVsX3dtX2xldmVsICpyZXN1bHQpCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9w bGFuZSAqaW50ZWxfcGxhbmU7Cj4gQEAgLTIwNzcsMTggKzIwNzEsMTggQEAgc3RhdGljIHZvaWQg aWxrX2NvbXB1dGVfd21fbGV2ZWwoY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAo+ICAKPiAgCQlzd2l0Y2ggKGludGVsX3BsYW5lLT5iYXNlLnR5cGUpIHsKPiAgCQljYXNl IERSTV9QTEFORV9UWVBFX1BSSU1BUlk6Cj4gLQkJCXJlc3VsdC0+cHJpX3ZhbCA9IGlsa19jb21w dXRlX3ByaV93bShwLCBwc3RhdGUsCj4gKwkJCXJlc3VsdC0+cHJpX3ZhbCA9IGlsa19jb21wdXRl X3ByaV93bShjc3RhdGUsIHBzdGF0ZSwKPiAgCQkJCQkJCSAgICAgcHJpX2xhdGVuY3ksCj4gIAkJ CQkJCQkgICAgIGxldmVsKTsKPiAtCQkJcmVzdWx0LT5mYmNfdmFsID0gaWxrX2NvbXB1dGVfZmJj X3dtKHAsIHBzdGF0ZSwKPiArCQkJcmVzdWx0LT5mYmNfdmFsID0gaWxrX2NvbXB1dGVfZmJjX3dt KGNzdGF0ZSwgcHN0YXRlLAo+ICAJCQkJCQkJICAgICByZXN1bHQtPnByaV92YWwpOwo+ICAJCQli cmVhazsKPiAgCQljYXNlIERSTV9QTEFORV9UWVBFX09WRVJMQVk6Cj4gLQkJCXJlc3VsdC0+c3By X3ZhbCA9IGlsa19jb21wdXRlX3Nwcl93bShwLCBwc3RhdGUsCj4gKwkJCXJlc3VsdC0+c3ByX3Zh bCA9IGlsa19jb21wdXRlX3Nwcl93bShjc3RhdGUsIHBzdGF0ZSwKPiAgCQkJCQkJCSAgICAgc3By X2xhdGVuY3kpOwo+ICAJCQlicmVhazsKPiAgCQljYXNlIERSTV9QTEFORV9UWVBFX0NVUlNPUjoK PiAtCQkJcmVzdWx0LT5jdXJfdmFsID0gaWxrX2NvbXB1dGVfY3VyX3dtKHAsIHBzdGF0ZSwKPiAr CQkJcmVzdWx0LT5jdXJfdmFsID0gaWxrX2NvbXB1dGVfY3VyX3dtKGNzdGF0ZSwgcHN0YXRlLAo+ ICAJCQkJCQkJICAgICBjdXJfbGF0ZW5jeSk7Cj4gIAkJCWJyZWFrOwo+ICAJCX0KPiBAQCAtMjM1 MiwxOSArMjM0Niw2IEBAIHN0YXRpYyB2b2lkIHNrbF9zZXR1cF93bV9sYXRlbmN5KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCj4gIAlpbnRlbF9wcmludF93bV9sYXRlbmN5KGRldiwgIkdlbjkgUGxh bmUiLCBkZXZfcHJpdi0+d20uc2tsX2xhdGVuY3kpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCBp bGtfY29tcHV0ZV93bV9wYXJhbWV0ZXJzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAtCQkJCSAg ICAgIHN0cnVjdCBpbGtfcGlwZV93bV9wYXJhbWV0ZXJzICpwKQo+IC17Cj4gLQlzdHJ1Y3QgaW50 ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gLQo+IC0JaWYgKCFp bnRlbF9jcnRjLT5hY3RpdmUpCj4gLQkJcmV0dXJuOwo+IC0KPiAtCXAtPmFjdGl2ZSA9IHRydWU7 Cj4gLQlwLT5waXBlX2h0b3RhbCA9IGludGVsX2NydGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9t b2RlLmNydGNfaHRvdGFsOwo+IC0JcC0+cGl4ZWxfcmF0ZSA9IGlsa19waXBlX3BpeGVsX3JhdGUo aW50ZWxfY3J0Yy0+Y29uZmlnKTsKPiAtfQo+IC0KPiAgc3RhdGljIHZvaWQgaWxrX2NvbXB1dGVf d21fY29uZmlnKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCQkgIHN0cnVjdCBpbnRlbF93 bV9jb25maWcgKmNvbmZpZykKPiAgewo+IEBAIC0yMzg0LDEwICsyMzY1LDEwIEBAIHN0YXRpYyB2 b2lkIGlsa19jb21wdXRlX3dtX2NvbmZpZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICB9Cj4g IAo+ICAvKiBDb21wdXRlIG5ldyB3YXRlcm1hcmtzIGZvciB0aGUgcGlwZSAqLwo+IC1zdGF0aWMg Ym9vbCBpbnRlbF9jb21wdXRlX3BpcGVfd20oc3RydWN0IGRybV9jcnRjICpjcnRjLAo+IC0JCQkJ ICBjb25zdCBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAqcGFyYW1zLAo+ICtzdGF0aWMg Ym9vbCBpbnRlbF9jb21wdXRlX3BpcGVfd20oc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0 ZSwKPiAgCQkJCSAgc3RydWN0IGludGVsX3BpcGVfd20gKnBpcGVfd20pCj4gIHsKPiArCXN0cnVj dCBkcm1fY3J0YyAqY3J0YyA9IGNzdGF0ZS0+YmFzZS5jcnRjOwo+ICAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGNydGMtPmRldjsKPiAgCWNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxf Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gQEAgLTI0MTIsOCArMjM5Myw3IEBAIHN0YXRp YyBib29sIGludGVsX2NvbXB1dGVfcGlwZV93bShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAkJ ZHJtX3JlY3Rfd2lkdGgoJnNwcnN0YXRlLT5kc3QpICE9IGRybV9yZWN0X3dpZHRoKCZzcHJzdGF0 ZS0+c3JjKSA+PiAxNiB8fAo+ICAJCWRybV9yZWN0X2hlaWdodCgmc3Byc3RhdGUtPmRzdCkgIT0g ZHJtX3JlY3RfaGVpZ2h0KCZzcHJzdGF0ZS0+c3JjKSA+PiAxNjsKPiAgCj4gLQo+IC0JcGlwZV93 bS0+cGlwZV9lbmFibGVkID0gcGFyYW1zLT5hY3RpdmU7Cj4gKwlwaXBlX3dtLT5waXBlX2VuYWJs ZWQgPSBjc3RhdGUtPmJhc2UuYWN0aXZlOwo+ICAJcGlwZV93bS0+c3ByaXRlc19lbmFibGVkID0g c3Byc3RhdGUtPnZpc2libGU7Cj4gIAlwaXBlX3dtLT5zcHJpdGVzX3NjYWxlZCA9IGNvbmZpZy5z cHJpdGVzX3NjYWxlZDsKPiAgCj4gQEAgLTI0MjUsNyArMjQwNSw3IEBAIHN0YXRpYyBib29sIGlu dGVsX2NvbXB1dGVfcGlwZV93bShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAlpZiAoY29uZmln LnNwcml0ZXNfc2NhbGVkKQo+ICAJCW1heF9sZXZlbCA9IDA7Cj4gIAo+IC0JaWxrX2NvbXB1dGVf d21fbGV2ZWwoZGV2X3ByaXYsIGludGVsX2NydGMsIDAsIHBhcmFtcywgJnBpcGVfd20tPndtWzBd KTsKPiArCWlsa19jb21wdXRlX3dtX2xldmVsKGRldl9wcml2LCBpbnRlbF9jcnRjLCAwLCBjc3Rh dGUsICZwaXBlX3dtLT53bVswXSk7Cj4gIAo+ICAJaWYgKElTX0hBU1dFTEwoZGV2KSB8fCBJU19C Uk9BRFdFTEwoZGV2KSkKPiAgCQlwaXBlX3dtLT5saW5ldGltZSA9IGhzd19jb21wdXRlX2xpbmV0 aW1lX3dtKGRldiwgY3J0Yyk7Cj4gQEAgLTI0NDIsNyArMjQyMiw3IEBAIHN0YXRpYyBib29sIGlu dGVsX2NvbXB1dGVfcGlwZV93bShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAlmb3IgKGxldmVs ID0gMTsgbGV2ZWwgPD0gbWF4X2xldmVsOyBsZXZlbCsrKSB7Cj4gIAkJc3RydWN0IGludGVsX3dt X2xldmVsIHdtID0ge307Cj4gIAo+IC0JCWlsa19jb21wdXRlX3dtX2xldmVsKGRldl9wcml2LCBp bnRlbF9jcnRjLCBsZXZlbCwgcGFyYW1zLCAmd20pOwo+ICsJCWlsa19jb21wdXRlX3dtX2xldmVs KGRldl9wcml2LCBpbnRlbF9jcnRjLCBsZXZlbCwgY3N0YXRlLCAmd20pOwo+ICAKPiAgCQkvKgo+ ICAJCSAqIERpc2FibGUgYW55IHdhdGVybWFyayBsZXZlbCB0aGF0IGV4Y2VlZHMgdGhlCj4gQEAg LTM3NDgsMTkgKzM3MjgsMTcgQEAgc2tsX3VwZGF0ZV9zcHJpdGVfd20oc3RydWN0IGRybV9wbGFu ZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgc3RhdGljIHZvaWQgaWxrX3VwZGF0 ZV93bShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICpp bnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiArCXN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKPiAgCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IGlsa193bV9tYXhpbXVt cyBtYXg7Cj4gLQlzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyBwYXJhbXMgPSB7fTsKPiAg CXN0cnVjdCBpbGtfd21fdmFsdWVzIHJlc3VsdHMgPSB7fTsKPiAgCWVudW0gaW50ZWxfZGRiX3Bh cnRpdGlvbmluZyBwYXJ0aXRpb25pbmc7Cj4gIAlzdHJ1Y3QgaW50ZWxfcGlwZV93bSBwaXBlX3dt ID0ge307Cj4gIAlzdHJ1Y3QgaW50ZWxfcGlwZV93bSBscF93bV8xXzIgPSB7fSwgbHBfd21fNV82 ID0ge30sICpiZXN0X2xwX3dtOwo+ICAJc3RydWN0IGludGVsX3dtX2NvbmZpZyBjb25maWcgPSB7 fTsKPiAgCj4gLQlpbGtfY29tcHV0ZV93bV9wYXJhbWV0ZXJzKGNydGMsICZwYXJhbXMpOwo+IC0K PiAtCWludGVsX2NvbXB1dGVfcGlwZV93bShjcnRjLCAmcGFyYW1zLCAmcGlwZV93bSk7Cj4gKwlp bnRlbF9jb21wdXRlX3BpcGVfd20oY3N0YXRlLCAmcGlwZV93bSk7Cj4gIAo+ICAJaWYgKCFtZW1j bXAoJmludGVsX2NydGMtPndtLmFjdGl2ZSwgJnBpcGVfd20sIHNpemVvZihwaXBlX3dtKSkpCj4g IAkJcmV0dXJuOwo+IEBAIC0zODAwLDEyICszNzc4LDYgQEAgaWxrX3VwZGF0ZV9zcHJpdGVfd20o c3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxh bmUtPmRldjsKPiAgCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9w bGFuZShwbGFuZSk7Cj4gIAo+IC0JaW50ZWxfcGxhbmUtPndtLmVuYWJsZWQgPSBlbmFibGVkOwo+ IC0JaW50ZWxfcGxhbmUtPndtLnNjYWxlZCA9IHNjYWxlZDsKPiAtCWludGVsX3BsYW5lLT53bS5o b3Jpel9waXhlbHMgPSBzcHJpdGVfd2lkdGg7Cj4gLQlpbnRlbF9wbGFuZS0+d20udmVydF9waXhl bHMgPSBzcHJpdGVfd2lkdGg7Cj4gLQlpbnRlbF9wbGFuZS0+d20uYnl0ZXNfcGVyX3BpeGVsID0g cGl4ZWxfc2l6ZTsKPiAtCj4gIAkvKgo+ICAJICogSVZCIHdvcmthcm91bmQ6IG11c3QgZGlzYWJs ZSBsb3cgcG93ZXIgd2F0ZXJtYXJrcyBmb3IgYXQgbGVhc3QKPiAgCSAqIG9uZSBmcmFtZSBiZWZv cmUgZW5hYmxpbmcgc2NhbGluZy4gIExQIHdhdGVybWFya3MgY2FuIGJlIHJlLWVuYWJsZWQKPiAt LSAKPiAyLjEuNAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=