From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 03/22] drm/i915: Factor out intel_tile_width() Date: Wed, 21 Oct 2015 14:16:11 +0200 Message-ID: <20151021121611.GQ13786@phenom.ffwll.local> References: <1444840154-7804-1-git-send-email-ville.syrjala@linux.intel.com> <1444840154-7804-4-git-send-email-ville.syrjala@linux.intel.com> <20151021101542.GU13786@phenom.ffwll.local> <20151021120955.GC26517@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f170.google.com (mail-wi0-f170.google.com [209.85.212.170]) by gabe.freedesktop.org (Postfix) with ESMTPS id D7C336EA3D for ; Wed, 21 Oct 2015 05:16:15 -0700 (PDT) Received: by wicfx6 with SMTP id fx6so88299311wic.1 for ; Wed, 21 Oct 2015 05:16:14 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20151021120955.GC26517@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 =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBPY3QgMjEsIDIwMTUgYXQgMDM6MDk6NTVQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFdlZCwgT2N0IDIxLCAyMDE1IGF0IDEyOjE1OjQyUE0gKzAyMDAsIERhbmll bCBWZXR0ZXIgd3JvdGU6Cj4gPiBPbiBXZWQsIE9jdCAxNCwgMjAxNSBhdCAwNzoyODo1NVBNICsw MzAwLCB2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbSB3cm90ZToKPiA+ID4gRnJvbTogVmls bGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+ID4gCj4gPiA+ IFB1bGwgdGhlIHRpbGUgd2lkdGggY2FsY3VsYXRpb25zIGZyb20gaW50ZWxfZmJfc3RyaWRlX2Fs aWdubWVudCgpIGludG8gYQo+ID4gPiBuZXcgZnVuY3Rpb24gaW50ZWxfdGlsZV93aWR0aCgpLgo+ ID4gPiAKPiA+ID4gQWxzbyB0YWtlIHRoZSBvcHBvcnR1bml0eSB0byBwYXNzIGFyb3VuIGRldl9w cml2IGluc3RlYWQgb2YgZGV2IHRvCj4gPiA+IGludGVsX2ZiX3N0cmlkZV9hbGlnbm1lbnQoKS4K PiA+ID4gCj4gPiA+IHYyOiBSZW9yZGVyIGFyZ3VtbmVudHMgdG8gYmUgbW9yZSBjb25zaXN0ZW50 IHdpdGggb3RoZXIgZnVuY3Rpb25zCj4gPiA+ICAgICBDaGFuZ2UgaW50ZWxfZmJfc3RyaWRlX2Fs aWdubWVudCgpIHRvIGFjY2VwdCBkZXZfcHJpdiBpbnN0ZWFkIG9mIGRldgo+ID4gPiAKPiA+ID4g U2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVs LmNvbT4KPiA+ID4gLS0tCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgfCA3NiArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KPiA+ID4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICA0ICstCj4gPiA+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyAgfCAgMiArLQo+ID4gPiAgMyBmaWxlcyBjaGFuZ2Vk LCA1MSBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKPiA+ID4gCj4gPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gaW5kZXggNmFkZDhkMS4uYzMxZmU0NyAxMDA2 NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gPiBAQCAtMjIx NCw2ICsyMjE0LDQxIEBAIHN0YXRpYyBib29sIG5lZWRfdnRkX3dhKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCj4gPiA+ICAJcmV0dXJuIGZhbHNlOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+ICtzdGF0 aWMgdW5zaWduZWQgaW50IGludGVsX3RpbGVfd2lkdGgoY29uc3Qgc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAo+ID4gPiArCQkJCSAgICAgdWludDY0X3QgZmJfbW9kaWZpZXIsIHVu c2lnbmVkIGludCBjcHApCj4gPiA+ICt7Cj4gPiA+ICsJc3dpdGNoIChmYl9tb2RpZmllcikgewo+ ID4gPiArCWNhc2UgRFJNX0ZPUk1BVF9NT0RfTk9ORToKPiA+ID4gKwkJcmV0dXJuIGNwcDsKPiA+ ID4gKwljYXNlIEk5MTVfRk9STUFUX01PRF9YX1RJTEVEOgo+ID4gPiArCQlyZXR1cm4gSVNfR0VO MihkZXZfcHJpdikgPyAxMjggOiA1MTI7Cj4gPiA+ICsJY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWV9U SUxFRDoKPiA+ID4gKwkJLyogTm8gbmVlZCB0byBjaGVjayBmb3Igb2xkIGdlbnMgYW5kIFkgdGls aW5nIHNpbmNlIHRoaXMgaXMKPiA+ID4gKwkJICogYWJvdXQgdGhlIGRpc3BsYXkgZW5naW5lIGFu ZCB0aG9zZSB3aWxsIGJlIGJsb2NrZWQgYmVmb3JlCj4gPiA+ICsJCSAqIHdlIGdldCBoZXJlLgo+ ID4gPiArCQkgKi8KPiA+ID4gKwkJcmV0dXJuIDEyODsKPiA+IAo+ID4gSW1vIGp1c3QgZHJvcCB0 aGUgY29tbWVudCBhbmQgY2hhbmdlIHRoaXMgdG8KPiA+IAo+ID4gCQlyZXR1cm4gSEFTXzEyOF9C WVRFX1lfVElMSU5HKGRldikgMTI4IDogNTEyOwo+ID4gCj4gPiBKdXN0IHRvIGF2b2lkIHd0ZiBt b21lbnRzLiBJdCdzIGxlc3MgY29kZSB0aGFuIHRoZSBjb21tZW50IHRvby4KPiAKPiBZZWFoLCBj YW4gZG8uIEFuZCB3ZSBkZWZpbml0ZWx5IG5lZWQgaXQgaWYgd2Ugd2FudCB0byB1c2UgdGhpcyBm b3IgZ2VtCj4gc3R1ZmYuIEFsdGhvdWdoIHdlIG5lZWQgdG8gY2hhbmdlIEhBU18xMjhfQllURV9Z X1RJTElORygpIHRvIGluY2x1ZGUKPiBnZW4yLiBDdXJyZW50bHkgdGhhdCBkZWZpbmUgYWN0dWFs bHkgbWVhbnMgImhhcyAxMjh4MzIgWSB0aWxpbmciLiBPcgo+IHdlIG1ha2UgaW50ZWxfdGlsZV93 aWR0aCgpIGNoZWNrIGZvciAnSVNfR0VOMiB8fCBIQVNfMTI4X0JZVEVfWV9USUxJTkcnLgoKT29w cywgeWVhaC4KCj4gPiBBbm90aGVyIG9uZTogRW5mb3JjaW5nIHBvdCBhbGlnbm1lbnQgZm9yIGdl bjIvMyBpcyBmYWlybHkgaGFwemFyZG91cyAtIHdlCj4gPiBkbyBpdCBhY2NpZGVudGFsbHkgYnkg cmVxdWlyaW5nIHRoYXQgZm9yIFgtdGlsZWQgdGhlIHVuZGVybHlpbmcgb2JqIGlzCj4gPiBhbHNv IFgtdGlsZWQgYW5kIHRoYXQgc3RyaWRlcyBtYXRjaC4gQ29tbWVudCBmb3IgdGhpcyB3b3VsZCBi ZSBnb29kIGhlcmUuCj4gPiAKPiA+ID4gKwljYXNlIEk5MTVfRk9STUFUX01PRF9ZZl9USUxFRDoK PiA+ID4gKwkJc3dpdGNoIChjcHApIHsKPiA+ID4gKwkJY2FzZSAxOgo+ID4gPiArCQkJcmV0dXJu IDY0Owo+ID4gPiArCQljYXNlIDI6Cj4gPiA+ICsJCWNhc2UgNDoKPiA+ID4gKwkJCXJldHVybiAx Mjg7Cj4gPiAKPiA+IFdpdGggNCBjcHAgd2UgaGF2ZSA0eDQgcGl4ZWxzIGZvciB0aGUgNjRiIGNh Y2hlbGluZS4gU28gOHg4IGZvciB0aGUgMjU2Ygo+ID4gYmxvY2sgd2l0aCAxOjEgYXNwZWN0IHJh dGlvLCBoZW5jZSA2NHg2NCBwaXhlbCB0aWxlIGZvciB0aGUgZnVsbCBwYWdlLgo+IAo+IDMyeDMy IGZvciB0aGUgZnVsbCBwYWdlCj4gCj4gPiAKPiA+ID4gKwkJY2FzZSA4Ogo+ID4gCj4gPiBXaXRo IDggY3BwIHdlIGhhdmUgMng0IHBpeGVscyBmb3IgdGhlIDY0YiBjYWNoZWxpbmUuIFNvIDh4NCBm b3IgdGhlIDI1NmIKPiA+IGJsb2NrIHdpdGggMjoxIGFzcGVjdCByYXRpbywgaGVuY2UgNjR4MzIg cGl4ZWwgdGlsZSBmb3IgdGhlIGZ1bGwgcGFnZS4KPiAKPiAzMngxNiBmb3IgdGhlIGZ1bGwgcGFn ZQo+IAo+ID4gCj4gPiA+ICsJCWNhc2UgMTY6Cj4gPiA+ICsJCQlyZXR1cm4gMjU2Owo+ID4gCj4g PiBXaXRoIDE2IGNwcCB3ZSBoYXZlIDF4NCBwaXhlbHMgZm9yIHRoZSA2NGIgY2FjaGVsaW5lLiBT byA0eDQgZm9yIHRoZSAyNTZiCj4gPiBibG9jayB3aXRoIDE6MSBhc3BlY3QgcmF0aW8sIGhlbmNl IDMyeDMyIHBpeGVsIHRpbGUgZm9yIHRoZSBmdWxsIHBhZ2UuCj4gCj4gMTZ4MTYgZm9yIHRoZSBm dWxsIHBhZ2UKClllYWggSSBjYW4ndCBjb21wdXRlLiBCdXQgdGhlIHJlYWwgdHJvdWJsZSB3YXMg dGhhdCBJIHRob3VnaHQgdGhpcyB3YXMgaW4KcGl4ZWxzLCBidXQgaXQncyBpbiBieXRlcyA7LSkg SSBjbGFyaWZpZWQgdGhhdCBsYXRlciBvbiBhbmQgci1iIHdpdGggdGhlc2UKbnVtYmVycyBoZXJl LgotRGFuaWVsCgo+IAo+ID4gCj4gPiBPdGhlcndpc2UgbG9va3MgZ29vZCB0byBtZSwgUmV2aWV3 ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gPiBvbmNlIHdl IGNsb3NlIHRoZSBhYm92ZS4KPiA+IAo+ID4gQ2hlZXJzLCBEYW5pZWwKPiA+IAo+ID4gPiArCQlk ZWZhdWx0Ogo+ID4gPiArCQkJTUlTU0lOR19DQVNFKGNwcCk7Cj4gPiA+ICsJCQlyZXR1cm4gY3Bw Owo+ID4gPiArCQl9Cj4gPiA+ICsJCWJyZWFrOwo+ID4gPiArCWRlZmF1bHQ6Cj4gPiA+ICsJCU1J U1NJTkdfQ0FTRShmYl9tb2RpZmllcik7Cj4gPiA+ICsJCXJldHVybiBjcHA7Cj4gPiA+ICsJfQo+ ID4gPiArfQo+ID4gPiArCj4gPiA+ICB1bnNpZ25lZCBpbnQKPiA+ID4gIGludGVsX3RpbGVfaGVp Z2h0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVpbnQzMl90IHBpeGVsX2Zvcm1hdCwKPiA+ID4g IAkJICB1aW50NjRfdCBmYl9mb3JtYXRfbW9kaWZpZXIsIHVuc2lnbmVkIGludCBwbGFuZSkKPiA+ ID4gQEAgLTI4OTUsMzcgKzI5MzAsMjAgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfdXBkYXRlX3By aW1hcnlfcGxhbmUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gPiAgCVBPU1RJTkdfUkVBRChy ZWcpOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+IC11MzIgaW50ZWxfZmJfc3RyaWRlX2FsaWdubWVu dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1aW50NjRfdCBmYl9tb2RpZmllciwKPiA+ID4gLQkJ CSAgICAgIHVpbnQzMl90IHBpeGVsX2Zvcm1hdCkKPiA+ID4gK3UzMiBpbnRlbF9mYl9zdHJpZGVf YWxpZ25tZW50KGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4g KwkJCSAgICAgIHVpbnQ2NF90IGZiX21vZGlmaWVyLCB1aW50MzJfdCBwaXhlbF9mb3JtYXQpCj4g PiA+ICB7Cj4gPiA+IC0JdTMyIGJpdHNfcGVyX3BpeGVsID0gZHJtX2Zvcm1hdF9wbGFuZV9jcHAo cGl4ZWxfZm9ybWF0LCAwKSAqIDg7Cj4gPiA+IC0KPiA+ID4gIAkvKgo+ID4gPiAgCSAqIFRoZSBz dHJpZGUgaXMgZWl0aGVyIGV4cHJlc3NlZCBhcyBhIG11bHRpcGxlIG9mIDY0IGJ5dGVzCj4gPiA+ ICAJICogY2h1bmtzIGZvciBsaW5lYXIgYnVmZmVycyBvciBpbiBudW1iZXIgb2YgdGlsZXMgZm9y IHRpbGVkCj4gPiA+ICAJICogYnVmZmVycy4KPiA+ID4gIAkgKi8KPiA+ID4gLQlzd2l0Y2ggKGZi X21vZGlmaWVyKSB7Cj4gPiA+IC0JY2FzZSBEUk1fRk9STUFUX01PRF9OT05FOgo+ID4gPiAtCQly ZXR1cm4gNjQ7Cj4gPiA+IC0JY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWF9USUxFRDoKPiA+ID4gLQkJ aWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID09IDIpCj4gPiA+IC0JCQlyZXR1cm4gMTI4Owo+ID4g PiAtCQlyZXR1cm4gNTEyOwo+ID4gPiAtCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lfVElMRUQ6Cj4g PiA+IC0JCS8qIE5vIG5lZWQgdG8gY2hlY2sgZm9yIG9sZCBnZW5zIGFuZCBZIHRpbGluZyBzaW5j ZSB0aGlzIGlzCj4gPiA+IC0JCSAqIGFib3V0IHRoZSBkaXNwbGF5IGVuZ2luZSBhbmQgdGhvc2Ug d2lsbCBiZSBibG9ja2VkIGJlZm9yZQo+ID4gPiAtCQkgKiB3ZSBnZXQgaGVyZS4KPiA+ID4gLQkJ ICovCj4gPiA+IC0JCXJldHVybiAxMjg7Cj4gPiA+IC0JY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWWZf VElMRUQ6Cj4gPiA+IC0JCWlmIChiaXRzX3Blcl9waXhlbCA9PSA4KQo+ID4gPiAtCQkJcmV0dXJu IDY0Owo+ID4gPiAtCQllbHNlCj4gPiA+IC0JCQlyZXR1cm4gMTI4Owo+ID4gPiAtCWRlZmF1bHQ6 Cj4gPiA+IC0JCU1JU1NJTkdfQ0FTRShmYl9tb2RpZmllcik7Cj4gPiA+ICsJaWYgKGZiX21vZGlm aWVyID09IERSTV9GT1JNQVRfTU9EX05PTkUpIHsKPiA+ID4gIAkJcmV0dXJuIDY0Owo+ID4gPiAr CX0gZWxzZSB7Cj4gPiA+ICsJCXVuc2lnbmVkIGludCBjcHAgPSBkcm1fZm9ybWF0X3BsYW5lX2Nw cChwaXhlbF9mb3JtYXQsIDApOwo+ID4gPiArCj4gPiA+ICsJCXJldHVybiBpbnRlbF90aWxlX3dp ZHRoKGRldl9wcml2LCBmYl9tb2RpZmllciwgY3BwKTsKPiA+ID4gIAl9Cj4gPiA+ICB9Cj4gPiA+ ICAKPiA+ID4gQEAgLTMxMDYsNyArMzEyNCw3IEBAIHN0YXRpYyB2b2lkIHNreWxha2VfdXBkYXRl X3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gPiAgCXBsYW5lX2N0bCB8 PSBza2xfcGxhbmVfY3RsX3JvdGF0aW9uKHJvdGF0aW9uKTsKPiA+ID4gIAo+ID4gPiAgCW9iaiA9 IGludGVsX2ZiX29iaihmYik7Cj4gPiA+IC0Jc3RyaWRlX2RpdiA9IGludGVsX2ZiX3N0cmlkZV9h bGlnbm1lbnQoZGV2LCBmYi0+bW9kaWZpZXJbMF0sCj4gPiA+ICsJc3RyaWRlX2RpdiA9IGludGVs X2ZiX3N0cmlkZV9hbGlnbm1lbnQoZGV2X3ByaXYsIGZiLT5tb2RpZmllclswXSwKPiA+ID4gIAkJ CQkJICAgICAgIGZiLT5waXhlbF9mb3JtYXQpOwo+ID4gPiAgCXN1cmZfYWRkciA9IGludGVsX3Bs YW5lX29ial9vZmZzZXQodG9faW50ZWxfcGxhbmUocGxhbmUpLCBvYmosIDApOwo+ID4gPiAgCj4g PiA+IEBAIC05MDY2LDcgKzkwODQsNyBAQCBza3lsYWtlX2dldF9pbml0aWFsX3BsYW5lX2NvbmZp ZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiA+ID4gIAlmYi0+d2lkdGggPSAoKHZhbCA+PiAw KSAmIDB4MWZmZikgKyAxOwo+ID4gPiAgCj4gPiA+ICAJdmFsID0gSTkxNV9SRUFEKFBMQU5FX1NU UklERShwaXBlLCAwKSk7Cj4gPiA+IC0Jc3RyaWRlX211bHQgPSBpbnRlbF9mYl9zdHJpZGVfYWxp Z25tZW50KGRldiwgZmItPm1vZGlmaWVyWzBdLAo+ID4gPiArCXN0cmlkZV9tdWx0ID0gaW50ZWxf ZmJfc3RyaWRlX2FsaWdubWVudChkZXZfcHJpdiwgZmItPm1vZGlmaWVyWzBdLAo+ID4gPiAgCQkJ CQkJZmItPnBpeGVsX2Zvcm1hdCk7Cj4gPiA+ICAJZmItPnBpdGNoZXNbMF0gPSAodmFsICYgMHgz ZmYpICogc3RyaWRlX211bHQ7Cj4gPiA+ICAKPiA+ID4gQEAgLTExMTM3LDcgKzExMTU1LDcgQEAg c3RhdGljIHZvaWQgc2tsX2RvX21taW9fZmxpcChzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0 YywKPiA+ID4gIAkgKiBsaW5lYXIgYnVmZmVycyBvciBpbiBudW1iZXIgb2YgdGlsZXMgZm9yIHRp bGVkIGJ1ZmZlcnMuCj4gPiA+ICAJICovCj4gPiA+ICAJc3RyaWRlID0gZmItPnBpdGNoZXNbMF0g Lwo+ID4gPiAtCQkgaW50ZWxfZmJfc3RyaWRlX2FsaWdubWVudChkZXYsIGZiLT5tb2RpZmllclsw XSwKPiA+ID4gKwkJIGludGVsX2ZiX3N0cmlkZV9hbGlnbm1lbnQoZGV2X3ByaXYsIGZiLT5tb2Rp ZmllclswXSwKPiA+ID4gIAkJCQkJICAgZmItPnBpeGVsX2Zvcm1hdCk7Cj4gPiA+ICAKPiA+ID4g IAkvKgo+ID4gPiBAQCAtMTQyMTQsNiArMTQyMzIsNyBAQCBzdGF0aWMgaW50IGludGVsX2ZyYW1l YnVmZmVyX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ID4gIAkJCQkgIHN0cnVjdCBk cm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCwKPiA+ID4gIAkJCQkgIHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmopCj4gPiA+ICB7Cj4gPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ID4gPiAgCXVuc2lnbmVkIGludCBhbGlnbmVkX2hl aWdodDsKPiA+ID4gIAlpbnQgcmV0Owo+ID4gPiAgCXUzMiBwaXRjaF9saW1pdCwgc3RyaWRlX2Fs aWdubWVudDsKPiA+ID4gQEAgLTE0MjU1LDcgKzE0Mjc0LDggQEAgc3RhdGljIGludCBpbnRlbF9m cmFtZWJ1ZmZlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPiA+ICAJCXJldHVybiAt RUlOVkFMOwo+ID4gPiAgCX0KPiA+ID4gIAo+ID4gPiAtCXN0cmlkZV9hbGlnbm1lbnQgPSBpbnRl bF9mYl9zdHJpZGVfYWxpZ25tZW50KGRldiwgbW9kZV9jbWQtPm1vZGlmaWVyWzBdLAo+ID4gPiAr CXN0cmlkZV9hbGlnbm1lbnQgPSBpbnRlbF9mYl9zdHJpZGVfYWxpZ25tZW50KGRldl9wcml2LAo+ ID4gPiArCQkJCQkJICAgICBtb2RlX2NtZC0+bW9kaWZpZXJbMF0sCj4gPiA+ICAJCQkJCQkgICAg IG1vZGVfY21kLT5waXhlbF9mb3JtYXQpOwo+ID4gPiAgCWlmIChtb2RlX2NtZC0+cGl0Y2hlc1sw XSAmIChzdHJpZGVfYWxpZ25tZW50IC0gMSkpIHsKPiA+ID4gIAkJRFJNX0RFQlVHKCJwaXRjaCAo JWQpIG11c3QgYmUgYXQgbGVhc3QgJXUgYnl0ZSBhbGlnbmVkXG4iLAo+ID4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAo+ID4gPiBpbmRleCAxMTUyNTY2Li45OGE4ZDMxIDEwMDY0NAo+ID4gPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gPiBAQCAtMTAxNyw4ICsxMDE3LDggQEAgdW5z aWduZWQgaW50IGludGVsX2ZiX2FsaWduX2hlaWdodChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ ID4gPiAgCQkJCSAgIHVpbnQ2NF90IGZiX2Zvcm1hdF9tb2RpZmllcik7Cj4gPiA+ICB2b2lkIGlu dGVsX2ZiX29ial9mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCBib29sIHJl dGlyZSwKPiA+ID4gIAkJCWVudW0gZmJfb3Bfb3JpZ2luIG9yaWdpbik7Cj4gPiA+IC11MzIgaW50 ZWxfZmJfc3RyaWRlX2FsaWdubWVudChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1aW50NjRfdCBm Yl9tb2RpZmllciwKPiA+ID4gLQkJCSAgICAgIHVpbnQzMl90IHBpeGVsX2Zvcm1hdCk7Cj4gPiA+ ICt1MzIgaW50ZWxfZmJfc3RyaWRlX2FsaWdubWVudChjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCj4gPiA+ICsJCQkgICAgICB1aW50NjRfdCBmYl9tb2RpZmllciwgdWlu dDMyX3QgcGl4ZWxfZm9ybWF0KTsKPiA+ID4gIAo+ID4gPiAgLyogaW50ZWxfYXVkaW8uYyAqLwo+ ID4gPiAgdm9pZCBpbnRlbF9pbml0X2F1ZGlvKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ID4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ID4gPiBpbmRleCA5MGUyN2M4Li4zZDk2 ODcxIDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUu Ywo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ID4gPiBA QCAtMjE1LDcgKzIxNSw3IEBAIHNrbF91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqZHJt X3BsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiA+ICAJCQkJICAgICAgIHBpeGVsX3Np emUsIHRydWUsCj4gPiA+ICAJCQkJICAgICAgIHNyY193ICE9IGNydGNfdyB8fCBzcmNfaCAhPSBj cnRjX2gpOwo+ID4gPiAgCj4gPiA+IC0Jc3RyaWRlX2RpdiA9IGludGVsX2ZiX3N0cmlkZV9hbGln bm1lbnQoZGV2LCBmYi0+bW9kaWZpZXJbMF0sCj4gPiA+ICsJc3RyaWRlX2RpdiA9IGludGVsX2Zi X3N0cmlkZV9hbGlnbm1lbnQoZGV2X3ByaXYsIGZiLT5tb2RpZmllclswXSwKPiA+ID4gIAkJCQkJ ICAgICAgIGZiLT5waXhlbF9mb3JtYXQpOwo+ID4gPiAgCj4gPiA+ICAJc2NhbGVyX2lkID0gdG9f aW50ZWxfcGxhbmVfc3RhdGUoZHJtX3BsYW5lLT5zdGF0ZSktPnNjYWxlcl9pZDsKPiA+ID4gLS0g Cj4gPiA+IDIuNC45Cj4gPiA+IAo+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+ID4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiA+IEludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+ID4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+ID4gCj4gPiAtLSAKPiA+IERhbmllbCBW ZXR0ZXIKPiA+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgo+ID4gaHR0cDov L2Jsb2cuZmZ3bGwuY2gKPiAKPiAtLSAKPiBWaWxsZSBTeXJqw6Rsw6QKPiBJbnRlbCBPVEMKCi0t IApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRw Oi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=