From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Souza, Jose" Subject: Re: [PATCH 02/18] drm/i915: s/tile_offset/aligned_offset/ Date: Wed, 22 Aug 2018 21:55:45 +0000 Message-ID: <4ba1d8ebd389354cddae257a2a577c9d0ac455a1.camel@intel.com> References: <20180719182214.4323-1-ville.syrjala@linux.intel.com> <20180719182214.4323-3-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 45E9E6E3E9 for ; Wed, 22 Aug 2018 21:55:48 +0000 (UTC) In-Reply-To: <20180719182214.4323-3-ville.syrjala@linux.intel.com> Content-Language: en-US Content-ID: <828F3BAD04581048B1D47016D111429B@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" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE4LTA3LTE5IGF0IDIxOjIxICswMzAwLCBWaWxsZSBTeXJqYWxhIHdyb3RlOg0K PiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPg0K PiANCj4gUmVuYW1lIHNvbWUgb2YgdGhlIHRpbGVfb2Zmc2V0KCkgZnVuY3Rpb25zIHRvIGFsaWdu ZWRfb2Zmc2V0KCkgc2luY2UNCj4gdGhleSBvcGVyYXRlIG9uIGJvdGggbGluZWFyIGFuZCB0aWxl ZCBmdW5jdGlvbnMuIEFuZCB3ZSdsbCBpbmNsdWRlDQo+IF9wbGFuZV8gaW4gdGhlIG5hbWUgb2Yg YWxsIHRoZSB2YXJpYW50cyB0aGF0IHRha2UgYSBwbGFuZSBzdGF0ZS4NCj4gU2hvdWxkIG1ha2Ug aXQgbW9yZSBjbGVhciB3aGljaCBmdW5jdGlvbiB0byB1c2Ugd2hlcmUuDQo+IA0KDQpNYXliZSBy ZW5hbWUgdGhlIHRpdGxlIGFzIGl0IGlzIG5vdCBkb2luZyBvbmx5DQpzL3RpbGVfb2Zmc2V0L2Fs aWduZWRfb2Zmc2V0LyBhcyBkZXNjcmliZWQgaW4gdGhlIGNvbW1pdCBtZXNzYWdlIGFuZCBpbg0K Y29kZS4NCg0KUmV2aWV3ZWQtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFA aW50ZWwuY29tPg0KDQoNCj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbT4NCj4gLS0tDQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgfCAxMjMgKysrKysrKysrKysrKysrKysrLS0tLS0tLQ0KPiAtLS0tLS0t LS0tDQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgIDIgLQ0KPiAg MiBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCA2MiBkZWxldGlvbnMoLSkNCj4gDQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMNCj4gYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMNCj4gaW5kZXggOGVmZmYwYzU2OTIw Li41ZjgzMDRhMTE0ODIgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMN Cj4gQEAgLTIyMjksMTMgKzIyMjksMTMgQEAgdm9pZCBpbnRlbF9hZGRfZmJfb2Zmc2V0cyhpbnQg KngsIGludCAqeSwNCj4gIAl9DQo+ICB9DQo+ICANCj4gLXN0YXRpYyB1MzIgX19pbnRlbF9hZGp1 c3RfdGlsZV9vZmZzZXQoaW50ICp4LCBpbnQgKnksDQo+IC0JCQkJICAgICAgdW5zaWduZWQgaW50 IHRpbGVfd2lkdGgsDQo+IC0JCQkJICAgICAgdW5zaWduZWQgaW50IHRpbGVfaGVpZ2h0LA0KPiAt CQkJCSAgICAgIHVuc2lnbmVkIGludCB0aWxlX3NpemUsDQo+IC0JCQkJICAgICAgdW5zaWduZWQg aW50IHBpdGNoX3RpbGVzLA0KPiAtCQkJCSAgICAgIHUzMiBvbGRfb2Zmc2V0LA0KPiAtCQkJCSAg ICAgIHUzMiBuZXdfb2Zmc2V0KQ0KPiArc3RhdGljIHUzMiBpbnRlbF9hZGp1c3RfdGlsZV9vZmZz ZXQoaW50ICp4LCBpbnQgKnksDQo+ICsJCQkJICAgIHVuc2lnbmVkIGludCB0aWxlX3dpZHRoLA0K PiArCQkJCSAgICB1bnNpZ25lZCBpbnQgdGlsZV9oZWlnaHQsDQo+ICsJCQkJICAgIHVuc2lnbmVk IGludCB0aWxlX3NpemUsDQo+ICsJCQkJICAgIHVuc2lnbmVkIGludCBwaXRjaF90aWxlcywNCj4g KwkJCQkgICAgdTMyIG9sZF9vZmZzZXQsDQo+ICsJCQkJICAgIHUzMiBuZXdfb2Zmc2V0KQ0KPiAg ew0KPiAgCXVuc2lnbmVkIGludCBwaXRjaF9waXhlbHMgPSBwaXRjaF90aWxlcyAqIHRpbGVfd2lk dGg7DQo+ICAJdW5zaWduZWQgaW50IHRpbGVzOw0KPiBAQCAtMjI1NiwxMiArMjI1NiwxMiBAQCBz dGF0aWMgdTMyIF9faW50ZWxfYWRqdXN0X3RpbGVfb2Zmc2V0KGludCAqeCwNCj4gaW50ICp5LA0K PiAgCXJldHVybiBuZXdfb2Zmc2V0Ow0KPiAgfQ0KPiAgDQo+IC1zdGF0aWMgdTMyIF9pbnRlbF9h ZGp1c3RfdGlsZV9vZmZzZXQoaW50ICp4LCBpbnQgKnksDQo+IC0JCQkJICAgICBjb25zdCBzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwNCj4gaW50IHBsYW5lLA0KPiAtCQkJCSAgICAgdW5zaWdu ZWQgaW50IHJvdGF0aW9uLA0KPiAtCQkJCSAgICAgdTMyIG9sZF9vZmZzZXQsIHUzMiBuZXdfb2Zm c2V0KQ0KPiArc3RhdGljIHUzMiBpbnRlbF9hZGp1c3RfYWxpZ25lZF9vZmZzZXQoaW50ICp4LCBp bnQgKnksDQo+ICsJCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXINCj4gKmZi LCBpbnQgcGxhbmUsDQo+ICsJCQkJICAgICAgIHVuc2lnbmVkIGludCByb3RhdGlvbiwNCj4gKwkJ CQkgICAgICAgdTMyIG9sZF9vZmZzZXQsIHUzMiBuZXdfb2Zmc2V0KQ0KPiAgew0KPiAtCWNvbnN0 IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZmItPmRldik7DQo+ ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShmYi0+ZGV2KTsN Cj4gIAl1bnNpZ25lZCBpbnQgY3BwID0gZmItPmZvcm1hdC0+Y3BwW3BsYW5lXTsNCj4gIAl1bnNp Z25lZCBpbnQgcGl0Y2ggPSBpbnRlbF9mYl9waXRjaChmYiwgcGxhbmUsIHJvdGF0aW9uKTsNCj4g IA0KPiBAQCAtMjI4MSw5ICsyMjgxLDkgQEAgc3RhdGljIHUzMiBfaW50ZWxfYWRqdXN0X3RpbGVf b2Zmc2V0KGludCAqeCwNCj4gaW50ICp5LA0KPiAgCQkJcGl0Y2hfdGlsZXMgPSBwaXRjaCAvICh0 aWxlX3dpZHRoICogY3BwKTsNCj4gIAkJfQ0KPiAgDQo+IC0JCV9faW50ZWxfYWRqdXN0X3RpbGVf b2Zmc2V0KHgsIHksIHRpbGVfd2lkdGgsDQo+IHRpbGVfaGVpZ2h0LA0KPiAtCQkJCQkgICB0aWxl X3NpemUsIHBpdGNoX3RpbGVzLA0KPiAtCQkJCQkgICBvbGRfb2Zmc2V0LCBuZXdfb2Zmc2V0KTsN Cj4gKwkJaW50ZWxfYWRqdXN0X3RpbGVfb2Zmc2V0KHgsIHksIHRpbGVfd2lkdGgsIHRpbGVfaGVp Z2h0LA0KPiArCQkJCQkgdGlsZV9zaXplLCBwaXRjaF90aWxlcywNCj4gKwkJCQkJIG9sZF9vZmZz ZXQsIG5ld19vZmZzZXQpOw0KPiAgCX0gZWxzZSB7DQo+ICAJCW9sZF9vZmZzZXQgKz0gKnkgKiBw aXRjaCArICp4ICogY3BwOw0KPiAgDQo+IEBAIC0yMjk4LDE3ICsyMjk4LDE4IEBAIHN0YXRpYyB1 MzIgX2ludGVsX2FkanVzdF90aWxlX29mZnNldChpbnQgKngsDQo+IGludCAqeSwNCj4gICAqIEFk anVzdCB0aGUgdGlsZSBvZmZzZXQgYnkgbW92aW5nIHRoZSBkaWZmZXJlbmNlIGludG8NCj4gICAq IHRoZSB4L3kgb2Zmc2V0cy4NCj4gICAqLw0KPiAtc3RhdGljIHUzMiBpbnRlbF9hZGp1c3RfdGls ZV9vZmZzZXQoaW50ICp4LCBpbnQgKnksDQo+IC0JCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9w bGFuZV9zdGF0ZQ0KPiAqc3RhdGUsIGludCBwbGFuZSwNCj4gLQkJCQkgICAgdTMyIG9sZF9vZmZz ZXQsIHUzMiBuZXdfb2Zmc2V0KQ0KPiArc3RhdGljIHUzMiBpbnRlbF9wbGFuZV9hZGp1c3RfYWxp Z25lZF9vZmZzZXQoaW50ICp4LCBpbnQgKnksDQo+ICsJCQkJCSAgICAgY29uc3Qgc3RydWN0DQo+ IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZSwNCj4gKwkJCQkJICAgICBpbnQgcGxhbmUsDQo+ICsJ CQkJCSAgICAgdTMyIG9sZF9vZmZzZXQsIHUzMg0KPiBuZXdfb2Zmc2V0KQ0KPiAgew0KPiAtCXJl dHVybiBfaW50ZWxfYWRqdXN0X3RpbGVfb2Zmc2V0KHgsIHksIHN0YXRlLT5iYXNlLmZiLCBwbGFu ZSwNCj4gLQkJCQkJIHN0YXRlLT5iYXNlLnJvdGF0aW9uLA0KPiAtCQkJCQkgb2xkX29mZnNldCwg bmV3X29mZnNldCk7DQo+ICsJcmV0dXJuIGludGVsX2FkanVzdF9hbGlnbmVkX29mZnNldCh4LCB5 LCBzdGF0ZS0+YmFzZS5mYiwgcGxhbmUsDQo+ICsJCQkJCSAgIHN0YXRlLT5iYXNlLnJvdGF0aW9u LA0KPiArCQkJCQkgICBvbGRfb2Zmc2V0LCBuZXdfb2Zmc2V0KTsNCj4gIH0NCj4gIA0KPiAgLyoN Cj4gLSAqIENvbXB1dGVzIHRoZSBsaW5lYXIgb2Zmc2V0IHRvIHRoZSBiYXNlIHRpbGUgYW5kIGFk anVzdHMNCj4gKyAqIENvbXB1dGVzIHRoZSBhbGlnbmVkIG9mZnNldCB0byB0aGUgYmFzZSB0aWxl IGFuZCBhZGp1c3RzDQo+ICAgKiB4LCB5LiBieXRlcyBwZXIgcGl4ZWwgaXMgYXNzdW1lZCB0byBi ZSBhIHBvd2VyLW9mLXR3by4NCj4gICAqDQo+ICAgKiBJbiB0aGUgOTAvMjcwIHJvdGF0ZWQgY2Fz ZSwgeCBhbmQgeSBhcmUgYXNzdW1lZA0KPiBAQCAtMjMyMSwxMiArMjMyMiwxMiBAQCBzdGF0aWMg dTMyIGludGVsX2FkanVzdF90aWxlX29mZnNldChpbnQgKngsDQo+IGludCAqeSwNCj4gICAqIHVz ZWQuIFRoaXMgaXMgd2h5IHRoZSB1c2VyIGhhcyB0byBwYXNzIGluIHRoZSBwaXRjaCBzaW5jZSBp dA0KPiAgICogaXMgc3BlY2lmaWVkIGluIHRoZSByb3RhdGVkIG9yaWVudGF0aW9uLg0KPiAgICov DQo+IC1zdGF0aWMgdTMyIF9pbnRlbF9jb21wdXRlX3RpbGVfb2Zmc2V0KGNvbnN0IHN0cnVjdCBk cm1faTkxNV9wcml2YXRlDQo+ICpkZXZfcHJpdiwNCj4gLQkJCQkgICAgICBpbnQgKngsIGludCAq eSwNCj4gLQkJCQkgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwNCj4gaW50 IHBsYW5lLA0KPiAtCQkJCSAgICAgIHVuc2lnbmVkIGludCBwaXRjaCwNCj4gLQkJCQkgICAgICB1 bnNpZ25lZCBpbnQgcm90YXRpb24sDQo+IC0JCQkJICAgICAgdTMyIGFsaWdubWVudCkNCj4gK3N0 YXRpYyB1MzIgaW50ZWxfY29tcHV0ZV9hbGlnbmVkX29mZnNldChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZQ0KPiAqZGV2X3ByaXYsDQo+ICsJCQkJCWludCAqeCwgaW50ICp5LA0KPiArCQkJCQljb25z dCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyDQo+ICpmYiwgaW50IHBsYW5lLA0KPiArCQkJCQl1bnNp Z25lZCBpbnQgcGl0Y2gsDQo+ICsJCQkJCXVuc2lnbmVkIGludCByb3RhdGlvbiwNCj4gKwkJCQkJ dTMyIGFsaWdubWVudCkNCj4gIHsNCj4gIAl1aW50NjRfdCBmYl9tb2RpZmllciA9IGZiLT5tb2Rp ZmllcjsNCj4gIAl1bnNpZ25lZCBpbnQgY3BwID0gZmItPmZvcm1hdC0+Y3BwW3BsYW5lXTsNCj4g QEAgLTIzNTgsOSArMjM1OSw5IEBAIHN0YXRpYyB1MzIgX2ludGVsX2NvbXB1dGVfdGlsZV9vZmZz ZXQoY29uc3QNCj4gc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LA0KPiAgCQlvZmZz ZXQgPSAodGlsZV9yb3dzICogcGl0Y2hfdGlsZXMgKyB0aWxlcykgKiB0aWxlX3NpemU7DQo+ICAJ CW9mZnNldF9hbGlnbmVkID0gb2Zmc2V0ICYgfmFsaWdubWVudDsNCj4gIA0KPiAtCQlfX2ludGVs X2FkanVzdF90aWxlX29mZnNldCh4LCB5LCB0aWxlX3dpZHRoLA0KPiB0aWxlX2hlaWdodCwNCj4g LQkJCQkJICAgdGlsZV9zaXplLCBwaXRjaF90aWxlcywNCj4gLQkJCQkJICAgb2Zmc2V0LCBvZmZz ZXRfYWxpZ25lZCk7DQo+ICsJCWludGVsX2FkanVzdF90aWxlX29mZnNldCh4LCB5LCB0aWxlX3dp ZHRoLCB0aWxlX2hlaWdodCwNCj4gKwkJCQkJIHRpbGVfc2l6ZSwgcGl0Y2hfdGlsZXMsDQo+ICsJ CQkJCSBvZmZzZXQsIG9mZnNldF9hbGlnbmVkKTsNCj4gIAl9IGVsc2Ugew0KPiAgCQlvZmZzZXQg PSAqeSAqIHBpdGNoICsgKnggKiBjcHA7DQo+ICAJCW9mZnNldF9hbGlnbmVkID0gb2Zmc2V0ICYg fmFsaWdubWVudDsNCj4gQEAgLTIzNzIsOSArMjM3Myw5IEBAIHN0YXRpYyB1MzIgX2ludGVsX2Nv bXB1dGVfdGlsZV9vZmZzZXQoY29uc3QNCj4gc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LA0KPiAgCXJldHVybiBvZmZzZXRfYWxpZ25lZDsNCj4gIH0NCj4gIA0KPiAtdTMyIGludGVs X2NvbXB1dGVfdGlsZV9vZmZzZXQoaW50ICp4LCBpbnQgKnksDQo+IC0JCQkgICAgICBjb25zdCBz dHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlLA0KPiAtCQkJICAgICAgaW50IHBsYW5lKQ0K PiArc3RhdGljIHUzMiBpbnRlbF9wbGFuZV9jb21wdXRlX2FsaWduZWRfb2Zmc2V0KGludCAqeCwg aW50ICp5LA0KPiArCQkJCQkgICAgICBjb25zdCBzdHJ1Y3QNCj4gaW50ZWxfcGxhbmVfc3RhdGUg KnN0YXRlLA0KPiArCQkJCQkgICAgICBpbnQgcGxhbmUpDQo+ICB7DQo+ICAJc3RydWN0IGludGVs X3BsYW5lICppbnRlbF9wbGFuZSA9IHRvX2ludGVsX3BsYW5lKHN0YXRlLQ0KPiA+YmFzZS5wbGFu ZSk7DQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRl bF9wbGFuZS0NCj4gPmJhc2UuZGV2KTsNCj4gQEAgLTIzODgsOCArMjM4OSw4IEBAIHUzMiBpbnRl bF9jb21wdXRlX3RpbGVfb2Zmc2V0KGludCAqeCwgaW50ICp5LA0KPiAgCWVsc2UNCj4gIAkJYWxp Z25tZW50ID0gaW50ZWxfc3VyZl9hbGlnbm1lbnQoZmIsIHBsYW5lKTsNCj4gIA0KPiAtCXJldHVy biBfaW50ZWxfY29tcHV0ZV90aWxlX29mZnNldChkZXZfcHJpdiwgeCwgeSwgZmIsIHBsYW5lLA0K PiBwaXRjaCwNCj4gLQkJCQkJICByb3RhdGlvbiwgYWxpZ25tZW50KTsNCj4gKwlyZXR1cm4gaW50 ZWxfY29tcHV0ZV9hbGlnbmVkX29mZnNldChkZXZfcHJpdiwgeCwgeSwgZmIsIHBsYW5lLA0KPiAr CQkJCQkgICAgcGl0Y2gsIHJvdGF0aW9uLA0KPiBhbGlnbm1lbnQpOw0KPiAgfQ0KPiAgDQo+ICAv KiBDb252ZXJ0IHRoZSBmYi0+b2Zmc2V0W10gaW50byB4L3kgb2Zmc2V0cyAqLw0KPiBAQCAtMjQw NSw5ICsyNDA2LDkgQEAgc3RhdGljIGludCBpbnRlbF9mYl9vZmZzZXRfdG9feHkoaW50ICp4LCBp bnQNCj4gKnksDQo+ICAJKnggPSAwOw0KPiAgCSp5ID0gMDsNCj4gIA0KPiAtCV9pbnRlbF9hZGp1 c3RfdGlsZV9vZmZzZXQoeCwgeSwNCj4gLQkJCQkgIGZiLCBwbGFuZSwgRFJNX01PREVfUk9UQVRF XzAsDQo+IC0JCQkJICBmYi0+b2Zmc2V0c1twbGFuZV0sIDApOw0KPiArCWludGVsX2FkanVzdF9h bGlnbmVkX29mZnNldCh4LCB5LA0KPiArCQkJCSAgICBmYiwgcGxhbmUsIERSTV9NT0RFX1JPVEFU RV8wLA0KPiArCQkJCSAgICBmYi0+b2Zmc2V0c1twbGFuZV0sIDApOw0KPiAgDQo+ICAJcmV0dXJu IDA7DQo+ICB9DQo+IEBAIC0yNTU5LDkgKzI1NjAsMTAgQEAgaW50ZWxfZmlsbF9mYl9pbmZvKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlDQo+ICpkZXZfcHJpdiwNCj4gIAkJaW50ZWxfZmItPm5vcm1h bFtpXS54ID0geDsNCj4gIAkJaW50ZWxfZmItPm5vcm1hbFtpXS55ID0geTsNCj4gIA0KPiAtCQlv ZmZzZXQgPSBfaW50ZWxfY29tcHV0ZV90aWxlX29mZnNldChkZXZfcHJpdiwgJngsICZ5LA0KPiAt CQkJCQkJICAgIGZiLCBpLCBmYi0NCj4gPnBpdGNoZXNbaV0sDQo+IC0JCQkJCQkgICAgRFJNX01P REVfUk9UQVRFXzAsDQo+IHRpbGVfc2l6ZSk7DQo+ICsJCW9mZnNldCA9IGludGVsX2NvbXB1dGVf YWxpZ25lZF9vZmZzZXQoZGV2X3ByaXYsICZ4LCAmeSwNCj4gZmIsIGksDQo+ICsJCQkJCQkgICAg ICBmYi0+cGl0Y2hlc1tpXSwNCj4gKwkJCQkJCSAgICAgIERSTV9NT0RFX1JPVEFURV8wDQo+ICwN Cj4gKwkJCQkJCSAgICAgIHRpbGVfc2l6ZSk7DQo+ICAJCW9mZnNldCAvPSB0aWxlX3NpemU7DQo+ ICANCj4gIAkJaWYgKGZiLT5tb2RpZmllciAhPSBEUk1fRk9STUFUX01PRF9MSU5FQVIpIHsNCj4g QEAgLTI2MDgsMTAgKzI2MTAsMTAgQEAgaW50ZWxfZmlsbF9mYl9pbmZvKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlDQo+ICpkZXZfcHJpdiwNCj4gIAkJCSAqIFdlIG9ubHkga2VlcCB0aGUgeC95IG9m ZnNldHMsIHNvIHB1c2ggYWxsIG9mDQo+IHRoZQ0KPiAgCQkJICogZ3R0IG9mZnNldCBpbnRvIHRo ZSB4L3kgb2Zmc2V0cy4NCj4gIAkJCSAqLw0KPiAtCQkJX19pbnRlbF9hZGp1c3RfdGlsZV9vZmZz ZXQoJngsICZ5LA0KPiAtCQkJCQkJICAgdGlsZV93aWR0aCwNCj4gdGlsZV9oZWlnaHQsDQo+IC0J CQkJCQkgICB0aWxlX3NpemUsDQo+IHBpdGNoX3RpbGVzLA0KPiAtCQkJCQkJICAgZ3R0X29mZnNl dF9yb3RhdGVkICoNCj4gdGlsZV9zaXplLCAwKTsNCj4gKwkJCWludGVsX2FkanVzdF90aWxlX29m ZnNldCgmeCwgJnksDQo+ICsJCQkJCQkgdGlsZV93aWR0aCwNCj4gdGlsZV9oZWlnaHQsDQo+ICsJ CQkJCQkgdGlsZV9zaXplLA0KPiBwaXRjaF90aWxlcywNCj4gKwkJCQkJCSBndHRfb2Zmc2V0X3Jv dGF0ZWQgKg0KPiB0aWxlX3NpemUsIDApOw0KPiAgDQo+ICAJCQlndHRfb2Zmc2V0X3JvdGF0ZWQg Kz0gcm90X2luZm8tPnBsYW5lW2ldLndpZHRoDQo+ICogcm90X2luZm8tPnBsYW5lW2ldLmhlaWdo dDsNCj4gIA0KPiBAQCAtMjk2MCw4ICsyOTYyLDggQEAgc3RhdGljIGJvb2wNCj4gc2tsX2NoZWNr X21haW5fY2NzX2Nvb3JkaW5hdGVzKHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3Rh dGUNCj4gIA0KPiAgCQl4ID0gYXV4X3ggLyBoc3ViOw0KPiAgCQl5ID0gYXV4X3kgLyB2c3ViOw0K PiAtCQlhdXhfb2Zmc2V0ID0gaW50ZWxfYWRqdXN0X3RpbGVfb2Zmc2V0KCZ4LCAmeSwNCj4gcGxh bmVfc3RhdGUsIDEsDQo+IC0JCQkJCQkgICAgICBhdXhfb2Zmc2V0LA0KPiBhdXhfb2Zmc2V0IC0g YWxpZ25tZW50KTsNCj4gKwkJYXV4X29mZnNldCA9IGludGVsX3BsYW5lX2FkanVzdF9hbGlnbmVk X29mZnNldCgmeCwgJnksDQo+IHBsYW5lX3N0YXRlLCAxLA0KPiArCQkJCQkJCSAgICAgICBhdXhf b2Zmcw0KPiBldCwgYXV4X29mZnNldCAtIGFsaWdubWVudCk7DQo+ICAJCWF1eF94ID0geCAqIGhz dWIgKyBhdXhfeCAlIGhzdWI7DQo+ICAJCWF1eF95ID0geSAqIHZzdWIgKyBhdXhfeSAlIHZzdWI7 DQo+ICAJfQ0KPiBAQCAtMzAxOSw3ICszMDIxLDcgQEAgc3RhdGljIGludCBza2xfY2hlY2tfbWFp bl9zdXJmYWNlKGNvbnN0IHN0cnVjdA0KPiBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLA0K PiAgCX0NCj4gIA0KPiAgCWludGVsX2FkZF9mYl9vZmZzZXRzKCZ4LCAmeSwgcGxhbmVfc3RhdGUs IDApOw0KPiAtCW9mZnNldCA9IGludGVsX2NvbXB1dGVfdGlsZV9vZmZzZXQoJngsICZ5LCBwbGFu ZV9zdGF0ZSwgMCk7DQo+ICsJb2Zmc2V0ID0gaW50ZWxfcGxhbmVfY29tcHV0ZV9hbGlnbmVkX29m ZnNldCgmeCwgJnksDQo+IHBsYW5lX3N0YXRlLCAwKTsNCj4gIAlhbGlnbm1lbnQgPSBpbnRlbF9z dXJmX2FsaWdubWVudChmYiwgMCk7DQo+ICANCj4gIAkvKg0KPiBAQCAtMzAyOCw4ICszMDMwLDgg QEAgc3RhdGljIGludCBza2xfY2hlY2tfbWFpbl9zdXJmYWNlKGNvbnN0IHN0cnVjdA0KPiBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLA0KPiAgCSAqIHN1cmUgdGhhdCBpcyB3aGF0IHdlIHdp bGwgZ2V0Lg0KPiAgCSAqLw0KPiAgCWlmIChvZmZzZXQgPiBhdXhfb2Zmc2V0KQ0KPiAtCQlvZmZz ZXQgPSBpbnRlbF9hZGp1c3RfdGlsZV9vZmZzZXQoJngsICZ5LCBwbGFuZV9zdGF0ZSwNCj4gMCwN Cj4gLQkJCQkJCSAgb2Zmc2V0LCBhdXhfb2Zmc2V0ICYNCj4gfihhbGlnbm1lbnQgLSAxKSk7DQo+ ICsJCW9mZnNldCA9IGludGVsX3BsYW5lX2FkanVzdF9hbGlnbmVkX29mZnNldCgmeCwgJnksDQo+ IHBsYW5lX3N0YXRlLCAwLA0KPiArCQkJCQkJCSAgIG9mZnNldCwNCj4gYXV4X29mZnNldCAmIH4o YWxpZ25tZW50IC0gMSkpOw0KPiAgDQo+ICAJLyoNCj4gIAkgKiBXaGVuIHVzaW5nIGFuIFgtdGls ZWQgc3VyZmFjZSwgdGhlIHBsYW5lIGJsb3dzIHVwDQo+IEBAIC0zMDQ2LDggKzMwNDgsOCBAQCBz dGF0aWMgaW50IHNrbF9jaGVja19tYWluX3N1cmZhY2UoY29uc3Qgc3RydWN0DQo+IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUsDQo+ICAJCQkJcmV0dXJuIC1FSU5WQUw7DQo+ICAJCQl9DQo+ ICANCj4gLQkJCW9mZnNldCA9IGludGVsX2FkanVzdF90aWxlX29mZnNldCgmeCwgJnksDQo+IHBs YW5lX3N0YXRlLCAwLA0KPiAtCQkJCQkJCSAgb2Zmc2V0LA0KPiBvZmZzZXQgLSBhbGlnbm1lbnQp Ow0KPiArCQkJb2Zmc2V0ID0gaW50ZWxfcGxhbmVfYWRqdXN0X2FsaWduZWRfb2Zmc2V0KCZ4LA0K PiAmeSwgcGxhbmVfc3RhdGUsIDAsDQo+ICsJCQkJCQkJCSAgIG9mZnMNCj4gZXQsIG9mZnNldCAt IGFsaWdubWVudCk7DQo+ICAJCX0NCj4gIAl9DQo+ICANCj4gQEAgLTMwNjEsOCArMzA2Myw4IEBA IHN0YXRpYyBpbnQgc2tsX2NoZWNrX21haW5fc3VyZmFjZShjb25zdCBzdHJ1Y3QNCj4gaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwNCj4gIAkJCWlmIChvZmZzZXQgPT0gMCkNCj4gIAkJCQli cmVhazsNCj4gIA0KPiAtCQkJb2Zmc2V0ID0gaW50ZWxfYWRqdXN0X3RpbGVfb2Zmc2V0KCZ4LCAm eSwNCj4gcGxhbmVfc3RhdGUsIDAsDQo+IC0JCQkJCQkJICBvZmZzZXQsDQo+IG9mZnNldCAtIGFs aWdubWVudCk7DQo+ICsJCQlvZmZzZXQgPSBpbnRlbF9wbGFuZV9hZGp1c3RfYWxpZ25lZF9vZmZz ZXQoJngsDQo+ICZ5LCBwbGFuZV9zdGF0ZSwgMCwNCj4gKwkJCQkJCQkJICAgb2Zmcw0KPiBldCwg b2Zmc2V0IC0gYWxpZ25tZW50KTsNCj4gIAkJfQ0KPiAgDQo+ICAJCWlmICh4ICE9IHBsYW5lX3N0 YXRlLT5hdXgueCB8fCB5ICE9IHBsYW5lX3N0YXRlLT5hdXgueSkgDQo+IHsNCj4gQEAgLTMxMTQs NyArMzExNiw3IEBAIHN0YXRpYyBpbnQgc2tsX2NoZWNrX252MTJfYXV4X3N1cmZhY2Uoc3RydWN0 DQo+IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkNCj4gIAl1MzIgb2Zmc2V0Ow0KPiAg DQo+ICAJaW50ZWxfYWRkX2ZiX29mZnNldHMoJngsICZ5LCBwbGFuZV9zdGF0ZSwgMSk7DQo+IC0J b2Zmc2V0ID0gaW50ZWxfY29tcHV0ZV90aWxlX29mZnNldCgmeCwgJnksIHBsYW5lX3N0YXRlLCAx KTsNCj4gKwlvZmZzZXQgPSBpbnRlbF9wbGFuZV9jb21wdXRlX2FsaWduZWRfb2Zmc2V0KCZ4LCAm eSwNCj4gcGxhbmVfc3RhdGUsIDEpOw0KPiAgDQo+ICAJLyogRklYTUUgbm90IHF1aXRlIHN1cmUg aG93L2lmIHRoZXNlIGFwcGx5IHRvIHRoZSBjaHJvbWEgcGxhbmUNCj4gKi8NCj4gIAlpZiAodyA+ IG1heF93aWR0aCB8fCBoID4gbWF4X2hlaWdodCkgew0KPiBAQCAtMzE0OCw3ICszMTUwLDcgQEAg c3RhdGljIGludCBza2xfY2hlY2tfY2NzX2F1eF9zdXJmYWNlKHN0cnVjdA0KPiBpbnRlbF9wbGFu ZV9zdGF0ZSAqcGxhbmVfc3RhdGUpDQo+ICAJfQ0KPiAgDQo+ICAJaW50ZWxfYWRkX2ZiX29mZnNl dHMoJngsICZ5LCBwbGFuZV9zdGF0ZSwgMSk7DQo+IC0Jb2Zmc2V0ID0gaW50ZWxfY29tcHV0ZV90 aWxlX29mZnNldCgmeCwgJnksIHBsYW5lX3N0YXRlLCAxKTsNCj4gKwlvZmZzZXQgPSBpbnRlbF9w bGFuZV9jb21wdXRlX2FsaWduZWRfb2Zmc2V0KCZ4LCAmeSwNCj4gcGxhbmVfc3RhdGUsIDEpOw0K PiAgDQo+ICAJcGxhbmVfc3RhdGUtPmF1eC5vZmZzZXQgPSBvZmZzZXQ7DQo+ICAJcGxhbmVfc3Rh dGUtPmF1eC54ID0geCAqIGhzdWIgKyBzcmNfeCAlIGhzdWI7DQo+IEBAIC0zMjgxLDggKzMyODMs OCBAQCBpbnQgaTl4eF9jaGVja19wbGFuZV9zdXJmYWNlKHN0cnVjdA0KPiBpbnRlbF9wbGFuZV9z dGF0ZSAqcGxhbmVfc3RhdGUpDQo+ICAJaW50ZWxfYWRkX2ZiX29mZnNldHMoJnNyY194LCAmc3Jj X3ksIHBsYW5lX3N0YXRlLCAwKTsNCj4gIA0KPiAgCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49 IDQpDQo+IC0JCW9mZnNldCA9IGludGVsX2NvbXB1dGVfdGlsZV9vZmZzZXQoJnNyY194LCAmc3Jj X3ksDQo+IC0JCQkJCQkgICBwbGFuZV9zdGF0ZSwgMCk7DQo+ICsJCW9mZnNldCA9IGludGVsX3Bs YW5lX2NvbXB1dGVfYWxpZ25lZF9vZmZzZXQoJnNyY194LA0KPiAmc3JjX3ksDQo+ICsJCQkJCQkJ ICAgIHBsYW5lX3N0YXRlDQo+ICwgMCk7DQo+ICAJZWxzZQ0KPiAgCQlvZmZzZXQgPSAwOw0KPiAg DQo+IEBAIC05NjU3LDcgKzk2NTksOCBAQCBzdGF0aWMgaW50IGludGVsX2NoZWNrX2N1cnNvcihz dHJ1Y3QNCj4gaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwNCj4gIAlzcmNfeSA9IHBsYW5l X3N0YXRlLT5iYXNlLnNyY195ID4+IDE2Ow0KPiAgDQo+ICAJaW50ZWxfYWRkX2ZiX29mZnNldHMo JnNyY194LCAmc3JjX3ksIHBsYW5lX3N0YXRlLCAwKTsNCj4gLQlvZmZzZXQgPSBpbnRlbF9jb21w dXRlX3RpbGVfb2Zmc2V0KCZzcmNfeCwgJnNyY195LCBwbGFuZV9zdGF0ZSwNCj4gMCk7DQo+ICsJ b2Zmc2V0ID0gaW50ZWxfcGxhbmVfY29tcHV0ZV9hbGlnbmVkX29mZnNldCgmc3JjX3gsICZzcmNf eSwNCj4gKwkJCQkJCSAgICBwbGFuZV9zdGF0ZSwgMCk7DQo+ICANCj4gIAlpZiAoc3JjX3ggIT0g MCB8fCBzcmNfeSAhPSAwKSB7DQo+ICAJCURSTV9ERUJVR19LTVMoIkFyYml0cmFyeSBjdXJzb3Ig cGFubmluZyBub3QNCj4gc3VwcG9ydGVkXG4iKTsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oDQo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgNCj4gaW5kZXggYzI3NWY5MTI0NGE2Li5iOWY2ZGUzYThmNTMgMTAwNjQ0DQo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oDQo+IEBAIC0xNjA0LDggKzE2MDQsNiBAQCB2b2lkIGFzc2VydF9mZGlf cnhfcGxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlDQo+ICpkZXZfcHJpdiwNCj4gIHZvaWQgYXNz ZXJ0X3BpcGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBpcGUgcGlw ZSwNCj4gYm9vbCBzdGF0ZSk7DQo+ICAjZGVmaW5lIGFzc2VydF9waXBlX2VuYWJsZWQoZCwgcCkg YXNzZXJ0X3BpcGUoZCwgcCwgdHJ1ZSkNCj4gICNkZWZpbmUgYXNzZXJ0X3BpcGVfZGlzYWJsZWQo ZCwgcCkgYXNzZXJ0X3BpcGUoZCwgcCwgZmFsc2UpDQo+IC11MzIgaW50ZWxfY29tcHV0ZV90aWxl X29mZnNldChpbnQgKngsIGludCAqeSwNCj4gLQkJCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9w bGFuZV9zdGF0ZSAqc3RhdGUsDQo+IGludCBwbGFuZSk7DQo+ICB2b2lkIGludGVsX3ByZXBhcmVf cmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsNCj4gIHZvaWQgaW50ZWxf ZmluaXNoX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7DQo+ICB2b2lk IGhzd19lbmFibGVfcGM4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7DQpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK