From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v2 39/43] drm/i915: Add dev_priv->psr_mmio_base Date: Wed, 21 Oct 2015 10:09:49 +0300 Message-ID: <87mvvcy9xe.fsf@intel.com> References: <1442595836-23981-40-git-send-email-ville.syrjala@linux.intel.com> <1445349709-21371-1-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 mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 3A77F6ED20 for ; Wed, 21 Oct 2015 00:06:20 -0700 (PDT) In-Reply-To: <1445349709-21371-1-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 T24gVHVlLCAyMCBPY3QgMjAxNSwgdmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20gd3JvdGU6 Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K Pgo+IERyb3AgdGhlIEVEUF9QU1JfQkFTRSgpIHRoaW5nLCBhbmQganVzdCBzdGljayB0aGUgUFNS IHJlZ2lzdGVyIG9mZnNldAo+IHVuZGVyIGRldl9wcml2LCBsaWtlIHdlIGZvciBEU0kgYW5kIEdQ SU8gZm9yIGV4YW1wbGUuCj4KPiBUT0RPOiBjb3VsZCBwcm9iYWJseSBtb3ZlIGEgYnVuY2ggb2Yg dGhpcyBraW5kIG9mIHN0dWZmIGludG8gdGhlIGRldmljZQo+IGluZm8gaW5zdGVhZC4uLgo+Cj4g djI6IERyb3AgdGhlIHN1cmlvdXMgd2hpdGVzcGFjZSBjaGFuZ2UgKEphbmkpCgpBcmUgeW91IHN1 cmlvdXMgYWJvdXQgdGhhdD8KCj4gUmV2aWV3ZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3Vs YUBpbnRlbC5jb20+CgpZZXMuCgo+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmls bGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jIHwgIDQgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oICAgICB8ICAyICsrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgIHwg MTUgKysrKysrKystLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jICAg IHwgMjcgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCj4gIDQgZmlsZXMgY2hhbmdlZCwgMjcg aW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYwo+IGluZGV4IGMzOGY3NjYuLjc0YjE3YjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RlYnVnZnMuYwo+IEBAIC0yNTM2LDcgKzI1MzYsNyBAQCBzdGF0aWMgaW50IGk5MTVfZWRw X3Bzcl9zdGF0dXMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQo+ICAJCSAgIHllc25v KHdvcmtfYnVzeSgmZGV2X3ByaXYtPnBzci53b3JrLndvcmspKSk7Cj4gIAo+ICAJaWYgKEhBU19E REkoZGV2KSkKPiAtCQllbmFibGVkID0gSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKGRldikpICYgRURQ X1BTUl9FTkFCTEU7Cj4gKwkJZW5hYmxlZCA9IEk5MTVfUkVBRChFRFBfUFNSX0NUTCkgJiBFRFBf UFNSX0VOQUJMRTsKPiAgCWVsc2Ugewo+ICAJCWZvcl9lYWNoX3BpcGUoZGV2X3ByaXYsIHBpcGUp IHsKPiAgCQkJc3RhdFtwaXBlXSA9IEk5MTVfUkVBRChWTFZfUFNSU1RBVChwaXBlKSkgJgo+IEBA IC0yNTU4LDcgKzI1NTgsNyBAQCBzdGF0aWMgaW50IGk5MTVfZWRwX3Bzcl9zdGF0dXMoc3RydWN0 IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQo+ICAKPiAgCS8qIENIViBQU1IgaGFzIG5vIGtpbmQg b2YgcGVyZm9ybWFuY2UgY291bnRlciAqLwo+ICAJaWYgKEhBU19EREkoZGV2KSkgewo+IC0JCXBz cnBlcmYgPSBJOTE1X1JFQUQoRURQX1BTUl9QRVJGX0NOVChkZXYpKSAmCj4gKwkJcHNycGVyZiA9 IEk5MTVfUkVBRChFRFBfUFNSX1BFUkZfQ05UKSAmCj4gIAkJCUVEUF9QU1JfUEVSRl9DTlRfTUFT SzsKPiAgCj4gIAkJc2VxX3ByaW50ZihtLCAiUGVyZm9ybWFuY2VfQ291bnRlcjogJXVcbiIsIHBz cnBlcmYpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IGU3OWYyMzkuLjcxYTQ5NmQg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtMTc0NCw2ICsxNzQ0LDggQEAgc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgewo+ICAJLyogTU1JTyBiYXNlIGFkZHJlc3MgZm9yIE1JUEkg cmVncyAqLwo+ICAJdWludDMyX3QgbWlwaV9tbWlvX2Jhc2U7Cj4gIAo+ICsJdWludDMyX3QgcHNy X21taW9fYmFzZTsKPiArCj4gIAl3YWl0X3F1ZXVlX2hlYWRfdCBnbWJ1c193YWl0X3F1ZXVlOwo+ ICAKPiAgCXN0cnVjdCBwY2lfZGV2ICpicmlkZ2VfZGV2Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aAo+IGluZGV4IDc3MjNlZDMuLmVkOTA5MTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgK PiBAQCAtMzA0Myw4ICszMDQzLDkgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNk ZWZpbmUgVkxWX1BTUlNUQVQocGlwZSkgX1BJUEUocGlwZSwgX1BTUlNUQVRBLCBfUFNSU1RBVEIp Cj4gIAo+ICAvKiBIU1crIGVEUCBQU1IgcmVnaXN0ZXJzICovCj4gLSNkZWZpbmUgRURQX1BTUl9C QVNFKGRldikgICAgICAgICAgICAgICAgICAgICAgIChJU19IQVNXRUxMKGRldikgPyAweDY0ODAw IDogMHg2ZjgwMCkKPiAtI2RlZmluZSBFRFBfUFNSX0NUTChkZXYpCQkJKEVEUF9QU1JfQkFTRShk ZXYpICsgMCkKPiArI2RlZmluZSBIU1dfRURQX1BTUl9CQVNFCTB4NjQ4MDAKPiArI2RlZmluZSBC RFdfRURQX1BTUl9CQVNFCTB4NmY4MDAKPiArI2RlZmluZSBFRFBfUFNSX0NUTAkJCQkoZGV2X3By aXYtPnBzcl9tbWlvX2Jhc2UgKyAwKQo+ICAjZGVmaW5lICAgRURQX1BTUl9FTkFCTEUJCQkoMTw8 MzEpCj4gICNkZWZpbmUgICBCRFdfUFNSX1NJTkdMRV9GUkFNRQkJCSgxPDwzMCkKPiAgI2RlZmlu ZSAgIEVEUF9QU1JfTElOS19TVEFOREJZCQkJKDE8PDI3KQo+IEBAIC0zMDY3LDEwICszMDY4LDEw IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICAgRURQX1BTUl9UUDFf VElNRV8wdXMJCQkoMzw8NCkKPiAgI2RlZmluZSAgIEVEUF9QU1JfSURMRV9GUkFNRV9TSElGVAkJ MAo+ICAKPiAtI2RlZmluZSBFRFBfUFNSX0FVWF9DVEwoZGV2KQkJCShFRFBfUFNSX0JBU0UoZGV2 KSArIDB4MTApCj4gLSNkZWZpbmUgRURQX1BTUl9BVVhfREFUQShkZXYsIGkpCQkoRURQX1BTUl9C QVNFKGRldikgKyAweDE0ICsgKGkpICogNCkgLyogNSByZWdpc3RlcnMgKi8KPiArI2RlZmluZSBF RFBfUFNSX0FVWF9DVEwJCQkJKGRldl9wcml2LT5wc3JfbW1pb19iYXNlICsgMHgxMCkKPiArI2Rl ZmluZSBFRFBfUFNSX0FVWF9EQVRBKGkpCQkJKGRldl9wcml2LT5wc3JfbW1pb19iYXNlICsgMHgx NCArIChpKSAqIDQpIC8qIDUgcmVnaXN0ZXJzICovCj4gIAo+IC0jZGVmaW5lIEVEUF9QU1JfU1RB VFVTX0NUTChkZXYpCQkJKEVEUF9QU1JfQkFTRShkZXYpICsgMHg0MCkKPiArI2RlZmluZSBFRFBf UFNSX1NUQVRVU19DVEwJCQkoZGV2X3ByaXYtPnBzcl9tbWlvX2Jhc2UgKyAweDQwKQo+ICAjZGVm aW5lICAgRURQX1BTUl9TVEFUVVNfU1RBVEVfTUFTSwkJKDc8PDI5KQo+ICAjZGVmaW5lICAgRURQ X1BTUl9TVEFUVVNfU1RBVEVfSURMRQkJKDA8PDI5KQo+ICAjZGVmaW5lICAgRURQX1BTUl9TVEFU VVNfU1RBVEVfU1JET05BQ0sJCSgxPDwyOSkKPiBAQCAtMzA5NCwxMCArMzA5NSwxMCBAQCBlbnVt IHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgIEVEUF9QU1JfU1RBVFVTX1NFTkRJ TkdfVFAxCQkoMTw8NCkKPiAgI2RlZmluZSAgIEVEUF9QU1JfU1RBVFVTX0lETEVfTUFTSwkJMHhm Cj4gIAo+IC0jZGVmaW5lIEVEUF9QU1JfUEVSRl9DTlQoZGV2KQkJKEVEUF9QU1JfQkFTRShkZXYp ICsgMHg0NCkKPiArI2RlZmluZSBFRFBfUFNSX1BFUkZfQ05UCQkoZGV2X3ByaXYtPnBzcl9tbWlv X2Jhc2UgKyAweDQ0KQo+ICAjZGVmaW5lICAgRURQX1BTUl9QRVJGX0NOVF9NQVNLCQkweGZmZmZm Zgo+ICAKPiAtI2RlZmluZSBFRFBfUFNSX0RFQlVHX0NUTChkZXYpCQkoRURQX1BTUl9CQVNFKGRl dikgKyAweDYwKQo+ICsjZGVmaW5lIEVEUF9QU1JfREVCVUdfQ1RMCQkoZGV2X3ByaXYtPnBzcl9t bWlvX2Jhc2UgKyAweDYwKQo+ICAjZGVmaW5lICAgRURQX1BTUl9ERUJVR19NQVNLX0xQU1AJKDE8 PDI3KQo+ICAjZGVmaW5lICAgRURQX1BTUl9ERUJVR19NQVNLX01FTVVQCSgxPDwyNikKPiAgI2Rl ZmluZSAgIEVEUF9QU1JfREVCVUdfTUFTS19IUEQJKDE8PDI1KQo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Bzci5jCj4gaW5kZXggZmY2NjcxOC4uM2M5NzNjNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Bzci5jCj4gQEAgLTE4Myw5ICsxODMsOSBAQCBzdGF0aWMgdm9pZCBoc3dfcHNyX2VuYWJsZV9z aW5rKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gIAkJCQlEUF9BVVhfRlJBTUVfU1lOQ19F TkFCTEUpOwo+ICAKPiAgCWF1eF9kYXRhX3JlZyA9IChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5 KSA/Cj4gLQkJRFBfQVVYX0NIX0RBVEEocG9ydCwgMCkgOiBFRFBfUFNSX0FVWF9EQVRBKGRldiwg MCk7Cj4gKwkJRFBfQVVYX0NIX0RBVEEocG9ydCwgMCkgOiBFRFBfUFNSX0FVWF9EQVRBKDApOwo+ ICAJYXV4X2N0bF9yZWcgPSAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSkgPwo+IC0JCURQX0FV WF9DSF9DVEwocG9ydCkgOiBFRFBfUFNSX0FVWF9DVEwoZGV2KTsKPiArCQlEUF9BVVhfQ0hfQ1RM KHBvcnQpIDogRURQX1BTUl9BVVhfQ1RMOwo+ICAKPiAgCS8qIFNldHVwIEFVWCByZWdpc3RlcnMg Ki8KPiAgCWZvciAoaSA9IDA7IGkgPCBzaXplb2YoYXV4X21zZyk7IGkgKz0gNCkKPiBAQCAtMjc3 LDcgKzI3Nyw3IEBAIHN0YXRpYyB2b2lkIGhzd19wc3JfZW5hYmxlX3NvdXJjZShzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKQo+ICAJCWlkbGVfZnJhbWVzICs9IDQ7Cj4gIAl9Cj4gIAo+IC0JSTkx NV9XUklURShFRFBfUFNSX0NUTChkZXYpLCB2YWwgfAo+ICsJSTkxNV9XUklURShFRFBfUFNSX0NU TCwgdmFsIHwKPiAgCQkgICAoSVNfQlJPQURXRUxMKGRldikgPyAwIDogbGlua19lbnRyeV90aW1l KSB8Cj4gIAkJICAgbWF4X3NsZWVwX3RpbWUgPDwgRURQX1BTUl9NQVhfU0xFRVBfVElNRV9TSElG VCB8Cj4gIAkJICAgaWRsZV9mcmFtZXMgPDwgRURQX1BTUl9JRExFX0ZSQU1FX1NISUZUIHwKPiBA QCAtMzQxLDcgKzM0MSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3Bzcl9hY3RpdmF0ZShzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwKQo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2Rp Z19wb3J0LT5iYXNlLmJhc2UuZGV2Owo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCj4gLQlXQVJOX09OKEk5MTVfUkVBRChFRFBfUFNS X0NUTChkZXYpKSAmIEVEUF9QU1JfRU5BQkxFKTsKPiArCVdBUk5fT04oSTkxNV9SRUFEKEVEUF9Q U1JfQ1RMKSAmIEVEUF9QU1JfRU5BQkxFKTsKPiAgCVdBUk5fT04oZGV2X3ByaXYtPnBzci5hY3Rp dmUpOwo+ICAJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPnBzci5sb2NrKTsKPiAgCj4g QEAgLTQwNSw3ICs0MDUsNyBAQCB2b2lkIGludGVsX3Bzcl9lbmFibGUoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkKPiAgCQl9Cj4gIAo+ICAJCS8qIEF2b2lkIGNvbnRpbnVvdXMgUFNSIGV4aXQg YnkgbWFza2luZyBtZW11cCBhbmQgaHBkICovCj4gLQkJSTkxNV9XUklURShFRFBfUFNSX0RFQlVH X0NUTChkZXYpLCBFRFBfUFNSX0RFQlVHX01BU0tfTUVNVVAgfAo+ICsJCUk5MTVfV1JJVEUoRURQ X1BTUl9ERUJVR19DVEwsIEVEUF9QU1JfREVCVUdfTUFTS19NRU1VUCB8Cj4gIAkJCSAgIEVEUF9Q U1JfREVCVUdfTUFTS19IUEQpOwo+ICAKPiAgCQkvKiBFbmFibGUgUFNSIG9uIHRoZSBwYW5lbCAq Lwo+IEBAIC00NjcsMTcgKzQ2NywxNyBAQCBzdGF0aWMgdm9pZCBoc3dfcHNyX2Rpc2FibGUoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAo+ICAJaWYgKGRldl9wcml2LT5wc3IuYWN0aXZl KSB7Cj4gLQkJSTkxNV9XUklURShFRFBfUFNSX0NUTChkZXYpLAo+IC0JCQkgICBJOTE1X1JFQUQo RURQX1BTUl9DVEwoZGV2KSkgJiB+RURQX1BTUl9FTkFCTEUpOwo+ICsJCUk5MTVfV1JJVEUoRURQ X1BTUl9DVEwsCj4gKwkJCSAgIEk5MTVfUkVBRChFRFBfUFNSX0NUTCkgJiB+RURQX1BTUl9FTkFC TEUpOwo+ICAKPiAgCQkvKiBXYWl0IHRpbGwgUFNSIGlzIGlkbGUgKi8KPiAtCQlpZiAoX3dhaXRf Zm9yKChJOTE1X1JFQUQoRURQX1BTUl9TVEFUVVNfQ1RMKGRldikpICYKPiArCQlpZiAoX3dhaXRf Zm9yKChJOTE1X1JFQUQoRURQX1BTUl9TVEFUVVNfQ1RMKSAmCj4gIAkJCSAgICAgICBFRFBfUFNS X1NUQVRVU19TVEFURV9NQVNLKSA9PSAwLCAyMDAwLCAxMCkpCj4gIAkJCURSTV9FUlJPUigiVGlt ZWQgb3V0IHdhaXRpbmcgZm9yIFBTUiBJZGxlIFN0YXRlXG4iKTsKPiAgCj4gIAkJZGV2X3ByaXYt PnBzci5hY3RpdmUgPSBmYWxzZTsKPiAgCX0gZWxzZSB7Cj4gLQkJV0FSTl9PTihJOTE1X1JFQUQo RURQX1BTUl9DVEwoZGV2KSkgJiBFRFBfUFNSX0VOQUJMRSk7Cj4gKwkJV0FSTl9PTihJOTE1X1JF QUQoRURQX1BTUl9DVEwpICYgRURQX1BTUl9FTkFCTEUpOwo+ICAJfQo+ICB9Cj4gIAo+IEBAIC01 MjQsNyArNTI0LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHNyX3dvcmsoc3RydWN0IHdvcmtfc3Ry dWN0ICp3b3JrKQo+ICAJICogYW5kIGJlIHJlYWR5IGZvciByZS1lbmFibGUuCj4gIAkgKi8KPiAg CWlmIChIQVNfRERJKGRldl9wcml2LT5kZXYpKSB7Cj4gLQkJaWYgKHdhaXRfZm9yKChJOTE1X1JF QUQoRURQX1BTUl9TVEFUVVNfQ1RMKGRldl9wcml2LT5kZXYpKSAmCj4gKwkJaWYgKHdhaXRfZm9y KChJOTE1X1JFQUQoRURQX1BTUl9TVEFUVVNfQ1RMKSAmCj4gIAkJCSAgICAgIEVEUF9QU1JfU1RB VFVTX1NUQVRFX01BU0spID09IDAsIDUwKSkgewo+ICAJCQlEUk1fRVJST1IoIlRpbWVkIG91dCB3 YWl0aW5nIGZvciBQU1IgSWRsZSBmb3IgcmUtZW5hYmxlXG4iKTsKPiAgCQkJcmV0dXJuOwo+IEBA IC01NjcsMTEgKzU2NywxMSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wc3JfZXhpdChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQo+ICAJCXJldHVybjsKPiAgCj4gIAlpZiAoSEFTX0RESShkZXYpKSB7Cj4g LQkJdmFsID0gSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKGRldikpOwo+ICsJCXZhbCA9IEk5MTVfUkVB RChFRFBfUFNSX0NUTCk7Cj4gIAo+ICAJCVdBUk5fT04oISh2YWwgJiBFRFBfUFNSX0VOQUJMRSkp Owo+ICAKPiAtCQlJOTE1X1dSSVRFKEVEUF9QU1JfQ1RMKGRldiksIHZhbCAmIH5FRFBfUFNSX0VO QUJMRSk7Cj4gKwkJSTkxNV9XUklURShFRFBfUFNSX0NUTCwgdmFsICYgfkVEUF9QU1JfRU5BQkxF KTsKPiAgCX0gZWxzZSB7Cj4gIAkJdmFsID0gSTkxNV9SRUFEKFZMVl9QU1JDVEwocGlwZSkpOwo+ ICAKPiBAQCAtNzUyLDYgKzc1Miw5IEBAIHZvaWQgaW50ZWxfcHNyX2luaXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCj4gKwlkZXZfcHJpdi0+cHNyX21taW9fYmFzZSA9IElTX0hB U1dFTEwoZGV2X3ByaXYpID8KPiArCQlIU1dfRURQX1BTUl9CQVNFIDogQkRXX0VEUF9QU1JfQkFT RTsKPiArCj4gIAlJTklUX0RFTEFZRURfV09SSygmZGV2X3ByaXYtPnBzci53b3JrLCBpbnRlbF9w c3Jfd29yayk7Cj4gIAltdXRleF9pbml0KCZkZXZfcHJpdi0+cHNyLmxvY2spOwo+ICB9Cj4gLS0g Cj4gMi40LjkKPgoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5 IENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=