From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Thulasimani, Sivakumar" Subject: Re: [PATCH 02/15] drm/i915: Don't pass *DP around to link training functions Date: Mon, 19 Oct 2015 14:31:47 +0530 Message-ID: <5624B17B.70405@intel.com> References: <1444028487-6501-1-git-send-email-ander.conselvan.de.oliveira@intel.com> <1444028487-6501-3-git-send-email-ander.conselvan.de.oliveira@intel.com> <56247569.7000203@intel.com> <1445244977.3042.50.camel@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id B5B486E693 for ; Mon, 19 Oct 2015 02:01:49 -0700 (PDT) In-Reply-To: <1445244977.3042.50.camel@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ander Conselvan De Oliveira , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CgpPbiAxMC8xOS8yMDE1IDI6MjYgUE0sIEFuZGVyIENvbnNlbHZhbiBEZSBPbGl2ZWlyYSB3cm90 ZToKPiBPbiBNb24sIDIwMTUtMTAtMTkgYXQgMTA6MTUgKzA1MzAsIFRodWxhc2ltYW5pLCBTaXZh a3VtYXIgd3JvdGU6Cj4+IE9uIDEwLzUvMjAxNSAxMjozMSBQTSwgQW5kZXIgQ29uc2VsdmFuIGRl IE9saXZlaXJhIHdyb3RlOgo+Pj4gSXQganVzdCBtYWtlcyB0aGUgY29kZSBtb3JlIGNvbmZ1c2lu Zywgc28ganVzdCByZWZlcmVuY2UgaW50ZWxfZHBfPkRQCj4+PiBkaXJlY3RseS4gVGhlIG9sZCBi ZWhhdmlvciBvZiBub3QgdXBkYXRpbmcgdGhlIHZhbHVlIGluIGludGVsX2RwIGlmIGxpbmsKPj4+ IHRyYWluaW5nIGZhaWwgaXMgcHJlc2VydmVkIGJ5IHNhdmluZyB0aGUgcHJldmlvdXMgdmFsdWUg b2YgRFAgaW4gdGhlCj4+PiBzdGFjayBhbmQgcmVzdG9yaW5nIHRoZSBvbGQgdmFsdWUgaW4gY2Fz ZSBvZiBmYWlsdXJlLgo+Pj4KPj4+IFNpZ25lZC1vZmYtYnk6IEFuZGVyIENvbnNlbHZhbiBkZSBP bGl2ZWlyYSA8Cj4+PiBhbmRlci5jb25zZWx2YW4uZGUub2xpdmVpcmFAaW50ZWwuY29tPgo+Pj4g LS0KPj4+Cj4+PiBJJ20gbm90IHN1cmUgdGhlIG9sZCBiZWhhdmlvciBpcyBjb3JyZWN0LCBidXQg dG8gZXJyIGluIHRoZSBzaWRlIG9mCj4+PiBjYXV0aW9uIEkgdHJpZWQgbm90IHRvIGNoYW5nZSBp dC4KPj4+Cj4+PiAtLS0KPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgfCA2 NiArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCj4+PiAtLS0tCj4+PiAgICAx IGZpbGUgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCj4+Pgo+Pj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4+IGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+Pj4gaW5kZXggYzQyMGVkZi4uMzkxYTM2NyAxMDA2 NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4+IEBAIC0zNjAxLDcgKzM2MDEsNiBAQCBp bnRlbF9kcF9zZXRfc2lnbmFsX2xldmVscyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+Pj4g dWludDMyX3QgKkRQKQo+Pj4gICAgCj4+PiAgICBzdGF0aWMgYm9vbAo+Pj4gICAgaW50ZWxfZHBf c2V0X2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPj4+IC0JCQl1aW50MzJf dCAqRFAsCj4+PiAgICAJCQl1aW50OF90IGRwX3RyYWluX3BhdCkKPj4+ICAgIHsKPj4+ICAgIAlz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9Cj4+PiBkcF90b19kaWdf cG9ydChpbnRlbF9kcCk7Cj4+PiBAQCAtMzYxMCw5ICszNjA5LDkgQEAgaW50ZWxfZHBfc2V0X2xp bmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPj4+ICAgIAl1aW50OF90IGJ1Zltz aXplb2YoaW50ZWxfZHAtPnRyYWluX3NldCkgKyAxXTsKPj4+ICAgIAlpbnQgcmV0LCBsZW47Cj4+ PiAgICAKPj4+IC0JX2ludGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2RwLCBEUCwgZHBfdHJh aW5fcGF0KTsKPj4+ICsJX2ludGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2RwLCAmaW50ZWxf ZHAtPkRQLCBkcF90cmFpbl9wYXQpOwo+Pj4gICAgCj4+PiAtCUk5MTVfV1JJVEUoaW50ZWxfZHAt Pm91dHB1dF9yZWcsICpEUCk7Cj4+PiArCUk5MTVfV1JJVEUoaW50ZWxfZHAtPm91dHB1dF9yZWcs IGludGVsX2RwLT5EUCk7Cj4+PiAgICAJUE9TVElOR19SRUFEKGludGVsX2RwLT5vdXRwdXRfcmVn KTsKPj4+ICAgIAo+Pj4gICAgCWJ1ZlswXSA9IGRwX3RyYWluX3BhdDsKPj4+IEBAIC0zNjMzLDE3 ICszNjMyLDE3IEBAIGludGVsX2RwX3NldF9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHAsCj4+PiAgICB9Cj4+PiAgICAKPj4+ICAgIHN0YXRpYyBib29sCj4+PiAtaW50ZWxfZHBf cmVzZXRfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCB1aW50MzJfdCAqRFAs Cj4+PiAraW50ZWxfZHBfcmVzZXRfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw LAo+Pj4gICAgCQkJdWludDhfdCBkcF90cmFpbl9wYXQpCj4+PiAgICB7Cj4+PiAgICAJaWYgKCFp bnRlbF9kcC0+dHJhaW5fc2V0X3ZhbGlkKQo+Pj4gICAgCQltZW1zZXQoaW50ZWxfZHAtPnRyYWlu X3NldCwgMCwgc2l6ZW9mKGludGVsX2RwCj4+PiAtPnRyYWluX3NldCkpOwo+Pj4gLQlpbnRlbF9k cF9zZXRfc2lnbmFsX2xldmVscyhpbnRlbF9kcCwgRFApOwo+Pj4gLQlyZXR1cm4gaW50ZWxfZHBf c2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsIERQLCBkcF90cmFpbl9wYXQpOwo+Pj4gKwlpbnRlbF9k cF9zZXRfc2lnbmFsX2xldmVscyhpbnRlbF9kcCwgJmludGVsX2RwLT5EUCk7Cj4+PiArCXJldHVy biBpbnRlbF9kcF9zZXRfbGlua190cmFpbihpbnRlbF9kcCwgZHBfdHJhaW5fcGF0KTsKPj4+ICAg IH0KPj4+ICAgIAo+Pj4gICAgc3RhdGljIGJvb2wKPj4+IC1pbnRlbF9kcF91cGRhdGVfbGlua190 cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCB1aW50MzJfdCAqRFAsCj4+PiAraW50ZWxf ZHBfdXBkYXRlX2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPj4+ICAgIAkJ CSAgIGNvbnN0IHVpbnQ4X3QgbGlua19zdGF0dXNbRFBfTElOS19TVEFUVVNfU0laRV0pCj4+PiAg ICB7Cj4+PiAgICAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPQo+ Pj4gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwo+Pj4gQEAgLTM2NTIsOSArMzY1MSw5IEBAIGlu dGVsX2RwX3VwZGF0ZV9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4+PiB1 aW50MzJfdCAqRFAsCj4+PiAgICAJaW50IHJldDsKPj4+ICAgIAo+Pj4gICAgCWludGVsX2dldF9h ZGp1c3RfdHJhaW4oaW50ZWxfZHAsIGxpbmtfc3RhdHVzKTsKPj4+IC0JaW50ZWxfZHBfc2V0X3Np Z25hbF9sZXZlbHMoaW50ZWxfZHAsIERQKTsKPj4+ICsJaW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZl bHMoaW50ZWxfZHAsICZpbnRlbF9kcC0+RFApOwo+Pj4gICAgCj4+PiAtCUk5MTVfV1JJVEUoaW50 ZWxfZHAtPm91dHB1dF9yZWcsICpEUCk7Cj4+PiArCUk5MTVfV1JJVEUoaW50ZWxfZHAtPm91dHB1 dF9yZWcsIGludGVsX2RwLT5EUCk7Cj4+PiAgICAJUE9TVElOR19SRUFEKGludGVsX2RwLT5vdXRw dXRfcmVnKTsKPj4+ICAgIAo+Pj4gICAgCXJldCA9IGRybV9kcF9kcGNkX3dyaXRlKCZpbnRlbF9k cC0+YXV4LCBEUF9UUkFJTklOR19MQU5FMF9TRVQsCj4+PiBAQCAtMzY5NSw3ICszNjk0LDcgQEAg c3RhdGljIHZvaWQgaW50ZWxfZHBfc2V0X2lkbGVfbGlua190cmFpbihzdHJ1Y3QKPj4+IGludGVs X2RwICppbnRlbF9kcCkKPj4+ICAgIH0KPj4+ICAgIAo+Pj4gICAgLyogRW5hYmxlIGNvcnJlc3Bv bmRpbmcgcG9ydCBhbmQgc3RhcnQgdHJhaW5pbmcgcGF0dGVybiAxICovCj4+PiAtc3RhdGljIHZv aWQKPj4+ICtzdGF0aWMgYm9vbAo+Pj4gICAgaW50ZWxfZHBfbGlua190cmFpbmluZ19jbG9ja19y ZWNvdmVyeShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+Pj4gICAgewo+Pj4gICAgCXN0cnVj dCBkcm1fZW5jb2RlciAqZW5jb2RlciA9ICZkcF90b19kaWdfcG9ydChpbnRlbF9kcCkKPj4+IC0+ YmFzZS5iYXNlOwo+Pj4gQEAgLTM3MDMsOSArMzcwMiw5IEBAIGludGVsX2RwX2xpbmtfdHJhaW5p bmdfY2xvY2tfcmVjb3Zlcnkoc3RydWN0IGludGVsX2RwCj4+PiAqaW50ZWxfZHApCj4+PiAgICAJ aW50IGk7Cj4+PiAgICAJdWludDhfdCB2b2x0YWdlOwo+Pj4gICAgCWludCB2b2x0YWdlX3RyaWVz LCBsb29wX3RyaWVzOwo+Pj4gLQl1aW50MzJfdCBEUCA9IGludGVsX2RwLT5EUDsKPj4+ICAgIAl1 aW50OF90IGxpbmtfY29uZmlnWzJdOwo+Pj4gICAgCXVpbnQ4X3QgbGlua19idywgcmF0ZV9zZWxl Y3Q7Cj4+PiArCXVpbnQ4X3QgbGlua19zdGF0dXNbRFBfTElOS19TVEFUVVNfU0laRV07Cj4+PiAg ICAKPj4+ICAgIAlpZiAoSEFTX0RESShkZXYpKQo+Pj4gICAgCQlpbnRlbF9kZGlfcHJlcGFyZV9s aW5rX3JldHJhaW4oZW5jb2Rlcik7Cj4+PiBAQCAtMzcyNywyMiArMzcyNiwyMCBAQCBpbnRlbF9k cF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5KHN0cnVjdAo+Pj4gaW50ZWxfZHAgKmludGVs X2RwKQo+Pj4gICAgCWxpbmtfY29uZmlnWzFdID0gRFBfU0VUX0FOU0lfOEIxMEI7Cj4+PiAgICAJ ZHJtX2RwX2RwY2Rfd3JpdGUoJmludGVsX2RwLT5hdXgsIERQX0RPV05TUFJFQURfQ1RSTCwgbGlu a19jb25maWcsCj4+PiAyKTsKPj4+ICAgIAo+Pj4gLQlEUCB8PSBEUF9QT1JUX0VOOwo+Pj4gKwlp bnRlbF9kcC0+RFAgfD0gRFBfUE9SVF9FTjsKPj4+ICAgIAo+Pj4gICAgCS8qIGNsb2NrIHJlY292 ZXJ5ICovCj4+PiAtCWlmICghaW50ZWxfZHBfcmVzZXRfbGlua190cmFpbihpbnRlbF9kcCwgJkRQ LAo+Pj4gKwlpZiAoIWludGVsX2RwX3Jlc2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsCj4+PiAgICAJ CQkJICAgICAgIERQX1RSQUlOSU5HX1BBVFRFUk5fMSB8Cj4+PiAgICAJCQkJICAgICAgIERQX0xJ TktfU0NSQU1CTElOR19ESVNBQkxFKSkgewo+Pj4gICAgCQlEUk1fRVJST1IoImZhaWxlZCB0byBl bmFibGUgbGluayB0cmFpbmluZ1xuIik7Cj4+PiAtCQlyZXR1cm47Cj4+PiArCQlyZXR1cm4gZmFs c2U7Cj4+PiAgICAJfQo+Pj4gICAgCj4+PiAgICAJdm9sdGFnZSA9IDB4ZmY7Cj4+PiAgICAJdm9s dGFnZV90cmllcyA9IDA7Cj4+PiAgICAJbG9vcF90cmllcyA9IDA7Cj4+PiAgICAJZm9yICg7Oykg ewo+Pj4gLQkJdWludDhfdCBsaW5rX3N0YXR1c1tEUF9MSU5LX1NUQVRVU19TSVpFXTsKPj4+IC0K Pj4+ICAgIAkJZHJtX2RwX2xpbmtfdHJhaW5fY2xvY2tfcmVjb3ZlcnlfZGVsYXkoaW50ZWxfZHAt PmRwY2QpOwo+Pj4gICAgCQlpZiAoIWludGVsX2RwX2dldF9saW5rX3N0YXR1cyhpbnRlbF9kcCwg bGlua19zdGF0dXMpKSB7Cj4+PiAgICAJCQlEUk1fRVJST1IoImZhaWxlZCB0byBnZXQgbGluayBz dGF0dXNcbiIpOwo+Pj4gQEAgLTM3NjIsMTEgKzM3NTksMTEgQEAgaW50ZWxfZHBfbGlua190cmFp bmluZ19jbG9ja19yZWNvdmVyeShzdHJ1Y3QKPj4+IGludGVsX2RwICppbnRlbF9kcCkKPj4+ICAg IAkJCURSTV9ERUJVR19LTVMoImNsb2NrIHJlY292ZXJ5IG5vdCBvaywgcmVzZXQiKTsKPj4+ICAg IAkJCS8qIGNsZWFyIHRoZSBmbGFnIGFzIHdlIGFyZSBub3QgcmV1c2luZyB0cmFpbiBzZXQKPj4+ ICovCj4+PiAgICAJCQlpbnRlbF9kcC0+dHJhaW5fc2V0X3ZhbGlkID0gZmFsc2U7Cj4+PiAtCQkJ aWYgKCFpbnRlbF9kcF9yZXNldF9saW5rX3RyYWluKGludGVsX2RwLCAmRFAsCj4+PiArCQkJaWYg KCFpbnRlbF9kcF9yZXNldF9saW5rX3RyYWluKGludGVsX2RwLAo+Pj4gICAgCQkJCQkJCj4+PiAg IERQX1RSQUlOSU5HX1BBVFRFUk5fMSB8Cj4+PiAgICAJCQkJCQkKPj4+ICAgRFBfTElOS19TQ1JB TUJMSU5HX0RJU0FCTEUpKSB7Cj4+PiAgICAJCQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gZW5hYmxl IGxpbmsKPj4+IHRyYWluaW5nXG4iKTsKPj4+IC0JCQkJcmV0dXJuOwo+Pj4gKwkJCQlyZXR1cm4g ZmFsc2U7Cj4+PiAgICAJCQl9Cj4+PiAgICAJCQljb250aW51ZTsKPj4+ICAgIAkJfQo+Pj4gQEAg LTM3ODEsNyArMzc3OCw3IEBAIGludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3Zlcnko c3RydWN0IGludGVsX2RwCj4+PiAqaW50ZWxfZHApCj4+PiAgICAJCQkJRFJNX0VSUk9SKCJ0b28g bWFueSBmdWxsIHJldHJpZXMsIGdpdmUKPj4+IHVwXG4iKTsKPj4+ICAgIAkJCQlicmVhazsKPj4+ ICAgIAkJCX0KPj4+IC0JCQlpbnRlbF9kcF9yZXNldF9saW5rX3RyYWluKGludGVsX2RwLCAmRFAs Cj4+PiArCQkJaW50ZWxfZHBfcmVzZXRfbGlua190cmFpbihpbnRlbF9kcCwKPj4+ICAgIAkJCQkJ CSAgRFBfVFJBSU5JTkdfUEFUVEVSTl8xIHwKPj4+ICAgIAkJCQkJCQo+Pj4gICBEUF9MSU5LX1ND UkFNQkxJTkdfRElTQUJMRSk7Cj4+PiAgICAJCQl2b2x0YWdlX3RyaWVzID0gMDsKPj4+IEBAIC0z ODAwLDIzICszNzk3LDIyIEBAIGludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3Zlcnko c3RydWN0Cj4+PiBpbnRlbF9kcCAqaW50ZWxfZHApCj4+PiAgICAJCXZvbHRhZ2UgPSBpbnRlbF9k cC0+dHJhaW5fc2V0WzBdICYKPj4+IERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTUFTSzsKPj4+ICAg IAo+Pj4gICAgCQkvKiBVcGRhdGUgdHJhaW5pbmcgc2V0IGFzIHJlcXVlc3RlZCBieSB0YXJnZXQg Ki8KPj4+IC0JCWlmICghaW50ZWxfZHBfdXBkYXRlX2xpbmtfdHJhaW4oaW50ZWxfZHAsICZEUCwK Pj4+IGxpbmtfc3RhdHVzKSkgewo+Pj4gKwkJaWYgKCFpbnRlbF9kcF91cGRhdGVfbGlua190cmFp bihpbnRlbF9kcCwgbGlua19zdGF0dXMpKSB7Cj4+PiAgICAJCQlEUk1fRVJST1IoImZhaWxlZCB0 byB1cGRhdGUgbGluayB0cmFpbmluZ1xuIik7Cj4+PiAgICAJCQlicmVhazsKPj4+ICAgIAkJfQo+ Pj4gICAgCX0KPj4+ICAgIAo+Pj4gLQlpbnRlbF9kcC0+RFAgPSBEUDsKPj4+ICsJcmV0dXJuIGRy bV9kcF9jbG9ja19yZWNvdmVyeV9vayhsaW5rX3N0YXR1cywgaW50ZWxfZHAtPmxhbmVfY291bnQp Owo+PiB3aHkgYXJlIHdlIGNhbGxpbmcgdGhlIHNhbWUgZnVuY3Rpb24gYWdhaW4/IGluIGJlc3Qg Y2FzZSB0aGlzIGZ1bmN0aW9uCj4+IGlzIGNhbGxlZCBhbmQgcmV0dXJuZWQgdHJ1ZSwKPj4gICAg b3Igd29yc3QgY2FzZSBpdCB3YXMgbmV2ZXIgY2FsbGVkLiBzbyBpdCB3aWxsIGJlIHNpbXBsZXIg aWYgd2Ugc3RvcmUKPj4gdGhlIHJldHVybiB2YWx1ZSBvZiB0aGlzIGZ1bmN0aW9uCj4+IGluc2lk ZSB0aGUgbG9vcCBhbmQgcmV0dXJuIHRoYXQgaGVyZSA/Cj4gSSBtaXNzZWQgdGhpcyBjb21tZW50 IGVhcmxpZXIuIEkgZG9uJ3QgdGhpbmsgY2FsbGluZyBkcm1fZHBfY2xvY2tfcmVjb3Zlcnlfb2so KQo+IHdvdWxkIGhhdmUgYSBiaWcgaW1wYWN0LCBzaW5jZSBpdCBpcyBhIHZlcnkgc2ltcGxlIGZ1 bmN0aW9uLiBCdXQgSSBjYW4gYWRkIGEKPiB2YXJpYWJsZSBpZiB0aGF0IGlzIHByZWZlcnJlZC4K Pgo+IEFuZGVyCkFncmVlIGl0IHdvbid0IGJlIGNvc3RseSBvcGVyYXRpb24gYnV0IGNvZGUgd291 bGQgYmUgc2ltcGxlciBpZiB0aGlzIGlzIApjYWxsZWQgb25seSBvbmNlLgpzaW5jZSB3ZSBtYWlu dGFpbiBhIHZhcmlhYmxlIGZvciBlcXVhbGl6YXRpb24gaW4gdGhlIG90aGVyIGZ1bmN0aW9uIApk b2luZyB0aGUgc2FtZQpmb3IgaGVyZSB3aWxsIGtlZXAgaXQgaW5saW5lLgoKcmVnYXJkcywKU2l2 YWt1bWFyCj4KPj4+ICAgIH0KPj4+ICAgIAo+Pj4gLXN0YXRpYyB2b2lkCj4+PiArc3RhdGljIGJv b2wKPj4+ICAgIGludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2hhbm5lbF9lcXVhbGl6YXRpb24oc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4+ICAgIHsKPj4+ICAgIAlzdHJ1Y3QgaW50ZWxfZGln aXRhbF9wb3J0ICpkaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKPj4+ICAgIAlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXY7Cj4+PiAgICAJ Ym9vbCBjaGFubmVsX2VxID0gZmFsc2U7Cj4+PiAgICAJaW50IHRyaWVzLCBjcl90cmllczsKPj4+ IC0JdWludDMyX3QgRFAgPSBpbnRlbF9kcC0+RFA7Cj4+PiAgICAJdWludDMyX3QgdHJhaW5pbmdf cGF0dGVybiA9IERQX1RSQUlOSU5HX1BBVFRFUk5fMjsKPj4+ICAgIAo+Pj4gICAgCS8qCj4+PiBA QCAtMzgzNSwxMSArMzgzMSwxMSBAQCBpbnRlbF9kcF9saW5rX3RyYWluaW5nX2NoYW5uZWxfZXF1 YWxpemF0aW9uKHN0cnVjdAo+Pj4gaW50ZWxfZHAgKmludGVsX2RwKQo+Pj4gICAgCQlEUk1fRVJS T1IoIjUuNCBHYnBzIGxpbmsgcmF0ZSB3aXRob3V0IEhCUjIvVFBTMwo+Pj4gc3VwcG9ydFxuIik7 Cj4+PiAgICAKPj4+ICAgIAkvKiBjaGFubmVsIGVxdWFsaXphdGlvbiAqLwo+Pj4gLQlpZiAoIWlu dGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2RwLCAmRFAsCj4+PiArCWlmICghaW50ZWxfZHBf c2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsCj4+PiAgICAJCQkJICAgICB0cmFpbmluZ19wYXR0ZXJu IHwKPj4+ICAgIAkJCQkgICAgIERQX0xJTktfU0NSQU1CTElOR19ESVNBQkxFKSkgewo+Pj4gICAg CQlEUk1fRVJST1IoImZhaWxlZCB0byBzdGFydCBjaGFubmVsIGVxdWFsaXphdGlvblxuIik7Cj4+ PiAtCQlyZXR1cm47Cj4+PiArCQlyZXR1cm4gZmFsc2U7Cj4+PiAgICAJfQo+Pj4gICAgCj4+PiAg ICAJdHJpZXMgPSAwOwo+Pj4gQEAgLTM4NjQsNyArMzg2MCw3IEBAIGludGVsX2RwX2xpbmtfdHJh aW5pbmdfY2hhbm5lbF9lcXVhbGl6YXRpb24oc3RydWN0Cj4+PiBpbnRlbF9kcCAqaW50ZWxfZHAp Cj4+PiAgICAJCQkJCSAgICAgIGludGVsX2RwLT5sYW5lX2NvdW50KSkgewo+Pj4gICAgCQkJaW50 ZWxfZHAtPnRyYWluX3NldF92YWxpZCA9IGZhbHNlOwo+Pj4gICAgCQkJaW50ZWxfZHBfbGlua190 cmFpbmluZ19jbG9ja19yZWNvdmVyeShpbnRlbF9kcCk7Cj4+PiAtCQkJaW50ZWxfZHBfc2V0X2xp bmtfdHJhaW4oaW50ZWxfZHAsICZEUCwKPj4+ICsJCQlpbnRlbF9kcF9zZXRfbGlua190cmFpbihp bnRlbF9kcCwKPj4+ICAgIAkJCQkJCXRyYWluaW5nX3BhdHRlcm4gfAo+Pj4gICAgCQkJCQkJRFBf TElOS19TQ1JBTUJMSU5HX0RJU0FCTEUKPj4+ICk7Cj4+PiAgICAJCQljcl90cmllcysrOwo+Pj4g QEAgLTM4ODEsNyArMzg3Nyw3IEBAIGludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2hhbm5lbF9lcXVh bGl6YXRpb24oc3RydWN0Cj4+PiBpbnRlbF9kcCAqaW50ZWxfZHApCj4+PiAgICAJCWlmICh0cmll cyA+IDUpIHsKPj4+ICAgIAkJCWludGVsX2RwLT50cmFpbl9zZXRfdmFsaWQgPSBmYWxzZTsKPj4+ ICAgIAkJCWludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3ZlcnkoaW50ZWxfZHApOwo+ Pj4gLQkJCWludGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2RwLCAmRFAsCj4+PiArCQkJaW50 ZWxfZHBfc2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsCj4+PiAgICAJCQkJCQl0cmFpbmluZ19wYXR0 ZXJuIHwKPj4+ICAgIAkJCQkJCURQX0xJTktfU0NSQU1CTElOR19ESVNBQkxFCj4+PiApOwo+Pj4g ICAgCQkJdHJpZXMgPSAwOwo+Pj4gQEAgLTM4OTAsNyArMzg4Niw3IEBAIGludGVsX2RwX2xpbmtf dHJhaW5pbmdfY2hhbm5lbF9lcXVhbGl6YXRpb24oc3RydWN0Cj4+PiBpbnRlbF9kcCAqaW50ZWxf ZHApCj4+PiAgICAJCX0KPj4+ICAgIAo+Pj4gICAgCQkvKiBVcGRhdGUgdHJhaW5pbmcgc2V0IGFz IHJlcXVlc3RlZCBieSB0YXJnZXQgKi8KPj4+IC0JCWlmICghaW50ZWxfZHBfdXBkYXRlX2xpbmtf dHJhaW4oaW50ZWxfZHAsICZEUCwKPj4+IGxpbmtfc3RhdHVzKSkgewo+Pj4gKwkJaWYgKCFpbnRl bF9kcF91cGRhdGVfbGlua190cmFpbihpbnRlbF9kcCwgbGlua19zdGF0dXMpKSB7Cj4+PiAgICAJ CQlEUk1fRVJST1IoImZhaWxlZCB0byB1cGRhdGUgbGluayB0cmFpbmluZ1xuIik7Cj4+PiAgICAJ CQlicmVhazsKPj4+ICAgIAkJfQo+Pj4gQEAgLTM4OTksMjUgKzM4OTUsMjkgQEAgaW50ZWxfZHBf bGlua190cmFpbmluZ19jaGFubmVsX2VxdWFsaXphdGlvbihzdHJ1Y3QKPj4+IGludGVsX2RwICpp bnRlbF9kcCkKPj4+ICAgIAo+Pj4gICAgCWludGVsX2RwX3NldF9pZGxlX2xpbmtfdHJhaW4oaW50 ZWxfZHApOwo+Pj4gICAgCj4+PiAtCWludGVsX2RwLT5EUCA9IERQOwo+Pj4gLQo+Pj4gICAgCWlm IChjaGFubmVsX2VxKSB7Cj4+PiAgICAJCWludGVsX2RwLT50cmFpbl9zZXRfdmFsaWQgPSB0cnVl Owo+Pj4gICAgCQlEUk1fREVCVUdfS01TKCJDaGFubmVsIEVRIGRvbmUuIERQIFRyYWluaW5nCj4+ PiBzdWNjZXNzZnVsXG4iKTsKPj4+ICsJCXJldHVybiB0cnVlOwo+Pj4gKwl9IGVsc2Ugewo+Pj4g KwkJcmV0dXJuIGZhbHNlOwo+Pj4gICAgCX0KPj4+ICAgIH0KPj4+ICAgIAo+Pj4gICAgdm9pZCBp bnRlbF9kcF9zdG9wX2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4+ICAg IHsKPj4+IC0JaW50ZWxfZHBfc2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsICZpbnRlbF9kcC0+RFAs Cj4+PiArCWludGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2RwLAo+Pj4gICAgCQkJCURQX1RS QUlOSU5HX1BBVFRFUk5fRElTQUJMRSk7Cj4+PiAgICB9Cj4+PiAgICAKPj4+ICAgIHZvaWQKPj4+ ICAgIGludGVsX2RwX3N0YXJ0X2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkK Pj4+ICAgIHsKPj4+IC0JaW50ZWxfZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeShpbnRl bF9kcCk7Cj4+PiAtCWludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2hhbm5lbF9lcXVhbGl6YXRpb24o aW50ZWxfZHApOwo+Pj4gKwl1aW50MzJfdCBEUCA9IGludGVsX2RwLT5EUDsKPj4+ICsKPj4+ICsJ aWYgKCFpbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5KGludGVsX2RwKSB8fAo+ Pj4gKwkgICAgIWludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2hhbm5lbF9lcXVhbGl6YXRpb24oaW50 ZWxfZHApKQo+Pj4gKwkJaW50ZWxfZHAtPkRQID0gRFA7Cj4+IGl0IGlzIHdyb25nIHRvIHJlc3Rv cmUgdGhlIHZhbHVlIG9mIERQIGhlcmUsIHdlIGhhdmUgbW9kaWZpZWQgdGhlIHZhbHVlCj4+IG9m IHBvcnQvZGRpIGFscmVhZHkgaW5zaWRlIHRoZSB0d28gZnVuY3Rpb25zLgo+PiBpZiBlaXRoZXIg b2YgdGhlc2UgdHdvIHN0ZXBzIGZhaWwgd2Ugc2hvdWxkIGNhbGwgc3RvcCBsaW5rIHRyYWluaW5n IGFuZAo+PiBmb2xsb3cgaXQgd2l0aCBic3BlYyBkaXNhYmxlIHNlcXVlbmNlLgo+PiBzbyBzYXZp bmcgYW5kIHJlc3RvcmluZyB3aWxsIG5vdCBoZWxwIHVzIGluIGFueXdheSBidXQgbW9yZSBoaWRl IHRoZQo+PiByZWFsIHN0YXR1cyBvZiBIVy4KPj4+ICAgIH0KPj4+ICAgIAo+Pj4gICAgc3RhdGlj IHZvaWQKPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K Pj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCj4+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==