From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Weinehall Subject: Re: [PATCH 10/19] drm/i915: Make IS_HASWELL only take dev_priv Date: Wed, 12 Oct 2016 13:52:34 +0300 Message-ID: <20161012104719.rfbaq65hajfutybn@boom> References: <1476192112-25336-1-git-send-email-tvrtko.ursulin@linux.intel.com> <1476192112-25336-11-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id E79B76E80D for ; Wed, 12 Oct 2016 10:52:36 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1476192112-25336-11-git-send-email-tvrtko.ursulin@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: Tvrtko Ursulin Cc: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBPY3QgMTEsIDIwMTYgYXQgMDI6MjE6NDNQTSArMDEwMCwgVHZydGtvIFVyc3VsaW4g d3JvdGU6Cj4gRnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4K PiAKPiBTYXZlcyAyNDMyIGJ5dGVzIG9mIC5yb2RhdGEgc3RyaW5ncy4KPiAKPiB2MjogQWRkIHBh cmFudGhlc2VzIGFyb3VuZCBkZXZfcHJpdi4gKFZpbGxlIFN5cmphbGEpCj4gCj4gU2lnbmVkLW9m Zi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClJldmlld2Vk LWJ5OiBEYXZpZCBXZWluZWhhbGwgPGRhdmlkLndlaW5laGFsbEBsaW51eC5pbnRlbC5jb20+Cgo+ IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAgMiArLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyAgfCAgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfaXJxLmMgICAgICB8ICA0ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaCAgICAgIHwgIDQgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xv ci5jICAgfCAgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICB8 ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDIzICsrKysr KysrKystLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jICAg ICB8ICA2ICsrKy0tLQo+ICA5IGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDI3IGRl bGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDEzZTQwOTU1NGZj Yy4uZDZjM2E0YmIyOWFhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTI2NjEs NyArMjY2MSw3IEBAIHN0cnVjdCBkcm1faTkxNV9jbWRfdGFibGUgewo+ICAJCQkJIElOVEVMX0RF VklEKGRldl9wcml2KSA9PSAweDAxNWEpCj4gICNkZWZpbmUgSVNfVkFMTEVZVklFVyhkZXYpCShJ TlRFTF9JTkZPKGRldiktPmlzX3ZhbGxleXZpZXcpCj4gICNkZWZpbmUgSVNfQ0hFUlJZVklFVyhk ZXYpCShJTlRFTF9JTkZPKGRldiktPmlzX2NoZXJyeXZpZXcpCj4gLSNkZWZpbmUgSVNfSEFTV0VM TChkZXYpCShJTlRFTF9JTkZPKGRldiktPmlzX2hhc3dlbGwpCj4gKyNkZWZpbmUgSVNfSEFTV0VM TChkZXZfcHJpdikJKChkZXZfcHJpdiktPmluZm8uaXNfaGFzd2VsbCkKPiAgI2RlZmluZSBJU19C Uk9BRFdFTEwoZGV2X3ByaXYpCSgoZGV2X3ByaXYpLT5pbmZvLmlzX2Jyb2Fkd2VsbCkKPiAgI2Rl ZmluZSBJU19TS1lMQUtFKGRldikJKElOVEVMX0lORk8oZGV2KS0+aXNfc2t5bGFrZSkKPiAgI2Rl ZmluZSBJU19CUk9YVE9OKGRldikJCShJTlRFTF9JTkZPKGRldiktPmlzX2Jyb3h0b24pCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jCj4gaW5kZXggYWVmYjg4Zjk4N2IyLi44YzM2Mjg5OTY3NGEgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBAQCAtNDM2MCw3ICs0MzYwLDcgQEAgaTkxNV9n ZW1faW5pdF9odyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJaWYgKEhBU19FRFJBTShkZXYp ICYmIElOVEVMX0dFTihkZXZfcHJpdikgPCA5KQo+ICAJCUk5MTVfV1JJVEUoSFNXX0lESUNSLCBJ OTE1X1JFQUQoSFNXX0lESUNSKSB8IElESUhBU0hNU0soMHhmKSk7Cj4gIAo+IC0JaWYgKElTX0hB U1dFTEwoZGV2KSkKPiArCWlmIChJU19IQVNXRUxMKGRldl9wcml2KSkKPiAgCQlJOTE1X1dSSVRF KE1JX1BSRURJQ0FURV9SRVNVTFRfMiwgSVNfSFNXX0dUMyhkZXZfcHJpdikgPwo+ICAJCQkgICBM T1dFUl9TTElDRV9FTkFCTEVEIDogTE9XRVJfU0xJQ0VfRElTQUJMRUQpOwo+ICAKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+IGluZGV4IDBmOGYwNzNjNTg5Yy4uMzI0NmQ1MWM3Yjhl IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPiBAQCAtMTc0Niw3ICsxNzQ2 LDcgQEAgc3RhdGljIHZvaWQgZ2VuN19wcGd0dF9lbmFibGUoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPiAgCUk5MTVfV1JJVEUoR0FDX0VDT19CSVRTLCBlY29iaXRzIHwgRUNPQklUU19QUEdUVF9D QUNIRTY0Qik7Cj4gIAo+ICAJZWNvY2hrID0gSTkxNV9SRUFEKEdBTV9FQ09DSEspOwo+IC0JaWYg KElTX0hBU1dFTEwoZGV2KSkgewo+ICsJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpKSB7Cj4gIAkJ ZWNvY2hrIHw9IEVDT0NIS19QUEdUVF9XQl9IU1c7Cj4gIAl9IGVsc2Ugewo+ICAJCWVjb2NoayB8 PSBFQ09DSEtfUFBHVFRfTExDX0lWQjsKPiBAQCAtMjA1OCw3ICsyMDU4LDcgQEAgc3RhdGljIGlu dCBnZW42X3BwZ3R0X2luaXQoc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0KQo+ICAJcHBndHQt PmJhc2UucHRlX2VuY29kZSA9IGdndHQtPmJhc2UucHRlX2VuY29kZTsKPiAgCWlmIChpbnRlbF92 Z3B1X2FjdGl2ZShkZXZfcHJpdikgfHwgSVNfR0VONihkZXYpKQo+ICAJCXBwZ3R0LT5zd2l0Y2hf bW0gPSBnZW42X21tX3N3aXRjaDsKPiAtCWVsc2UgaWYgKElTX0hBU1dFTEwoZGV2KSkKPiArCWVs c2UgaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpKQo+ICAJCXBwZ3R0LT5zd2l0Y2hfbW0gPSBoc3df bW1fc3dpdGNoOwo+ICAJZWxzZSBpZiAoSVNfR0VONyhkZXYpKQo+ICAJCXBwZ3R0LT5zd2l0Y2hf bW0gPSBnZW43X21tX3N3aXRjaDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiBpbmRleCA1ZmIz YjFjOWE1MmMuLjQ3MzM3YWFiYzMyNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2lycS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+IEBA IC0zNTk0LDggKzM1OTQsOCBAQCBzdGF0aWMgdm9pZCBnZW41X2d0X2lycV9wb3N0aW5zdGFsbChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJZGV2X3ByaXYtPmd0X2lycV9tYXNrID0gfjA7Cj4g IAlpZiAoSEFTX0wzX0RQRihkZXYpKSB7Cj4gIAkJLyogTDMgcGFyaXR5IGludGVycnVwdCBpcyBh bHdheXMgdW5tYXNrZWQuICovCj4gLQkJZGV2X3ByaXYtPmd0X2lycV9tYXNrID0gfkdUX1BBUklU WV9FUlJPUihkZXYpOwo+IC0JCWd0X2lycXMgfD0gR1RfUEFSSVRZX0VSUk9SKGRldik7Cj4gKwkJ ZGV2X3ByaXYtPmd0X2lycV9tYXNrID0gfkdUX1BBUklUWV9FUlJPUihkZXZfcHJpdik7Cj4gKwkJ Z3RfaXJxcyB8PSBHVF9QQVJJVFlfRVJST1IoZGV2X3ByaXYpOwo+ICAJfQo+ICAKPiAgCWd0X2ly cXMgfD0gR1RfUkVOREVSX1VTRVJfSU5URVJSVVBUOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ IGluZGV4IGFjYzc2N2E1MmQ4ZS4uOGI2MTY2OWFmNjI4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oCj4gQEAgLTIwOTQsOSArMjA5NCw5IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMg ewo+ICAjZGVmaW5lIFBNX1ZFQk9YX0NTX0VSUk9SX0lOVEVSUlVQVAkJKDEgPDwgMTIpIC8qIGhz dysgKi8KPiAgI2RlZmluZSBQTV9WRUJPWF9VU0VSX0lOVEVSUlVQVAkJCSgxIDw8IDEwKSAvKiBo c3crICovCj4gIAo+IC0jZGVmaW5lIEdUX1BBUklUWV9FUlJPUihkZXYpIFwKPiArI2RlZmluZSBH VF9QQVJJVFlfRVJST1IoZGV2X3ByaXYpIFwKPiAgCShHVF9SRU5ERVJfTDNfUEFSSVRZX0VSUk9S X0lOVEVSUlVQVCB8IFwKPiAtCSAoSVNfSEFTV0VMTChkZXYpID8gR1RfUkVOREVSX0wzX1BBUklU WV9FUlJPUl9JTlRFUlJVUFRfUzEgOiAwKSkKPiArCSAoSVNfSEFTV0VMTChkZXZfcHJpdikgPyBH VF9SRU5ERVJfTDNfUEFSSVRZX0VSUk9SX0lOVEVSUlVQVF9TMSA6IDApKQo+ICAKPiAgLyogVGhl c2UgYXJlIGFsbCB0aGUgIm9sZCIgaW50ZXJydXB0cyAqLwo+ICAjZGVmaW5lIElMS19CU0RfVVNF Ul9JTlRFUlJVUFQJCQkJKDE8PDUpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2NvbG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCj4gaW5k ZXggYmU3NmVmODg2NzhjLi5kYTc2YTc5OTQxMWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfY29sb3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2NvbG9yLmMKPiBAQCAtMzI2LDcgKzMyNiw3IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfbG9hZF9s dXRzKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgCSAqIFdvcmthcm91bmQg OiBEbyBub3QgcmVhZCBvciB3cml0ZSB0aGUgcGlwZSBwYWxldHRlL2dhbW1hIGRhdGEgd2hpbGUK PiAgCSAqIEdBTU1BX01PREUgaXMgY29uZmlndXJlZCBmb3Igc3BsaXQgZ2FtbWEgYW5kIElQU19D VEwgaGFzIElQUyBlbmFibGVkLgo+ICAJICovCj4gLQlpZiAoSVNfSEFTV0VMTChkZXYpICYmIGlu dGVsX2NydGNfc3RhdGUtPmlwc19lbmFibGVkICYmCj4gKwlpZiAoSVNfSEFTV0VMTChkZXZfcHJp dikgJiYgaW50ZWxfY3J0Y19zdGF0ZS0+aXBzX2VuYWJsZWQgJiYKPiAgCSAgICAoaW50ZWxfY3J0 Y19zdGF0ZS0+Z2FtbWFfbW9kZSA9PSBHQU1NQV9NT0RFX01PREVfU1BMSVQpKSB7Cj4gIAkJaHN3 X2Rpc2FibGVfaXBzKGludGVsX2NydGMpOwo+ICAJCXJlZW5hYmxlX2lwcyA9IHRydWU7Cj4gQEAg LTUzNyw3ICs1MzcsNyBAQCB2b2lkIGludGVsX2NvbG9yX2luaXQoc3RydWN0IGRybV9jcnRjICpj cnRjKQo+ICAJaWYgKElTX0NIRVJSWVZJRVcoZGV2KSkgewo+ICAJCWRldl9wcml2LT5kaXNwbGF5 LmxvYWRfY3NjX21hdHJpeCA9IGNoZXJyeXZpZXdfbG9hZF9jc2NfbWF0cml4Owo+ICAJCWRldl9w cml2LT5kaXNwbGF5LmxvYWRfbHV0cyA9IGNoZXJyeXZpZXdfbG9hZF9sdXRzOwo+IC0JfSBlbHNl IGlmIChJU19IQVNXRUxMKGRldikpIHsKPiArCX0gZWxzZSBpZiAoSVNfSEFTV0VMTChkZXZfcHJp dikpIHsKPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5sb2FkX2NzY19tYXRyaXggPSBpOXh4X2xvYWRf Y3NjX21hdHJpeDsKPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5sb2FkX2x1dHMgPSBoYXN3ZWxsX2xv YWRfbHV0czsKPiAgCX0gZWxzZSBpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSB8fCBJU19TS1lM QUtFKGRldl9wcml2KSB8fAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gaW5kZXggMzVmMGI3 YzlkMGE2Li5jZDcxMjhiODliNGQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGRpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+IEBA IC0xMTg5LDcgKzExODksNyBAQCB2b2lkIGludGVsX2RkaV9lbmFibGVfdHJhbnNjb2Rlcl9mdW5j KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCQkJICogZURQIHdoZW4gbm90IHVzaW5nIHRoZSBw YW5lbCBmaXR0ZXIsIGFuZCB3aGVuIG5vdAo+ICAJCQkgKiB1c2luZyBtb3Rpb24gYmx1ciBtaXRp Z2F0aW9uICh3aGljaCB3ZSBkb24ndAo+ICAJCQkgKiBzdXBwb3J0KS4gKi8KPiAtCQkJaWYgKElT X0hBU1dFTEwoZGV2KSAmJgo+ICsJCQlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgJiYKPiAgCQkJ ICAgIChpbnRlbF9jcnRjLT5jb25maWctPnBjaF9wZml0LmVuYWJsZWQgfHwKPiAgCQkJICAgICBp bnRlbF9jcnRjLT5jb25maWctPnBjaF9wZml0LmZvcmNlX3RocnUpKQo+ICAJCQkJdGVtcCB8PSBU UkFOU19ERElfRURQX0lOUFVUX0FfT05PRkY7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwo+IGluZGV4IGQxNTlhMzE1MDk5Zi4uMDhmNmNkMmZkNjAwIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC01NTAzLDcgKzU1MDMsNyBAQCBzdGF0aWMgdm9p ZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZp ZywKPiAgCS8qIElmIHdlIGNoYW5nZSB0aGUgcmVsYXRpdmUgb3JkZXIgYmV0d2VlbiBwaXBlL3Bs YW5lcyBlbmFibGluZywgd2UgbmVlZAo+ICAJICogdG8gY2hhbmdlIHRoZSB3b3JrYXJvdW5kLiAq Lwo+ICAJaHN3X3dvcmthcm91bmRfcGlwZSA9IHBpcGVfY29uZmlnLT5oc3dfd29ya2Fyb3VuZF9w aXBlOwo+IC0JaWYgKElTX0hBU1dFTEwoZGV2KSAmJiBoc3dfd29ya2Fyb3VuZF9waXBlICE9IElO VkFMSURfUElQRSkgewo+ICsJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpICYmIGhzd193b3JrYXJv dW5kX3BpcGUgIT0gSU5WQUxJRF9QSVBFKSB7Cj4gIAkJaW50ZWxfd2FpdF9mb3JfdmJsYW5rKGRl diwgaHN3X3dvcmthcm91bmRfcGlwZSk7Cj4gIAkJaW50ZWxfd2FpdF9mb3JfdmJsYW5rKGRldiwg aHN3X3dvcmthcm91bmRfcGlwZSk7Cj4gIAl9Cj4gQEAgLTgzMDEsNyArODMwMSw3IEBAIHN0YXRp YyB2b2lkIGludGVsX3NldF9waXBlX3RpbWluZ3Moc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGMpCj4gIAkgKiBwcm9ncmFtbWVkIHdpdGggdGhlIFZUT1RBTF9FRFAgdmFsdWUuIFNhbWUgZm9y IFZUT1RBTF9DLiBUaGlzIGlzCj4gIAkgKiBkb2N1bWVudGVkIG9uIHRoZSBERElfRlVOQ19DVEwg cmVnaXN0ZXIgZGVzY3JpcHRpb24sIEVEUCBJbnB1dCBTZWxlY3QKPiAgCSAqIGJpdHMuICovCj4g LQlpZiAoSVNfSEFTV0VMTChkZXYpICYmIGNwdV90cmFuc2NvZGVyID09IFRSQU5TQ09ERVJfRURQ ICYmCj4gKwlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgJiYgY3B1X3RyYW5zY29kZXIgPT0gVFJB TlNDT0RFUl9FRFAgJiYKPiAgCSAgICAocGlwZSA9PSBQSVBFX0IgfHwgcGlwZSA9PSBQSVBFX0Mp KQo+ICAJCUk5MTVfV1JJVEUoVlRPVEFMKHBpcGUpLCBJOTE1X1JFQUQoVlRPVEFMKGNwdV90cmFu c2NvZGVyKSkpOwo+ICAKPiBAQCAtMTAwMjgsNyArMTAwMjgsNyBAQCBzdGF0aWMgdm9pZCBhc3Nl cnRfY2FuX2Rpc2FibGVfbGNwbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ ICAJSTkxNV9TVEFURV9XQVJOKEk5MTVfUkVBRChQUF9TVEFUVVMoMCkpICYgUFBfT04sICJQYW5l bCBwb3dlciBvblxuIik7Cj4gIAlJOTE1X1NUQVRFX1dBUk4oSTkxNV9SRUFEKEJMQ19QV01fQ1BV X0NUTDIpICYgQkxNX1BXTV9FTkFCTEUsCj4gIAkgICAgICJDUFUgUFdNMSBlbmFibGVkXG4iKTsK PiAtCWlmIChJU19IQVNXRUxMKGRldikpCj4gKwlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikpCj4g IAkJSTkxNV9TVEFURV9XQVJOKEk5MTVfUkVBRChIU1dfQkxDX1BXTTJfQ1RMKSAmIEJMTV9QV01f RU5BQkxFLAo+ICAJCSAgICAgIkNQVSBQV00yIGVuYWJsZWRcbiIpOwo+ICAJSTkxNV9TVEFURV9X QVJOKEk5MTVfUkVBRChCTENfUFdNX1BDSF9DVEwxKSAmIEJMTV9QQ0hfUFdNX0VOQUJMRSwKPiBA QCAtMTAwNDgsOSArMTAwNDgsNyBAQCBzdGF0aWMgdm9pZCBhc3NlcnRfY2FuX2Rpc2FibGVfbGNw bGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAKPiAgc3RhdGljIHVpbnQz Ml90IGhzd19yZWFkX2Rjb21wKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAg ewo+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9ICZkZXZfcHJpdi0+ZHJtOwo+IC0KPiAtCWlm IChJU19IQVNXRUxMKGRldikpCj4gKwlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikpCj4gIAkJcmV0 dXJuIEk5MTVfUkVBRChEX0NPTVBfSFNXKTsKPiAgCWVsc2UKPiAgCQlyZXR1cm4gSTkxNV9SRUFE KERfQ09NUF9CRFcpOwo+IEBAIC0xMDA1OCw5ICsxMDA1Niw3IEBAIHN0YXRpYyB1aW50MzJfdCBo c3dfcmVhZF9kY29tcChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAo+ICBz dGF0aWMgdm9pZCBoc3dfd3JpdGVfZGNvbXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCB1aW50MzJfdCB2YWwpCj4gIHsKPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSAmZGV2 X3ByaXYtPmRybTsKPiAtCj4gLQlpZiAoSVNfSEFTV0VMTChkZXYpKSB7Cj4gKwlpZiAoSVNfSEFT V0VMTChkZXZfcHJpdikpIHsKPiAgCQltdXRleF9sb2NrKCZkZXZfcHJpdi0+cnBzLmh3X2xvY2sp Owo+ICAJCWlmIChzYW5keWJyaWRnZV9wY29kZV93cml0ZShkZXZfcHJpdiwgR0VONl9QQ09ERV9X UklURV9EX0NPTVAsCj4gIAkJCQkJICAgIHZhbCkpCj4gQEAgLTEwNzM3LDcgKzEwNzMzLDcgQEAg c3RhdGljIGJvb2wgaGFzd2VsbF9nZXRfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNy dGMsCj4gIAkJCWlyb25sYWtlX2dldF9wZml0X2NvbmZpZyhjcnRjLCBwaXBlX2NvbmZpZyk7Cj4g IAl9Cj4gIAo+IC0JaWYgKElTX0hBU1dFTEwoZGV2KSkKPiArCWlmIChJU19IQVNXRUxMKGRldl9w cml2KSkKPiAgCQlwaXBlX2NvbmZpZy0+aXBzX2VuYWJsZWQgPSBoc3dfY3J0Y19zdXBwb3J0c19p cHMoY3J0YykgJiYKPiAgCQkJKEk5MTVfUkVBRChJUFNfQ1RMKSAmIElQU19FTkFCTEUpOwo+ICAK PiBAQCAtMTMxOTcsNiArMTMxOTMsNyBAQCBpbnRlbF9waXBlX2NvbmZpZ19jb21wYXJlKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCSAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVf Y29uZmlnLAo+ICAJCQkgIGJvb2wgYWRqdXN0KQo+ICB7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gIAlib29sIHJldCA9IHRydWU7Cj4gIAo+ ICAjZGVmaW5lIElOVEVMX0VSUl9PUl9EQkdfS01TKGZtdCwgLi4uKSBcCj4gQEAgLTEzMzQyLDcg KzEzMzM5LDcgQEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAo+ICAKPiAgCVBJUEVfQ09ORl9DSEVDS19JKHBpeGVsX211bHRpcGxpZXIpOwo+ICAJUElQ RV9DT05GX0NIRUNLX0koaGFzX2hkbWlfc2luayk7Cj4gLQlpZiAoKElOVEVMX0lORk8oZGV2KS0+ Z2VuIDwgOCAmJiAhSVNfSEFTV0VMTChkZXYpKSB8fAo+ICsJaWYgKChJTlRFTF9HRU4oZGV2X3By aXYpIDwgOCAmJiAhSVNfSEFTV0VMTChkZXZfcHJpdikpIHx8Cj4gIAkgICAgSVNfVkFMTEVZVklF VyhkZXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2KSkKPiAgCQlQSVBFX0NPTkZfQ0hFQ0tfSShsaW1p dGVkX2NvbG9yX3JhbmdlKTsKPiAgCVBJUEVfQ09ORl9DSEVDS19JKGhhc19pbmZvZnJhbWUpOwo+ IEBAIC0xMzM4Myw3ICsxMzM4MCw3IEBAIGludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPiAgCX0KPiAgCj4gIAkvKiBCRFcrIGRvbid0IGV4cG9zZSBhIHN5 bmNocm9ub3VzIHdheSB0byByZWFkIHRoZSBzdGF0ZSAqLwo+IC0JaWYgKElTX0hBU1dFTEwoZGV2 KSkKPiArCWlmIChJU19IQVNXRUxMKGRldl9wcml2KSkKPiAgCQlQSVBFX0NPTkZfQ0hFQ0tfSShp cHNfZW5hYmxlZCk7Cj4gIAo+ICAJUElQRV9DT05GX0NIRUNLX0koZG91YmxlX3dpZGUpOwo+IEBA IC0xNzI2Miw3ICsxNzI1OSw3IEBAIGludGVsX2Rpc3BsYXlfcHJpbnRfZXJyb3Jfc3RhdGUoc3Ry dWN0IGRybV9pOTE1X2Vycm9yX3N0YXRlX2J1ZiAqbSwKPiAgCQkJZXJyX3ByaW50ZihtLCAiICBT SVpFOiAlMDh4XG4iLCBlcnJvci0+cGxhbmVbaV0uc2l6ZSk7Cj4gIAkJCWVycl9wcmludGYobSwg IiAgUE9TOiAlMDh4XG4iLCBlcnJvci0+cGxhbmVbaV0ucG9zKTsKPiAgCQl9Cj4gLQkJaWYgKElO VEVMX0lORk8oZGV2KS0+Z2VuIDw9IDcgJiYgIUlTX0hBU1dFTEwoZGV2KSkKPiArCQlpZiAoSU5U RUxfR0VOKGRldl9wcml2KSA8PSA3ICYmICFJU19IQVNXRUxMKGRldl9wcml2KSkKPiAgCQkJZXJy X3ByaW50ZihtLCAiICBBRERSOiAlMDh4XG4iLCBlcnJvci0+cGxhbmVbaV0uYWRkcik7Cj4gIAkJ aWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDQpIHsKPiAgCQkJZXJyX3ByaW50ZihtLCAiICBT VVJGOiAlMDh4XG4iLCBlcnJvci0+cGxhbmVbaV0uc3VyZmFjZSk7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcHNyLmMKPiBpbmRleCBkMDY2N2Y5ZDkxNzguLjRhOTczYjM0MzQ4YSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3Bzci5jCj4gQEAgLTI2OCw3ICsyNjgsNyBAQCBzdGF0aWMgdm9pZCBoc3df cHNyX2VuYWJsZV9zb3VyY2Uoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCXZhbCB8PSBt YXhfc2xlZXBfdGltZSA8PCBFRFBfUFNSX01BWF9TTEVFUF9USU1FX1NISUZUOwo+ICAJdmFsIHw9 IGlkbGVfZnJhbWVzIDw8IEVEUF9QU1JfSURMRV9GUkFNRV9TSElGVDsKPiAgCj4gLQlpZiAoSVNf SEFTV0VMTChkZXYpKQo+ICsJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpKQo+ICAJCXZhbCB8PSBF RFBfUFNSX01JTl9MSU5LX0VOVFJZX1RJTUVfOF9MSU5FUzsKPiAgCj4gIAlpZiAoZGV2X3ByaXYt PnBzci5saW5rX3N0YW5kYnkpCj4gQEAgLTM2MCwxNCArMzYwLDE0IEBAIHN0YXRpYyBib29sIGlu dGVsX3Bzcl9tYXRjaF9jb25kaXRpb25zKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gIAkJ cmV0dXJuIGZhbHNlOwo+ICAJfQo+ICAKPiAtCWlmIChJU19IQVNXRUxMKGRldikgJiYKPiArCWlm IChJU19IQVNXRUxMKGRldl9wcml2KSAmJgo+ICAJICAgIEk5MTVfUkVBRChIU1dfU1RFUkVPXzNE X0NUTChpbnRlbF9jcnRjLT5jb25maWctPmNwdV90cmFuc2NvZGVyKSkgJgo+ICAJCSAgICAgIFMz RF9FTkFCTEUpIHsKPiAgCQlEUk1fREVCVUdfS01TKCJQU1IgY29uZGl0aW9uIGZhaWxlZDogU3Rl cmVvIDNEIGlzIEVuYWJsZWRcbiIpOwo+ICAJCXJldHVybiBmYWxzZTsKPiAgCX0KPiAgCj4gLQlp ZiAoSVNfSEFTV0VMTChkZXYpICYmCj4gKwlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgJiYKPiAg CSAgICBhZGp1c3RlZF9tb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfSU5URVJMQUNFKSB7Cj4g IAkJRFJNX0RFQlVHX0tNUygiUFNSIGNvbmRpdGlvbiBmYWlsZWQ6IEludGVybGFjZWQgaXMgRW5h YmxlZFxuIik7Cj4gIAkJcmV0dXJuIGZhbHNlOwo+IC0tIAo+IDIuNy40Cj4gCj4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGlu ZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=