From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2 16/18] drm/i915: Don't pass pitch to intel_compute_page_offset() Date: Mon, 25 Jan 2016 18:53:53 +0100 Message-ID: <20160125175353.GK11240@phenom.ffwll.local> References: <1453316739-13296-1-git-send-email-ville.syrjala@linux.intel.com> <1453316739-13296-17-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f48.google.com (mail-wm0-f48.google.com [74.125.82.48]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7C32D6E4ED for ; Mon, 25 Jan 2016 09:53:47 -0800 (PST) Received: by mail-wm0-f48.google.com with SMTP id b14so92869114wmb.1 for ; Mon, 25 Jan 2016 09:53:47 -0800 (PST) Content-Disposition: inline In-Reply-To: <1453316739-13296-17-git-send-email-ville.syrjala@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: ville.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBKYW4gMjAsIDIwMTYgYXQgMDk6MDU6MzdQTSArMDIwMCwgdmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPiAKPiBpbnRlbF9jb21wdXRlX3BhZ2Vfb2Zmc2V0KCkgY2Fu IGRpZyB1cCB0aGUgY29ycmVjdCBwaXRjaCBmcm9tIHRoZSBmYgo+IGl0c2VsZiwgbm8gbmVlZCBm b3IgdGhlIGNhbGxlciB0byBwYXNzIGl0IGluLgo+IAo+IEEgYml0IG9mIGV4dHJhIGNhcmUgaXMg bmVlZGVkIGZvciB0aGUgbG93ZXIgbGV2ZWwKPiBfaW50ZWxfY29tcHV0ZV9wYWdlX29mZnNldCgp IHNpbmNlIHRoYXQgb25lIGdldHMgY2FsbGVkIGJlZm9yZSB0aGUKPiByb3RhdGVkIHBpdGNoIHVu ZGVyIGludGVsX2ZiIGlzIHBvcHVsYXRlZC4gTm90ZSB0aGF0IHdlIGRvbid0IGFjdHVhbGx5Cj4g Y2FsbCBpdCB3aXRoIGFueXRoaW5nIGJ1dCBEUk1fUk9UQVRFXzAgdGhlcmUgc28gd2Ugd291bGRu J3QgYWN0dWFsbHkKPiBsb29rIHVwIHRoZSByb3RhdGVkIHBpdGNoIHRoZXJlLCBidXQgc3RpbGws IGxlYXZlIHRoZSBwaXRjaCBhcyBzb21ldGhpbmcKPiB0aGUgY2FsbGVyIGhhcyB0byBwYXNzIHRv IF9pbnRlbF9jb21wdXRlX3BhZ2Vfb2Zmc2V0KCkgYXMgYW4KPiBpbmRpY2F0b3IgdGhhdCBzb21l dGhpbmcgaXMgYSBiaXQgc3BlY2lhbC4KPiAKPiBUaGlzIGxlYXZlcyAnc3RyaWRlX2RpdicgaW4g dGhlIHNrbCBwbGFuZSB1cGRhdGUgaG9va3MgYXMgYSBtb3N0bHkgdXNlbGVzcwo+IHZhcmlhYmxl IHNvIGp1c3QgZ2V0IHJpZCBvZiBpdC4KPiAKPiB2MjogQWRkIGEgbm90ZSB3aHkgc3RyaWRlX2Rp diBnb3QgbnVrZWQKPiAKPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5 cmphbGFAbGludXguaW50ZWwuY29tPgoKUmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmll bC52ZXR0ZXJAZmZ3bGwuY2g+Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgfCAzMCArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgIDEgLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9zcHJpdGUuYyAgfCAyNiArKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQo+ICAzIGZp bGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCBlZjY4ODkyZjRlMGEuLmViOGNlOGE5 OTI5MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMjU2Miwx MSArMjU2MiwxNiBAQCBzdGF0aWMgdTMyIF9pbnRlbF9jb21wdXRlX3RpbGVfb2Zmc2V0KGNvbnN0 IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCj4gIHVuc2lnbmVkIGludCBp bnRlbF9jb21wdXRlX3RpbGVfb2Zmc2V0KGludCAqeCwgaW50ICp5LAo+ICAJCQkJICAgICAgIGNv bnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLCBpbnQgcGxhbmUsCj4gLQkJCQkgICAgICAg dW5zaWduZWQgaW50IHBpdGNoLAo+ICAJCQkJICAgICAgIHVuc2lnbmVkIGludCByb3RhdGlvbikK PiAgewo+ICAJY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShmYi0+ZGV2KTsKPiAgCXVuc2lnbmVkIGludCBhbGlnbm1lbnQgPSBpbnRlbF9zdXJmX2FsaWdu bWVudChkZXZfcHJpdiwgZmItPm1vZGlmaWVyW3BsYW5lXSk7Cj4gKwl1bnNpZ25lZCBpbnQgcGl0 Y2g7Cj4gKwo+ICsJaWYgKGludGVsX3JvdGF0aW9uXzkwX29yXzI3MChyb3RhdGlvbikpCj4gKwkJ cGl0Y2ggPSB0b19pbnRlbF9mcmFtZWJ1ZmZlcihmYiktPnJvdGF0ZWRbcGxhbmVdLnBpdGNoOwo+ ICsJZWxzZQo+ICsJCXBpdGNoID0gZmItPnBpdGNoZXNbcGxhbmVdOwo+ICAKPiAgCXJldHVybiBf aW50ZWxfY29tcHV0ZV90aWxlX29mZnNldChkZXZfcHJpdiwgeCwgeSwgZmIsIHBsYW5lLCBwaXRj aCwKPiAgCQkJCQkgIHJvdGF0aW9uLCBhbGlnbm1lbnQgPyAoYWxpZ25tZW50IC0gMSkgOiAwKTsK PiBAQCAtMjk4OCw4ICsyOTkzLDcgQEAgc3RhdGljIHZvaWQgaTl4eF91cGRhdGVfcHJpbWFyeV9w bGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwcmltYXJ5LAo+ICAKPiAgCWlmIChJTlRFTF9JTkZPKGRl diktPmdlbiA+PSA0KQo+ICAJCWludGVsX2NydGMtPmRzcGFkZHJfb2Zmc2V0ID0KPiAtCQkJaW50 ZWxfY29tcHV0ZV90aWxlX29mZnNldCgmeCwgJnksIGZiLCAwLAo+IC0JCQkJCQkgIGZiLT5waXRj aGVzWzBdLCByb3RhdGlvbik7Cj4gKwkJCWludGVsX2NvbXB1dGVfdGlsZV9vZmZzZXQoJngsICZ5 LCBmYiwgMCwgcm90YXRpb24pOwo+ICAKPiAgCWlmIChyb3RhdGlvbiA9PSBCSVQoRFJNX1JPVEFU RV8xODApKSB7Cj4gIAkJZHNwY250ciB8PSBESVNQUExBTkVfUk9UQVRFXzE4MDsKPiBAQCAtMzA5 MSw4ICszMDk1LDcgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfdXBkYXRlX3ByaW1hcnlfcGxhbmUo c3RydWN0IGRybV9wbGFuZSAqcHJpbWFyeSwKPiAgCWludGVsX2FkZF9mYl9vZmZzZXRzKCZ4LCAm eSwgZmIsIDAsIHJvdGF0aW9uKTsKPiAgCj4gIAlpbnRlbF9jcnRjLT5kc3BhZGRyX29mZnNldCA9 Cj4gLQkJaW50ZWxfY29tcHV0ZV90aWxlX29mZnNldCgmeCwgJnksIGZiLCAwLAo+IC0JCQkJCSAg ZmItPnBpdGNoZXNbMF0sIHJvdGF0aW9uKTsKPiArCQlpbnRlbF9jb21wdXRlX3RpbGVfb2Zmc2V0 KCZ4LCAmeSwgZmIsIDAsIHJvdGF0aW9uKTsKPiAgCj4gIAlpZiAocm90YXRpb24gPT0gQklUKERS TV9ST1RBVEVfMTgwKSkgewo+ICAJCWRzcGNudHIgfD0gRElTUFBMQU5FX1JPVEFURV8xODA7Cj4g QEAgLTMyNjMsNyArMzI2Niw3IEBAIHN0YXRpYyB2b2lkIHNreWxha2VfdXBkYXRlX3ByaW1hcnlf cGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKPiAgCXN0cnVj dCBkcm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmVfc3RhdGUtPmJhc2UuZmI7Cj4gIAlpbnQgcGlw ZSA9IGludGVsX2NydGMtPnBpcGU7Cj4gLQl1MzIgcGxhbmVfY3RsLCBzdHJpZGVfZGl2LCBzdHJp ZGU7Cj4gKwl1MzIgcGxhbmVfY3RsLCBzdHJpZGU7Cj4gIAl1bnNpZ25lZCBpbnQgcm90YXRpb24g PSBwbGFuZV9zdGF0ZS0+YmFzZS5yb3RhdGlvbjsKPiAgCXUzMiBzdXJmX2FkZHI7Cj4gIAlpbnQg c2NhbGVyX2lkID0gcGxhbmVfc3RhdGUtPnNjYWxlcl9pZDsKPiBAQCAtMzMwMywxNyArMzMwNiwx NiBAQCBzdGF0aWMgdm9pZCBza3lsYWtlX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLAo+ICAJCXNyY193ID0gZHJtX3JlY3Rfd2lkdGgoJnIpOwo+ICAJCXNyY19o ID0gZHJtX3JlY3RfaGVpZ2h0KCZyKTsKPiAgCj4gLQkJc3RyaWRlX2RpdiA9IGludGVsX3RpbGVf aGVpZ2h0KGRldl9wcml2LCBmYi0+bW9kaWZpZXJbMF0sIGNwcCk7Cj4gLQkJc3RyaWRlID0gaW50 ZWxfZmItPnJvdGF0ZWRbMF0ucGl0Y2g7Cj4gKwkJc3RyaWRlID0gaW50ZWxfZmItPnJvdGF0ZWRb MF0ucGl0Y2ggLwo+ICsJCQlpbnRlbF90aWxlX2hlaWdodChkZXZfcHJpdiwgZmItPm1vZGlmaWVy WzBdLCBjcHApOwo+ICAJfSBlbHNlIHsKPiAtCQlzdHJpZGVfZGl2ID0gaW50ZWxfZmJfc3RyaWRl X2FsaWdubWVudChkZXZfcHJpdiwgZmItPm1vZGlmaWVyWzBdLAo+IC0JCQkJCQkgICAgICAgZmIt PnBpeGVsX2Zvcm1hdCk7Cj4gLQkJc3RyaWRlID0gZmItPnBpdGNoZXNbMF07Cj4gKwkJc3RyaWRl ID0gZmItPnBpdGNoZXNbMF0gLwo+ICsJCQlpbnRlbF9mYl9zdHJpZGVfYWxpZ25tZW50KGRldl9w cml2LCBmYi0+bW9kaWZpZXJbMF0sCj4gKwkJCQkJCSAgZmItPnBpeGVsX2Zvcm1hdCk7Cj4gIAl9 Cj4gIAo+ICAJaW50ZWxfYWRkX2ZiX29mZnNldHMoJnNyY194LCAmc3JjX3ksIGZiLCAwLCByb3Rh dGlvbik7Cj4gLQlzdXJmX2FkZHIgPSBpbnRlbF9jb21wdXRlX3RpbGVfb2Zmc2V0KCZzcmNfeCwg JnNyY195LCBmYiwgMCwKPiAtCQkJCQkgICAgICBzdHJpZGUsIHJvdGF0aW9uKTsKPiArCXN1cmZf YWRkciA9IGludGVsX2NvbXB1dGVfdGlsZV9vZmZzZXQoJnNyY194LCAmc3JjX3ksIGZiLCAwLCBy b3RhdGlvbik7Cj4gIAo+ICAJLyogU2l6ZXMgYXJlIDAgYmFzZWQgKi8KPiAgCXNyY193LS07Cj4g QEAgLTMzMjYsNyArMzMyOCw3IEBAIHN0YXRpYyB2b2lkIHNreWxha2VfdXBkYXRlX3ByaW1hcnlf cGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAo+ICAJSTkxNV9XUklURShQTEFORV9D VEwocGlwZSwgMCksIHBsYW5lX2N0bCk7Cj4gIAlJOTE1X1dSSVRFKFBMQU5FX09GRlNFVChwaXBl LCAwKSwgKHNyY195IDw8IDE2KSB8IHNyY194KTsKPiAtCUk5MTVfV1JJVEUoUExBTkVfU1RSSURF KHBpcGUsIDApLCBzdHJpZGUgLyBzdHJpZGVfZGl2KTsKPiArCUk5MTVfV1JJVEUoUExBTkVfU1RS SURFKHBpcGUsIDApLCBzdHJpZGUpOwo+ICAJSTkxNV9XUklURShQTEFORV9TSVpFKHBpcGUsIDAp LCAoc3JjX2ggPDwgMTYpIHwgc3JjX3cpOwo+ICAKPiAgCWlmIChzY2FsZXJfaWQgPj0gMCkgewo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggNDczYjRjZjlhMmZmLi5lM2RlMWZjM2Iw NGQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0xMTkwLDcgKzExOTAsNiBA QCB2b2lkIGFzc2VydF9waXBlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51 bSBwaXBlIHBpcGUsIGJvb2wgc3RhdGUpOwo+ICAjZGVmaW5lIGFzc2VydF9waXBlX2Rpc2FibGVk KGQsIHApIGFzc2VydF9waXBlKGQsIHAsIGZhbHNlKQo+ICB1MzIgaW50ZWxfY29tcHV0ZV90aWxl X29mZnNldChpbnQgKngsIGludCAqeSwKPiAgCQkJICAgICAgY29uc3Qgc3RydWN0IGRybV9mcmFt ZWJ1ZmZlciAqZmIsIGludCBwbGFuZSwKPiAtCQkJICAgICAgdW5zaWduZWQgaW50IHBpdGNoLAo+ ICAJCQkgICAgICB1bnNpZ25lZCBpbnQgcm90YXRpb24pOwo+ICB2b2lkIGludGVsX3ByZXBhcmVf cmVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gIHZvaWQgaW50ZWxfZmluaXNoX3Jlc2V0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5j Cj4gaW5kZXggODYxNzYzMDQxNTVkLi4zMWJlMjRmMjcyMDcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9zcHJpdGUuYwo+IEBAIC0xODksNyArMTg5LDcgQEAgc2tsX3VwZGF0ZV9wbGFuZShz dHJ1Y3QgZHJtX3BsYW5lICpkcm1fcGxhbmUsCj4gIAlzdHJ1Y3QgaW50ZWxfZnJhbWVidWZmZXIg KmludGVsX2ZiID0gdG9faW50ZWxfZnJhbWVidWZmZXIoZmIpOwo+ICAJY29uc3QgaW50IHBpcGUg PSBpbnRlbF9wbGFuZS0+cGlwZTsKPiAgCWNvbnN0IGludCBwbGFuZSA9IGludGVsX3BsYW5lLT5w bGFuZSArIDE7Cj4gLQl1MzIgcGxhbmVfY3RsLCBzdHJpZGVfZGl2LCBzdHJpZGU7Cj4gKwl1MzIg cGxhbmVfY3RsLCBzdHJpZGU7Cj4gIAljb25zdCBzdHJ1Y3QgZHJtX2ludGVsX3Nwcml0ZV9jb2xv cmtleSAqa2V5ID0gJnBsYW5lX3N0YXRlLT5ja2V5Owo+ICAJdTMyIHN1cmZfYWRkcjsKPiAgCXVu c2lnbmVkIGludCByb3RhdGlvbiA9IHBsYW5lX3N0YXRlLT5iYXNlLnJvdGF0aW9uOwo+IEBAIC0y NDEsMTcgKzI0MSwxNiBAQCBza2xfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRybV9w bGFuZSwKPiAgCQlzcmNfdyA9IGRybV9yZWN0X3dpZHRoKCZyKTsKPiAgCQlzcmNfaCA9IGRybV9y ZWN0X2hlaWdodCgmcik7Cj4gIAo+IC0JCXN0cmlkZV9kaXYgPSBpbnRlbF90aWxlX2hlaWdodChk ZXZfcHJpdiwgZmItPm1vZGlmaWVyWzBdLCBjcHApOwo+IC0JCXN0cmlkZSA9IGludGVsX2ZiLT5y b3RhdGVkWzBdLnBpdGNoOwo+ICsJCXN0cmlkZSA9IGludGVsX2ZiLT5yb3RhdGVkWzBdLnBpdGNo IC8KPiArCQkJaW50ZWxfdGlsZV9oZWlnaHQoZGV2X3ByaXYsIGZiLT5tb2RpZmllclswXSwgY3Bw KTsKPiAgCX0gZWxzZSB7Cj4gLQkJc3RyaWRlX2RpdiA9IGludGVsX2ZiX3N0cmlkZV9hbGlnbm1l bnQoZGV2X3ByaXYsIGZiLT5tb2RpZmllclswXSwKPiAtCQkJCQkJICAgICAgIGZiLT5waXhlbF9m b3JtYXQpOwo+IC0JCXN0cmlkZSA9IGZiLT5waXRjaGVzWzBdOwo+ICsJCXN0cmlkZSA9IGZiLT5w aXRjaGVzWzBdIC8KPiArCQkJaW50ZWxfZmJfc3RyaWRlX2FsaWdubWVudChkZXZfcHJpdiwgZmIt Pm1vZGlmaWVyWzBdLAo+ICsJCQkJCQkgIGZiLT5waXhlbF9mb3JtYXQpOwo+ICAJfQo+ICAKPiAg CWludGVsX2FkZF9mYl9vZmZzZXRzKCZ4LCAmeSwgZmIsIDAsIHJvdGF0aW9uKTsKPiAtCXN1cmZf YWRkciA9IGludGVsX2NvbXB1dGVfdGlsZV9vZmZzZXQoJngsICZ5LCBmYiwgMCwKPiAtCQkJCQkg ICAgICBzdHJpZGUsIHJvdGF0aW9uKTsKPiArCXN1cmZfYWRkciA9IGludGVsX2NvbXB1dGVfdGls ZV9vZmZzZXQoJngsICZ5LCBmYiwgMCwgcm90YXRpb24pOwo+ICAKPiAgCS8qIFNpemVzIGFyZSAw IGJhc2VkICovCj4gIAlzcmNfdy0tOwo+IEBAIC0yNjAsNyArMjU5LDcgQEAgc2tsX3VwZGF0ZV9w bGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpkcm1fcGxhbmUsCj4gIAljcnRjX2gtLTsKPiAgCj4gIAlJ OTE1X1dSSVRFKFBMQU5FX09GRlNFVChwaXBlLCBwbGFuZSksICh5IDw8IDE2KSB8IHgpOwo+IC0J STkxNV9XUklURShQTEFORV9TVFJJREUocGlwZSwgcGxhbmUpLCBzdHJpZGUgLyBzdHJpZGVfZGl2 KTsKPiArCUk5MTVfV1JJVEUoUExBTkVfU1RSSURFKHBpcGUsIHBsYW5lKSwgc3RyaWRlKTsKPiAg CUk5MTVfV1JJVEUoUExBTkVfU0laRShwaXBlLCBwbGFuZSksIChzcmNfaCA8PCAxNikgfCBzcmNf dyk7Cj4gIAo+ICAJLyogcHJvZ3JhbSBwbGFuZSBzY2FsZXIgKi8KPiBAQCAtNDI4LDggKzQyNyw3 IEBAIHZsdl91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqZHBsYW5lLAo+ICAJY3J0Y19o LS07Cj4gIAo+ICAJaW50ZWxfYWRkX2ZiX29mZnNldHMoJngsICZ5LCBmYiwgMCwgcm90YXRpb24p Owo+IC0Jc3Byc3VyZl9vZmZzZXQgPSBpbnRlbF9jb21wdXRlX3RpbGVfb2Zmc2V0KCZ4LCAmeSwg ZmIsIDAsCj4gLQkJCQkJCSAgIGZiLT5waXRjaGVzWzBdLCByb3RhdGlvbik7Cj4gKwlzcHJzdXJm X29mZnNldCA9IGludGVsX2NvbXB1dGVfdGlsZV9vZmZzZXQoJngsICZ5LCBmYiwgMCwgcm90YXRp b24pOwo+ICAKPiAgCWlmIChyb3RhdGlvbiA9PSBCSVQoRFJNX1JPVEFURV8xODApKSB7Cj4gIAkJ c3ByY3RsIHw9IFNQX1JPVEFURV8xODA7Cj4gQEAgLTU2MCw4ICs1NTgsNyBAQCBpdmJfdXBkYXRl X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJCXNwcnNjYWxlID0gU1BSSVRFX1ND QUxFX0VOQUJMRSB8IChzcmNfdyA8PCAxNikgfCBzcmNfaDsKPiAgCj4gIAlpbnRlbF9hZGRfZmJf b2Zmc2V0cygmeCwgJnksIGZiLCAwLCByb3RhdGlvbik7Cj4gLQlzcHJzdXJmX29mZnNldCA9IGlu dGVsX2NvbXB1dGVfdGlsZV9vZmZzZXQoJngsICZ5LCBmYiwgMCwKPiAtCQkJCQkJICAgZmItPnBp dGNoZXNbMF0sIHJvdGF0aW9uKTsKPiArCXNwcnN1cmZfb2Zmc2V0ID0gaW50ZWxfY29tcHV0ZV90 aWxlX29mZnNldCgmeCwgJnksIGZiLCAwLCByb3RhdGlvbik7Cj4gIAo+ICAJaWYgKHJvdGF0aW9u ID09IEJJVChEUk1fUk9UQVRFXzE4MCkpIHsKPiAgCQlzcHJjdGwgfD0gU1BSSVRFX1JPVEFURV8x ODA7Cj4gQEAgLTY5Niw4ICs2OTMsNyBAQCBpbGtfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lLAo+ICAJCWR2c3NjYWxlID0gRFZTX1NDQUxFX0VOQUJMRSB8IChzcmNfdyA8PCAx NikgfCBzcmNfaDsKPiAgCj4gIAlpbnRlbF9hZGRfZmJfb2Zmc2V0cygmeCwgJnksIGZiLCAwLCBy b3RhdGlvbik7Cj4gLQlkdnNzdXJmX29mZnNldCA9IGludGVsX2NvbXB1dGVfdGlsZV9vZmZzZXQo JngsICZ5LCBmYiwgMCwKPiAtCQkJCQkJICAgZmItPnBpdGNoZXNbMF0sIHJvdGF0aW9uKTsKPiAr CWR2c3N1cmZfb2Zmc2V0ID0gaW50ZWxfY29tcHV0ZV90aWxlX29mZnNldCgmeCwgJnksIGZiLCAw LCByb3RhdGlvbik7Cj4gIAo+ICAJaWYgKHJvdGF0aW9uID09IEJJVChEUk1fUk9UQVRFXzE4MCkp IHsKPiAgCQlkdnNjbnRyIHw9IERWU19ST1RBVEVfMTgwOwo+IC0tIAo+IDIuNC4xMAo+IAo+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKRGFu aWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Js b2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK