From mboxrd@z Thu Jan 1 00:00:00 1970 From: Damien Lespiau Subject: Re: [PATCH 7/8] drm/i915/skl: Update watermarks for Y tiling Date: Thu, 26 Feb 2015 16:59:02 +0000 Message-ID: <20150226165902.GC2053@strange.ger.corp.intel.com> References: <1424882844-19444-1-git-send-email-tvrtko.ursulin@linux.intel.com> <1424882844-19444-8-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 4FA8C6E7F9 for ; Thu, 26 Feb 2015 08:59:06 -0800 (PST) Content-Disposition: inline In-Reply-To: <1424882844-19444-8-git-send-email-tvrtko.ursulin@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: Tvrtko Ursulin Cc: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBGZWIgMjUsIDIwMTUgYXQgMDQ6NDc6MjNQTSArMDAwMCwgVHZydGtvIFVyc3VsaW4g d3JvdGU6Cj4gRnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4K PiAKPiBEaXNwbGF5IHdhdGVybWFya3MgbmVlZCBkaWZmZXJlbnQgcHJvZ3JhbW1pbmcgZm9yIGRp ZmZlcmVudCB0aWxpbmcKPiBtb2Rlcy4KPiAKPiBTZXQgdGhlIHJlbGV2YW50IGZsYWcgc28gdGhp cyBoYXBwZW5zIGR1cmluZyB0aGUgcGxhbmUgY29tbWl0IGFuZAo+IGFkZCByZWxldmFudCBkYXRh IGludG8gYSBzdHJ1Y3R1cmUgbWFkZSBhdmFpbGFibGUgdG8gdGhlIHdhdGVybWFyawo+IGNvbXB1 dGF0aW9uIGNvZGUuCj4gCj4gdjI6IFBhc3MgaW4gdGlsaW5nIGluZm8gdG8gc3ByaXRlIHBsYW5l IHVwZGF0ZXMgYXMgd2VsbC4KPiB2MzogUmViYXNlZCBmb3IgcGxhbmUgaGFuZGxpbmcgY2hhbmdl cy4KPiB2NDogSGFuZGxlIGZiID09IE5VTEwgd2hlbiBwbGFuZSBpcyBkaXNhYmxlZC4KPiB2NTog UmVmYWN0b3JlZCBmb3IgYWRkZmIyIGludGVyZmFjZS4KPiB2NjogUmVmYWN0b3JlZCBmb3IgZmIg bW9kaWZpZXIgY2hhbmdlcy4KPiB2NzogVXBkYXRlZCBmb3IgYXRvbWljIGNvbW1pdCBieSBvbmx5 IHVwZGF0aW5nIHdhdGVybWFya3Mgd2hlbiB0aWxpbmcgY2hhbmdlcy4KPiB2ODogQlNwZWMgd2F0 ZXJtYXJrIGNhbGN1bGF0aW9uIHVwZGF0ZXMuCj4gCj4gU2lnbmVkLW9mZi1ieTogVHZydGtvIFVy c3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPiBBY2tlZC1ieTogQW5kZXIgQ29uc2Vs dmFuIGRlIE9saXZlaXJhIDxhbmRlci5jb25zZWx2YW4uZGUub2xpdmVpcmFAaW50ZWwuY29tPgo+ IEFja2VkLWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgoKPiAtLS0K PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgIDYgKysrKwo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgMSArCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BtLmMgICAgICB8IDU2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyAgfCAgNiArKysr Cj4gIDQgZmlsZXMgY2hhbmdlZCwgNjAgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKPiAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggNjI2ZTY1MzguLjFkNTA5 MzQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTExOTk0LDYg KzExOTk0LDEyIEBAIGludGVsX2NoZWNrX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAq cGxhbmUsCj4gIAkJCUlOVEVMX0ZST05UQlVGRkVSX1BSSU1BUlkoaW50ZWxfY3J0Yy0+cGlwZSk7 Cj4gIAo+ICAJCWludGVsX2NydGMtPmF0b21pYy51cGRhdGVfZmJjID0gdHJ1ZTsKPiArCj4gKwkJ LyogVXBkYXRlIHdhdGVybWFya3Mgb24gdGlsaW5nIGNoYW5nZXMuICovCj4gKwkJaWYgKCFwbGFu ZS0+c3RhdGUtPmZiIHx8ICFzdGF0ZS0+YmFzZS5mYiB8fAo+ICsJCSAgICBwbGFuZS0+c3RhdGUt PmZiLT5tb2RpZmllclswXSAhPQo+ICsJCSAgICBzdGF0ZS0+YmFzZS5mYi0+bW9kaWZpZXJbMF0p Cj4gKwkJCWludGVsX2NydGMtPmF0b21pYy51cGRhdGVfd20gPSB0cnVlOwo+ICAJfQo+ICAKPiAg CXJldHVybiAwOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggMzk5ZDJiMi4uYjEy NDU0OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTUwMSw2ICs1MDEsNyBA QCBzdHJ1Y3QgaW50ZWxfcGxhbmVfd21fcGFyYW1ldGVycyB7Cj4gIAl1aW50OF90IGJ5dGVzX3Bl cl9waXhlbDsKPiAgCWJvb2wgZW5hYmxlZDsKPiAgCWJvb2wgc2NhbGVkOwo+ICsJdTY0IHRpbGlu ZzsKPiAgfTsKPiAgCj4gIHN0cnVjdCBpbnRlbF9wbGFuZSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w bS5jCj4gaW5kZXggNjI2YzNjMi4uZTBkNmViYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u Ywo+IEBAIC0yNjAzLDcgKzI2MDMsNyBAQCBzdGF0aWMgdWludDMyX3Qgc2tsX3dtX21ldGhvZDEo dWludDMyX3QgcGl4ZWxfcmF0ZSwgdWludDhfdCBieXRlc19wZXJfcGl4ZWwsCj4gIAo+ICBzdGF0 aWMgdWludDMyX3Qgc2tsX3dtX21ldGhvZDIodWludDMyX3QgcGl4ZWxfcmF0ZSwgdWludDMyX3Qg cGlwZV9odG90YWwsCj4gIAkJCSAgICAgICB1aW50MzJfdCBob3Jpel9waXhlbHMsIHVpbnQ4X3Qg Ynl0ZXNfcGVyX3BpeGVsLAo+IC0JCQkgICAgICAgdWludDMyX3QgbGF0ZW5jeSkKPiArCQkJICAg ICAgIHVpbnQ2NF90IHRpbGluZywgdWludDMyX3QgbGF0ZW5jeSkKPiAgewoKSHVtLCBkb2VzIHRo aXMgY29tcGlsZT8gSSdtIHNlZWluZyBhbiBleHRyYSBhcmd1bWVudCB0byBza2xfd21fbWV0aG9k MigpCmJ1dCBubyB1cGRhdGUgYXQgdGhlIGNhbGxpbmcgc2l0ZT8KCj4gIAl1aW50MzJfdCByZXQ7 Cj4gIAl1aW50MzJfdCBwbGFuZV9ieXRlc19wZXJfbGluZSwgcGxhbmVfYmxvY2tzX3Blcl9saW5l Owo+IEBAIC0yNjEzLDcgKzI2MTMsMTYgQEAgc3RhdGljIHVpbnQzMl90IHNrbF93bV9tZXRob2Qy KHVpbnQzMl90IHBpeGVsX3JhdGUsIHVpbnQzMl90IHBpcGVfaHRvdGFsLAo+ICAJCXJldHVybiBV SU5UX01BWDsKPiAgCj4gIAlwbGFuZV9ieXRlc19wZXJfbGluZSA9IGhvcml6X3BpeGVscyAqIGJ5 dGVzX3Blcl9waXhlbDsKPiAtCXBsYW5lX2Jsb2Nrc19wZXJfbGluZSA9IERJVl9ST1VORF9VUChw bGFuZV9ieXRlc19wZXJfbGluZSwgNTEyKTsKPiArCj4gKwlpZiAodGlsaW5nID09IEk5MTVfRk9S TUFUX01PRF9ZX1RJTEVEIHx8Cj4gKwkgICAgdGlsaW5nID09IEk5MTVfRk9STUFUX01PRF9ZZl9U SUxFRCkgewo+ICsJCXBsYW5lX2J5dGVzX3Blcl9saW5lICo9IDQ7Cj4gKwkJcGxhbmVfYmxvY2tz X3Blcl9saW5lID0gRElWX1JPVU5EX1VQKHBsYW5lX2J5dGVzX3Blcl9saW5lLCA1MTIpOwo+ICsJ CXBsYW5lX2Jsb2Nrc19wZXJfbGluZSAvPSA0Owo+ICsJfSBlbHNlIHsKPiArCQlwbGFuZV9ibG9j a3NfcGVyX2xpbmUgPSBESVZfUk9VTkRfVVAocGxhbmVfYnl0ZXNfcGVyX2xpbmUsIDUxMik7Cj4g Kwl9Cj4gKwo+ICAJd21faW50ZXJtZWRpYXRlX3ZhbCA9IGxhdGVuY3kgKiBwaXhlbF9yYXRlOwo+ ICAJcmV0ID0gRElWX1JPVU5EX1VQKHdtX2ludGVybWVkaWF0ZV92YWwsIHBpcGVfaHRvdGFsICog MTAwMCkgKgo+ICAJCQkJcGxhbmVfYmxvY2tzX3Blcl9saW5lOwo+IEBAIC0yNjY1LDYgKzI2NzQs NyBAQCBzdGF0aWMgdm9pZCBza2xfY29tcHV0ZV93bV9waXBlX3BhcmFtZXRlcnMoc3RydWN0IGRy bV9jcnRjICpjcnRjLAo+ICAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRl bF9jcnRjKGNydGMpOwo+ICAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwo+ICAJ c3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4gKwlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYjsK PiAgCWludCBpID0gMTsgLyogSW5kZXggZm9yIHNwcml0ZSBwbGFuZXMgc3RhcnQgKi8KPiAgCj4g IAlwLT5hY3RpdmUgPSBpbnRlbF9jcnRjX2FjdGl2ZShjcnRjKTsKPiBAQCAtMjY4MCw2ICsyNjkw LDE0IEBAIHN0YXRpYyB2b2lkIHNrbF9jb21wdXRlX3dtX3BpcGVfcGFyYW1ldGVycyhzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCj4gIAkJCWNydGMtPnByaW1hcnktPmZiLT5iaXRzX3Blcl9waXhlbCAv IDg7Cj4gIAkJcC0+cGxhbmVbMF0uaG9yaXpfcGl4ZWxzID0gaW50ZWxfY3J0Yy0+Y29uZmlnLT5w aXBlX3NyY193Owo+ICAJCXAtPnBsYW5lWzBdLnZlcnRfcGl4ZWxzID0gaW50ZWxfY3J0Yy0+Y29u ZmlnLT5waXBlX3NyY19oOwo+ICsJCXAtPnBsYW5lWzBdLnRpbGluZyA9IERSTV9GT1JNQVRfTU9E X05PTkU7Cj4gKwkJZmIgPSBjcnRjLT5wcmltYXJ5LT5mYjsKPiArCQkvKgo+ICsJCSAqIEZyYW1l YnVmZmVyIGNhbiBiZSBOVUxMIG9uIHBsYW5lIGRpc2FibGUsIGJ1dCBpdCBkb2VzIG5vdAo+ICsJ CSAqIG1hdHRlciBmb3Igd2F0ZXJtYXJrcyBpZiB3ZSBhc3N1bWUgbm8gdGlsaW5nIGluIHRoYXQg Y2FzZS4KPiArCQkgKi8KPiArCQlpZiAoZmIpCj4gKwkJCXAtPnBsYW5lWzBdLnRpbGluZyA9IGZi LT5tb2RpZmllclswXTsKPiAgCj4gIAkJcC0+Y3Vyc29yLmVuYWJsZWQgPSB0cnVlOwo+ICAJCXAt PmN1cnNvci5ieXRlc19wZXJfcGl4ZWwgPSA0Owo+IEBAIC0yNzA5LDYgKzI3MjcsNyBAQCBzdGF0 aWMgYm9vbCBza2xfY29tcHV0ZV9wbGFuZV93bShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gIAl1aW50MzJfdCBwbGFuZV9ieXRlc19wZXJfbGluZSwgcGxhbmVfYmxv Y2tzX3Blcl9saW5lOwo+ICAJdWludDMyX3QgcmVzX2Jsb2NrcywgcmVzX2xpbmVzOwo+ICAJdWlu dDMyX3QgcmVzdWx0X2Jsb2NrczsKPiArCXVpbnQzMl90IHlfdGlsZV9taW5pbXVtOwoKVGhlIHNj b3BlIG9mIHRoZSB5X3RpbGVfbWluaW11bSB2YXJpYWJsZSBjb3VsZCBiZSByZXN0cmljdGVkIGZ1 cnRoZXIsCmJ1dCB3ZWxsLi4uCgo+ICAJaWYgKGxhdGVuY3kgPT0gMCB8fCAhcC0+YWN0aXZlIHx8 ICFwX3BhcmFtcy0+ZW5hYmxlZCkKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gQEAgLTI3MjAsMjMgKzI3 MzksMzQgQEAgc3RhdGljIGJvb2wgc2tsX2NvbXB1dGVfcGxhbmVfd20oY29uc3Qgc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkJIHAtPnBpcGVfaHRvdGFsLAo+ICAJCQkJ IHBfcGFyYW1zLT5ob3Jpel9waXhlbHMsCj4gIAkJCQkgcF9wYXJhbXMtPmJ5dGVzX3Blcl9waXhl bCwKPiArCQkJCSBwX3BhcmFtcy0+dGlsaW5nLAo+ICAJCQkJIGxhdGVuY3kpOwo+ICAKPiAgCXBs YW5lX2J5dGVzX3Blcl9saW5lID0gcF9wYXJhbXMtPmhvcml6X3BpeGVscyAqCj4gIAkJCQkJcF9w YXJhbXMtPmJ5dGVzX3Blcl9waXhlbDsKPiAgCXBsYW5lX2Jsb2Nrc19wZXJfbGluZSA9IERJVl9S T1VORF9VUChwbGFuZV9ieXRlc19wZXJfbGluZSwgNTEyKTsKPiAgCj4gLQkvKiBGb3Igbm93IHh0 aWxlIGFuZCBsaW5lYXIgKi8KPiAtCWlmICgoZGRiX2FsbG9jYXRpb24gLyBwbGFuZV9ibG9ja3Nf cGVyX2xpbmUpID49IDEpCj4gLQkJcmVzdWx0X2Jsb2NrcyA9IG1pbihtZXRob2QxLCBtZXRob2Qy KTsKPiAtCWVsc2UKPiAtCQlyZXN1bHRfYmxvY2tzID0gbWV0aG9kMTsKPiArCWlmIChwX3BhcmFt cy0+dGlsaW5nID09IEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEIHx8Cj4gKwkgICAgcF9wYXJhbXMt PnRpbGluZyA9PSBJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRUQpIHsKPiArCQl5X3RpbGVfbWluaW11 bSA9IHBsYW5lX2Jsb2Nrc19wZXJfbGluZSAqIDQ7Cj4gKwkJcmVzdWx0X2Jsb2NrcyA9IG1heCht ZXRob2QyLCB5X3RpbGVfbWluaW11bSk7Cj4gKwl9IGVsc2Ugewo+ICsJCWlmICgoZGRiX2FsbG9j YXRpb24gLyBwbGFuZV9ibG9ja3NfcGVyX2xpbmUpID49IDEpCj4gKwkJCXJlc3VsdF9ibG9ja3Mg PSBtaW4obWV0aG9kMSwgbWV0aG9kMik7Cj4gKwkJZWxzZQo+ICsJCQlyZXN1bHRfYmxvY2tzID0g bWV0aG9kMTsKPiArCX0KPiAgCj4gIAlyZXNfYmxvY2tzID0gcmVzdWx0X2Jsb2NrcyArIDE7Cj4g IAlyZXNfbGluZXMgPSBESVZfUk9VTkRfVVAocmVzdWx0X2Jsb2NrcywgcGxhbmVfYmxvY2tzX3Bl cl9saW5lKTsKPiAgCj4gLQlpZiAobGV2ZWwgPj0xICYmIGxldmVsIDw9IDcpCj4gLQkJcmVzX2Js b2NrcysrOwo+ICsJaWYgKGxldmVsID49MSAmJiBsZXZlbCA8PSA3KSB7Cj4gKwkJaWYgKHBfcGFy YW1zLT50aWxpbmcgPT0gSTkxNV9GT1JNQVRfTU9EX1lfVElMRUQgfHwKPiArCQkgICAgcF9wYXJh bXMtPnRpbGluZyA9PSBJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRUQpCj4gKwkJCXJlc19saW5lcyAr PSA0Owo+ICsJCWVsc2UKPiArCQkJcmVzX2Jsb2NrcysrOwo+ICsJfQo+ICAKPiAgCWlmIChyZXNf YmxvY2tzID4gZGRiX2FsbG9jYXRpb24gfHwgcmVzX2xpbmVzID4gMzEpCj4gIAkJcmV0dXJuIGZh bHNlOwo+IEBAIC0zMTY1LDEyICszMTk1LDIwIEBAIHNrbF91cGRhdGVfc3ByaXRlX3dtKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAkJICAgICBpbnQg cGl4ZWxfc2l6ZSwgYm9vbCBlbmFibGVkLCBib29sIHNjYWxlZCkKPiAgewo+ICAJc3RydWN0IGlu dGVsX3BsYW5lICppbnRlbF9wbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lKTsKPiArCXN0cnVj dCBkcm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmUtPmZiOwo+ICAKPiAgCWludGVsX3BsYW5lLT53 bS5lbmFibGVkID0gZW5hYmxlZDsKPiAgCWludGVsX3BsYW5lLT53bS5zY2FsZWQgPSBzY2FsZWQ7 Cj4gIAlpbnRlbF9wbGFuZS0+d20uaG9yaXpfcGl4ZWxzID0gc3ByaXRlX3dpZHRoOwo+ICAJaW50 ZWxfcGxhbmUtPndtLnZlcnRfcGl4ZWxzID0gc3ByaXRlX2hlaWdodDsKPiAgCWludGVsX3BsYW5l LT53bS5ieXRlc19wZXJfcGl4ZWwgPSBwaXhlbF9zaXplOwo+ICsJaW50ZWxfcGxhbmUtPndtLnRp bGluZyA9IERSTV9GT1JNQVRfTU9EX05PTkU7Cj4gKwkvKgo+ICsJICogRnJhbWVidWZmZXIgY2Fu IGJlIE5VTEwgb24gcGxhbmUgZGlzYWJsZSwgYnV0IGl0IGRvZXMgbm90Cj4gKwkgKiBtYXR0ZXIg Zm9yIHdhdGVybWFya3MgaWYgd2UgYXNzdW1lIG5vIHRpbGluZyBpbiB0aGF0IGNhc2UuCj4gKwkg Ki8KPiArCWlmIChmYikKPiArCQlpbnRlbF9wbGFuZS0+d20udGlsaW5nID0gZmItPm1vZGlmaWVy WzBdOwo+ICAKPiAgCXNrbF91cGRhdGVfd20oY3J0Yyk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9zcHJpdGUuYwo+IGluZGV4IGI3MTAzYmQuLjI5ZWMyMDYgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zcHJpdGUuYwo+IEBAIC0xMjU2LDYgKzEyNTYsMTIgQEAgZmluaXNoOgo+ICAK PiAgCQlpZiAoIWludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZCAmJiAhc3RhdGUtPmhpZGVzX3By aW1hcnkpCj4gIAkJCWludGVsX2NydGMtPmF0b21pYy5wb3N0X2VuYWJsZV9wcmltYXJ5ID0gdHJ1 ZTsKPiArCj4gKwkJLyogVXBkYXRlIHdhdGVybWFya3Mgb24gdGlsaW5nIGNoYW5nZXMuICovCj4g KwkJaWYgKCFwbGFuZS0+c3RhdGUtPmZiIHx8ICFzdGF0ZS0+YmFzZS5mYiB8fAo+ICsJCSAgICBw bGFuZS0+c3RhdGUtPmZiLT5tb2RpZmllclswXSAhPQo+ICsJCSAgICBzdGF0ZS0+YmFzZS5mYi0+ bW9kaWZpZXJbMF0pCj4gKwkJCWludGVsX2NydGMtPmF0b21pYy51cGRhdGVfd20gPSB0cnVlOwo+ ICAJfQo+ICAKPiAgCXJldHVybiAwOwo+IC0tIAo+IDIuMy4wCj4gCj4gX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0 Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK