From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH 2/3] drm/i915: Split bxt_ddi_pll_select() Date: Fri, 06 May 2016 16:09:00 +0300 Message-ID: <1462540140.9307.57.camel@gmail.com> References: <1460986305-7116-1-git-send-email-durgadoss.r@intel.com> <1460986305-7116-3-git-send-email-durgadoss.r@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pf0-x242.google.com (mail-pf0-x242.google.com [IPv6:2607:f8b0:400e:c00::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6885A6EAAF for ; Fri, 6 May 2016 13:09:03 +0000 (UTC) Received: by mail-pf0-x242.google.com with SMTP id r187so12219770pfr.2 for ; Fri, 06 May 2016 06:09:03 -0700 (PDT) In-Reply-To: <1460986305-7116-3-git-send-email-durgadoss.r@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Durgadoss R , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAyMDE2LTA0LTE4IGF0IDE5OjAxICswNTMwLCBEdXJnYWRvc3MgUiB3cm90ZToKPiBT cGxpdCBvdXQgb2YgYnh0X2RkaV9wbGxfc2VsZWN0KCkgdGhlIGxvZ2ljIHRoYXQgY2FsY3VsYXRl cyB0aGUgcGxsCj4gZGl2aWRlcnMgYW5kIGRwbGxfaHdfc3RhdGUgaW50byBhIG5ldyBmdW5jdGlv biB0aGF0IGRvZXNuJ3QgZGVwZW5kIG9uCj4gY3J0YyBzdGF0ZS4gVGhpcyB3aWxsIGJlIHVzZWQg Zm9yIGVuYWJsaW5nIHRoZSBwb3J0IHBsbCB3aGVuIGRvaW5nCj4gdXBmcm9udCBsaW5rIHRyYWlu aW5nLgo+IAo+IHYxOgo+ICogUmViYXNlZCBvbiB0b3Agb2YgaW50ZWxfZHBsbF9tZ3IuYyAoRHVy Z2EpCj4gKiBJbml0aWFsIHZlcnNpb24gZnJvbSBBbmRlciBvbiB0b3Agb2YgaW50ZWxfZGRpLmMK PiAKPiBTaWduZWQtb2ZmLWJ5OiBBbmRlciBDb25zZWx2YW4gZGUgT2xpdmVpcmEgPGFuZGVyLmNv bnNlbHZhbi5kZS5vbGl2ZWlyYUBpbnRlbC4KPiBjb20+Cj4gU2lnbmVkLW9mZi1ieTogRHVyZ2Fk b3NzIFIgPGR1cmdhZG9zcy5yQGludGVsLmNvbT4KPiAtLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwbGxfbWdyLmMgfCAxNjYgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LQo+IC0tLQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuaCB8wqDCoDE3 ICsrKysKPiDCoDIgZmlsZXMgY2hhbmdlZCwgMTA4IGluc2VydGlvbnMoKyksIDc1IGRlbGV0aW9u cygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21n ci5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCj4gaW5kZXggNjM5 YmYwMi4uNWRmNzJmOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cGxsX21nci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYwo+ IEBAIC0xNDcxLDE3ICsxNDcxLDYgQEAgb3V0Ogo+IMKgCXJldHVybiByZXQ7Cj4gwqB9Cj4gwqAK PiAtLyogYnh0IGNsb2NrIHBhcmFtZXRlcnMgKi8KPiAtc3RydWN0IGJ4dF9jbGtfZGl2IHsKPiAt CWludCBjbG9jazsKPiAtCXVpbnQzMl90IHAxOwo+IC0JdWludDMyX3QgcDI7Cj4gLQl1aW50MzJf dCBtMl9pbnQ7Cj4gLQl1aW50MzJfdCBtMl9mcmFjOwo+IC0JYm9vbCBtMl9mcmFjX2VuOwo+IC0J dWludDMyX3QgbjsKPiAtfTsKPiAtCj4gwqAvKiBwcmUtY2FsY3VsYXRlZCB2YWx1ZXMgZm9yIERQ IGxpbmtyYXRlcyAqLwo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBieHRfY2xrX2RpdiBieHRfZHBf Y2xrX3ZhbFtdID0gewo+IMKgCXsxNjIwMDAsIDQsIDIsIDMyLCAxNjc3NzIyLCAxLCAxfSwKPiBA QCAtMTQ5Myw1NyArMTQ4Miw2MCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGJ4dF9jbGtfZGl2IGJ4 dF9kcF9jbGtfdmFsW10gPSB7Cj4gwqAJezQzMjAwMCwgMywgMSwgMzIsIDE2Nzc3MjIsIDEsIDF9 Cj4gwqB9Owo+IMKgCj4gLXN0YXRpYyBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKgo+IC1ieHRf Z2V0X2RwbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMsIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlLAo+IC0JwqDCoMKgwqDCoHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy KQo+ICtzdGF0aWMgYm9vbAo+ICtieHRfZGRpX2hkbWlfcGxsX2RpdmlkZXJzKHN0cnVjdCBpbnRl bF9jcnRjICppbnRlbF9jcnRjLAo+ICsJCQnCoMKgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUsIGludCBjbG9jaywKPiArCQkJwqDCoHN0cnVjdCBieHRfY2xrX2RpdiAqY2xrX2Rp dikKPiDCoHsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo Y3J0Yy0+YmFzZS5kZXYpOwo+IC0Jc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGw7Cj4gLQll bnVtIGludGVsX2RwbGxfaWQgaTsKPiAtCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVs X2RpZ19wb3J0Owo+IC0Jc3RydWN0IGJ4dF9jbGtfZGl2IGNsa19kaXYgPSB7MH07Cj4gLQlpbnQg dmNvID0gMDsKPiAtCXVpbnQzMl90IHByb3BfY29lZiwgaW50X2NvZWYsIGdhaW5fY3RsLCB0YXJn X2NudDsKPiAtCXVpbnQzMl90IGxhbmVzdGFnZ2VyOwo+IC0JaW50IGNsb2NrID0gY3J0Y19zdGF0 ZS0+cG9ydF9jbG9jazsKPiArCWludGVsX2Nsb2NrX3QgYmVzdF9jbG9jazsKPiDCoAo+IC0JaWYg KGVuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0hETUkpIHsKPiAtCQlpbnRlbF9jbG9ja190 IGJlc3RfY2xvY2s7Cj4gKwkvKiBDYWxjdWxhdGUgSERNSSBkaXYgKi8KPiArCS8qCj4gKwnCoCog RklYTUU6IHRpZSB0aGUgZm9sbG93aW5nIGNhbGN1bGF0aW9uIGludG8KPiArCcKgKiBpOXh4X2Ny dGNfY29tcHV0ZV9jbG9jawo+ICsJwqAqLwo+ICsJaWYgKCFieHRfZmluZF9iZXN0X2RwbGwoY3J0 Y19zdGF0ZSwgY2xvY2ssICZiZXN0X2Nsb2NrKSkgewo+ICsJCURSTV9ERUJVR19EUklWRVIoIm5v IFBMTCBkaXZpZGVycyBmb3VuZCBmb3IgY2xvY2sgJWQgcGlwZQo+ICVjXG4iLAo+ICsJCQkJwqBj bG9jaywgcGlwZV9uYW1lKGludGVsX2NydGMtPnBpcGUpKTsKPiArCQlyZXR1cm4gZmFsc2U7Cj4g Kwl9Cj4gwqAKPiAtCQkvKiBDYWxjdWxhdGUgSERNSSBkaXYgKi8KPiAtCQkvKgo+IC0JCcKgKiBG SVhNRTogdGllIHRoZSBmb2xsb3dpbmcgY2FsY3VsYXRpb24gaW50bwo+IC0JCcKgKiBpOXh4X2Ny dGNfY29tcHV0ZV9jbG9jawo+IC0JCcKgKi8KPiAtCQlpZiAoIWJ4dF9maW5kX2Jlc3RfZHBsbChj cnRjX3N0YXRlLCBjbG9jaywgJmJlc3RfY2xvY2spKSB7Cj4gLQkJCURSTV9ERUJVR19EUklWRVIo Im5vIFBMTCBkaXZpZGVycyBmb3VuZCBmb3IgY2xvY2sgJWQKPiBwaXBlICVjXG4iLAo+IC0JCQkJ CcKgY2xvY2ssIHBpcGVfbmFtZShjcnRjLT5waXBlKSk7Cj4gLQkJCXJldHVybiBOVUxMOwo+IC0J CX0KPiArCWNsa19kaXYtPnAxID0gYmVzdF9jbG9jay5wMTsKPiArCWNsa19kaXYtPnAyID0gYmVz dF9jbG9jay5wMjsKPiArCVdBUk5fT04oYmVzdF9jbG9jay5tMSAhPSAyKTsKPiArCWNsa19kaXYt Pm4gPSBiZXN0X2Nsb2NrLm47Cj4gKwljbGtfZGl2LT5tMl9pbnQgPSBiZXN0X2Nsb2NrLm0yID4+ IDIyOwo+ICsJY2xrX2Rpdi0+bTJfZnJhYyA9IGJlc3RfY2xvY2subTIgJiAoKDEgPDwgMjIpIC0g MSk7Cj4gKwljbGtfZGl2LT5tMl9mcmFjX2VuID0gY2xrX2Rpdi0+bTJfZnJhYyAhPSAwOwo+IMKg Cj4gLQkJY2xrX2Rpdi5wMSA9IGJlc3RfY2xvY2sucDE7Cj4gLQkJY2xrX2Rpdi5wMiA9IGJlc3Rf Y2xvY2sucDI7Cj4gLQkJV0FSTl9PTihiZXN0X2Nsb2NrLm0xICE9IDIpOwo+IC0JCWNsa19kaXYu biA9IGJlc3RfY2xvY2subjsKPiAtCQljbGtfZGl2Lm0yX2ludCA9IGJlc3RfY2xvY2subTIgPj4g MjI7Cj4gLQkJY2xrX2Rpdi5tMl9mcmFjID0gYmVzdF9jbG9jay5tMiAmICgoMSA8PCAyMikgLSAx KTsKPiAtCQljbGtfZGl2Lm0yX2ZyYWNfZW4gPSBjbGtfZGl2Lm0yX2ZyYWMgIT0gMDsKPiArCWNs a19kaXYtPnZjbyA9IGJlc3RfY2xvY2sudmNvOwo+IMKgCj4gLQkJdmNvID0gYmVzdF9jbG9jay52 Y287Cj4gLQl9IGVsc2UgaWYgKGVuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0RJU1BMQVlQ T1JUIHx8Cj4gLQkJwqDCoMKgZW5jb2Rlci0+dHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQKSB7Cj4g LQkJaW50IGk7Cj4gKwlyZXR1cm4gdHJ1ZTsKPiArfQo+IMKgCj4gLQkJY2xrX2RpdiA9IGJ4dF9k cF9jbGtfdmFsWzBdOwo+IC0JCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGJ4dF9kcF9jbGtf dmFsKTsgKytpKSB7Cj4gLQkJCWlmIChieHRfZHBfY2xrX3ZhbFtpXS5jbG9jayA9PSBjbG9jaykg ewo+IC0JCQkJY2xrX2RpdiA9IGJ4dF9kcF9jbGtfdmFsW2ldOwo+IC0JCQkJYnJlYWs7Cj4gLQkJ CX0KPiArdm9pZCBieHRfZGRpX2RwX3BsbF9kaXZpZGVycyhpbnQgY2xvY2ssIHN0cnVjdCBieHRf Y2xrX2RpdiAqY2xrX2RpdikKPiArewo+ICsJaW50IGk7Cj4gKwo+ICsJKmNsa19kaXYgPSBieHRf ZHBfY2xrX3ZhbFswXTsKPiArCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGJ4dF9kcF9jbGtf dmFsKTsgKytpKSB7Cj4gKwkJaWYgKGJ4dF9kcF9jbGtfdmFsW2ldLmNsb2NrID09IGNsb2NrKSB7 Cj4gKwkJCSpjbGtfZGl2ID0gYnh0X2RwX2Nsa192YWxbaV07Cj4gKwkJCWJyZWFrOwo+IMKgCQl9 Cj4gLQkJdmNvID0gY2xvY2sgKiAxMCAvIDIgKiBjbGtfZGl2LnAxICogY2xrX2Rpdi5wMjsKPiDC oAl9Cj4gwqAKPiArCWNsa19kaXYtPnZjbyA9IGNsb2NrICogMTAgLyAyICogY2xrX2Rpdi0+cDEg KiBjbGtfZGl2LT5wMjsKPiArfQo+ICsKPiArYm9vbCBieHRfZGRpX3NldF9kcGxsX2h3X3N0YXRl KGludCBjbG9jaywKPiArCQkJwqDCoHN0cnVjdCBieHRfY2xrX2RpdiAqY2xrX2RpdiwKPiArCQkJ wqDCoHN0cnVjdCBpbnRlbF9kcGxsX2h3X3N0YXRlICpkcGxsX2h3X3N0YXRlKQo+ICt7Cj4gKwlp bnQgdmNvID0gY2xrX2Rpdi0+dmNvOwo+ICsJdWludDMyX3QgcHJvcF9jb2VmLCBpbnRfY29lZiwg Z2Fpbl9jdGwsIHRhcmdfY250Owo+ICsJdWludDMyX3QgbGFuZXN0YWdnZXI7Cj4gKwo+IMKgCWlm ICh2Y28gPj0gNjIwMDAwMCAmJiB2Y28gPD0gNjcwMDAwMCkgewo+IMKgCQlwcm9wX2NvZWYgPSA0 Owo+IMKgCQlpbnRfY29lZiA9IDk7Cj4gQEAgLTE1NjIsMTIgKzE1NTQsOSBAQCBieHRfZ2V0X2Rw bGwoc3RydWN0IGludGVsX2NydGMgKmNydGMsIHN0cnVjdAo+IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUsCj4gwqAJCXRhcmdfY250ID0gOTsKPiDCoAl9IGVsc2Ugewo+IMKgCQlEUk1fRVJS T1IoIkludmFsaWQgVkNPXG4iKTsKPiAtCQlyZXR1cm4gTlVMTDsKPiArCQlyZXR1cm4gZmFsc2U7 Cj4gwqAJfQo+IMKgCj4gLQltZW1zZXQoJmNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUsIDAsCj4g LQnCoMKgwqDCoMKgwqDCoHNpemVvZihjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlKSk7Cj4gLQo+ IMKgCWlmIChjbG9jayA+IDI3MDAwMCkKPiDCoAkJbGFuZXN0YWdnZXIgPSAweDE4Owo+IMKgCWVs c2UgaWYgKGNsb2NrID4gMTM1MDAwKQo+IEBAIC0xNTc5LDMzICsxNTY4LDYwIEBAIGJ4dF9nZXRf ZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yywgc3RydWN0Cj4gaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSwKPiDCoAllbHNlCj4gwqAJCWxhbmVzdGFnZ2VyID0gMHgwMjsKPiDCoAo+IC0J Y3J0Y19zdGF0ZS0+ZHBsbF9od19zdGF0ZS5lYmIwID0KPiAtCQlQT1JUX1BMTF9QMShjbGtfZGl2 LnAxKSB8IFBPUlRfUExMX1AyKGNsa19kaXYucDIpOwo+IC0JY3J0Y19zdGF0ZS0+ZHBsbF9od19z dGF0ZS5wbGwwID0gY2xrX2Rpdi5tMl9pbnQ7Cj4gLQljcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRl LnBsbDEgPSBQT1JUX1BMTF9OKGNsa19kaXYubik7Cj4gLQljcnRjX3N0YXRlLT5kcGxsX2h3X3N0 YXRlLnBsbDIgPSBjbGtfZGl2Lm0yX2ZyYWM7Cj4gKwlkcGxsX2h3X3N0YXRlLT5lYmIwID0gUE9S VF9QTExfUDEoY2xrX2Rpdi0+cDEpIHwgUE9SVF9QTExfUDIoY2xrX2Rpdi0KPiA+cDIpOwo+ICsJ ZHBsbF9od19zdGF0ZS0+cGxsMCA9IGNsa19kaXYtPm0yX2ludDsKPiArCWRwbGxfaHdfc3RhdGUt PnBsbDEgPSBQT1JUX1BMTF9OKGNsa19kaXYtPm4pOwo+ICsJZHBsbF9od19zdGF0ZS0+cGxsMiA9 IGNsa19kaXYtPm0yX2ZyYWM7Cj4gwqAKPiAtCWlmIChjbGtfZGl2Lm0yX2ZyYWNfZW4pCj4gLQkJ Y3J0Y19zdGF0ZS0+ZHBsbF9od19zdGF0ZS5wbGwzID0KPiAtCQkJUE9SVF9QTExfTTJfRlJBQ19F TkFCTEU7Cj4gKwlpZiAoY2xrX2Rpdi0+bTJfZnJhY19lbikKPiArCQlkcGxsX2h3X3N0YXRlLT5w bGwzID0gUE9SVF9QTExfTTJfRlJBQ19FTkFCTEU7Cj4gwqAKPiAtCWNydGNfc3RhdGUtPmRwbGxf aHdfc3RhdGUucGxsNiA9Cj4gLQkJcHJvcF9jb2VmIHwgUE9SVF9QTExfSU5UX0NPRUZGKGludF9j b2VmKTsKPiAtCWNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUucGxsNiB8PQo+IC0JCVBPUlRfUExM X0dBSU5fQ1RMKGdhaW5fY3RsKTsKPiArCWRwbGxfaHdfc3RhdGUtPnBsbDYgPSBwcm9wX2NvZWYg fCBQT1JUX1BMTF9JTlRfQ09FRkYoaW50X2NvZWYpOwo+ICsJZHBsbF9od19zdGF0ZS0+cGxsNiB8 PSBQT1JUX1BMTF9HQUlOX0NUTChnYWluX2N0bCk7Cj4gwqAKPiAtCWNydGNfc3RhdGUtPmRwbGxf aHdfc3RhdGUucGxsOCA9IHRhcmdfY250Owo+ICsJZHBsbF9od19zdGF0ZS0+cGxsOCA9IHRhcmdf Y250Owo+IMKgCj4gLQljcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlLnBsbDkgPSA1IDw8IFBPUlRf UExMX0xPQ0tfVEhSRVNIT0xEX1NISUZUOwo+ICsJZHBsbF9od19zdGF0ZS0+cGxsOSA9IDUgPDwg UE9SVF9QTExfTE9DS19USFJFU0hPTERfU0hJRlQ7Cj4gwqAKPiAtCWNydGNfc3RhdGUtPmRwbGxf aHdfc3RhdGUucGxsMTAgPQo+ICsJZHBsbF9od19zdGF0ZS0+cGxsMTAgPQo+IMKgCQlQT1JUX1BM TF9EQ09fQU1QKFBPUlRfUExMX0RDT19BTVBfREVGQVVMVCkKPiDCoAkJfCBQT1JUX1BMTF9EQ09f QU1QX09WUl9FTl9IOwo+IMKgCj4gLQljcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlLmViYjQgPSBQ T1JUX1BMTF8xMEJJVF9DTEtfRU5BQkxFOwo+ICsJZHBsbF9od19zdGF0ZS0+ZWJiNCA9IFBPUlRf UExMXzEwQklUX0NMS19FTkFCTEU7Cj4gKwo+ICsJZHBsbF9od19zdGF0ZS0+cGNzZHcxMiA9IExB TkVTVEFHR0VSX1NUUkFQX09WUkQgfCBsYW5lc3RhZ2dlcjsKPiArCj4gKwlyZXR1cm4gdHJ1ZTsK PiArfQo+ICsKPiArc3RhdGljIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqCj4gK2J4dF9nZXRf ZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiArCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSwKPiArCQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiArewo+ ICsJc3RydWN0IGJ4dF9jbGtfZGl2IGNsa19kaXYgPSB7MH07Cj4gKwlzdHJ1Y3QgaW50ZWxfZHBs bF9od19zdGF0ZSBkcGxsX2h3X3N0YXRlID0gezB9Owo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gKwlzdHJ1Y3QgaW50ZWxf ZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydDsKPiArCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBs bCAqcGxsOwo+ICsJaW50IGksIGNsb2NrID0gY3J0Y19zdGF0ZS0+cG9ydF9jbG9jazsKPiArCj4g KwlpZiAoZW5jb2Rlci0+dHlwZSA9PSBJTlRFTF9PVVRQVVRfSERNSQo+ICsJwqDCoMKgwqAmJiAh Ynh0X2RkaV9oZG1pX3BsbF9kaXZpZGVycyhjcnRjLCBjcnRjX3N0YXRlLAo+ICsJCQkJCcKgwqBj bG9jaywgJmNsa19kaXYpKQo+ICsJCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICsJaWYgKGVuY29kZXIt PnR5cGUgPT0gSU5URUxfT1VUUFVUX0RJU1BMQVlQT1JUIHx8Cj4gKwnCoMKgwqDCoGVuY29kZXIt PnR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkKPiArCQlieHRfZGRpX2RwX3BsbF9kaXZpZGVycyhj bG9jaywgJmNsa19kaXYpOwo+ICsKPiArCWlmICghYnh0X2RkaV9zZXRfZHBsbF9od19zdGF0ZShj bG9jaywgJmNsa19kaXYsICZkcGxsX2h3X3N0YXRlKSkKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ ICsJbWVtc2V0KCZjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlLCAwLAo+ICsJwqDCoMKgwqDCoMKg wqBzaXplb2YoY3J0Y19zdGF0ZS0+ZHBsbF9od19zdGF0ZSkpOwo+IMKgCj4gLQljcnRjX3N0YXRl LT5kcGxsX2h3X3N0YXRlLnBjc2R3MTIgPQo+IC0JCUxBTkVTVEFHR0VSX1NUUkFQX09WUkQgfCBs YW5lc3RhZ2dlcjsKPiArCWNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUgPSBkcGxsX2h3X3N0YXRl Owo+IMKgCj4gwqAJaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJh c2UpOwo+IMKgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxf bWdyLmgKPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmgKPiBpbmRleCA4 OWM1YWRhLi5mZmNiMjFjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwbGxfbWdyLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5o Cj4gQEAgLTEyNiw2ICsxMjYsMTkgQEAgc3RydWN0IGludGVsX3NoYXJlZF9kcGxsIHsKPiDCoAl1 aW50MzJfdCBmbGFnczsKPiDCoH07Cj4gwqAKPiArLyogYnh0IGNsb2NrIHBhcmFtZXRlcnMgKi8K PiArc3RydWN0IGJ4dF9jbGtfZGl2IHsKPiArCWludCBjbG9jazsKPiArCXVpbnQzMl90IHAxOwo+ ICsJdWludDMyX3QgcDI7Cj4gKwl1aW50MzJfdCBtMl9pbnQ7Cj4gKwl1aW50MzJfdCBtMl9mcmFj Owo+ICsJYm9vbCBtMl9mcmFjX2VuOwo+ICsJdWludDMyX3QgbjsKPiArCj4gKwlpbnQgdmNvOwo+ ICt9Owo+ICsKPiDCoCNkZWZpbmUgU0tMX0RQTEwwIDAKPiDCoCNkZWZpbmUgU0tMX0RQTEwxIDEK PiDCoCNkZWZpbmUgU0tMX0RQTEwyIDIKPiBAQCAtMTYwLDUgKzE3Myw5IEBAIHZvaWQgaW50ZWxf ZGlzYWJsZV9zaGFyZWRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7Cj4gwqB2b2lkIGlu dGVsX3NoYXJlZF9kcGxsX2NvbW1pdChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ IMKgdm9pZCBpbnRlbF9zaGFyZWRfZHBsbF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ IMKgCj4gKy8qIEJYVCBkcGxsIHJlbGF0ZWQgZnVuY3Rpb25zICovCj4gK3ZvaWQgYnh0X2RkaV9k cF9wbGxfZGl2aWRlcnMoaW50IGNsb2NrLCBzdHJ1Y3QgYnh0X2Nsa19kaXYgKmNsa19kaXYpOwo+ ICtib29sIGJ4dF9kZGlfc2V0X2RwbGxfaHdfc3RhdGUoaW50IGNsb2NrLCBzdHJ1Y3QgYnh0X2Ns a19kaXYgKmNsa19kaXYsCj4gKwkJCcKgwqBzdHJ1Y3QgaW50ZWxfZHBsbF9od19zdGF0ZSAqZHBs bF9od19zdGF0ZSk7CgpJJ2QgcmF0aGVyIG5vdCBleHBvcnQgdGhlc2UgZnVuY3Rpb25zIGFuZCB0 aGUgc3RydWN0IGFib3ZlLiBJTU8gaXQgd291bGQgYmUKYmV0dGVyIHRvIGNyZWF0ZSBhIG5ldyBm dW5jdGlvbiB0aGF0IHRha2VzIHRoZSBkcCByYXRlIGFuZCBmaWxscyB1cCB0aGUgaHcKc3RhdGUu IFRoYXQgZnVuY3Rpb24gd291bGQganVzdCBjYWxsIHRob3NlIHR3byBmdW5jdGlvbnMgaW4gc3Vj Y2Vzc2lvbiwgYnV0IHRoYXQKd2F5IHRob3NlIGRldGFpbHMgYXJlIGhpZGRlbiBmcm9tIHRoZSBj YWxsZXIuCgpBbmRlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK