From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH 1/9] drm/i915: rename raw reg access functions Date: Mon, 25 Mar 2019 15:41:55 -0700 Message-ID: <25e8813770082d38f8f5cb249d7b39ecabada596.camel@intel.com> References: <20190325214940.23632-1-daniele.ceraolospurio@intel.com> <20190325214940.23632-2-daniele.ceraolospurio@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 ESMTPS id B0D606E6B7 for ; Mon, 25 Mar 2019 22:41:56 +0000 (UTC) In-Reply-To: <20190325214940.23632-2-daniele.ceraolospurio@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniele Ceraolo Spurio , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RW0gc2VnLCAyMDE5LTAzLTI1IMOgcyAxNDo0OSAtMDcwMCwgRGFuaWVsZSBDZXJhb2xvIFNwdXJp byBlc2NyZXZldToKPiBUaGV5IG5vdyB3b3JrIG9uIHVuY29yZSwgc28gdXNlIHJhd191bmNvcmVf IHByZWZpeC4gQWxzbyBtb3ZlIHRoZW0gdG8KPiB1bmNvcmUuaAo+IAo+IFNpZ25lZC1vZmYtYnk6 IERhbmllbGUgQ2VyYW9sbyBTcHVyaW8gPGRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5jb20+ Cj4gQ2M6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+IENjOiBDaHJp cyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiAtLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgfCAzMiArKy0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jICAgIHwgIDYgKystLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF91bmNvcmUuYyB8IDQ4ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5oIHwgMjcgKysrKysrKysrKysr KysrKwo+ICA0IGZpbGVzIGNoYW5nZWQsIDU3IGluc2VydGlvbnMoKyksIDU2IGRlbGV0aW9ucygt KQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDRlMzBmN2IxOWI1MS4uNTU4ZDQw ZjA3ZmZlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTM1MDcsMzIgKzM1MDcs NiBAQCBzdGF0aWMgaW5saW5lIHU2NCBpbnRlbF9yYzZfcmVzaWRlbmN5X3VzKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgI2RlZmluZSBQT1NUSU5HX1JFQUQocmVnKQkodm9p ZClJOTE1X1JFQURfTk9UUkFDRShyZWcpCj4gICNkZWZpbmUgUE9TVElOR19SRUFEMTYocmVnKQko dm9pZClJOTE1X1JFQUQxNl9OT1RSQUNFKHJlZykKPiAgCj4gLSNkZWZpbmUgX19yYXdfcmVhZCh4 LCBzKSBcCj4gLXN0YXRpYyBpbmxpbmUgdWludCMjeCMjX3QgX19yYXdfaTkxNV9yZWFkIyN4KGNv bnN0IHN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSwgXAo+IC0JCQkJCSAgICAgaTkxNV9yZWdf dCByZWcpIFwKPiAteyBcCj4gLQlyZXR1cm4gcmVhZCMjcyh1bmNvcmUtPnJlZ3MgKyBpOTE1X21t aW9fcmVnX29mZnNldChyZWcpKTsgXAo+IC19Cj4gLQo+IC0jZGVmaW5lIF9fcmF3X3dyaXRlKHgs IHMpIFwKPiAtc3RhdGljIGlubGluZSB2b2lkIF9fcmF3X2k5MTVfd3JpdGUjI3goY29uc3Qgc3Ry dWN0IGludGVsX3VuY29yZSAqdW5jb3JlLCBcCj4gLQkJCQkgICAgICAgaTkxNV9yZWdfdCByZWcs IHVpbnQjI3gjI190IHZhbCkgXAo+IC17IFwKPiAtCXdyaXRlIyNzKHZhbCwgdW5jb3JlLT5yZWdz ICsgaTkxNV9tbWlvX3JlZ19vZmZzZXQocmVnKSk7IFwKPiAtfQo+IC1fX3Jhd19yZWFkKDgsIGIp Cj4gLV9fcmF3X3JlYWQoMTYsIHcpCj4gLV9fcmF3X3JlYWQoMzIsIGwpCj4gLV9fcmF3X3JlYWQo NjQsIHEpCj4gLQo+IC1fX3Jhd193cml0ZSg4LCBiKQo+IC1fX3Jhd193cml0ZSgxNiwgdykKPiAt X19yYXdfd3JpdGUoMzIsIGwpCj4gLV9fcmF3X3dyaXRlKDY0LCBxKQo+IC0KPiAtI3VuZGVmIF9f cmF3X3JlYWQKPiAtI3VuZGVmIF9fcmF3X3dyaXRlCj4gLQo+ICAvKiBUaGVzZSBhcmUgdW50cmFj ZWQgbW1pby1hY2Nlc3NvcnMgdGhhdCBhcmUgb25seSB2YWxpZCB0byBiZSB1c2VkIGluc2lkZQo+ ICAgKiBjcml0aWNhbCBzZWN0aW9ucywgc3VjaCBhcyBpbnNpZGUgSVJRIGhhbmRsZXJzLCB3aGVy ZSBmb3JjZXdha2UgaXMgZXhwbGljaXRseQo+ICAgKiBjb250cm9sbGVkLgo+IEBAIC0zNTU5LDkg KzM1MzMsOSBAQCBfX3Jhd193cml0ZSg2NCwgcSkKPiAgICogdGhlcmVmb3JlIGdlbmVyYWxseSBi ZSBzZXJpYWxpc2VkLCBieSBlaXRoZXIgdGhlIGRldl9wcml2LT51bmNvcmUubG9jayBvcgo+ICAg KiBhIG1vcmUgbG9jYWxpc2VkIGxvY2sgZ3VhcmRpbmcgYWxsIGFjY2VzcyB0byB0aGF0IGJhbmsg b2YgcmVnaXN0ZXJzLgo+ICAgKi8KPiAtI2RlZmluZSBJOTE1X1JFQURfRlcocmVnX18pIF9fcmF3 X2k5MTVfcmVhZDMyKCZkZXZfcHJpdi0+dW5jb3JlLCAocmVnX18pKQo+IC0jZGVmaW5lIEk5MTVf V1JJVEVfRlcocmVnX18sIHZhbF9fKSBfX3Jhd19pOTE1X3dyaXRlMzIoJmRldl9wcml2LT51bmNv cmUsIChyZWdfXyksICh2YWxfXykpCj4gLSNkZWZpbmUgSTkxNV9XUklURTY0X0ZXKHJlZ19fLCB2 YWxfXykgX19yYXdfaTkxNV93cml0ZTY0KCZkZXZfcHJpdi0+dW5jb3JlLCAocmVnX18pLCAodmFs X18pKQo+ICsjZGVmaW5lIEk5MTVfUkVBRF9GVyhyZWdfXykgX19yYXdfdW5jb3JlX3JlYWQzMigm ZGV2X3ByaXYtPnVuY29yZSwgKHJlZ19fKSkKPiArI2RlZmluZSBJOTE1X1dSSVRFX0ZXKHJlZ19f LCB2YWxfXykgX19yYXdfdW5jb3JlX3dyaXRlMzIoJmRldl9wcml2LT51bmNvcmUsIChyZWdfXyks ICh2YWxfXykpCj4gKyNkZWZpbmUgSTkxNV9XUklURTY0X0ZXKHJlZ19fLCB2YWxfXykgX19yYXdf dW5jb3JlX3dyaXRlNjQoJmRldl9wcml2LT51bmNvcmUsIChyZWdfXyksICh2YWxfXykpCj4gICNk ZWZpbmUgUE9TVElOR19SRUFEX0ZXKHJlZ19fKSAodm9pZClJOTE1X1JFQURfRlcocmVnX18pCj4g IAo+ICAvKiAiQnJvYWRjYXN0IFJHQiIgcHJvcGVydHkgKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Zn cHUuYwo+IGluZGV4IDNkMGI0OTNlNDIwMC4uOTRkMzk5MmI1OTlkIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV92Z3B1LmMKPiBAQCAtNjYsMTcgKzY2LDE3IEBAIHZvaWQgaTkxNV9jaGVja192Z3B1 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCj4gIAlCVUlMRF9CVUdfT04o c2l6ZW9mKHN0cnVjdCB2Z3RfaWYpICE9IFZHVF9QVklORk9fU0laRSk7Cj4gIAo+IC0JbWFnaWMg PSBfX3Jhd19pOTE1X3JlYWQ2NCh1bmNvcmUsIHZndGlmX3JlZyhtYWdpYykpOwo+ICsJbWFnaWMg PSBfX3Jhd191bmNvcmVfcmVhZDY0KHVuY29yZSwgdmd0aWZfcmVnKG1hZ2ljKSk7Cj4gIAlpZiAo bWFnaWMgIT0gVkdUX01BR0lDKQo+ICAJCXJldHVybjsKPiAgCj4gLQl2ZXJzaW9uX21ham9yID0g X19yYXdfaTkxNV9yZWFkMTYodW5jb3JlLCB2Z3RpZl9yZWcodmVyc2lvbl9tYWpvcikpOwo+ICsJ dmVyc2lvbl9tYWpvciA9IF9fcmF3X3VuY29yZV9yZWFkMTYodW5jb3JlLCB2Z3RpZl9yZWcodmVy c2lvbl9tYWpvcikpOwo+ICAJaWYgKHZlcnNpb25fbWFqb3IgPCBWR1RfVkVSU0lPTl9NQUpPUikg ewo+ICAJCURSTV9JTkZPKCJWR1QgaW50ZXJmYWNlIHZlcnNpb24gbWlzbWF0Y2ghXG4iKTsKPiAg CQlyZXR1cm47Cj4gIAl9Cj4gIAo+IC0JZGV2X3ByaXYtPnZncHUuY2FwcyA9IF9fcmF3X2k5MTVf cmVhZDMyKHVuY29yZSwgdmd0aWZfcmVnKHZndF9jYXBzKSk7Cj4gKwlkZXZfcHJpdi0+dmdwdS5j YXBzID0gX19yYXdfdW5jb3JlX3JlYWQzMih1bmNvcmUsIHZndGlmX3JlZyh2Z3RfY2FwcykpOwo+ ICAKPiAgCWRldl9wcml2LT52Z3B1LmFjdGl2ZSA9IHRydWU7Cj4gIAlEUk1fSU5GTygiVmlydHVh bCBHUFUgZm9yIEludGVsIEdWVC1nIGRldGVjdGVkLlxuIik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfdW5jb3JlLmMKPiBpbmRleCAxODE2ZWVhZTNiYTkuLjNmNzQ4ODljNDIxMiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4gQEAgLTMxLDcgKzMxLDcgQEAKPiAgI2RlZmlu ZSBGT1JDRVdBS0VfQUNLX1RJTUVPVVRfTVMgNTAKPiAgI2RlZmluZSBHVF9GSUZPX1RJTUVPVVRf TVMJIDEwCj4gIAo+IC0jZGVmaW5lIF9fcmF3X3Bvc3RpbmdfcmVhZCh1bmNvcmVfXywgcmVnX18p ICh2b2lkKV9fcmF3X2k5MTVfcmVhZDMyKCh1bmNvcmVfXyksIChyZWdfXykpCj4gKyNkZWZpbmUg X19yYXdfcG9zdGluZ19yZWFkKC4uLikgKCh2b2lkKV9fcmF3X3VuY29yZV9yZWFkMzIoX19WQV9B UkdTX18pKQoKTm93IHRoZSBwZXJzb24gdHJ5aW5nIHRvIGZpZ3VyZSBvdXQgd2hhdCBfX3Jhd19w b3N0aW5nX3JlYWQoKSBkb2VzIHdpbGwKaGF2ZSB0byBjaGFzZSBfX3Jhd191bmNvcmVfcmVhZDMy KCksIHdoaWNoIGlzIG5vdCBldmVuIGdyZXBwYWJsZS4gSSdtCm5vdCBzdXJlIHRoaXMgaXMgYW4g aW1wcm92ZW1lbnQgdG8gb3VyIGNvZGViYXNlLCBidXQgdGhlIG5lYXRuZXNzIG9mCmp1c3QgcGFz c2luZyBldmVyeXRoaW5nIGRvZXMgaGF2ZSBzb21lIHZhbHVlLiBOb3QgcmVhbGx5IGEgYmlnIGRl YWwsIHNvCkknbSBub3QgYmxvY2tpbmcgbWVyZ2luZyBvbiB0aGlzLgoKCj4gIAo+ICBzdGF0aWMg Y29uc3QgY2hhciAqIGNvbnN0IGZvcmNld2FrZV9kb21haW5fbmFtZXNbXSA9IHsKPiAgCSJyZW5k ZXIiLAo+IEBAIC0yNzksNyArMjc5LDcgQEAgc3RhdGljIGlubGluZSB1MzIgZ3RfdGhyZWFkX3N0 YXR1cyhzdHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNvcmUpCj4gIHsKPiAgCXUzMiB2YWw7Cj4gIAo+ IC0JdmFsID0gX19yYXdfaTkxNV9yZWFkMzIodW5jb3JlLCBHRU42X0dUX1RIUkVBRF9TVEFUVVNf UkVHKTsKPiArCXZhbCA9IF9fcmF3X3VuY29yZV9yZWFkMzIodW5jb3JlLCBHRU42X0dUX1RIUkVB RF9TVEFUVVNfUkVHKTsKPiAgCXZhbCAmPSBHRU42X0dUX1RIUkVBRF9TVEFUVVNfQ09SRV9NQVNL Owo+ICAKPiAgCXJldHVybiB2YWw7Cj4gQEAgLTMwNiw3ICszMDYsNyBAQCBzdGF0aWMgdm9pZCBm d19kb21haW5zX2dldF93aXRoX3RocmVhZF9zdGF0dXMoc3RydWN0IGludGVsX3VuY29yZSAqdW5j b3JlLAo+ICAKPiAgc3RhdGljIGlubGluZSB1MzIgZmlmb19mcmVlX2VudHJpZXMoc3RydWN0IGlu dGVsX3VuY29yZSAqdW5jb3JlKQo+ICB7Cj4gLQl1MzIgY291bnQgPSBfX3Jhd19pOTE1X3JlYWQz Mih1bmNvcmUsIEdURklGT0NUTCk7Cj4gKwl1MzIgY291bnQgPSBfX3Jhd191bmNvcmVfcmVhZDMy KHVuY29yZSwgR1RGSUZPQ1RMKTsKPiAgCj4gIAlyZXR1cm4gY291bnQgJiBHVF9GSUZPX0ZSRUVf RU5UUklFU19NQVNLOwo+ICB9Cj4gQEAgLTQ1MSw3ICs0NTEsNyBAQCBzdGF0aWMgdm9pZCBpbnRl bF91bmNvcmVfZWRyYW1fZGV0ZWN0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK PiAgCWlmIChJU19IQVNXRUxMKGRldl9wcml2KSB8fAo+ICAJICAgIElTX0JST0FEV0VMTChkZXZf cHJpdikgfHwKPiAgCSAgICBJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsKPiAtCQlkZXZfcHJp di0+ZWRyYW1fY2FwID0gX19yYXdfaTkxNV9yZWFkMzIoJmRldl9wcml2LT51bmNvcmUsCj4gKwkJ ZGV2X3ByaXYtPmVkcmFtX2NhcCA9IF9fcmF3X3VuY29yZV9yZWFkMzIoJmRldl9wcml2LT51bmNv cmUsCj4gIAkJCQkJCQlIU1dfRURSQU1fQ0FQKTsKCkluZGVudGF0aW9uIGlzIG5vdyBicm9rZW4g Zm9yIHRoaXMgbGluZSBhYm92ZS4KCgpXaXRoIHRob3NlIDIgc3VwZXIgaW1wb3J0YW50IGRldGFp bHMgYWRkcmVzc2VkIG9yIG5vdDoKUmV2aWV3ZWQtYnk6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56 YW5vbmlAaW50ZWwuY29tPgoKPiAgCj4gIAkJLyogTkI6IFdlIGNhbid0IHdyaXRlIElESUNSIHll dCBiZWNhdXNlIHdlIGRvIG5vdCBoYXZlIGd0IGZ1bmNzCj4gQEAgLTQ3MCwxMSArNDcwLDExIEBA IGZwZ2FfY2hlY2tfZm9yX3VuY2xhaW1lZF9tbWlvKHN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29y ZSkKPiAgewo+ICAJdTMyIGRiZzsKPiAgCj4gLQlkYmcgPSBfX3Jhd19pOTE1X3JlYWQzMih1bmNv cmUsIEZQR0FfREJHKTsKPiArCWRiZyA9IF9fcmF3X3VuY29yZV9yZWFkMzIodW5jb3JlLCBGUEdB X0RCRyk7Cj4gIAlpZiAobGlrZWx5KCEoZGJnICYgRlBHQV9EQkdfUk1fTk9DTEFJTSkpKQo+ICAJ CXJldHVybiBmYWxzZTsKPiAgCj4gLQlfX3Jhd19pOTE1X3dyaXRlMzIodW5jb3JlLCBGUEdBX0RC RywgRlBHQV9EQkdfUk1fTk9DTEFJTSk7Cj4gKwlfX3Jhd191bmNvcmVfd3JpdGUzMih1bmNvcmUs IEZQR0FfREJHLCBGUEdBX0RCR19STV9OT0NMQUlNKTsKPiAgCj4gIAlyZXR1cm4gdHJ1ZTsKPiAg fQo+IEBAIC00ODQsMTEgKzQ4NCwxMSBAQCB2bHZfY2hlY2tfZm9yX3VuY2xhaW1lZF9tbWlvKHN0 cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSkKPiAgewo+ICAJdTMyIGNlcjsKPiAgCj4gLQljZXIg PSBfX3Jhd19pOTE1X3JlYWQzMih1bmNvcmUsIENMQUlNX0VSKTsKPiArCWNlciA9IF9fcmF3X3Vu Y29yZV9yZWFkMzIodW5jb3JlLCBDTEFJTV9FUik7Cj4gIAlpZiAobGlrZWx5KCEoY2VyICYgKENM QUlNX0VSX09WRVJGTE9XIHwgQ0xBSU1fRVJfQ1RSX01BU0spKSkpCj4gIAkJcmV0dXJuIGZhbHNl Owo+ICAKPiAtCV9fcmF3X2k5MTVfd3JpdGUzMih1bmNvcmUsIENMQUlNX0VSLCBDTEFJTV9FUl9D TFIpOwo+ICsJX19yYXdfdW5jb3JlX3dyaXRlMzIodW5jb3JlLCBDTEFJTV9FUiwgQ0xBSU1fRVJf Q0xSKTsKPiAgCj4gIAlyZXR1cm4gdHJ1ZTsKPiAgfQo+IEBAIC00OTgsMTEgKzQ5OCwxMSBAQCBn ZW42X2NoZWNrX2Zvcl9maWZvX2RlYnVnKHN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSkKPiAg ewo+ICAJdTMyIGZpZm9kYmc7Cj4gIAo+IC0JZmlmb2RiZyA9IF9fcmF3X2k5MTVfcmVhZDMyKHVu Y29yZSwgR1RGSUZPREJHKTsKPiArCWZpZm9kYmcgPSBfX3Jhd191bmNvcmVfcmVhZDMyKHVuY29y ZSwgR1RGSUZPREJHKTsKPiAgCj4gIAlpZiAodW5saWtlbHkoZmlmb2RiZykpIHsKPiAgCQlEUk1f REVCVUdfRFJJVkVSKCJHVEZJRk9EQkcgPSAweDA4JXhcbiIsIGZpZm9kYmcpOwo+IC0JCV9fcmF3 X2k5MTVfd3JpdGUzMih1bmNvcmUsIEdURklGT0RCRywgZmlmb2RiZyk7Cj4gKwkJX19yYXdfdW5j b3JlX3dyaXRlMzIodW5jb3JlLCBHVEZJRk9EQkcsIGZpZm9kYmcpOwo+ICAJfQo+ICAKPiAgCXJl dHVybiBmaWZvZGJnOwo+IEBAIC01MzcsMTAgKzUzNywxMCBAQCBzdGF0aWMgdm9pZCBfX2ludGVs X3VuY29yZV9lYXJseV9zYW5pdGl6ZShzdHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNvcmUsCj4gIAo+ ICAJLyogV2FEaXNhYmxlU2hhZG93UmVnRm9yQ3BkOmNodiAqLwo+ICAJaWYgKElTX0NIRVJSWVZJ RVcoaTkxNSkpIHsKPiAtCQlfX3Jhd19pOTE1X3dyaXRlMzIodW5jb3JlLCBHVEZJRk9DVEwsCj4g LQkJCQkgICBfX3Jhd19pOTE1X3JlYWQzMih1bmNvcmUsIEdURklGT0NUTCkgfAo+IC0JCQkJICAg R1RfRklGT19DVExfQkxPQ0tfQUxMX1BPTElDWV9TVEFMTCB8Cj4gLQkJCQkgICBHVF9GSUZPX0NU TF9SQzZfUE9MSUNZX1NUQUxMKTsKPiArCQlfX3Jhd191bmNvcmVfd3JpdGUzMih1bmNvcmUsIEdU RklGT0NUTCwKPiArCQkJCSAgICAgX19yYXdfdW5jb3JlX3JlYWQzMih1bmNvcmUsIEdURklGT0NU TCkgfAo+ICsJCQkJICAgICBHVF9GSUZPX0NUTF9CTE9DS19BTExfUE9MSUNZX1NUQUxMIHwKPiAr CQkJCSAgICAgR1RfRklGT19DVExfUkM2X1BPTElDWV9TVEFMTCk7Cj4gIAl9Cj4gIAo+ICAJaW9z Zl9tYmlfcHVuaXRfYWNxdWlyZSgpOwo+IEBAIC0xMDY4LDcgKzEwNjgsNyBAQCBpbGtfZHVtbXlf d3JpdGUoc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlKQo+ICAJLyogV2FJc3N1ZUR1bW15V3Jp dGVUb1dha2V1cEZyb21SQzY6aWxrIElzc3VlIGEgZHVtbXkgd3JpdGUgdG8gd2FrZSB1cAo+ICAJ ICogdGhlIGNoaXAgZnJvbSByYzYgYmVmb3JlIHRvdWNoaW5nIGl0IGZvciByZWFsLiBNSV9NT0RF IGlzIG1hc2tlZCwKPiAgCSAqIGhlbmNlIGhhcm1sZXNzIHRvIHdyaXRlIDAgaW50by4gKi8KPiAt CV9fcmF3X2k5MTVfd3JpdGUzMih1bmNvcmUsIE1JX01PREUsIDApOwo+ICsJX19yYXdfdW5jb3Jl X3dyaXRlMzIodW5jb3JlLCBNSV9NT0RFLCAwKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQKPiBA QCAtMTExMCw3ICsxMTEwLDcgQEAgdW5jbGFpbWVkX3JlZ19kZWJ1ZyhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCj4gIHN0YXRpYyB1IyN4IFwKPiAgZ2VuMl9yZWFkIyN4KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaTkxNV9yZWdfdCByZWcsIGJvb2wgdHJhY2Up IHsgXAo+ICAJR0VOMl9SRUFEX0hFQURFUih4KTsgXAo+IC0JdmFsID0gX19yYXdfaTkxNV9yZWFk IyN4KHVuY29yZSwgcmVnKTsgXAo+ICsJdmFsID0gX19yYXdfdW5jb3JlX3JlYWQjI3godW5jb3Jl LCByZWcpOyBcCj4gIAlHRU4yX1JFQURfRk9PVEVSOyBcCj4gIH0KPiAgCj4gQEAgLTExMTksNyAr MTExOSw3IEBAIHN0YXRpYyB1IyN4IFwKPiAgZ2VuNV9yZWFkIyN4KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwgaTkxNV9yZWdfdCByZWcsIGJvb2wgdHJhY2UpIHsgXAo+ICAJR0VO Ml9SRUFEX0hFQURFUih4KTsgXAo+ICAJaWxrX2R1bW15X3dyaXRlKHVuY29yZSk7IFwKPiAtCXZh bCA9IF9fcmF3X2k5MTVfcmVhZCMjeCh1bmNvcmUsIHJlZyk7IFwKPiArCXZhbCA9IF9fcmF3X3Vu Y29yZV9yZWFkIyN4KHVuY29yZSwgcmVnKTsgXAo+ICAJR0VOMl9SRUFEX0ZPT1RFUjsgXAo+ICB9 Cj4gIAo+IEBAIC0xMTg5LDcgKzExODksNyBAQCBmdW5jIyNfcmVhZCMjeChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGk5MTVfcmVnX3QgcmVnLCBib29sIHRyYWNlKSB7Cj4gIAlm d19lbmdpbmUgPSBfXyMjZnVuYyMjX3JlZ19yZWFkX2Z3X2RvbWFpbnModW5jb3JlLCBvZmZzZXQp OyBcCj4gIAlpZiAoZndfZW5naW5lKSBcCj4gIAkJX19mb3JjZV93YWtlX2F1dG8odW5jb3JlLCBm d19lbmdpbmUpOyBcCj4gLQl2YWwgPSBfX3Jhd19pOTE1X3JlYWQjI3godW5jb3JlLCByZWcpOyBc Cj4gKwl2YWwgPSBfX3Jhd191bmNvcmVfcmVhZCMjeCh1bmNvcmUsIHJlZyk7IFwKPiAgCUdFTjZf UkVBRF9GT09URVI7IFwKPiAgfQo+ICAjZGVmaW5lIF9fZ2VuNl9yZWFkKHgpIF9fZ2VuX3JlYWQo Z2VuNiwgeCkKPiBAQCAtMTIyNiw3ICsxMjI2LDcgQEAgX19nZW42X3JlYWQoNjQpCj4gIHN0YXRp YyB2b2lkIFwKPiAgZ2VuMl93cml0ZSMjeChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsIGk5MTVfcmVnX3QgcmVnLCB1IyN4IHZhbCwgYm9vbCB0cmFjZSkgeyBcCj4gIAlHRU4yX1dS SVRFX0hFQURFUjsgXAo+IC0JX19yYXdfaTkxNV93cml0ZSMjeCh1bmNvcmUsIHJlZywgdmFsKTsg XAo+ICsJX19yYXdfdW5jb3JlX3dyaXRlIyN4KHVuY29yZSwgcmVnLCB2YWwpOyBcCj4gIAlHRU4y X1dSSVRFX0ZPT1RFUjsgXAo+ICB9Cj4gIAo+IEBAIC0xMjM1LDcgKzEyMzUsNyBAQCBzdGF0aWMg dm9pZCBcCj4gIGdlbjVfd3JpdGUjI3goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCBpOTE1X3JlZ190IHJlZywgdSMjeCB2YWwsIGJvb2wgdHJhY2UpIHsgXAo+ICAJR0VOMl9XUklU RV9IRUFERVI7IFwKPiAgCWlsa19kdW1teV93cml0ZSh1bmNvcmUpOyBcCj4gLQlfX3Jhd19pOTE1 X3dyaXRlIyN4KHVuY29yZSwgcmVnLCB2YWwpOyBcCj4gKwlfX3Jhd191bmNvcmVfd3JpdGUjI3go dW5jb3JlLCByZWcsIHZhbCk7IFwKPiAgCUdFTjJfV1JJVEVfRk9PVEVSOyBcCj4gIH0KPiAgCj4g QEAgLTEyNzEsNyArMTI3MSw3IEBAIGdlbjZfd3JpdGUjI3goc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LCBpOTE1X3JlZ190IHJlZywgdSMjeCB2YWwsIGJvb2wKPiAgCUdFTjZfV1JJ VEVfSEVBREVSOyBcCj4gIAlpZiAoTkVFRFNfRk9SQ0VfV0FLRShvZmZzZXQpKSBcCj4gIAkJX19n ZW42X2d0X3dhaXRfZm9yX2ZpZm8odW5jb3JlKTsgXAo+IC0JX19yYXdfaTkxNV93cml0ZSMjeCh1 bmNvcmUsIHJlZywgdmFsKTsgXAo+ICsJX19yYXdfdW5jb3JlX3dyaXRlIyN4KHVuY29yZSwgcmVn LCB2YWwpOyBcCj4gIAlHRU42X1dSSVRFX0ZPT1RFUjsgXAo+ICB9Cj4gIAo+IEBAIC0xMjgzLDcg KzEyODMsNyBAQCBmdW5jIyNfd3JpdGUjI3goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCBpOTE1X3JlZ190IHJlZywgdSMjeCB2YWwsIGJvbwo+ICAJZndfZW5naW5lID0gX18jI2Z1 bmMjI19yZWdfd3JpdGVfZndfZG9tYWlucyh1bmNvcmUsIG9mZnNldCk7IFwKPiAgCWlmIChmd19l bmdpbmUpIFwKPiAgCQlfX2ZvcmNlX3dha2VfYXV0byh1bmNvcmUsIGZ3X2VuZ2luZSk7IFwKPiAt CV9fcmF3X2k5MTVfd3JpdGUjI3godW5jb3JlLCByZWcsIHZhbCk7IFwKPiArCV9fcmF3X3VuY29y ZV93cml0ZSMjeCh1bmNvcmUsIHJlZywgdmFsKTsgXAo+ICAJR0VONl9XUklURV9GT09URVI7IFwK PiAgfQo+ICAjZGVmaW5lIF9fZ2VuOF93cml0ZSh4KSBfX2dlbl93cml0ZShnZW44LCB4KQo+IEBA IC0xNDcwLDcgKzE0NzAsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF91bmNvcmVfZndfZG9tYWluc19p bml0KHN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSkKPiAgCQkgKiBiZWZvcmUgdGhlIGVjb2J1 cyBjaGVjay4KPiAgCQkgKi8KPiAgCj4gLQkJX19yYXdfaTkxNV93cml0ZTMyKHVuY29yZSwgRk9S Q0VXQUtFLCAwKTsKPiArCQlfX3Jhd191bmNvcmVfd3JpdGUzMih1bmNvcmUsIEZPUkNFV0FLRSwg MCk7Cj4gIAkJX19yYXdfcG9zdGluZ19yZWFkKHVuY29yZSwgRUNPQlVTKTsKPiAgCj4gIAkJZndf ZG9tYWluX2luaXQodW5jb3JlLCBGV19ET01BSU5fSURfUkVOREVSLAo+IEBAIC0xNDc4LDcgKzE0 NzgsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF91bmNvcmVfZndfZG9tYWluc19pbml0KHN0cnVjdCBp bnRlbF91bmNvcmUgKnVuY29yZSkKPiAgCj4gIAkJc3Bpbl9sb2NrX2lycSgmdW5jb3JlLT5sb2Nr KTsKPiAgCQlmd19kb21haW5zX2dldF93aXRoX3RocmVhZF9zdGF0dXModW5jb3JlLCBGT1JDRVdB S0VfUkVOREVSKTsKPiAtCQllY29idXMgPSBfX3Jhd19pOTE1X3JlYWQzMih1bmNvcmUsIEVDT0JV Uyk7Cj4gKwkJZWNvYnVzID0gX19yYXdfdW5jb3JlX3JlYWQzMih1bmNvcmUsIEVDT0JVUyk7Cj4g IAkJZndfZG9tYWluc19wdXQodW5jb3JlLCBGT1JDRVdBS0VfUkVOREVSKTsKPiAgCQlzcGluX3Vu bG9ja19pcnEoJnVuY29yZS0+bG9jayk7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF91bmNvcmUuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29y ZS5oCj4gaW5kZXggZDM0NWU1YWIwNGE1Li5mNzY3MGNiYzQxYzkgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF91bmNvcmUuaAo+IEBAIC0yMTUsNiArMjE1LDMzIEBAIGludCBpbnRlbF93YWl0 X2Zvcl9yZWdpc3Rlcl9mdyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJ CQkJICAgIDIsIHRpbWVvdXRfbXMsIE5VTEwpOwo+ICB9Cj4gIAo+ICsvKiByZWdpc3RlciBhY2Nl c3MgZnVuY3Rpb25zICovCj4gKyNkZWZpbmUgX19yYXdfcmVhZCh4X18sIHNfXykgXAo+ICtzdGF0 aWMgaW5saW5lIHUjI3hfXyBfX3Jhd191bmNvcmVfcmVhZCMjeF9fKGNvbnN0IHN0cnVjdCBpbnRl bF91bmNvcmUgKnVuY29yZSwgXAo+ICsJCQkJCSAgICBpOTE1X3JlZ190IHJlZykgXAo+ICt7IFwK PiArCXJldHVybiByZWFkIyNzX18odW5jb3JlLT5yZWdzICsgaTkxNV9tbWlvX3JlZ19vZmZzZXQo cmVnKSk7IFwKPiArfQo+ICsKPiArI2RlZmluZSBfX3Jhd193cml0ZSh4X18sIHNfXykgXAo+ICtz dGF0aWMgaW5saW5lIHZvaWQgX19yYXdfdW5jb3JlX3dyaXRlIyN4X18oY29uc3Qgc3RydWN0IGlu dGVsX3VuY29yZSAqdW5jb3JlLCBcCj4gKwkJCQkJICAgaTkxNV9yZWdfdCByZWcsIHUjI3hfXyB2 YWwpIFwKPiAreyBcCj4gKwl3cml0ZSMjc19fKHZhbCwgdW5jb3JlLT5yZWdzICsgaTkxNV9tbWlv X3JlZ19vZmZzZXQocmVnKSk7IFwKPiArfQo+ICtfX3Jhd19yZWFkKDgsIGIpCj4gK19fcmF3X3Jl YWQoMTYsIHcpCj4gK19fcmF3X3JlYWQoMzIsIGwpCj4gK19fcmF3X3JlYWQoNjQsIHEpCj4gKwo+ ICtfX3Jhd193cml0ZSg4LCBiKQo+ICtfX3Jhd193cml0ZSgxNiwgdykKPiArX19yYXdfd3JpdGUo MzIsIGwpCj4gK19fcmF3X3dyaXRlKDY0LCBxKQo+ICsKPiArI3VuZGVmIF9fcmF3X3JlYWQKPiAr I3VuZGVmIF9fcmF3X3dyaXRlCj4gKwo+ICAjZGVmaW5lIHJhd19yZWdfcmVhZChiYXNlLCByZWcp IFwKPiAgCXJlYWRsKGJhc2UgKyBpOTE1X21taW9fcmVnX29mZnNldChyZWcpKQo+ICAjZGVmaW5l IHJhd19yZWdfd3JpdGUoYmFzZSwgcmVnLCB2YWx1ZSkgXAoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4