From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 3/3] drm/i915: Start using comparative INTEL_PCH_TYPE Date: Tue, 05 Mar 2019 16:10:04 +0200 Message-ID: <87zhq9bef7.fsf@intel.com> References: <20190304224830.8481-1-rodrigo.vivi@intel.com> <20190304224830.8481-3-rodrigo.vivi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7BF0F89C8D for ; Tue, 5 Mar 2019 14:07:56 +0000 (UTC) In-Reply-To: <20190304224830.8481-3-rodrigo.vivi@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Rodrigo Vivi , intel-gfx@lists.freedesktop.org Cc: Lucas De Marchi List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAwNCBNYXIgMjAxOSwgUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29t PiB3cm90ZToKPiBJbiBvcmRlciB0byBtYWtlIGl0IGVhc2llciB0byBicmluZyB1cCBuZXcgcGxh dGZvcm1zCj4gd2l0aG91dCBoYXZpbmcgdG8gdGFrZSBjYXJlIGFib3V0IGFsbCBjb3JuZXIgY2Fz ZXMKPiB0aGF0IHdhcyBwcmV2aW91c2x5IHRha2VuIGNhcmUgZm9yIHByZXZpb3VzIHBsYXRmb3Jt cwo+IHdlIGFscmVhZHkgdXNlIGNvbXBhcmF0aXZlIElOVEVMX0dFTiBzdGF0ZW1lbnRzLgo+Cj4g TGV0J3Mgc3RhcnQgZG9pbmcgdGhlIHNhbWUgd2l0aCBQQ0guCj4KPiBUaGUgb25seSBjYXZlYXRz IGFyZToKPiAgLSBmb3IgbGVzcy10aGFuIGNvbXBhcmlzb25zIHdlIG5lZWQgdG8gYmUgY2FyZWZ1 bAo+ICAgIGFuZCBjaGVjayBQQ0hfTk9ORSA8IHBjaCA8IFBDSF9DTlAuCj4gIC0gSXQgaXMgbm90 IG5lY2Vzc2FyaWx5IGEgY2hyb25vbG9naWNhbCBvcmRlciwgYnV0IGEgbWF0dGVyCj4gICAgb2Yg c291dGggZGlzcGxheSBjb21wYXRpYmlsaXR5L2luaGVyaXRhbmNlLgoKVGhpcyBzY2FyZXMgbWUg YSBiaXQsIGJ1dCBJIHVuZGVyc3RhbmQgdGhlIHJlYXNvbnMuIE1heWJlIHdlIG5lZWQgYW4KSVNf UENIX1JBTkdFKCkgbWFjcm8gdG8gY29tcGxlbWVudCBJU19HRU5fUkFOR0UoKS4gQnV0IHRoYXQg Y2FuIGNvbWUKbGF0ZXIgYXMgd2Ugc2VlIGhvdyB0aGlzIGV2b2x2ZXMuCgpTb21lIG5vdGVzIGJl bG93LgoKPgo+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IENjOiBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQGludGVsLmNvbT4KPiBT aWduZWQtb2ZmLWJ5OiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4gLS0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgfCAgNiArKysrKysKPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICB8ICA3ICsrLS0tLS0KPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYyB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMgICAgfCAyMSArKysrKysrKystLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyB8ICA1ICsrLS0tCj4gIDUgZmlsZXMgY2hhbmdlZCwgMjAg aW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK PiBpbmRleCBlNmJlMzI3YmE4NmQuLmUzMjc3MzZjNzZhMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaAo+IEBAIC01MjMsNiArNTIzLDEyIEBAIHN0cnVjdCBpOTE1X3BzciB7Cj4gIAl1MTYg c3VfeF9ncmFudWxhcml0eTsKPiAgfTsKPiAgCj4gKy8qCj4gKyAqIFNvcnRlZCBieSBzb3V0aCBk aXNwbGF5IGVuZ2luZSBjb21wYXRpYmlsaXR5Lgo+ICsgKiBJZiB0aGUgbmV3IFBDSCBjb21lcyB3 aXRoIGEgc291dGggZGlzcGxheSBlbmdpbmUgdGhhdCBpcyBub3QKPiArICogaW5oZXJpdGVkIGZy b20gdGhlIGxhdGVzdCBpdGVtLCBwbGVhc2UgZG8gbm90IGFkZCBpdCB0byB0aGUKPiArICogZW5k LiBJbnN0ZWFkLCBhZGQgaXQgcmlnaHQgYWZ0ZXIgaXRzICJwYXJlbnQiIFBDSC4KPiArICovCj4g IGVudW0gaW50ZWxfcGNoIHsKPiAgCVBDSF9OT1AgPSAtMSwJLyogUENIIHdpdGhvdXQgc291dGgg ZGlzcGxheSAqLwo+ICAJUENIX05PTkUgPSAwLAkvKiBObyBQQ0ggcHJlc2VudCAqLwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9pcnEuYwo+IGluZGV4IGE0MmViNjM5NGI2OS4uOTIzMTM1ZDZiNzgxIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gQEAgLTI4MzMsOSArMjgzMyw3IEBAIGdlbjhfZGVf aXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgbWFzdGVy X2N0bCkKPiAgCj4gIAkJCWlmIChIQVNfUENIX0lDUChkZXZfcHJpdikpCgpQQ0hfVFlQRSA+PSBJ Q1A/Cgo+ICAJCQkJaWNwX2lycV9oYW5kbGVyKGRldl9wcml2LCBpaXIpOwo+IC0JCQllbHNlIGlm IChIQVNfUENIX1NQVChkZXZfcHJpdikgfHwKPiAtCQkJCSBIQVNfUENIX0tCUChkZXZfcHJpdikg fHwKPiAtCQkJCSBIQVNfUENIX0NOUChkZXZfcHJpdikpCj4gKwkJCWVsc2UgaWYgKElOVEVMX1BD SF9UWVBFKGRldl9wcml2KSA+PSBQQ0hfU1BUKQo+ICAJCQkJc3B0X2lycV9oYW5kbGVyKGRldl9w cml2LCBpaXIpOwo+ICAJCQllbHNlCj4gIAkJCQljcHRfaXJxX2hhbmRsZXIoZGV2X3ByaXYsIGlp cik7Cj4gQEAgLTQ2MjAsOCArNDYxOCw3IEBAIHZvaWQgaW50ZWxfaXJxX2luaXQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJCWRldi0+ZHJpdmVyLT5kaXNhYmxlX3ZibGFu ayA9IGdlbjhfZGlzYWJsZV92Ymxhbms7Cj4gIAkJaWYgKElTX0dFTjlfTFAoZGV2X3ByaXYpKQo+ ICAJCQlkZXZfcHJpdi0+ZGlzcGxheS5ocGRfaXJxX3NldHVwID0gYnh0X2hwZF9pcnFfc2V0dXA7 Cj4gLQkJZWxzZSBpZiAoSEFTX1BDSF9TUFQoZGV2X3ByaXYpIHx8IEhBU19QQ0hfS0JQKGRldl9w cml2KSB8fAo+IC0JCQkgSEFTX1BDSF9DTlAoZGV2X3ByaXYpKQo+ICsJCWVsc2UgaWYgKElOVEVM X1BDSF9UWVBFKGRldl9wcml2KSA+PSBQQ0hfU1BUKQo+ICAJCQlkZXZfcHJpdi0+ZGlzcGxheS5o cGRfaXJxX3NldHVwID0gc3B0X2hwZF9pcnFfc2V0dXA7Cj4gIAkJZWxzZQo+ICAJCQlkZXZfcHJp di0+ZGlzcGxheS5ocGRfaXJxX3NldHVwID0gaWxrX2hwZF9pcnFfc2V0dXA7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9jZGNsay5jCj4gaW5kZXggN2U1MTMyNzcyNDc3Li45ZDIzNmU0ZWQyNmEgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMKPiBAQCAtMjcyMyw3ICsyNzIzLDcgQEAg c3RhdGljIGludCBnNHhfaHJhd2NsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Cj4gICAqLwo+ICB2b2lkIGludGVsX3VwZGF0ZV9yYXdjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ICB7Cj4gLQlpZiAoSEFTX1BDSF9DTlAoZGV2X3ByaXYpIHx8IEhBU19Q Q0hfSUNQKGRldl9wcml2KSkKPiArCWlmIChJTlRFTF9QQ0hfVFlQRShkZXZfcHJpdikgPj0gUENI X0NOUCkKPiAgCQlkZXZfcHJpdi0+cmF3Y2xrX2ZyZXEgPSBjbnBfcmF3Y2xrKGRldl9wcml2KTsK PiAgCWVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2X3ByaXYpKQo+ICAJCWRldl9wcml2LT5yYXdj bGtfZnJlcSA9IHBjaF9yYXdjbGsoZGV2X3ByaXYpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ IGluZGV4IGUxYTA1MWMwZmJmZS4uYWNkMjMzNmJiMjE0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcC5jCj4gQEAgLTk0OSw4ICs5NDksOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wcHNfZ2V0X3Jl Z2lzdGVycyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAJcmVncy0+cHBfc3RhdCA9IFBQ X1NUQVRVUyhwcHNfaWR4KTsKPiAgCXJlZ3MtPnBwX29uID0gUFBfT05fREVMQVlTKHBwc19pZHgp Owo+ICAJcmVncy0+cHBfb2ZmID0gUFBfT0ZGX0RFTEFZUyhwcHNfaWR4KTsKPiAtCWlmICghSVNf R0VOOV9MUChkZXZfcHJpdikgJiYgIUhBU19QQ0hfQ05QKGRldl9wcml2KSAmJgo+IC0JICAgICFI QVNfUENIX0lDUChkZXZfcHJpdikpCj4gKwlpZiAoSU5URUxfUENIX1RZUEUoZGV2X3ByaXYpID4g UENIX05PTkUgJiYKPiArCSAgICBJTlRFTF9QQ0hfVFlQRShkZXZfcHJpdikgPCBQQ0hfQ05QKQoK VGhpcyBpcyBub3QgcmlnaHQsIHN0YXJ0cyB0byByZXF1aXJlIFBDSC4KCj4gIAkJcmVncy0+cHBf ZGl2ID0gUFBfRElWSVNPUihwcHNfaWR4KTsKPiAgfQo+ICAKPiBAQCAtNjQzMSw4ICs2NDMxLDgg QEAgaW50ZWxfcHBzX3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwg c3RydWN0IGVkcF9wb3dlcl9zZXEgKnNlcSkKPiAgCj4gIAlwcF9vbiA9IEk5MTVfUkVBRChyZWdz LnBwX29uKTsKPiAgCXBwX29mZiA9IEk5MTVfUkVBRChyZWdzLnBwX29mZik7Cj4gLQlpZiAoIUlT X0dFTjlfTFAoZGV2X3ByaXYpICYmICFIQVNfUENIX0NOUChkZXZfcHJpdikgJiYKPiAtCSAgICAh SEFTX1BDSF9JQ1AoZGV2X3ByaXYpKSB7Cj4gKwlpZiAoSU5URUxfUENIX1RZUEUoZGV2X3ByaXYp ID4gUENIX05PTkUgJiYKPiArCSAgICBJTlRFTF9QQ0hfVFlQRShkZXZfcHJpdikgPCBQQ0hfQ05Q KSB7CgpEaXR0by4KCj4gIAkJSTkxNV9XUklURShyZWdzLnBwX2N0cmwsIHBwX2N0bCk7Cj4gIAkJ cHBfZGl2ID0gSTkxNV9SRUFEKHJlZ3MucHBfZGl2KTsKPiAgCX0KPiBAQCAtNjQ1MCw4ICs2NDUw LDcgQEAgaW50ZWxfcHBzX3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCwgc3RydWN0IGVkcF9wb3dlcl9zZXEgKnNlcSkKPiAgCXNlcS0+dDEwID0gKHBwX29mZiAmIFBB TkVMX1BPV0VSX0RPV05fREVMQVlfTUFTSykgPj4KPiAgCQkgICBQQU5FTF9QT1dFUl9ET1dOX0RF TEFZX1NISUZUOwo+ICAKPiAtCWlmIChJU19HRU45X0xQKGRldl9wcml2KSB8fCBIQVNfUENIX0NO UChkZXZfcHJpdikgfHwKPiAtCSAgICBIQVNfUENIX0lDUChkZXZfcHJpdikpIHsKPiArCWlmIChJ U19HRU45X0xQKGRldl9wcml2KSB8fCBJTlRFTF9QQ0hfVFlQRShkZXZfcHJpdikgPj0gUENIX0NO UCkgewo+ICAJCXNlcS0+dDExX3QxMiA9ICgocHBfY3RsICYgQlhUX1BPV0VSX0NZQ0xFX0RFTEFZ X01BU0spID4+Cj4gIAkJCQlCWFRfUE9XRVJfQ1lDTEVfREVMQVlfU0hJRlQpICogMTAwMDsKPiAg CX0gZWxzZSB7Cj4gQEAgLTY2MjIsOCArNjYyMSw3IEBAIGludGVsX2RwX2luaXRfcGFuZWxfcG93 ZXJfc2VxdWVuY2VyX3JlZ2lzdGVycyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAJCSAo c2VxLT50MTAgPDwgUEFORUxfUE9XRVJfRE9XTl9ERUxBWV9TSElGVCk7Cj4gIAkvKiBDb21wdXRl IHRoZSBkaXZpc29yIGZvciB0aGUgcHAgY2xvY2ssIHNpbXBseSBtYXRjaCB0aGUgQnNwZWMKPiAg CSAqIGZvcm11bGEuICovCj4gLQlpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikgfHwgSEFTX1BDSF9D TlAoZGV2X3ByaXYpIHx8Cj4gLQkgICAgSEFTX1BDSF9JQ1AoZGV2X3ByaXYpKSB7Cj4gKwlpZiAo SVNfR0VOOV9MUChkZXZfcHJpdikgfHwgSU5URUxfUENIX1RZUEUoZGV2X3ByaXYpID49IFBDSF9D TlApIHsKPiAgCQlwcF9kaXYgPSBJOTE1X1JFQUQocmVncy5wcF9jdHJsKTsKPiAgCQlwcF9kaXYg Jj0gfkJYVF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLOwo+ICAJCXBwX2RpdiB8PSAoRElWX1JPVU5E X1VQKHNlcS0+dDExX3QxMiwgMTAwMCkKPiBAQCAtNjY1OSw4ICs2NjU3LDcgQEAgaW50ZWxfZHBf aW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXJfcmVnaXN0ZXJzKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHAsCj4gIAo+ICAJSTkxNV9XUklURShyZWdzLnBwX29uLCBwcF9vbik7Cj4gIAlJOTE1X1dS SVRFKHJlZ3MucHBfb2ZmLCBwcF9vZmYpOwo+IC0JaWYgKElTX0dFTjlfTFAoZGV2X3ByaXYpIHx8 IEhBU19QQ0hfQ05QKGRldl9wcml2KSB8fAo+IC0JICAgIEhBU19QQ0hfSUNQKGRldl9wcml2KSkK PiArCWlmIChJU19HRU45X0xQKGRldl9wcml2KSB8fCBJTlRFTF9QQ0hfVFlQRShkZXZfcHJpdikg Pj0gUENIX0NOUCkKPiAgCQlJOTE1X1dSSVRFKHJlZ3MucHBfY3RybCwgcHBfZGl2KTsKPiAgCWVs c2UKPiAgCQlJOTE1X1dSSVRFKHJlZ3MucHBfZGl2LCBwcF9kaXYpOwo+IEBAIC02NjY4LDggKzY2 NjUsOCBAQCBpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCwKPiAgCURSTV9ERUJVR19LTVMoInBhbmVsIHBvd2VyIHNl cXVlbmNlciByZWdpc3RlciBzZXR0aW5nczogUFBfT04gJSN4LCBQUF9PRkYgJSN4LCBQUF9ESVYg JSN4XG4iLAo+ICAJCSAgICAgIEk5MTVfUkVBRChyZWdzLnBwX29uKSwKPiAgCQkgICAgICBJOTE1 X1JFQUQocmVncy5wcF9vZmYpLAo+IC0JCSAgICAgIChJU19HRU45X0xQKGRldl9wcml2KSB8fCBI QVNfUENIX0NOUChkZXZfcHJpdikgIHx8Cj4gLQkJICAgICAgIEhBU19QQ0hfSUNQKGRldl9wcml2 KSkgPwo+ICsJCSAgICAgIChJU19HRU45X0xQKGRldl9wcml2KSB8fAo+ICsJCSAgICAgICBJTlRF TF9QQ0hfVFlQRShkZXZfcHJpdikgPj0gUENIX0NOUCkgPwo+ICAJCSAgICAgIChJOTE1X1JFQUQo cmVncy5wcF9jdHJsKSAmIEJYVF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLKSA6Cj4gIAkJICAgICAg STkxNV9SRUFEKHJlZ3MucHBfZGl2KSk7CgpJIHRoaW5rIHRoaXMgd2FzIGFsbCBwcmV0dHkgdWds eSBpbiBpbnRlbF9kcC5jIGJlZm9yZSwgYW5kIHRoaXMgZG9lc24ndAptYWtlIGl0IG11Y2ggYmV0 dGVyLgoKSSB0cmllZCB0byBjbGVhbiBpdCB1cCBbMV0sIHBsZWFzZSBjb25zaWRlciByZXZpZXdp bmcgdGhvc2UgYW5kIGhhdmluZwp0aGVtIG1lcmdlZCBmaXJzdCwgYWZ0ZXIgd2hpY2ggeW91ciBj aGFuZ2UgYmVjb21lcyBhIG9uZS1saW5lciBpbiB0aGlzCmZpbGUuCgpPdGhlciB0aGFuIHRoYXQs IHNlZW1zIGZpbmUuCgoKQlIsCkphbmkuCgpbMV0gaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0 b3Aub3JnL3Nlcmllcy81NzU3OS8KCgo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BhbmVsLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5j Cj4gaW5kZXggYmVjYTk4ZDJiMDM1Li5lZGQ1NTQwNjM5YjAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BhbmVsLmMKPiBAQCAtMTg5NCwxNSArMTg5NCwxNCBAQCBpbnRlbF9wYW5lbF9pbml0 X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsKQo+ICAJCXBhbmVsLT5i YWNrbGlnaHQuc2V0ID0gYnh0X3NldF9iYWNrbGlnaHQ7Cj4gIAkJcGFuZWwtPmJhY2tsaWdodC5n ZXQgPSBieHRfZ2V0X2JhY2tsaWdodDsKPiAgCQlwYW5lbC0+YmFja2xpZ2h0Lmh6X3RvX3B3bSA9 IGJ4dF9oel90b19wd207Cj4gLQl9IGVsc2UgaWYgKEhBU19QQ0hfQ05QKGRldl9wcml2KSB8fCBI QVNfUENIX0lDUChkZXZfcHJpdikpIHsKPiArCX0gZWxzZSBpZiAoSU5URUxfUENIX1RZUEUoZGV2 X3ByaXYpID49IFBDSF9DTlApIHsKPiAgCQlwYW5lbC0+YmFja2xpZ2h0LnNldHVwID0gY25wX3Nl dHVwX2JhY2tsaWdodDsKPiAgCQlwYW5lbC0+YmFja2xpZ2h0LmVuYWJsZSA9IGNucF9lbmFibGVf YmFja2xpZ2h0Owo+ICAJCXBhbmVsLT5iYWNrbGlnaHQuZGlzYWJsZSA9IGNucF9kaXNhYmxlX2Jh Y2tsaWdodDsKPiAgCQlwYW5lbC0+YmFja2xpZ2h0LnNldCA9IGJ4dF9zZXRfYmFja2xpZ2h0Owo+ ICAJCXBhbmVsLT5iYWNrbGlnaHQuZ2V0ID0gYnh0X2dldF9iYWNrbGlnaHQ7Cj4gIAkJcGFuZWwt PmJhY2tsaWdodC5oel90b19wd20gPSBjbnBfaHpfdG9fcHdtOwo+IC0JfSBlbHNlIGlmIChIQVNf UENIX0xQVChkZXZfcHJpdikgfHwgSEFTX1BDSF9TUFQoZGV2X3ByaXYpIHx8Cj4gLQkJICAgSEFT X1BDSF9LQlAoZGV2X3ByaXYpKSB7Cj4gKwl9IGVsc2UgaWYgKElOVEVMX1BDSF9UWVBFKGRldl9w cml2KSA+PSBQQ0hfTFBUKSB7Cj4gIAkJcGFuZWwtPmJhY2tsaWdodC5zZXR1cCA9IGxwdF9zZXR1 cF9iYWNrbGlnaHQ7Cj4gIAkJcGFuZWwtPmJhY2tsaWdodC5lbmFibGUgPSBscHRfZW5hYmxlX2Jh Y2tsaWdodDsKPiAgCQlwYW5lbC0+YmFja2xpZ2h0LmRpc2FibGUgPSBscHRfZGlzYWJsZV9iYWNr bGlnaHQ7CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIEdyYXBoaWNzIENlbnRl cgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=