From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH 3/5] drm/i915: merge gen checks to use range Date: Fri, 2 Nov 2018 12:19:13 -0700 Message-ID: <20181102191913.GG2233@intel.com> References: <20181101083517.20193-1-lucas.demarchi@intel.com> <20181101083517.20193-4-lucas.demarchi@intel.com> <4d341fa0-538a-d4aa-29bb-307ce04523ff@linux.intel.com> <20181102181008.GA10689@ldmartin-desk.jf.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 594B96E5C7 for ; Fri, 2 Nov 2018 19:19:17 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20181102181008.GA10689@ldmartin-desk.jf.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Lucas De Marchi Cc: intel-gfx@lists.freedesktop.org, Lucas De Marchi List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBOb3YgMDIsIDIwMTggYXQgMTE6MTA6MTBBTSAtMDcwMCwgTHVjYXMgRGUgTWFyY2hp IHdyb3RlOgo+IE9uIFRodSwgTm92IDAxLCAyMDE4IGF0IDExOjMxOjI1QU0gKzAwMDAsIFR2cnRr byBVcnN1bGluIHdyb3RlOgo+ID4gCj4gPiBPbiAwMS8xMS8yMDE4IDA4OjM1LCBMdWNhcyBEZSBN YXJjaGkgd3JvdGU6Cj4gPiA+IEluc3RlYWQgb2YgdXNpbmcgc2V2ZXJhbCBJU19HRU4oKSwgaXQn cyBwb3NzaWJsZSB0byBwYXNzIHRoZQo+ID4gPiByYW5nZSBhcyBhcmd1bWVudC4gQnkgY29kZSBp bnNwZWN0aW9uIHRoZXNlIHdlcmUgdGhlIHJhbmdlcyBkZWVtZWQKPiA+ID4gbmVjZXNzYXJ5IGZv ciBzcGF0Y2g6Cj4gPiA+IAo+ID4gPiBAQAo+ID4gPiBleHByZXNzaW9uIGU7Cj4gPiA+IEBACj4g PiA+ICgKPiA+ID4gLSBJU19HRU4oZSwgMykgfHwgSVNfR0VOKGUsIDQpCj4gPiA+ICsgSVNfR0VO KGUsIDMsIDQpCj4gPiA+IHwKPiA+ID4gLSBJU19HRU4oZSwgNSkgfHwgSVNfR0VOKGUsIDYpCj4g PiA+ICsgSVNfR0VOKGUsIDUsIDYpCj4gPiA+IHwKPiA+ID4gLSBJU19HRU4oZSwgNikgfHwgSVNf R0VOKGUsIDcpCj4gPiA+ICsgSVNfR0VOKGUsIDYsIDcpCj4gPiA+IHwKPiA+ID4gLSBJU19HRU4o ZSwgNykgfHwgSVNfR0VOKGUsIDgpCj4gPiA+ICsgSVNfR0VOKGUsIDcsIDgpCj4gPiA+IHwKPiA+ ID4gLSBJU19HRU4oZSwgOCkgfHwgSVNfR0VOKGUsIDkpCj4gPiA+ICsgSVNfR0VOKGUsIDgsIDkp Cj4gPiA+IHwKPiA+ID4gLSBJU19HRU4oZSwgMTApIHx8IElTX0dFTihlLCA5KQo+ID4gPiArIElT X0dFTihlLCA5LCAxMCkKPiA+ID4gfAo+ID4gPiAtIElTX0dFTihlLCA5KSB8fCBJU19HRU4oZSwg MTApCj4gPiA+ICsgSVNfR0VOKGUsIDksIDEwKQo+ID4gPiApCj4gPiA+IAo+ID4gPiBTaWduZWQt b2ZmLWJ5OiBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQGludGVsLmNvbT4KPiA+ID4g LS0tCj4gPiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICAgIHwg NiArKystLS0KPiA+ID4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jICAg ICAgfCAyICstCj4gPiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMgICAgICAg ICAgIHwgMiArLQo+ID4gPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jICAgICAg ICAgICB8IDIgKy0KPiA+ID4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5m by5jICAgfCAyICstCj4gPiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j ICAgICAgIHwgMiArLQo+ID4gPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9j cy5jICAgICB8IDIgKy0KPiA+ID4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9maWZvX3Vu ZGVycnVuLmMgfCAyICstCj4gPiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGlwZV9j cmMuYyAgICAgIHwgNCArKy0tCj4gPiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5j b3JlLmMgICAgICAgIHwgNiArKystLS0KPiA+ID4gICAxMCBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNl cnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKPiA+ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZGVidWdmcy5jCj4gPiA+IGluZGV4IDI4ZDk1ZjlkMGIwZS4uZjJmYmMwMTZiZDdmIDEwMDY0 NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ID4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ID4gPiBAQCAtMjAzMCw3 ICsyMDMwLDcgQEAgc3RhdGljIGludCBpOTE1X3N3aXp6bGVfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUg Km0sIHZvaWQgKmRhdGEpCj4gPiA+ICAgCXNlcV9wcmludGYobSwgImJpdDYgc3dpenpsZSBmb3Ig WS10aWxpbmcgPSAlc1xuIiwKPiA+ID4gICAJCSAgIHN3aXp6bGVfc3RyaW5nKGRldl9wcml2LT5t bS5iaXRfNl9zd2l6emxlX3kpKTsKPiA+ID4gLQlpZiAoSVNfR0VOKGRldl9wcml2LCAzKSB8fCBJ U19HRU4oZGV2X3ByaXYsIDQpKSB7Cj4gPiA+ICsJaWYgKElTX0dFTihkZXZfcHJpdiwgMywgNCkp IHsKPiA+IAo+ID4gSSBjYW4gc2VlIHZhbHVlIGluIGl0IGJ1dCB0aGluayBpdCB3b3VsZCByZWFk IGJldHRlciB3aXRoIElTX0dFTl9SQU5HRS4KPiAKPiBPaywgaXQgc2VlbXMgdGhlcmUncyBhIHJv dWdoIGNvbnNlbnN1cyBvZiBzL0lTX0dFTi9JU19HRU5fUkFOR0UvIGFuIHRoZW4KPiBicmluZyB0 aGUgcGF0Y2hlcyB0aGF0IG1ha2Ugc2Vuc2UgaGVyZS4gVGhlcmUgd2FzIGEgcmVjZW50IHBhdGNo IGZyb20gUm9kcmlnbwo+IGRvaW5nIHRoYXQuIEknbGwgaW5jbHVkZSBpdCBpbiBuZXh0IHZlcnNp b24uCgpJIGxpa2VkIHRoZSBkb3VibGUgYXJncyBpZGVhIGJ1dCBhZnRlciByZWFkaW5nIEkgYmVs aWV2ZQppdCBnZXRzIGNsZWFyIElTX0dFTl9SQU5HRS4KCj4gCj4gPiAKPiA+IEFyZSB0aGVyZSBh bnkgY2FzZXMgb2Ygb3ItZWQgSVNfR0VOIGNoZWNrcyB3aXRoIHNvbWV0aGluZyBzYW5kd2ljaGVk IGluCj4gPiBiZXR3ZWVuIHRoZW4sIHdoaWNoIHRoZSBhYm92ZSBzcGF0Y2ggd291bGQgbWlzcz8K PiAKPiBCeSBtYW51YWxseSBpbnNwZWN0aW5nIHRoZSByZXN1bHQgb2YgYGBnaXQgZ3JlcCAtbmUg IklTX0dFTiguKiIgLS0gZHJpdmVycy9ncHUvZHJtL2k5MTUvYGAKPiBJIGRpZG4ndCBmaW5kIGFu eS4gVGhlIG9ubHkgdGhpbmcgSSBmb3VuZCB3YXMgYSBtaXNzZWQgY2FzZSBmb3IgZ2VuMyB8fCBn ZW4yCj4gdGhhdCB3YXMgbm90IGNvdmVyZWQgYnkgdGhlIHNwYXRjaC4KPiAKPiA+IAo+ID4gSG93 IG1hbnkgbm9uLWNvbnNlY3V0aXZlIElTX0dFTiBnZW4gY2hlY2tzIGFyZSB0aGVyZT8gVG8gZ2l2 ZSB1cyBzb21lIGlkZWFzCj4gPiBpZiB0aGUgdXN1YWwgcGF0dGVybiBpcyByYW5nZSwgb3IgcGVy aGFwcyBjaGVja3MgYWdhaW5zdCBhIGxpc3Qgb2YgZ2VucyBhbHNvCj4gPiBleGlzdHM/IChHdXQg ZmVlbGluZyBzYXlzIG5vLikKPiAKPiBvbmx5IGNhc2VzIG9mIDw9LCA8LCA+PSwgPi4KCkZvciB0 aGVzZSBjYXNlcyBvbiBwYXRjaGVzIDQgYW5kIDU6OgoKV2hhdCBhYm91dCBjb252ZXJ0aW5nIGFs bCA8IG4gdG8gPD0gbi0xIGFuZCBhbGwgPiBuIHRvID49IG4gKyAxCmdldCBGT1JWRVIgYmFjayBh bmQgaW50cm9kdWNlIElTX0dFTl9VTlRJTCA/CgpJU19HRU5fVU5USUwoZGV2X3ByaXYsIGUpCklT X0dFTl9SQU5HRShkZXZfcHJpdiwgcywgRk9SRVZFUikKCnNvIHdlIGNhbiBhbHNvIGtpbGwgSU5U RUxfR0VOLgoKQW5vdGhlciBkaWZmZXJlbnQgaWRlYSBvbiB0b3Agb2YgdGhhdC4KCldoYXQgYWJv dXQgcmVtb3ZpbmcgYWxsICJJU18iPwoKc28gZW5kIHJlc3VsdCBjb3VsZCBiZSBzb21ldGhpbmcg bGlrZSB0aGF0OgoKSU5URUxfR0VOKGRldl9wcml2LCBuKQpESVNQTEFZX0dFTihkZXZfcHJpdiwg bikKSU5URUxfR0VOX1JBTkdFKGRldl9wcml2LCBzLCBlKSAjb3IgZSA9IEZPUkVWRVIKRElTUExB WV9HRU5fUkFOR0UoZGV2X3ByaXYsIHMsIGUpICNvciBlID0gRk9SRVZFUgpJTlRFTF9HRU5fVU5U SUwoZGV2X3ByaXYsIGUpCkRJU1BMQVlfR0VOX1VOVElMKGRldl9wcml2LCBlKQoKKG1heWJlIHMv SU5URUwvR1QpCgphbmQgZ3JvdXAgYWxsIG9mIHRoZXNlIHRvZ2V0aGVyLCBiZWNhdXNlIHRvZGF5 CnRoZXkgYXJlIHNwcmVhZGRlZCBhcGFydC4KClRoYW5rcywKUm9kcmlnby4KCj4gCj4gCj4gdGhh bmtzCj4gTHVjYXMgRGUgTWFyY2hpCj4gCj4gPiAKPiA+IFJlZ2FyZHMsCj4gPiAKPiA+IFR2cnRr bwo+ID4gCj4gPiA+ICAgCQlzZXFfcHJpbnRmKG0sICJEREMgPSAweCUwOHhcbiIsCj4gPiA+ICAg CQkJICAgSTkxNV9SRUFEKERDQykpOwo+ID4gPiAgIAkJc2VxX3ByaW50ZihtLCAiRERDMiA9IDB4 JTA4eFxuIiwKPiA+ID4gQEAgLTQyNjAsNyArNDI2MCw3IEBAIGk5MTVfY2FjaGVfc2hhcmluZ19n ZXQodm9pZCAqZGF0YSwgdTY0ICp2YWwpCj4gPiA+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRhdGE7Cj4gPiA+ICAgCXUzMiBzbnBjcjsKPiA+ID4gLQlpZiAoIShJU19H RU4oZGV2X3ByaXYsIDYpIHx8IElTX0dFTihkZXZfcHJpdiwgNykpKQo+ID4gPiArCWlmICghKElT X0dFTihkZXZfcHJpdiwgNiwgNykpKQo+ID4gPiAgIAkJcmV0dXJuIC1FTk9ERVY7Cj4gPiA+ICAg CWludGVsX3J1bnRpbWVfcG1fZ2V0KGRldl9wcml2KTsKPiA+ID4gQEAgLTQyODAsNyArNDI4MCw3 IEBAIGk5MTVfY2FjaGVfc2hhcmluZ19zZXQodm9pZCAqZGF0YSwgdTY0IHZhbCkKPiA+ID4gICAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGF0YTsKPiA+ID4gICAJdTMyIHNu cGNyOwo+ID4gPiAtCWlmICghKElTX0dFTihkZXZfcHJpdiwgNikgfHwgSVNfR0VOKGRldl9wcml2 LCA3KSkpCj4gPiA+ICsJaWYgKCEoSVNfR0VOKGRldl9wcml2LCA2LCA3KSkpCj4gPiA+ICAgCQly ZXR1cm4gLUVOT0RFVjsKPiA+ID4gICAJaWYgKHZhbCA+IDMpCj4gPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9ncHVfZXJyb3IuYwo+ID4gPiBpbmRleCBjOWY4YWE0NzAwNWEuLjk2OTY5MWU1MGMw NCAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3Iu Ywo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCj4gPiA+ IEBAIC0xNjczLDcgKzE2NzMsNyBAQCBzdGF0aWMgdm9pZCBjYXB0dXJlX3JlZ19zdGF0ZShzdHJ1 Y3QgaTkxNV9ncHVfc3RhdGUgKmVycm9yKQo+ID4gPiAgIAkJZXJyb3ItPmNjaWQgPSBJOTE1X1JF QUQoQ0NJRCk7Cj4gPiA+ICAgCS8qIDM6IEZlYXR1cmUgc3BlY2lmaWMgcmVnaXN0ZXJzICovCj4g PiA+IC0JaWYgKElTX0dFTihkZXZfcHJpdiwgNikgfHwgSVNfR0VOKGRldl9wcml2LCA3KSkgewo+ ID4gPiArCWlmIChJU19HRU4oZGV2X3ByaXYsIDYsIDcpKSB7Cj4gPiA+ICAgCQllcnJvci0+Z2Ft X2Vjb2NoayA9IEk5MTVfUkVBRChHQU1fRUNPQ0hLKTsKPiA+ID4gICAJCWVycm9yLT5nYWNfZWNv ID0gSTkxNV9SRUFEKEdBQ19FQ09fQklUUyk7Cj4gPiA+ICAgCX0KPiA+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9wZXJmLmMKPiA+ID4gaW5kZXggOTJkYWRkZjc5Y2IwLi5iYWFhN2I3MGZmYTAgMTAwNjQ0 Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jCj4gPiA+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jCj4gPiA+IEBAIC0zNDQ5LDcgKzM0NDks NyBAQCB2b2lkIGk5MTVfcGVyZl9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKPiA+ID4gICAJCWRldl9wcml2LT5wZXJmLm9hLm9wcy5yZWFkID0gZ2VuOF9vYV9yZWFkOwo+ ID4gPiAgIAkJZGV2X3ByaXYtPnBlcmYub2Eub3BzLm9hX2h3X3RhaWxfcmVhZCA9IGdlbjhfb2Ff aHdfdGFpbF9yZWFkOwo+ID4gPiAtCQlpZiAoSVNfR0VOKGRldl9wcml2LCA4KSB8fCBJU19HRU4o ZGV2X3ByaXYsIDkpKSB7Cj4gPiA+ICsJCWlmIChJU19HRU4oZGV2X3ByaXYsIDgsIDkpKSB7Cj4g PiA+ICAgCQkJZGV2X3ByaXYtPnBlcmYub2Eub3BzLmlzX3ZhbGlkX2JfY291bnRlcl9yZWcgPQo+ ID4gPiAgIAkJCQlnZW43X2lzX3ZhbGlkX2JfY291bnRlcl9hZGRyOwo+ID4gPiAgIAkJCWRldl9w cml2LT5wZXJmLm9hLm9wcy5pc192YWxpZF9tdXhfcmVnID0KPiA+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfY3J0LmMKPiA+ID4gaW5kZXggYmY0ZmQ3MzliNjhjLi4xODIyZGNjYjE5MTQgMTAwNjQ0Cj4g PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jCj4gPiA+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jCj4gPiA+IEBAIC0zMjIsNyArMzIyLDcgQEAg aW50ZWxfY3J0X21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+ ID4gICAJCSAqIERBQyBsaW1pdCBzdXBwb3NlZGx5IDM1NSBNSHouCj4gPiA+ICAgCQkgKi8KPiA+ ID4gICAJCW1heF9jbG9jayA9IDI3MDAwMDsKPiA+ID4gLQllbHNlIGlmIChJU19HRU4oZGV2X3By aXYsIDMpIHx8IElTX0dFTihkZXZfcHJpdiwgNCkpCj4gPiA+ICsJZWxzZSBpZiAoSVNfR0VOKGRl dl9wcml2LCAzLCA0KSkKPiA+ID4gICAJCW1heF9jbG9jayA9IDQwMDAwMDsKPiA+ID4gICAJZWxz ZQo+ID4gPiAgIAkJbWF4X2Nsb2NrID0gMzUwMDAwOwo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RldmljZV9pbmZvLmMKPiA+ID4gaW5kZXggODczZjM3YjdiNzk2Li5hMWIwNDZjMzIy ZDUgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9p bmZvLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8u Ywo+ID4gPiBAQCAtNzgzLDcgKzc4Myw3IEBAIHZvaWQgaW50ZWxfZGV2aWNlX2luZm9fcnVudGlt ZV9pbml0KHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyAqaW5mbykKPiA+ID4gICAJCURSTV9JTkZP KCJEaXNwbGF5IGRpc2FibGVkIChtb2R1bGUgcGFyYW1ldGVyKVxuIik7Cj4gPiA+ICAgCQlpbmZv LT5udW1fcGlwZXMgPSAwOwo+ID4gPiAgIAl9IGVsc2UgaWYgKGluZm8tPm51bV9waXBlcyA+IDAg JiYKPiA+ID4gLQkJICAgKElTX0dFTihkZXZfcHJpdiwgNykgfHwgSVNfR0VOKGRldl9wcml2LCA4 KSkgJiYKPiA+ID4gKwkJICAgKElTX0dFTihkZXZfcHJpdiwgNywgOCkpICYmCj4gPiA+ICAgCQkg ICBIQVNfUENIX1NQTElUKGRldl9wcml2KSkgewo+ID4gPiAgIAkJdTMyIGZ1c2Vfc3RyYXAgPSBJ OTE1X1JFQUQoRlVTRV9TVFJBUCk7Cj4gPiA+ICAgCQl1MzIgc2Z1c2Vfc3RyYXAgPSBJOTE1X1JF QUQoU0ZVU0VfU1RSQVApOwo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4g PiA+IGluZGV4IDg0YzQzMmNiZGY1Yi4uMDJiMzM4YjFkOGJlIDEwMDY0NAo+ID4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiA+IEBAIC0xMDY3Nyw3ICsxMDY3Nyw3IEBA IGludCBpbnRlbF9wbGFuZV9hdG9taWNfY2FsY19jaGFuZ2VzKGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0Cj4gPiA+ICAgCSAqIHRoZSB3L2Egb24gYWxsIHRocmVl IHBsYXRmb3Jtcy4KPiA+ID4gICAJICovCj4gPiA+ICAgCWlmIChwbGFuZS0+aWQgPT0gUExBTkVf U1BSSVRFMCAmJgo+ID4gPiAtCSAgICAoSVNfR0VOKGRldl9wcml2LCA1KSB8fCBJU19HRU4oZGV2 X3ByaXYsIDYpIHx8Cj4gPiA+ICsJICAgIChJU19HRU4oZGV2X3ByaXYsIDUsIDYpIHx8Cj4gPiA+ ICAgCSAgICAgSVNfSVZZQlJJREdFKGRldl9wcml2KSkgJiYKPiA+ID4gICAJICAgICh0dXJuX29u IHx8ICghbmVlZHNfc2NhbGluZyhvbGRfcGxhbmVfc3RhdGUpICYmCj4gPiA+ICAgCQkJIG5lZWRz X3NjYWxpbmcodG9faW50ZWxfcGxhbmVfc3RhdGUocGxhbmVfc3RhdGUpKSkpKQo+ID4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwo+ID4gPiBpbmRleCA3NjQyZjY2MzRmN2Iu Ljc3OWM2ODNiNDhhYiAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZW5naW5lX2NzLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5n aW5lX2NzLmMKPiA+ID4gQEAgLTQzOCw3ICs0MzgsNyBAQCB2b2lkIGludGVsX2VuZ2luZV9pbml0 X2dsb2JhbF9zZXFubyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHUzMiBzZXFubykK PiA+ID4gICAJICogdGhlIHNlbWFwaG9yZSB2YWx1ZSwgdGhlbiB3aGVuIHRoZSBzZXFubyBtb3Zl cyBiYWNrd2FyZHMgYWxsCj4gPiA+ICAgCSAqIGZ1dHVyZSB3YWl0cyB3aWxsIGNvbXBsZXRlIGlu c3RhbnRseSAoY2F1c2luZyByZW5kZXJpbmcgY29ycnVwdGlvbikuCj4gPiA+ICAgCSAqLwo+ID4g PiAtCWlmIChJU19HRU4oZGV2X3ByaXYsIDYpIHx8IElTX0dFTihkZXZfcHJpdiwgNykpIHsKPiA+ ID4gKwlpZiAoSVNfR0VOKGRldl9wcml2LCA2LCA3KSkgewo+ID4gPiAgIAkJSTkxNV9XUklURShS SU5HX1NZTkNfMChlbmdpbmUtPm1taW9fYmFzZSksIDApOwo+ID4gPiAgIAkJSTkxNV9XUklURShS SU5HX1NZTkNfMShlbmdpbmUtPm1taW9fYmFzZSksIDApOwo+ID4gPiAgIAkJaWYgKEhBU19WRUJP WChkZXZfcHJpdikpCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9maWZvX3VuZGVycnVuLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9maWZvX3VuZGVy cnVuLmMKPiA+ID4gaW5kZXggZmYyNzQzY2NiZWNlLi5hMTZiNDYzYTUyN2QgMTAwNjQ0Cj4gPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZpZm9fdW5kZXJydW4uYwo+ID4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9maWZvX3VuZGVycnVuLmMKPiA+ID4gQEAg LTI2MCw3ICsyNjAsNyBAQCBzdGF0aWMgYm9vbCBfX2ludGVsX3NldF9jcHVfZmlmb191bmRlcnJ1 bl9yZXBvcnRpbmcoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ID4gICAJaWYgKEhBU19HTUNI X0RJU1BMQVkoZGV2X3ByaXYpKQo+ID4gPiAgIAkJaTl4eF9zZXRfZmlmb191bmRlcnJ1bl9yZXBv cnRpbmcoZGV2LCBwaXBlLCBlbmFibGUsIG9sZCk7Cj4gPiA+IC0JZWxzZSBpZiAoSVNfR0VOKGRl dl9wcml2LCA1KSB8fCBJU19HRU4oZGV2X3ByaXYsIDYpKQo+ID4gPiArCWVsc2UgaWYgKElTX0dF TihkZXZfcHJpdiwgNSwgNikpCj4gPiA+ICAgCQlpcm9ubGFrZV9zZXRfZmlmb191bmRlcnJ1bl9y ZXBvcnRpbmcoZGV2LCBwaXBlLCBlbmFibGUpOwo+ID4gPiAgIAllbHNlIGlmIChJU19HRU4oZGV2 X3ByaXYsIDcpKQo+ID4gPiAgIAkJaXZ5YnJpZGdlX3NldF9maWZvX3VuZGVycnVuX3JlcG9ydGlu ZyhkZXYsIHBpcGUsIGVuYWJsZSwgb2xkKTsKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3BpcGVfY3JjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w aXBlX2NyYy5jCj4gPiA+IGluZGV4IDllODcwY2FmODEwNC4uM2UwNjU3MDMzN2I2IDEwMDY0NAo+ ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9waXBlX2NyYy5jCj4gPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BpcGVfY3JjLmMKPiA+ID4gQEAgLTQzMyw3 ICs0MzMsNyBAQCBzdGF0aWMgaW50IGdldF9uZXdfY3JjX2N0bF9yZWcoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiAgIAkJcmV0dXJuIGk5eHhfcGlwZV9jcmNfY3RsX3Jl ZyhkZXZfcHJpdiwgcGlwZSwgc291cmNlLCB2YWwpOwo+ID4gPiAgIAllbHNlIGlmIChJU19WQUxM RVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkKPiA+ID4gICAJCXJl dHVybiB2bHZfcGlwZV9jcmNfY3RsX3JlZyhkZXZfcHJpdiwgcGlwZSwgc291cmNlLCB2YWwpOwo+ ID4gPiAtCWVsc2UgaWYgKElTX0dFTihkZXZfcHJpdiwgNSkgfHwgSVNfR0VOKGRldl9wcml2LCA2 KSkKPiA+ID4gKwllbHNlIGlmIChJU19HRU4oZGV2X3ByaXYsIDUsIDYpKQo+ID4gPiAgIAkJcmV0 dXJuIGlsa19waXBlX2NyY19jdGxfcmVnKHNvdXJjZSwgdmFsKTsKPiA+ID4gICAJZWxzZQo+ID4g PiAgIAkJcmV0dXJuIGl2Yl9waXBlX2NyY19jdGxfcmVnKGRldl9wcml2LCBwaXBlLCBzb3VyY2Us IHZhbCwgc2V0X3dhKTsKPiA+ID4gQEAgLTU1MCw3ICs1NTAsNyBAQCBpbnRlbF9pc192YWxpZF9j cmNfc291cmNlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4gICAJCXJl dHVybiBpOXh4X2NyY19zb3VyY2VfdmFsaWQoZGV2X3ByaXYsIHNvdXJjZSk7Cj4gPiA+ICAgCWVs c2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYp KQo+ID4gPiAgIAkJcmV0dXJuIHZsdl9jcmNfc291cmNlX3ZhbGlkKGRldl9wcml2LCBzb3VyY2Up Owo+ID4gPiAtCWVsc2UgaWYgKElTX0dFTihkZXZfcHJpdiwgNSkgfHwgSVNfR0VOKGRldl9wcml2 LCA2KSkKPiA+ID4gKwllbHNlIGlmIChJU19HRU4oZGV2X3ByaXYsIDUsIDYpKQo+ID4gPiAgIAkJ cmV0dXJuIGlsa19jcmNfc291cmNlX3ZhbGlkKGRldl9wcml2LCBzb3VyY2UpOwo+ID4gPiAgIAll bHNlCj4gPiA+ICAgCQlyZXR1cm4gaXZiX2NyY19zb3VyY2VfdmFsaWQoZGV2X3ByaXYsIHNvdXJj ZSk7Cj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4gPiA+IGluZGV4IGMzNjQ1 M2Q2NmQ5My4uODhjYmQzMmQ2OTY0IDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF91bmNvcmUuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF91bmNvcmUuYwo+ID4gPiBAQCAtNTI4LDcgKzUyOCw3IEBAIGNoZWNrX2Zvcl91bmNsYWltZWRf bW1pbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiA+ICAgCWlmIChJU19W QUxMRVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkKPiA+ID4gICAJ CXJldCB8PSB2bHZfY2hlY2tfZm9yX3VuY2xhaW1lZF9tbWlvKGRldl9wcml2KTsKPiA+ID4gLQlp ZiAoSVNfR0VOKGRldl9wcml2LCA2KSB8fCBJU19HRU4oZGV2X3ByaXYsIDcpKQo+ID4gPiArCWlm IChJU19HRU4oZGV2X3ByaXYsIDYsIDcpKQo+ID4gPiAgIAkJcmV0IHw9IGdlbjZfY2hlY2tfZm9y X2ZpZm9fZGVidWcoZGV2X3ByaXYpOwo+ID4gPiAgIAlyZXR1cm4gcmV0Owo+ID4gPiBAQCAtNTU2 LDcgKzU1Niw3IEBAIHN0YXRpYyB2b2lkIF9faW50ZWxfdW5jb3JlX2Vhcmx5X3Nhbml0aXplKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4gICAJCWRldl9wcml2LT51bmNv cmUuZnVuY3MuZm9yY2Vfd2FrZV9nZXQoZGV2X3ByaXYsCj4gPiA+ICAgCQkJCQkJICAgICAgcmVz dG9yZV9mb3JjZXdha2UpOwo+ID4gPiAtCQlpZiAoSVNfR0VOKGRldl9wcml2LCA2KSB8fCBJU19H RU4oZGV2X3ByaXYsIDcpKQo+ID4gPiArCQlpZiAoSVNfR0VOKGRldl9wcml2LCA2LCA3KSkKPiA+ ID4gICAJCQlkZXZfcHJpdi0+dW5jb3JlLmZpZm9fY291bnQgPQo+ID4gPiAgIAkJCQlmaWZvX2Zy ZWVfZW50cmllcyhkZXZfcHJpdik7Cj4gPiA+ICAgCQlzcGluX3VubG9ja19pcnEoJmRldl9wcml2 LT51bmNvcmUubG9jayk7Cj4gPiA+IEBAIC0xNDM3LDcgKzE0MzcsNyBAQCBzdGF0aWMgdm9pZCBp bnRlbF91bmNvcmVfZndfZG9tYWluc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKPiA+ID4gICAJCQkJICAgICAgIEZPUkNFV0FLRV9NRURJQV9WRUJPWF9HRU4xMShpKSwK PiA+ID4gICAJCQkJICAgICAgIEZPUkNFV0FLRV9BQ0tfTUVESUFfVkVCT1hfR0VOMTEoaSkpOwo+ ID4gPiAgIAkJfQo+ID4gPiAtCX0gZWxzZSBpZiAoSVNfR0VOKGRldl9wcml2LCAxMCkgfHwgSVNf R0VOKGRldl9wcml2LCA5KSkgewo+ID4gPiArCX0gZWxzZSBpZiAoSVNfR0VOKGRldl9wcml2LCA5 LCAxMCkpIHsKPiA+ID4gICAJCWRldl9wcml2LT51bmNvcmUuZnVuY3MuZm9yY2Vfd2FrZV9nZXQg PQo+ID4gPiAgIAkJCWZ3X2RvbWFpbnNfZ2V0X3dpdGhfZmFsbGJhY2s7Cj4gPiA+ICAgCQlkZXZf cHJpdi0+dW5jb3JlLmZ1bmNzLmZvcmNlX3dha2VfcHV0ID0gZndfZG9tYWluc19wdXQ7Cj4gPiA+ IAo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+ IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiA+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=