From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Romanick Subject: Re: [PATCH 09/12] intel: Provide IS_GENX() macros taking a drm_intel_device as argument Date: Thu, 05 Mar 2015 10:41:19 -0800 Message-ID: <54F8A34F.5060304@freedesktop.org> References: <1425572420-10067-1-git-send-email-damien.lespiau@intel.com> <1425572420-10067-10-git-send-email-damien.lespiau@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1425572420-10067-10-git-send-email-damien.lespiau@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Damien Lespiau , intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gMDMvMDUvMjAxNSAwODoyMCBBTSwgRGFtaWVuIExlc3BpYXUgd3JvdGU6Cj4gVGltZSB0byBz d2l0Y2ggb3ZlciBhbGwgdGhlIElTX0dFTlgoKSBtYWNyb3MgdG8gdGhlIG5ldyBkZXZpY2Ugb2Jq ZWN0Lgo+IE5vdGhpbmcgbW9yZSB0aGFuIGEgbWVjaGFuaWNhbCBzZWFyY2ggJiByZXBsYWNlIGhl cmUuCgpIbW0uLi4gd2h5IG5vdCBqdXN0IGRvIHRoZSBjb21wYXJpc29ucyBkaXJlY3RseT8gIFRo ZSBtYWNyb3Mgc2VlbQpzdXBlcmZsdW91cy4KCj4gU2lnbmVkLW9mZi1ieTogRGFtaWVuIExlc3Bp YXUgPGRhbWllbi5sZXNwaWF1QGludGVsLmNvbT4KPiAtLS0KPiAgaW50ZWwvaW50ZWxfYnVmbWdy X2dlbS5jICB8ICAgNyArLQo+ICBpbnRlbC9pbnRlbF9jaGlwc2V0LmggICAgIHwgMTU4IC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgaW50ZWwvaW50ZWxf ZGVjb2RlLmMgICAgICB8ICA0MSArKysrKystLS0tLS0KPiAgaW50ZWwvaW50ZWxfZGV2aWNlX3By aXYuaCB8ICAgOCArKysKPiAgNCBmaWxlcyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAxODMg ZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2ludGVsL2ludGVsX2J1Zm1ncl9nZW0uYyBi L2ludGVsL2ludGVsX2J1Zm1ncl9nZW0uYwo+IGluZGV4IDU4NTQzYTIuLjAxMWZhNWIgMTAwNjQ0 Cj4gLS0tIGEvaW50ZWwvaW50ZWxfYnVmbWdyX2dlbS5jCj4gKysrIGIvaW50ZWwvaW50ZWxfYnVm bWdyX2dlbS5jCj4gQEAgLTM0NTEsOCArMzQ1MSw3IEBAIGRybV9pbnRlbF9idWZtZ3JfZ2VtX2lu aXQoaW50IGZkLCBpbnQgYmF0Y2hfc2l6ZSkKPiAgCWJ1Zm1ncl9nZW0tPnBjaV9kZXZpY2UgPSBk cm1faW50ZWxfZGV2aWNlX2dldF9kZXZpZChidWZtZ3JfZ2VtLT5kZXYpOwo+ICAJYnVmbWdyX2dl bS0+Z2VuID0gYnVmbWdyX2dlbS0+ZGV2LT5nZW47Cj4gIAo+IC0JaWYgKElTX0dFTjMoYnVmbWdy X2dlbS0+cGNpX2RldmljZSkgJiYKPiAtCSAgICBidWZtZ3JfZ2VtLT5ndHRfc2l6ZSA+IDI1Niox MDI0KjEwMjQpIHsKPiArCWlmIChJU19HRU4zKGJ1Zm1ncl9nZW0tPmRldikgJiYgYnVmbWdyX2dl bS0+Z3R0X3NpemUgPiAyNTYqMTAyNCoxMDI0KSB7Cj4gIAkJLyogVGhlIHVubWFwcGFibGUgcGFy dCBvZiBndHQgb24gZ2VuIDMgKGkuZS4gYWJvdmUgMjU2TUIpIGNhbid0Cj4gIAkJICogYmUgdXNl ZCBmb3IgdGlsZWQgYmxpdHMuIFRvIHNpbXBsaWZ5IHRoZSBhY2NvdW50aW5nLCBqdXN0Cj4gIAkJ ICogc3Vic3RyYWN0IHRoZSB1bm1hcHBhYmxlIHBhcnQgKGZpeGVkIHRvIDI1Nk1CIG9uIGFsbCBr bm93bgo+IEBAIC0zNDk0LDggKzM0OTMsOCBAQCBkcm1faW50ZWxfYnVmbWdyX2dlbV9pbml0KGlu dCBmZCwgaW50IGJhdGNoX3NpemUpCj4gIAkJLyogS2VybmVsIGRvZXMgbm90IHN1cHBvcnRzIEhB U19MTEMgcXVlcnksIGZhbGxiYWNrIHRvIEdQVQo+ICAJCSAqIGdlbmVyYXRpb24gZGV0ZWN0aW9u IGFuZCBhc3N1bWUgdGhhdCB3ZSBoYXZlIExMQyBvbiBHRU42LzcKPiAgCQkgKi8KPiAtCQlidWZt Z3JfZ2VtLT5oYXNfbGxjID0gSVNfR0VONihidWZtZ3JfZ2VtLT5wY2lfZGV2aWNlKSB8fAo+IC0J CQkJICAgICAgSVNfR0VONyhidWZtZ3JfZ2VtLT5wY2lfZGV2aWNlKTsKPiArCQlidWZtZ3JfZ2Vt LT5oYXNfbGxjID0gSVNfR0VONihidWZtZ3JfZ2VtLT5kZXYpIHx8Cj4gKwkJCQkgICAgICBJU19H RU43KGJ1Zm1ncl9nZW0tPmRldik7Cj4gIAl9IGVsc2UKPiAgCQlidWZtZ3JfZ2VtLT5oYXNfbGxj ID0gKmdwLnZhbHVlOwo+ICAKPiBkaWZmIC0tZ2l0IGEvaW50ZWwvaW50ZWxfY2hpcHNldC5oIGIv aW50ZWwvaW50ZWxfY2hpcHNldC5oCj4gaW5kZXggMjQxZDcwMC4uMTM0Yzg3NyAxMDA2NDQKPiAt LS0gYS9pbnRlbC9pbnRlbF9jaGlwc2V0LmgKPiArKysgYi9pbnRlbC9pbnRlbF9jaGlwc2V0LmgK PiBAQCAtMTgxLDE2MiArMTgxLDQgQEAKPiAgI2RlZmluZSBQQ0lfQ0hJUF9TS1lMQUtFX1NSVl9H VDEJMHgxOTBBCj4gICNkZWZpbmUgUENJX0NISVBfU0tZTEFLRV9XS1NfR1QyIAkweDE5MUQKPiAg Cj4gLSNkZWZpbmUgSVNfSUxEKGRldmlkKQkJKChkZXZpZCkgPT0gUENJX0NISVBfSUxEX0cpCj4g LSNkZWZpbmUgSVNfSUxNKGRldmlkKQkJKChkZXZpZCkgPT0gUENJX0NISVBfSUxNX0cpCj4gLQo+ IC0jZGVmaW5lIElTXzkxNShkZXZpZCkJCSgoZGV2aWQpID09IFBDSV9DSElQX0k5MTVfRyB8fCBc Cj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9FNzIyMV9HIHx8IFwKPiAtCQkJCSAoZGV2aWQp ID09IFBDSV9DSElQX0k5MTVfR00pCj4gLQo+IC0jZGVmaW5lIElTXzk0NUdNKGRldmlkKQkJKChk ZXZpZCkgPT0gUENJX0NISVBfSTk0NV9HTSB8fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJ UF9JOTQ1X0dNRSkKPiAtCj4gLSNkZWZpbmUgSVNfOTQ1KGRldmlkKQkJKChkZXZpZCkgPT0gUENJ X0NISVBfSTk0NV9HIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9DSElQX0k5NDVfR00gfHwg XAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfSTk0NV9HTUUgfHwgXAo+IC0JCQkJIElTX0cz MyhkZXZpZCkpCj4gLQo+IC0jZGVmaW5lIElTX0czMyhkZXZpZCkJCSgoZGV2aWQpID09IFBDSV9D SElQX0czM19HIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9DSElQX1EzM19HIHx8IFwKPiAt CQkJCSAoZGV2aWQpID09IFBDSV9DSElQX1EzNV9HIHx8IElTX0lHRChkZXZpZCkpCj4gLQo+IC0j ZGVmaW5lIElTX0dFTjIoZGV2aWQpCQkoKGRldmlkKSA9PSBQQ0lfQ0hJUF9JODMwX00gfHwgXAo+ IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfODQ1X0cgfHwgXAo+IC0JCQkJIChkZXZpZCkgPT0g UENJX0NISVBfSTg1NV9HTSB8fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9JODY1X0cp Cj4gLQo+IC0jZGVmaW5lIElTX0dFTjMoZGV2aWQpCQkoSVNfOTQ1KGRldmlkKSB8fCBJU185MTUo ZGV2aWQpKQo+IC0KPiAtI2RlZmluZSBJU19HRU41KGRldmlkKQkJKElTX0lMRChkZXZpZCkgfHwg SVNfSUxNKGRldmlkKSkKPiAtCj4gLSNkZWZpbmUgSVNfR0VONihkZXZpZCkJCSgoZGV2aWQpID09 IFBDSV9DSElQX1NBTkRZQlJJREdFX0dUMSB8fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJ UF9TQU5EWUJSSURHRV9HVDIgfHwgXAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfU0FORFlC UklER0VfR1QyX1BMVVMgfHwgXAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfU0FORFlCUklE R0VfTV9HVDEgfHwgXAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfU0FORFlCUklER0VfTV9H VDIgfHwgXAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfU0FORFlCUklER0VfTV9HVDJfUExV UyB8fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9TQU5EWUJSSURHRV9TKQo+IC0KPiAt I2RlZmluZSBJU19HRU43KGRldmlkKQkJKElTX0lWWUJSSURHRShkZXZpZCkgfHwgXAo+IC0JCQkJ IElTX0hBU1dFTEwoZGV2aWQpIHx8IFwKPiAtCQkJCSBJU19WQUxMRVlWSUVXKGRldmlkKSkKPiAt Cj4gLSNkZWZpbmUgSVNfSVZZQlJJREdFKGRldmlkKQkoKGRldmlkKSA9PSBQQ0lfQ0hJUF9JVllC UklER0VfR1QxIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9DSElQX0lWWUJSSURHRV9HVDIg fHwgXAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfSVZZQlJJREdFX01fR1QxIHx8IFwKPiAt CQkJCSAoZGV2aWQpID09IFBDSV9DSElQX0lWWUJSSURHRV9NX0dUMiB8fCBcCj4gLQkJCQkgKGRl dmlkKSA9PSBQQ0lfQ0hJUF9JVllCUklER0VfUyB8fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lf Q0hJUF9JVllCUklER0VfU19HVDIpCj4gLQo+IC0jZGVmaW5lIElTX1ZBTExFWVZJRVcoZGV2aWQp CSgoZGV2aWQpID09IFBDSV9DSElQX1ZBTExFWVZJRVdfUE8gfHwgXAo+IC0JCQkJIChkZXZpZCkg PT0gUENJX0NISVBfVkFMTEVZVklFV18xIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9DSElQ X1ZBTExFWVZJRVdfMiB8fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9WQUxMRVlWSUVX XzMpCj4gLQo+IC0jZGVmaW5lIElTX0hTV19HVDEoZGV2aWQpCSgoZGV2aWQpID09IFBDSV9DSElQ X0hBU1dFTExfR1QxIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9DSElQX0hBU1dFTExfTV9H VDEgfHwgXAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfSEFTV0VMTF9TX0dUMSB8fCBcCj4g LQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9IQVNXRUxMX0JfR1QxIHx8IFwKPiAtCQkJCSAoZGV2 aWQpID09IFBDSV9DSElQX0hBU1dFTExfRV9HVDEgfHwgXAo+IC0JCQkJIChkZXZpZCkgPT0gUENJ X0NISVBfSEFTV0VMTF9TRFZfR1QxIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9DSElQX0hB U1dFTExfU0RWX01fR1QxIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9DSElQX0hBU1dFTExf U0RWX1NfR1QxIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9DSElQX0hBU1dFTExfU0RWX0Jf R1QxIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9DSElQX0hBU1dFTExfU0RWX0VfR1QxIHx8 IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9DSElQX0hBU1dFTExfVUxUX0dUMSB8fCBcCj4gLQkJ CQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9IQVNXRUxMX1VMVF9NX0dUMSB8fCBcCj4gLQkJCQkgKGRl dmlkKSA9PSBQQ0lfQ0hJUF9IQVNXRUxMX1VMVF9TX0dUMSB8fCBcCj4gLQkJCQkgKGRldmlkKSA9 PSBQQ0lfQ0hJUF9IQVNXRUxMX1VMVF9CX0dUMSB8fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lf Q0hJUF9IQVNXRUxMX1VMVF9FX0dUMSB8fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9I QVNXRUxMX0NSV19HVDEgfHwgXAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfSEFTV0VMTF9D UldfTV9HVDEgfHwgXAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfSEFTV0VMTF9DUldfU19H VDEgfHwgXAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfSEFTV0VMTF9DUldfQl9HVDEgfHwg XAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfSEFTV0VMTF9DUldfRV9HVDEpCj4gLSNkZWZp bmUgSVNfSFNXX0dUMihkZXZpZCkJKChkZXZpZCkgPT0gUENJX0NISVBfSEFTV0VMTF9HVDIgfHwg XAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfSEFTV0VMTF9NX0dUMiB8fCBcCj4gLQkJCQkg KGRldmlkKSA9PSBQQ0lfQ0hJUF9IQVNXRUxMX1NfR1QyIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09 IFBDSV9DSElQX0hBU1dFTExfQl9HVDIgfHwgXAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBf SEFTV0VMTF9FX0dUMiB8fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9IQVNXRUxMX1NE Vl9HVDIgfHwgXAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfSEFTV0VMTF9TRFZfTV9HVDIg fHwgXAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfSEFTV0VMTF9TRFZfU19HVDIgfHwgXAo+ IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfSEFTV0VMTF9TRFZfQl9HVDIgfHwgXAo+IC0JCQkJ IChkZXZpZCkgPT0gUENJX0NISVBfSEFTV0VMTF9TRFZfRV9HVDIgfHwgXAo+IC0JCQkJIChkZXZp ZCkgPT0gUENJX0NISVBfSEFTV0VMTF9VTFRfR1QyIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBD SV9DSElQX0hBU1dFTExfVUxUX01fR1QyIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9DSElQ X0hBU1dFTExfVUxUX1NfR1QyIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9DSElQX0hBU1dF TExfVUxUX0JfR1QyIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9DSElQX0hBU1dFTExfVUxU X0VfR1QyIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9DSElQX0hBU1dFTExfQ1JXX0dUMiB8 fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9IQVNXRUxMX0NSV19NX0dUMiB8fCBcCj4g LQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9IQVNXRUxMX0NSV19TX0dUMiB8fCBcCj4gLQkJCQkg KGRldmlkKSA9PSBQQ0lfQ0hJUF9IQVNXRUxMX0NSV19CX0dUMiB8fCBcCj4gLQkJCQkgKGRldmlk KSA9PSBQQ0lfQ0hJUF9IQVNXRUxMX0NSV19FX0dUMikKPiAtI2RlZmluZSBJU19IU1dfR1QzKGRl dmlkKQkoKGRldmlkKSA9PSBQQ0lfQ0hJUF9IQVNXRUxMX0dUMyB8fCBcCj4gLQkJCQkgKGRldmlk KSA9PSBQQ0lfQ0hJUF9IQVNXRUxMX01fR1QzIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9D SElQX0hBU1dFTExfU19HVDMgfHwgXAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfSEFTV0VM TF9CX0dUMyB8fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9IQVNXRUxMX0VfR1QzIHx8 IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9DSElQX0hBU1dFTExfU0RWX0dUMyB8fCBcCj4gLQkJ CQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9IQVNXRUxMX1NEVl9NX0dUMyB8fCBcCj4gLQkJCQkgKGRl dmlkKSA9PSBQQ0lfQ0hJUF9IQVNXRUxMX1NEVl9TX0dUMyB8fCBcCj4gLQkJCQkgKGRldmlkKSA9 PSBQQ0lfQ0hJUF9IQVNXRUxMX1NEVl9CX0dUMyB8fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lf Q0hJUF9IQVNXRUxMX1NEVl9FX0dUMyB8fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9I QVNXRUxMX1VMVF9HVDMgfHwgXAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfSEFTV0VMTF9V TFRfTV9HVDMgfHwgXAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfSEFTV0VMTF9VTFRfU19H VDMgfHwgXAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfSEFTV0VMTF9VTFRfQl9HVDMgfHwg XAo+IC0JCQkJIChkZXZpZCkgPT0gUENJX0NISVBfSEFTV0VMTF9VTFRfRV9HVDMgfHwgXAo+IC0J CQkJIChkZXZpZCkgPT0gUENJX0NISVBfSEFTV0VMTF9DUldfR1QzIHx8IFwKPiAtCQkJCSAoZGV2 aWQpID09IFBDSV9DSElQX0hBU1dFTExfQ1JXX01fR1QzIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09 IFBDSV9DSElQX0hBU1dFTExfQ1JXX1NfR1QzIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9D SElQX0hBU1dFTExfQ1JXX0JfR1QzIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9DSElQX0hB U1dFTExfQ1JXX0VfR1QzKQo+IC0KPiAtI2RlZmluZSBJU19IQVNXRUxMKGRldmlkKQkoSVNfSFNX X0dUMShkZXZpZCkgfHwgXAo+IC0JCQkJIElTX0hTV19HVDIoZGV2aWQpIHx8IFwKPiAtCQkJCSBJ U19IU1dfR1QzKGRldmlkKSkKPiAtCj4gLSNkZWZpbmUgSVNfQlJPQURXRUxMKGRldmlkKSAgICAg KCgoZGV2aWQgJiAweGZmMDApICE9IDB4MTYwMCkgPyAwIDogXAo+IC0JCQkJKCgoZGV2aWQgJiAw eDAwZjApID4+IDQpID4gMykgPyAwIDogXAo+IC0JCQkJKChkZXZpZCAmIDB4MDAwZikgPT0gQkRX X1NQQVJFKSA/IDEgOiBcCj4gLQkJCQkoKGRldmlkICYgMHgwMDBmKSA9PSBCRFdfVUxUKSA/IDEg OiBcCj4gLQkJCQkoKGRldmlkICYgMHgwMDBmKSA9PSBCRFdfSVJJUykgPyAxIDogXAo+IC0JCQkJ KChkZXZpZCAmIDB4MDAwZikgPT0gQkRXX1NFUlZFUikgPyAxIDogXAo+IC0JCQkJKChkZXZpZCAm IDB4MDAwZikgPT0gQkRXX1dPUktTVEFUSU9OKSA/IDEgOiBcCj4gLQkJCQkoKGRldmlkICYgMHgw MDBmKSA9PSBCRFdfVUxYKSA/IDEgOiAwKQo+IC0KPiAtI2RlZmluZSBJU19DSEVSUllWSUVXKGRl dmlkKQkoKGRldmlkKSA9PSBQQ0lfQ0hJUF9DSEVSUllWSUVXXzAgfHwgXAo+IC0JCQkJIChkZXZp ZCkgPT0gUENJX0NISVBfQ0hFUlJZVklFV18xIHx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9D SElQX0NIRVJSWVZJRVdfMiB8fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9DSEVSUllW SUVXXzMpCj4gLQo+IC0jZGVmaW5lIElTX0dFTjgoZGV2aWQpCQkoSVNfQlJPQURXRUxMKGRldmlk KSB8fCBcCj4gLQkJCQkgSVNfQ0hFUlJZVklFVyhkZXZpZCkpCj4gLQo+IC0jZGVmaW5lIElTX1NL TF9HVDEoZGV2aWQpCSgoZGV2aWQpID09IFBDSV9DSElQX1NLWUxBS0VfVUxUX0dUMQl8fCBcCj4g LQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9TS1lMQUtFX1VMWF9HVDEJfHwgXAo+IC0JCQkJIChk ZXZpZCkgPT0gUENJX0NISVBfU0tZTEFLRV9EVF9HVDEJfHwgXAo+IC0JCQkJIChkZXZpZCkgPT0g UENJX0NISVBfU0tZTEFLRV9IQUxPX0dUMQl8fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJ UF9TS1lMQUtFX1NSVl9HVDEpCj4gLQo+IC0jZGVmaW5lIElTX1NLTF9HVDIoZGV2aWQpCSgoZGV2 aWQpID09IFBDSV9DSElQX1NLWUxBS0VfVUxUX0dUMgl8fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQ Q0lfQ0hJUF9TS1lMQUtFX1VMVF9HVDJGCXx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9DSElQ X1NLWUxBS0VfVUxYX0dUMgl8fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9TS1lMQUtF X0RUX0dUMgl8fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9TS1lMQUtFX0hBTE9fR1Qy CXx8IFwKPiAtCQkJCSAoZGV2aWQpID09IFBDSV9DSElQX1NLWUxBS0VfU1JWX0dUMgl8fCBcCj4g LQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9TS1lMQUtFX1dLU19HVDIpCj4gLQo+IC0jZGVmaW5l IElTX1NLTF9HVDMoZGV2aWQpCSgoZGV2aWQpID09IFBDSV9DSElQX1NLWUxBS0VfVUxUX0dUMwl8 fCBcCj4gLQkJCQkgKGRldmlkKSA9PSBQQ0lfQ0hJUF9TS1lMQUtFX0hBTE9fR1QzCXx8IFwKPiAt CQkJCSAoZGV2aWQpID09IFBDSV9DSElQX1NLWUxBS0VfU1JWX0dUMykKPiAtCj4gLSNkZWZpbmUg SVNfU0tZTEFLRShkZXZpZCkJKElTX1NLTF9HVDEoZGV2aWQpIHx8IFwKPiAtCQkJCSBJU19TS0xf R1QyKGRldmlkKSB8fCBcCj4gLQkJCQkgSVNfU0tMX0dUMyhkZXZpZCkpCj4gLQo+IC0jZGVmaW5l IElTX0dFTjkoZGV2aWQpCQlJU19TS1lMQUtFKGRldmlkKQo+IC0KPiAgI2VuZGlmIC8qIF9JTlRF TF9DSElQU0VUX0ggKi8KPiBkaWZmIC0tZ2l0IGEvaW50ZWwvaW50ZWxfZGVjb2RlLmMgYi9pbnRl bC9pbnRlbF9kZWNvZGUuYwo+IGluZGV4IDJmZDJjYzUuLmFiZTY4OWMgMTAwNjQ0Cj4gLS0tIGEv aW50ZWwvaW50ZWxfZGVjb2RlLmMKPiArKysgYi9pbnRlbC9pbnRlbF9kZWNvZGUuYwo+IEBAIC0z NSw3ICszNSw3IEBACj4gIAo+ICAjaW5jbHVkZSAibGliZHJtLmgiCj4gICNpbmNsdWRlICJ4Zjg2 ZHJtLmgiCj4gLSNpbmNsdWRlICJpbnRlbF9kZXZpY2UuaCIKPiArI2luY2x1ZGUgImludGVsX2Rl dmljZV9wcml2LmgiCj4gICNpbmNsdWRlICJpbnRlbF9jaGlwc2V0LmgiCj4gICNpbmNsdWRlICJp bnRlbF9idWZtZ3IuaCIKPiAgCj4gQEAgLTEyNzcsNyArMTI3Nyw3IEBAIGRlY29kZV8zZF8xZChz dHJ1Y3QgZHJtX2ludGVsX2RlY29kZSAqY3R4KQo+ICAJY29uc3QgY2hhciAqZm9ybWF0LCAqemZv cm1hdCwgKnR5cGU7Cj4gIAl1aW50MzJfdCBvcGNvZGU7Cj4gIAl1aW50MzJfdCAqZGF0YSA9IGN0 eC0+ZGF0YTsKPiAtCXVpbnQzMl90IGRldmlkID0gY3R4LT5kZXZpZDsKPiArCXN0cnVjdCBkcm1f aW50ZWxfZGV2aWNlICpkZXYgPSBjdHgtPmRldjsKPiAgCj4gIAlzdHJ1Y3Qgewo+ICAJCXVpbnQz Ml90IG9wY29kZTsKPiBAQCAtMTM1Myw3ICsxMzUzLDcgQEAgZGVjb2RlXzNkXzFkKHN0cnVjdCBk cm1faW50ZWxfZGVjb2RlICpjdHgpCj4gIAkJZm9yICh3b3JkID0gMDsgd29yZCA8PSA4OyB3b3Jk KyspIHsKPiAgCQkJaWYgKGRhdGFbMF0gJiAoMSA8PCAoNCArIHdvcmQpKSkgewo+ICAJCQkJLyog c2F2ZSB2ZXJ0ZXggc3RhdGUgZm9yIGRlY29kZSAqLwo+IC0JCQkJaWYgKCFJU19HRU4yKGRldmlk KSkgewo+ICsJCQkJaWYgKCFJU19HRU4yKGRldikpIHsKPiAgCQkJCQlpbnQgdGV4X251bTsKPiAg Cj4gIAkJCQkJaWYgKHdvcmQgPT0gMikgewo+IEBAIC0yMDI5LDcgKzIwMjksNyBAQCBkZWNvZGVf M2RfMWQoc3RydWN0IGRybV9pbnRlbF9kZWNvZGUgKmN0eCkKPiAgCQl9Cj4gIAkJcmV0dXJuIGxl bjsKPiAgCWNhc2UgMHgwMToKPiAtCQlpZiAoSVNfR0VOMihkZXZpZCkpCj4gKwkJaWYgKElTX0dF TjIoZGV2KSkKPiAgCQkJYnJlYWs7Cj4gIAkJaW5zdHJfb3V0KGN0eCwgMCwgIjNEU1RBVEVfU0FN UExFUl9TVEFURVxuIik7Cj4gIAkJaW5zdHJfb3V0KGN0eCwgMSwgIm1hc2tcbiIpOwo+IEBAIC0y MjU0LDcgKzIyNTQsNyBAQCBkZWNvZGVfM2RfMWQoc3RydWN0IGRybV9pbnRlbF9kZWNvZGUgKmN0 eCkKPiAgCj4gIAlmb3IgKGlkeCA9IDA7IGlkeCA8IEFSUkFZX1NJWkUob3Bjb2Rlc18zZF8xZCk7 IGlkeCsrKSB7Cj4gIAkJb3Bjb2RlXzNkXzFkID0gJm9wY29kZXNfM2RfMWRbaWR4XTsKPiAtCQlp ZiAob3Bjb2RlXzNkXzFkLT5pODMwX29ubHkgJiYgIUlTX0dFTjIoZGV2aWQpKQo+ICsJCWlmIChv cGNvZGVfM2RfMWQtPmk4MzBfb25seSAmJiAhSVNfR0VOMihkZXYpKQo+ICAJCQljb250aW51ZTsK PiAgCj4gIAkJaWYgKCgoZGF0YVswXSAmIDB4MDBmZjAwMDApID4+IDE2KSA9PSBvcGNvZGVfM2Rf MWQtPm9wY29kZSkgewo+IEBAIC0zMTQ0LDcgKzMxNDQsNyBAQCBkZWNvZGVfM2RfOTY1KHN0cnVj dCBkcm1faW50ZWxfZGVjb2RlICpjdHgpCj4gIAl1bnNpZ25lZCBpbnQgaSwgaiwgc2JhX2xlbjsK PiAgCWNvbnN0IGNoYXIgKmRlc2MxID0gTlVMTDsKPiAgCXVpbnQzMl90ICpkYXRhID0gY3R4LT5k YXRhOwo+IC0JdWludDMyX3QgZGV2aWQgPSBjdHgtPmRldmlkOwo+ICsJc3RydWN0IGRybV9pbnRl bF9kZXZpY2UgKmRldiA9IGN0eC0+ZGV2Owo+ICAKPiAgCXN0cnVjdCB7Cj4gIAkJdWludDMyX3Qg b3Bjb2RlOwo+IEBAIC0zMjk3LDkgKzMyOTcsOSBAQCBkZWNvZGVfM2RfOTY1KHN0cnVjdCBkcm1f aW50ZWxfZGVjb2RlICpjdHgpCj4gIAkJaW5zdHJfb3V0KGN0eCwgMCwgIlNUQVRFX0JBU0VfQURE UkVTU1xuIik7Cj4gIAkJaSsrOwo+ICAKPiAtCQlpZiAoSVNfR0VONihkZXZpZCkgfHwgSVNfR0VO NyhkZXZpZCkpCj4gKwkJaWYgKElTX0dFTjYoZGV2KSB8fCBJU19HRU43KGRldikpCj4gIAkJCXNi YV9sZW4gPSAxMDsKPiAtCQllbHNlIGlmIChJU19HRU41KGRldmlkKSkKPiArCQllbHNlIGlmIChJ U19HRU41KGRldikpCj4gIAkJCXNiYV9sZW4gPSA4Owo+ICAJCWVsc2UKPiAgCQkJc2JhX2xlbiA9 IDY7Cj4gQEAgLTMzMDgsMTcgKzMzMDgsMTcgQEAgZGVjb2RlXzNkXzk2NShzdHJ1Y3QgZHJtX2lu dGVsX2RlY29kZSAqY3R4KQo+ICAKPiAgCQlzdGF0ZV9iYXNlX291dChjdHgsIGkrKywgImdlbmVy YWwiKTsKPiAgCQlzdGF0ZV9iYXNlX291dChjdHgsIGkrKywgInN1cmZhY2UiKTsKPiAtCQlpZiAo SVNfR0VONihkZXZpZCkgfHwgSVNfR0VONyhkZXZpZCkpCj4gKwkJaWYgKElTX0dFTjYoZGV2KSB8 fCBJU19HRU43KGRldikpCj4gIAkJCXN0YXRlX2Jhc2Vfb3V0KGN0eCwgaSsrLCAiZHluYW1pYyIp Owo+ICAJCXN0YXRlX2Jhc2Vfb3V0KGN0eCwgaSsrLCAiaW5kaXJlY3QiKTsKPiAtCQlpZiAoSVNf R0VONShkZXZpZCkgfHwgSVNfR0VONihkZXZpZCkgfHwgSVNfR0VONyhkZXZpZCkpCj4gKwkJaWYg KElTX0dFTjUoZGV2KSB8fCBJU19HRU42KGRldikgfHwgSVNfR0VONyhkZXYpKQo+ICAJCQlzdGF0 ZV9iYXNlX291dChjdHgsIGkrKywgImluc3RydWN0aW9uIik7Cj4gIAo+ICAJCXN0YXRlX21heF9v dXQoY3R4LCBpKyssICJnZW5lcmFsIik7Cj4gLQkJaWYgKElTX0dFTjYoZGV2aWQpIHx8IElTX0dF TjcoZGV2aWQpKQo+ICsJCWlmIChJU19HRU42KGRldikgfHwgSVNfR0VONyhkZXYpKQo+ICAJCQlz dGF0ZV9tYXhfb3V0KGN0eCwgaSsrLCAiZHluYW1pYyIpOwo+ICAJCXN0YXRlX21heF9vdXQoY3R4 LCBpKyssICJpbmRpcmVjdCIpOwo+IC0JCWlmIChJU19HRU41KGRldmlkKSB8fCBJU19HRU42KGRl dmlkKSB8fCBJU19HRU43KGRldmlkKSkKPiArCQlpZiAoSVNfR0VONShkZXYpIHx8IElTX0dFTjYo ZGV2KSB8fCBJU19HRU43KGRldikpCj4gIAkJCXN0YXRlX21heF9vdXQoY3R4LCBpKyssICJpbnN0 cnVjdGlvbiIpOwo+ICAKPiAgCQlyZXR1cm4gbGVuOwo+IEBAIC0zMzg3LDcgKzMzODcsNyBAQCBk ZWNvZGVfM2RfOTY1KHN0cnVjdCBkcm1faW50ZWxfZGVjb2RlICpjdHgpCj4gIAo+ICAJCWZvciAo aSA9IDE7IGkgPCBsZW47KSB7Cj4gIAkJCWludCBpZHgsIGFjY2VzczsKPiAtCQkJaWYgKElTX0dF TjYoZGV2aWQpKSB7Cj4gKwkJCWlmIChJU19HRU42KGRldikpIHsKPiAgCQkJCWlkeCA9IDI2Owo+ ICAJCQkJYWNjZXNzID0gMjA7Cj4gIAkJCX0gZWxzZSB7Cj4gQEAgLTM0MTQsOCArMzQxNCw4IEBA IGRlY29kZV8zZF85NjUoc3RydWN0IGRybV9pbnRlbF9kZWNvZGUgKmN0eCkKPiAgCQkJaW5zdHJf b3V0KGN0eCwgaSwKPiAgCQkJCSAgImJ1ZmZlciAlZDogJXN2YWxpZCwgdHlwZSAweCUwNHgsICIK PiAgCQkJCSAgInNyYyBvZmZzZXQgMHglMDR4IGJ5dGVzXG4iLAo+IC0JCQkJICBkYXRhW2ldID4+ ICgoSVNfR0VONihkZXZpZCkgfHwgSVNfR0VONyhkZXZpZCkpID8gMjYgOiAyNyksCj4gLQkJCQkg IGRhdGFbaV0gJiAoMSA8PCAoKElTX0dFTjYoZGV2aWQpIHx8IElTX0dFTjcoZGV2aWQpKSA/IDI1 IDogMjYpKSA/Cj4gKwkJCQkgIGRhdGFbaV0gPj4gKChJU19HRU42KGRldikgfHwgSVNfR0VONyhk ZXYpKSA/IDI2IDogMjcpLAo+ICsJCQkJICBkYXRhW2ldICYgKDEgPDwgKChJU19HRU42KGRldikg fHwgSVNfR0VONyhkZXYpKSA/IDI1IDogMjYpKSA/Cj4gIAkJCQkgICIiIDogImluIiwgKGRhdGFb aV0gPj4gMTYpICYgMHgxZmYsCj4gIAkJCQkgIGRhdGFbaV0gJiAweDA3ZmYpOwo+ICAJCQlpKys7 Cj4gQEAgLTM1OTksNyArMzU5OSw3IEBAIGRlY29kZV8zZF85NjUoc3RydWN0IGRybV9pbnRlbF9k ZWNvZGUgKmN0eCkKPiAgCj4gIAljYXNlIDB4NzkwNToKPiAgCQlpbnN0cl9vdXQoY3R4LCAwLCAi M0RTVEFURV9ERVBUSF9CVUZGRVJcbiIpOwo+IC0JCWlmIChJU19HRU41KGRldmlkKSB8fCBJU19H RU42KGRldmlkKSkKPiArCQlpZiAoSVNfR0VONShkZXYpIHx8IElTX0dFTjYoZGV2KSkKPiAgCQkJ aW5zdHJfb3V0KGN0eCwgMSwKPiAgCQkJCSAgIiVzLCAlcywgcGl0Y2ggPSAlZCBieXRlcywgJXN0 aWxlZCwgSGlaICVkLCBTZXBlcmF0ZSBTdGVuY2lsICVkXG4iLAo+ICAJCQkJICBnZXRfOTY1X3N1 cmZhY2V0eXBlKGRhdGFbMV0gPj4gMjkpLAo+IEBAIC0zNjIzLDcgKzM2MjMsNyBAQCBkZWNvZGVf M2RfOTY1KHN0cnVjdCBkcm1faW50ZWxfZGVjb2RlICpjdHgpCj4gIAkJaWYgKGxlbiA+PSA2KQo+ ICAJCQlpbnN0cl9vdXQoY3R4LCA1LCAiXG4iKTsKPiAgCQlpZiAobGVuID49IDcpIHsKPiAtCQkJ aWYgKElTX0dFTjYoZGV2aWQpKQo+ICsJCQlpZiAoSVNfR0VONihkZXYpKQo+ICAJCQkJaW5zdHJf b3V0KGN0eCwgNiwgIlxuIik7Cj4gIAkJCWVsc2UKPiAgCQkJCWluc3RyX291dChjdHgsIDYsCj4g QEAgLTM2MzMsNyArMzYzMyw3IEBAIGRlY29kZV8zZF85NjUoc3RydWN0IGRybV9pbnRlbF9kZWNv ZGUgKmN0eCkKPiAgCQlyZXR1cm4gbGVuOwo+ICAKPiAgCWNhc2UgMHg3YTAwOgo+IC0JCWlmIChJ U19HRU42KGRldmlkKSB8fCBJU19HRU43KGRldmlkKSkgewo+ICsJCWlmIChJU19HRU42KGRldikg fHwgSVNfR0VONyhkZXYpKSB7Cj4gIAkJCXVuc2lnbmVkIGludCBpOwo+ICAJCQlpZiAobGVuICE9 IDQgJiYgbGVuICE9IDUpCj4gIAkJCQlmcHJpbnRmKG91dCwgIkJhZCBjb3VudCBpbiBQSVBFX0NP TlRST0xcbiIpOwo+IEBAIC0zODkzLDkgKzM4OTMsOSBAQCBkcm1faW50ZWxfZGVjb2RlKHN0cnVj dCBkcm1faW50ZWxfZGVjb2RlICpjdHgpCj4gIHsKPiAgCWludCByZXQ7Cj4gIAl1bnNpZ25lZCBp bnQgaW5kZXggPSAwOwo+IC0JdWludDMyX3QgZGV2aWQ7Cj4gIAlpbnQgc2l6ZSA9IGN0eC0+YmFz ZV9jb3VudCAqIDQ7Cj4gIAl2b2lkICp0ZW1wOwo+ICsJc3RydWN0IGRybV9pbnRlbF9kZXZpY2Ug KmRldiA9IGN0eC0+ZGV2Owo+ICAKPiAgCWlmICghY3R4KQo+ICAJCXJldHVybjsKPiBAQCAtMzkx Miw3ICszOTEyLDYgQEAgZHJtX2ludGVsX2RlY29kZShzdHJ1Y3QgZHJtX2ludGVsX2RlY29kZSAq Y3R4KQo+ICAJY3R4LT5od19vZmZzZXQgPSBjdHgtPmJhc2VfaHdfb2Zmc2V0Owo+ICAJY3R4LT5j b3VudCA9IGN0eC0+YmFzZV9jb3VudDsKPiAgCj4gLQlkZXZpZCA9IGN0eC0+ZGV2aWQ7Cj4gIAlo ZWFkX29mZnNldCA9IGN0eC0+aGVhZDsKPiAgCXRhaWxfb2Zmc2V0ID0gY3R4LT50YWlsOwo+ICAJ b3V0ID0gY3R4LT5vdXQ7Cj4gQEAgLTM5NTEsNyArMzk1MCw3IEBAIGRybV9pbnRlbF9kZWNvZGUo c3RydWN0IGRybV9pbnRlbF9kZWNvZGUgKmN0eCkKPiAgCQljYXNlIDB4MzoKPiAgCQkJaWYgKGN0 eC0+ZGV2LT5nZW4gPj0gNCkKPiAgCQkJCWluZGV4ICs9IGRlY29kZV8zZF85NjUoY3R4KTsKPiAt CQkJZWxzZSBpZiAoSVNfR0VOMyhkZXZpZCkpCj4gKwkJCWVsc2UgaWYgKElTX0dFTjMoZGV2KSkK PiAgCQkJCWluZGV4ICs9IGRlY29kZV8zZChjdHgpOwo+ICAJCQllbHNlCj4gIAkJCQlpbmRleCAr PSBkZWNvZGVfM2RfaTgzMChjdHgpOwo+IGRpZmYgLS1naXQgYS9pbnRlbC9pbnRlbF9kZXZpY2Vf cHJpdi5oIGIvaW50ZWwvaW50ZWxfZGV2aWNlX3ByaXYuaAo+IGluZGV4IDg3ZGMxZGMuLmQxYmM1 MjMgMTAwNjQ0Cj4gLS0tIGEvaW50ZWwvaW50ZWxfZGV2aWNlX3ByaXYuaAo+ICsrKyBiL2ludGVs L2ludGVsX2RldmljZV9wcml2LmgKPiBAQCAtMzEsNSArMzEsMTMgQEAKPiAgICogaGVhZGVyLCBo ZW5jZSBhIF9wcml2Lmggb25lIGZvciBpbnRlcm5hbCB1c2UuCj4gICAqLwo+ICAjZGVmaW5lIElT X0NISVAoZGV2LCBpZCkJKChkZXYpLT5jaGlwID09IERSTV9JTlRFTF9DSElQXyAjIyBpZCkKPiAr I2RlZmluZSBJU19HRU4yKGRldikJCSgoZGV2KS0+Z2VuID09IDIpCj4gKyNkZWZpbmUgSVNfR0VO MyhkZXYpCQkoKGRldiktPmdlbiA9PSAzKQo+ICsjZGVmaW5lIElTX0dFTjQoZGV2KQkJKChkZXYp LT5nZW4gPT0gNCkKPiArI2RlZmluZSBJU19HRU41KGRldikJCSgoZGV2KS0+Z2VuID09IDUpCj4g KyNkZWZpbmUgSVNfR0VONihkZXYpCQkoKGRldiktPmdlbiA9PSA2KQo+ICsjZGVmaW5lIElTX0dF TjcoZGV2KQkJKChkZXYpLT5nZW4gPT0gNykKPiArI2RlZmluZSBJU19HRU44KGRldikJCSgoZGV2 KS0+Z2VuID09IDgpCj4gKyNkZWZpbmUgSVNfR0VOOShkZXYpCQkoKGRldiktPmdlbiA9PSA5KQo+ ICAKPiAgI2VuZGlmIC8qIF9fSU5URUxfREVWSUNFX1BSSVZfSF9fICovCj4gCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=