From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 39/43] drm/i915: Add dev_priv->psr_mmio_base Date: Tue, 20 Oct 2015 16:08:19 +0300 Message-ID: <87si55y9fg.fsf@intel.com> References: <1442595836-23981-1-git-send-email-ville.syrjala@linux.intel.com> <1442595836-23981-40-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 968706E868 for ; Tue, 20 Oct 2015 06:12:47 -0700 (PDT) In-Reply-To: <1442595836-23981-40-git-send-email-ville.syrjala@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: ville.syrjala@linux.intel.com, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAxOCBTZXAgMjAxNSwgdmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20gd3JvdGU6 Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K Pgo+IERyb3AgdGhlIEVEUF9QU1JfQkFTRSgpIHRoaW5nLCBhbmQganVzdCBzdGljayB0aGUgUFNS IHJlZ2lzdGVyIG9mZnNldAo+IHVuZGVyIGRldl9wcml2LCBsaWtlIHdlIGZvciBEU0kgYW5kIEdQ SU8gZm9yIGV4YW1wbGUuCj4KPiBUT0RPOiBjb3VsZCBwcm9iYWJseSBtb3ZlIGEgYnVuY2ggb2Yg dGhpcyBraW5kIG9mIHN0dWZmIGludG8gdGhlIGRldmljZQo+IGluZm8gaW5zdGVhZC4uLgo+Cj4g U2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVs LmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgfCAgNCAr Ky0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgIHwgIDIgKysKPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgfCAxNSArKysrKysrKy0tLS0tLS0KPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMgICAgfCAyOCArKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tCj4gIDQgZmlsZXMgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMjEgZGVs ZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IGluZGV4IDIzMjJk YWMuLjM4YjBlMzggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IEBAIC0y NTM2LDcgKzI1MzYsNyBAQCBzdGF0aWMgaW50IGk5MTVfZWRwX3Bzcl9zdGF0dXMoc3RydWN0IHNl cV9maWxlICptLCB2b2lkICpkYXRhKQo+ICAJCSAgIHllc25vKHdvcmtfYnVzeSgmZGV2X3ByaXYt PnBzci53b3JrLndvcmspKSk7Cj4gIAo+ICAJaWYgKEhBU19EREkoZGV2KSkKPiAtCQllbmFibGVk ID0gSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKGRldikpICYgRURQX1BTUl9FTkFCTEU7Cj4gKwkJZW5h YmxlZCA9IEk5MTVfUkVBRChFRFBfUFNSX0NUTCkgJiBFRFBfUFNSX0VOQUJMRTsKPiAgCWVsc2Ug ewo+ICAJCWZvcl9lYWNoX3BpcGUoZGV2X3ByaXYsIHBpcGUpIHsKPiAgCQkJc3RhdFtwaXBlXSA9 IEk5MTVfUkVBRChWTFZfUFNSU1RBVChwaXBlKSkgJgo+IEBAIC0yNTU4LDcgKzI1NTgsNyBAQCBz dGF0aWMgaW50IGk5MTVfZWRwX3Bzcl9zdGF0dXMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpk YXRhKQo+ICAKPiAgCS8qIENIViBQU1IgaGFzIG5vIGtpbmQgb2YgcGVyZm9ybWFuY2UgY291bnRl ciAqLwo+ICAJaWYgKEhBU19EREkoZGV2KSkgewo+IC0JCXBzcnBlcmYgPSBJOTE1X1JFQUQoRURQ X1BTUl9QRVJGX0NOVChkZXYpKSAmCj4gKwkJcHNycGVyZiA9IEk5MTVfUkVBRChFRFBfUFNSX1BF UkZfQ05UKSAmCj4gIAkJCUVEUF9QU1JfUEVSRl9DTlRfTUFTSzsKPiAgCj4gIAkJc2VxX3ByaW50 ZihtLCAiUGVyZm9ybWFuY2VfQ291bnRlcjogJXVcbiIsIHBzcnBlcmYpOwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAo+IGluZGV4IDkxZWQzYzIuLjQzNTlhZjEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiBAQCAtMTc0NCw2ICsxNzQ0LDggQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg ewo+ICAJLyogTU1JTyBiYXNlIGFkZHJlc3MgZm9yIE1JUEkgcmVncyAqLwo+ICAJdWludDMyX3Qg bWlwaV9tbWlvX2Jhc2U7Cj4gIAo+ICsJdWludDMyX3QgcHNyX21taW9fYmFzZTsKPiArCj4gIAl3 YWl0X3F1ZXVlX2hlYWRfdCBnbWJ1c193YWl0X3F1ZXVlOwo+ICAKPiAgCXN0cnVjdCBwY2lfZGV2 ICpicmlkZ2VfZGV2Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IGluZGV4IDA0YjIwNjMuLjM0 Mzc5MzQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBAQCAtMzAzNyw4ICszMDM3LDkg QEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgVkxWX1BTUlNUQVQocGlw ZSkgX1BJUEUocGlwZSwgX1BTUlNUQVRBLCBfUFNSU1RBVEIpCj4gIAo+ICAvKiBIU1crIGVEUCBQ U1IgcmVnaXN0ZXJzICovCj4gLSNkZWZpbmUgRURQX1BTUl9CQVNFKGRldikgICAgICAgICAgICAg ICAgICAgICAgIChJU19IQVNXRUxMKGRldikgPyAweDY0ODAwIDogMHg2ZjgwMCkKPiAtI2RlZmlu ZSBFRFBfUFNSX0NUTChkZXYpCQkJKEVEUF9QU1JfQkFTRShkZXYpICsgMCkKPiArI2RlZmluZSBI U1dfRURQX1BTUl9CQVNFCTB4NjQ4MDAKPiArI2RlZmluZSBCRFdfRURQX1BTUl9CQVNFCTB4NmY4 MDAKPiArI2RlZmluZSBFRFBfUFNSX0NUTAkJCQkoZGV2X3ByaXYtPnBzcl9tbWlvX2Jhc2UgKyAw KQo+ICAjZGVmaW5lICAgRURQX1BTUl9FTkFCTEUJCQkoMTw8MzEpCj4gICNkZWZpbmUgICBCRFdf UFNSX1NJTkdMRV9GUkFNRQkJCSgxPDwzMCkKPiAgI2RlZmluZSAgIEVEUF9QU1JfTElOS19TVEFO REJZCQkJKDE8PDI3KQo+IEBAIC0zMDYxLDEwICszMDYyLDEwIEBAIGVudW0gc2tsX2Rpc3BfcG93 ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgRURQX1BTUl9UUDFfVElNRV8wdXMJCQkoMzw8NCkKPiAg I2RlZmluZSAgIEVEUF9QU1JfSURMRV9GUkFNRV9TSElGVAkJMAo+ICAKPiAtI2RlZmluZSBFRFBf UFNSX0FVWF9DVEwoZGV2KQkJCShFRFBfUFNSX0JBU0UoZGV2KSArIDB4MTApCj4gLSNkZWZpbmUg RURQX1BTUl9BVVhfREFUQShkZXYsIGkpCQkoRURQX1BTUl9CQVNFKGRldikgKyAweDE0ICsgKGkp ICogNCkgLyogNSByZWdpc3RlcnMgKi8KPiArI2RlZmluZSBFRFBfUFNSX0FVWF9DVEwJCQkJKGRl dl9wcml2LT5wc3JfbW1pb19iYXNlICsgMHgxMCkKPiArI2RlZmluZSBFRFBfUFNSX0FVWF9EQVRB KGkpCQkJKGRldl9wcml2LT5wc3JfbW1pb19iYXNlICsgMHgxNCArIChpKSAqIDQpIC8qIDUgcmVn aXN0ZXJzICovCj4gIAo+IC0jZGVmaW5lIEVEUF9QU1JfU1RBVFVTX0NUTChkZXYpCQkJKEVEUF9Q U1JfQkFTRShkZXYpICsgMHg0MCkKPiArI2RlZmluZSBFRFBfUFNSX1NUQVRVU19DVEwJCQkoZGV2 X3ByaXYtPnBzcl9tbWlvX2Jhc2UgKyAweDQwKQo+ICAjZGVmaW5lICAgRURQX1BTUl9TVEFUVVNf U1RBVEVfTUFTSwkJKDc8PDI5KQo+ICAjZGVmaW5lICAgRURQX1BTUl9TVEFUVVNfU1RBVEVfSURM RQkJKDA8PDI5KQo+ICAjZGVmaW5lICAgRURQX1BTUl9TVEFUVVNfU1RBVEVfU1JET05BQ0sJCSgx PDwyOSkKPiBAQCAtMzA4OCwxMCArMzA4OSwxMCBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxz IHsKPiAgI2RlZmluZSAgIEVEUF9QU1JfU1RBVFVTX1NFTkRJTkdfVFAxCQkoMTw8NCkKPiAgI2Rl ZmluZSAgIEVEUF9QU1JfU1RBVFVTX0lETEVfTUFTSwkJMHhmCj4gIAo+IC0jZGVmaW5lIEVEUF9Q U1JfUEVSRl9DTlQoZGV2KQkJKEVEUF9QU1JfQkFTRShkZXYpICsgMHg0NCkKPiArI2RlZmluZSBF RFBfUFNSX1BFUkZfQ05UCQkoZGV2X3ByaXYtPnBzcl9tbWlvX2Jhc2UgKyAweDQ0KQo+ICAjZGVm aW5lICAgRURQX1BTUl9QRVJGX0NOVF9NQVNLCQkweGZmZmZmZgo+ICAKPiAtI2RlZmluZSBFRFBf UFNSX0RFQlVHX0NUTChkZXYpCQkoRURQX1BTUl9CQVNFKGRldikgKyAweDYwKQo+ICsjZGVmaW5l IEVEUF9QU1JfREVCVUdfQ1RMCQkoZGV2X3ByaXYtPnBzcl9tbWlvX2Jhc2UgKyAweDYwKQo+ICAj ZGVmaW5lICAgRURQX1BTUl9ERUJVR19NQVNLX0xQU1AJKDE8PDI3KQo+ICAjZGVmaW5lICAgRURQ X1BTUl9ERUJVR19NQVNLX01FTVVQCSgxPDwyNikKPiAgI2RlZmluZSAgIEVEUF9QU1JfREVCVUdf TUFTS19IUEQJKDE8PDI1KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wc3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4gaW5kZXggZmY2Njcx OC4uOTAxNTNlNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3Iu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4gQEAgLTE4Myw5ICsx ODMsOSBAQCBzdGF0aWMgdm9pZCBoc3dfcHNyX2VuYWJsZV9zaW5rKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHApCj4gIAkJCQlEUF9BVVhfRlJBTUVfU1lOQ19FTkFCTEUpOwo+ICAKPiAgCWF1eF9k YXRhX3JlZyA9IChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5KSA/Cj4gLQkJRFBfQVVYX0NIX0RB VEEocG9ydCwgMCkgOiBFRFBfUFNSX0FVWF9EQVRBKGRldiwgMCk7Cj4gKwkJRFBfQVVYX0NIX0RB VEEocG9ydCwgMCkgOiBFRFBfUFNSX0FVWF9EQVRBKDApOwo+ICAJYXV4X2N0bF9yZWcgPSAoSU5U RUxfSU5GTyhkZXYpLT5nZW4gPj0gOSkgPwo+IC0JCURQX0FVWF9DSF9DVEwocG9ydCkgOiBFRFBf UFNSX0FVWF9DVEwoZGV2KTsKPiArCQlEUF9BVVhfQ0hfQ1RMKHBvcnQpIDogRURQX1BTUl9BVVhf Q1RMOwo+ICAKPiAgCS8qIFNldHVwIEFVWCByZWdpc3RlcnMgKi8KPiAgCWZvciAoaSA9IDA7IGkg PCBzaXplb2YoYXV4X21zZyk7IGkgKz0gNCkKPiBAQCAtMjc3LDcgKzI3Nyw3IEBAIHN0YXRpYyB2 b2lkIGhzd19wc3JfZW5hYmxlX3NvdXJjZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAJ CWlkbGVfZnJhbWVzICs9IDQ7Cj4gIAl9Cj4gIAo+IC0JSTkxNV9XUklURShFRFBfUFNSX0NUTChk ZXYpLCB2YWwgfAo+ICsJSTkxNV9XUklURShFRFBfUFNSX0NUTCwgdmFsIHwKPiAgCQkgICAoSVNf QlJPQURXRUxMKGRldikgPyAwIDogbGlua19lbnRyeV90aW1lKSB8Cj4gIAkJICAgbWF4X3NsZWVw X3RpbWUgPDwgRURQX1BTUl9NQVhfU0xFRVBfVElNRV9TSElGVCB8Cj4gIAkJICAgaWRsZV9mcmFt ZXMgPDwgRURQX1BTUl9JRExFX0ZSQU1FX1NISUZUIHwKPiBAQCAtMzQxLDcgKzM0MSw3IEBAIHN0 YXRpYyB2b2lkIGludGVsX3Bzcl9hY3RpdmF0ZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RpZ19wb3J0LT5iYXNlLmJhc2UuZGV2 Owo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKPiAgCj4gLQlXQVJOX09OKEk5MTVfUkVBRChFRFBfUFNSX0NUTChkZXYpKSAmIEVEUF9QU1Jf RU5BQkxFKTsKPiArCVdBUk5fT04oSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKSAmIEVEUF9QU1JfRU5B QkxFKTsKPiAgCVdBUk5fT04oZGV2X3ByaXYtPnBzci5hY3RpdmUpOwo+ICAJbG9ja2RlcF9hc3Nl cnRfaGVsZCgmZGV2X3ByaXYtPnBzci5sb2NrKTsKPiAgCj4gQEAgLTQwNSw3ICs0MDUsNyBAQCB2 b2lkIGludGVsX3Bzcl9lbmFibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCQl9Cj4g IAo+ICAJCS8qIEF2b2lkIGNvbnRpbnVvdXMgUFNSIGV4aXQgYnkgbWFza2luZyBtZW11cCBhbmQg aHBkICovCj4gLQkJSTkxNV9XUklURShFRFBfUFNSX0RFQlVHX0NUTChkZXYpLCBFRFBfUFNSX0RF QlVHX01BU0tfTUVNVVAgfAo+ICsJCUk5MTVfV1JJVEUoRURQX1BTUl9ERUJVR19DVEwsIEVEUF9Q U1JfREVCVUdfTUFTS19NRU1VUCB8Cj4gIAkJCSAgIEVEUF9QU1JfREVCVUdfTUFTS19IUEQpOwo+ ICAKPiAgCQkvKiBFbmFibGUgUFNSIG9uIHRoZSBwYW5lbCAqLwo+IEBAIC00NjcsMTcgKzQ2Nywx NyBAQCBzdGF0aWMgdm9pZCBoc3dfcHNyX2Rpc2FibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZh dGU7Cj4gIAo+ICAJaWYgKGRldl9wcml2LT5wc3IuYWN0aXZlKSB7Cj4gLQkJSTkxNV9XUklURShF RFBfUFNSX0NUTChkZXYpLAo+IC0JCQkgICBJOTE1X1JFQUQoRURQX1BTUl9DVEwoZGV2KSkgJiB+ RURQX1BTUl9FTkFCTEUpOwo+ICsJCUk5MTVfV1JJVEUoRURQX1BTUl9DVEwsCj4gKwkJCSAgIEk5 MTVfUkVBRChFRFBfUFNSX0NUTCkgJiB+RURQX1BTUl9FTkFCTEUpOwo+ICAKPiAgCQkvKiBXYWl0 IHRpbGwgUFNSIGlzIGlkbGUgKi8KPiAtCQlpZiAoX3dhaXRfZm9yKChJOTE1X1JFQUQoRURQX1BT Ul9TVEFUVVNfQ1RMKGRldikpICYKPiArCQlpZiAoX3dhaXRfZm9yKChJOTE1X1JFQUQoRURQX1BT Ul9TVEFUVVNfQ1RMKSAmCj4gIAkJCSAgICAgICBFRFBfUFNSX1NUQVRVU19TVEFURV9NQVNLKSA9 PSAwLCAyMDAwLCAxMCkpCj4gIAkJCURSTV9FUlJPUigiVGltZWQgb3V0IHdhaXRpbmcgZm9yIFBT UiBJZGxlIFN0YXRlXG4iKTsKPiAgCj4gIAkJZGV2X3ByaXYtPnBzci5hY3RpdmUgPSBmYWxzZTsK PiAgCX0gZWxzZSB7Cj4gLQkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUl9DVEwoZGV2KSkgJiBF RFBfUFNSX0VOQUJMRSk7Cj4gKwkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUl9DVEwpICYgRURQ X1BTUl9FTkFCTEUpOwo+ICAJfQo+ICB9Cj4gIAo+IEBAIC01MjQsNyArNTI0LDcgQEAgc3RhdGlj IHZvaWQgaW50ZWxfcHNyX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+ICAJICogYW5k IGJlIHJlYWR5IGZvciByZS1lbmFibGUuCj4gIAkgKi8KPiAgCWlmIChIQVNfRERJKGRldl9wcml2 LT5kZXYpKSB7Cj4gLQkJaWYgKHdhaXRfZm9yKChJOTE1X1JFQUQoRURQX1BTUl9TVEFUVVNfQ1RM KGRldl9wcml2LT5kZXYpKSAmCj4gKwkJaWYgKHdhaXRfZm9yKChJOTE1X1JFQUQoRURQX1BTUl9T VEFUVVNfQ1RMKSAmCj4gIAkJCSAgICAgIEVEUF9QU1JfU1RBVFVTX1NUQVRFX01BU0spID09IDAs IDUwKSkgewo+ICAJCQlEUk1fRVJST1IoIlRpbWVkIG91dCB3YWl0aW5nIGZvciBQU1IgSWRsZSBm b3IgcmUtZW5hYmxlXG4iKTsKPiAgCQkJcmV0dXJuOwo+IEBAIC01NjcsMTEgKzU2NywxMSBAQCBz dGF0aWMgdm9pZCBpbnRlbF9wc3JfZXhpdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCXJl dHVybjsKPiAgCj4gIAlpZiAoSEFTX0RESShkZXYpKSB7Cj4gLQkJdmFsID0gSTkxNV9SRUFEKEVE UF9QU1JfQ1RMKGRldikpOwo+ICsJCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSX0NUTCk7Cj4gIAo+ ICAJCVdBUk5fT04oISh2YWwgJiBFRFBfUFNSX0VOQUJMRSkpOwo+ICAKPiAtCQlJOTE1X1dSSVRF KEVEUF9QU1JfQ1RMKGRldiksIHZhbCAmIH5FRFBfUFNSX0VOQUJMRSk7Cj4gKwkJSTkxNV9XUklU RShFRFBfUFNSX0NUTCwgdmFsICYgfkVEUF9QU1JfRU5BQkxFKTsKPiAgCX0gZWxzZSB7Cj4gIAkJ dmFsID0gSTkxNV9SRUFEKFZMVl9QU1JDVEwocGlwZSkpOwo+ICAKPiBAQCAtNzUyLDYgKzc1Miwx MCBAQCB2b2lkIGludGVsX3Bzcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIHsKPiAg CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4g IAo+ICsJZGV2X3ByaXYtPnBzcl9tbWlvX2Jhc2UgPSBJU19IQVNXRUxMKGRldl9wcml2KSA/Cj4g KwkJSFNXX0VEUF9QU1JfQkFTRSA6IEJEV19FRFBfUFNSX0JBU0U7Cj4gKwo+ICAJSU5JVF9ERUxB WUVEX1dPUksoJmRldl9wcml2LT5wc3Iud29yaywgaW50ZWxfcHNyX3dvcmspOwo+ICAJbXV0ZXhf aW5pdCgmZGV2X3ByaXYtPnBzci5sb2NrKTsKPiArCgpOaXRwaWNrLCBzdXBlcmZsdW91cyB3aGl0 ZXNwYWNlLgoKT3RoZXIgdGhhbiB0aGF0LAoKUmV2aWV3ZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5p Lm5pa3VsYUBpbnRlbC5jb20+CgoKPiAgfQo+IC0tIAo+IDIuNC42Cj4KPiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxp c3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gCkphbmkgTmlrdWxhLCBJ bnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=