From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH 4/6] drm/i915/bxt: Set DDI PHY lane latency optimization during modeset Date: Wed, 08 Jun 2016 09:41:55 +0300 Message-ID: <1465368115.2909.16.camel@gmail.com> References: <1465323873-9786-1-git-send-email-imre.deak@intel.com> <1465323873-9786-5-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pa0-x243.google.com (mail-pa0-x243.google.com [IPv6:2607:f8b0:400e:c03::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 993FA6E8E4 for ; Wed, 8 Jun 2016 06:42:01 +0000 (UTC) Received: by mail-pa0-x243.google.com with SMTP id ug1so5821680pab.1 for ; Tue, 07 Jun 2016 23:42:01 -0700 (PDT) In-Reply-To: <1465323873-9786-5-git-send-email-imre.deak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Imre Deak , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAyMDE2LTA2LTA3IGF0IDIxOjI0ICswMzAwLCBJbXJlIERlYWsgd3JvdGU6Cj4gU28g ZmFyIHdlIGNvbmZpZ3VyZWQgYSBzdGF0aWMgbGFuZSBsYXRlbmN5IG9wdGltaXphdGlvbiBkdXJp bmcgZHJpdmVyCj4gbG9hZGluZy9yZXN1bWluZy4gVGhlIHNwZWNpZmljYXRpb24gY2hhbmdlZCBh dCBvbmUgcG9pbnQgYW5kIG5vdyB0aGlzCj4gY29uZmlndXJhdGlvbiBkZXBlbmRzIG9uIHRoZSBs YW5lIGNvdW50LCBzbyBtb3ZlIHRoZSBjb25maWd1cmF0aW9uCj4gdG8gbW9kZXNldCB0aW1lIGFj Y29yZGluZ2x5Lgo+IAo+IEl0J3Mgbm90IGNsZWFyIHdoZW4gdGhpcyBsYW5lIGNvbmZpZ3VyYXRp b24gdGFrZXMgZWZmZWN0LiBUaGUKPiBzcGVjaWZpY2F0aW9uIG9ubHkgcmVxdWlyZXMgdGhhdCB0 aGUgcHJvZ3JhbW1pbmcgaXMgZG9uZSBiZWZvcmUgZW5hYmxpbmcKPiB0aGUgcG9ydC4gT24gQ0hW IE9UT0ggdGhlIGxhbmVzIHN0YXJ0IHRvIHBvd2VyIHVwIGFscmVhZHkgcmlnaHQgYWZ0ZXIKPiBl bmFibGluZyB0aGUgUExMLiBUbyBiZSBzYWZlIHByZXNlcnZlIHRoZSBjdXJyZW50IG9yZGVyIGFu ZCBzZXQgdGhpbmdzCj4gdXAgYWxyZWFkeSBiZWZvcmUgZW5hYmxpbmcgdGhlIFBMTC4KPiAKPiBC dWd6aWxsYTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU0 NzYKPiBTaWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cj4gLS0t Cj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuY8KgwqDCoMKgwqB8IDEzMSArKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCj4gLQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jIHzCoMKgwqA1ICsrCj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaMKgwqDCoMKgwqB8wqDCoMKgNiArKwo+IMKgMyBmaWxlcyBjaGFuZ2VkLCA5OSBp bnNlcnRpb25zKCspLCA0MyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rk aS5jCj4gaW5kZXggZGVlNmRkMC4uZjQ2MTE3YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rk aS5jCj4gQEAgLTE3ODksOCArMTc4OSw3IEBAIHN0YXRpYyB2b2lkIGJyb3h0b25fcGh5X3dhaXRf Z3JjX2RvbmUoc3RydWN0Cj4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gwqAKPiDCoHZv aWQgYnh0X2RkaV9waHlfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVu dW0gZHBpb19waHkgcGh5KQo+IMKgewo+IC0JZW51bSBwb3J0IHBvcnQ7Cj4gLQl1MzIgcG9ydHMs IHZhbDsKPiArCXUzMiB2YWw7Cj4gwqAKPiDCoAlpZiAoYnh0X2RkaV9waHlfaXNfZW5hYmxlZChk ZXZfcHJpdiwgcGh5KSkgewo+IMKgCQkvKiBTdGlsbCByZWFkIG91dCB0aGUgR1JDIHZhbHVlIGZv ciBzdGF0ZSB2ZXJpZmljYXRpb24gKi8KPiBAQCAtMTgyNSwyOCArMTgyNCw2IEBAIHZvaWQgYnh0 X2RkaV9waHlfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQo+ICpkZXZfcHJpdiwgZW51bSBk cGlvX3BoeSBwaHkpCj4gwqAJCURSTV9FUlJPUigidGltZW91dCBkdXJpbmcgUEhZJWQgcG93ZXIg b25cbiIsIHBoeSk7Cj4gwqAJfQo+IMKgCj4gLQlpZiAocGh5ID09IERQSU9fUEhZMCkKPiAtCQlw b3J0cyA9IEJJVChQT1JUX0IpIHwgQklUKFBPUlRfQyk7Cj4gLQllbHNlCj4gLQkJcG9ydHMgPSBC SVQoUE9SVF9BKTsKPiAtCj4gLQlmb3JfZWFjaF9wb3J0X21hc2tlZChwb3J0LCBwb3J0cykgewo+ IC0JCWludCBsYW5lOwo+IC0KPiAtCQlmb3IgKGxhbmUgPSAwOyBsYW5lIDwgNDsgbGFuZSsrKSB7 Cj4gLQkJCXZhbCA9IEk5MTVfUkVBRChCWFRfUE9SVF9UWF9EVzE0X0xOKHBvcnQsIGxhbmUpKTsK PiAtCQkJLyoKPiAtCQkJwqAqIE5vdGUgdGhhdCBvbiBDSFYgdGhpcyBmbGFnIGlzIGNhbGxlZCBV UEFSLCBidXQgaGFzCj4gLQkJCcKgKiB0aGUgc2FtZSBmdW5jdGlvbi4KPiAtCQkJwqAqLwo+IC0J CQl2YWwgJj0gfkxBVEVOQ1lfT1BUSU07Cj4gLQkJCWlmIChsYW5lICE9IDEpCj4gLQkJCQl2YWwg fD0gTEFURU5DWV9PUFRJTTsKPiAtCj4gLQkJCUk5MTVfV1JJVEUoQlhUX1BPUlRfVFhfRFcxNF9M Tihwb3J0LCBsYW5lKSwgdmFsKTsKPiAtCQl9Cj4gLQl9Cj4gLQo+IMKgCS8qIFByb2dyYW0gUExM IFJjb21wIGNvZGUgb2Zmc2V0ICovCj4gwqAJdmFsID0gSTkxNV9SRUFEKEJYVF9QT1JUX0NMMUNN X0RXOShwaHkpKTsKPiDCoAl2YWwgJj0gfklSRUYwUkNfT0ZGU0VUX01BU0s7Cj4gQEAgLTE5NTYs OCArMTkzMyw2IEBAIF9fcGh5X3JlZ192ZXJpZnlfc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUKPiAqZGV2X3ByaXYsIGVudW0gZHBpb19waHkgcGh5LAo+IMKgYm9vbCBieHRfZGRpX3BoeV92 ZXJpZnlfc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IMKgCQkJwqDC oMKgwqDCoMKgZW51bSBkcGlvX3BoeSBwaHkpCj4gwqB7Cj4gLQllbnVtIHBvcnQgcG9ydDsKPiAt CXUzMiBwb3J0czsKPiDCoAl1aW50MzJfdCBtYXNrOwo+IMKgCWJvb2wgb2s7Cj4gwqAKPiBAQCAt MTk3MCwyMSArMTk0NSw2IEBAIGJvb2wgYnh0X2RkaV9waHlfdmVyaWZ5X3N0YXRlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlCj4gKmRldl9wcml2LAo+IMKgCj4gwqAJb2sgPSB0cnVlOwo+IMKgCj4g LQlpZiAocGh5ID09IERQSU9fUEhZMCkKPiAtCQlwb3J0cyA9IEJJVChQT1JUX0IpIHwgQklUKFBP UlRfQyk7Cj4gLQllbHNlCj4gLQkJcG9ydHMgPSBCSVQoUE9SVF9BKTsKPiAtCj4gLQlmb3JfZWFj aF9wb3J0X21hc2tlZChwb3J0LCBwb3J0cykgewo+IC0JCWludCBsYW5lOwo+IC0KPiAtCQlmb3Ig KGxhbmUgPSAwOyBsYW5lIDwgNDsgbGFuZSsrKQo+IC0JCQlvayAmPSBfQ0hLKEJYVF9QT1JUX1RY X0RXMTRfTE4ocG9ydCwgbGFuZSksCj4gLQkJCQnCoMKgwqDCoExBVEVOQ1lfT1BUSU0sCj4gLQkJ CQnCoMKgwqDCoGxhbmUgIT0gMSA/IExBVEVOQ1lfT1BUSU0gOiAwLAo+IC0JCQkJwqDCoMKgwqAi QlhUX1BPUlRfVFhfRFcxNF9MTiglZCwgJWQpIiwgcG9ydCwKPiBsYW5lKTsKPiAtCX0KPiAtCj4g wqAJLyogUExMIFJjb21wIGNvZGUgb2Zmc2V0ICovCj4gwqAJb2sgJj0gX0NISyhCWFRfUE9SVF9D TDFDTV9EVzkocGh5KSwKPiDCoAkJwqDCoMKgwqBJUkVGMFJDX09GRlNFVF9NQVNLLCAweGU0IDw8 IElSRUYwUkNfT0ZGU0VUX1NISUZULAo+IEBAIC0yMDI4LDYgKzE5ODgsNzUgQEAgYm9vbCBieHRf ZGRpX3BoeV92ZXJpZnlfc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUKPiAqZGV2X3ByaXYs Cj4gwqAjdW5kZWYgX0NISwo+IMKgfQo+IMKgCj4gK3N0YXRpYyB1aW50OF90Cj4gK2J4dF9kZGlf cGh5X2NhbGNfbGFuZV9sYXRfb3B0aW1fbWFzayhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKPiArCQkJCcKgwqDCoMKgwqBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcp Cj4gK3sKPiArCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0Yyhl bmNvZGVyLT5iYXNlLmNydGMpOwo+ICsJaW50IG9wdGltX2xhbmVfY291bnQ7Cj4gKwo+ICsJc3dp dGNoIChwaXBlX2NvbmZpZy0+bGFuZV9jb3VudCkgewo+ICsJY2FzZSAxOgo+ICsJCW9wdGltX2xh bmVfY291bnQgPSAwOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSAyOgo+ICsJCW9wdGltX2xhbmVfY291 bnQgPSAzOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSA0Ogo+ICsJCW9wdGltX2xhbmVfY291bnQgPSA0 Owo+ICsJCWJyZWFrOwo+ICsJZGVmYXVsdDoKPiArCQlNSVNTSU5HX0NBU0UoaW50ZWxfY3J0Yy0+ Y29uZmlnLT5sYW5lX2NvdW50KTsKClNpbmNlIHRoaXMgaXMgY2FsbGVkIGZyb20gY29tcHV0ZSBj b25maWcsIHBpcGVfY29uZmlnIGFuZCBpbnRlbF9jcnRjLT5jb25maWcKd2lsbCBiZSBkaWZmZXJl bnQuIEJ1dCBhbnl3YXksIEkgdGhpbmsgdGhpcyBiZWxvbmdzIGluIHRoZSBkcGxsIGNvZGUuIFNl ZSBiZWxvdy4KCj4gKwo+ICsJCXJldHVybiAwOwo+ICsJfQo+ICsKPiArCXJldHVybiAoQklUKG9w dGltX2xhbmVfY291bnQpIC0gMSkgJiB+QklUKDEpOwoKV291bGRuJ3QgaXQgYmUgZWFzaWVyIHRv IGp1c3QgcmV0dXJuIHRoZSByaWdodCBtYXNrIGZyb20gdGhlIHN3aXRjaD8gVGhlcmUncwphbHJl YWR5IGEgY2FzZSBmb3IgZWFjaCBwb3NzaWJsZSBsYW5lIGNvdW50LgoKPiArfQo+ICsKPiArc3Rh dGljIHZvaWQgYnh0X2RkaV9wcmVfcGxsX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlcikKPiArewo+ICsJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZHBvcnQgPSBlbmNfdG9f ZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShkcG9ydC0+YmFzZS5iYXNlLmRldik7Cj4gKwllbnVtIHBvcnQgcG9y dCA9IGRwb3J0LT5wb3J0Owo+ICsJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19p bnRlbF9jcnRjKGVuY29kZXItPmJhc2UuY3J0Yyk7Cj4gKwlpbnQgbGFuZTsKPiArCj4gKwlmb3Ig KGxhbmUgPSAwOyBsYW5lIDwgNDsgbGFuZSsrKSB7Cj4gKwkJdTMyIHZhbCA9IEk5MTVfUkVBRChC WFRfUE9SVF9UWF9EVzE0X0xOKHBvcnQsIGxhbmUpKTsKPiArCj4gKwkJLyoKPiArCQnCoCogTm90 ZSB0aGF0IG9uIENIViB0aGlzIGZsYWcgaXMgY2FsbGVkIFVQQVIsIGJ1dCBoYXMKPiArCQnCoCog dGhlIHNhbWUgZnVuY3Rpb24uCj4gKwkJwqAqLwo+ICsJCXZhbCAmPSB+TEFURU5DWV9PUFRJTTsK PiArCQlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5sYW5lX2xhdF9vcHRpbV9tYXNrICYgQklUKGxh bmUpKQo+ICsJCQl2YWwgfD0gTEFURU5DWV9PUFRJTTsKPiArCj4gKwkJSTkxNV9XUklURShCWFRf UE9SVF9UWF9EVzE0X0xOKHBvcnQsIGxhbmUpLCB2YWwpOwo+ICsJfQo+ICt9Cj4gKwo+ICtzdGF0 aWMgdWludDhfdAo+ICtieHRfZGRpX3BoeV9nZXRfbGFuZV9sYXRfb3B0aW1fbWFzayhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiArewo+ICsJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9y dCAqZHBvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwo+ICsJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkcG9ydC0+YmFzZS5iYXNlLmRldik7 Cj4gKwllbnVtIHBvcnQgcG9ydCA9IGRwb3J0LT5wb3J0Owo+ICsJaW50IGxhbmU7Cj4gKwl1aW50 OF90IG1hc2s7Cj4gKwo+ICsJbWFzayA9IDA7Cj4gKwlmb3IgKGxhbmUgPSAwOyBsYW5lIDwgNDsg bGFuZSsrKSB7Cj4gKwkJdTMyIHZhbCA9IEk5MTVfUkVBRChCWFRfUE9SVF9UWF9EVzE0X0xOKHBv cnQsIGxhbmUpKTsKPiArCj4gKwkJaWYgKHZhbCAmIExBVEVOQ1lfT1BUSU0pCj4gKwkJCW1hc2sg fD0gQklUKGxhbmUpOwo+ICsJfQo+ICsKPiArCXJldHVybiBtYXNrOwo+ICt9Cj4gKwo+IMKgdm9p ZCBpbnRlbF9kZGlfcHJlcGFyZV9saW5rX3JldHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkKPiDCoHsKPiDCoAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9 IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKPiBAQCAtMjE5OSwxMyArMjIyOCwxOSBAQCB2b2lk IGludGVsX2RkaV9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyCj4gKmVuY29kZXIsCj4g wqAJfQo+IMKgCj4gwqAJaW50ZWxfZGRpX2Nsb2NrX2dldChlbmNvZGVyLCBwaXBlX2NvbmZpZyk7 Cj4gKwo+ICsJaWYgKElTX0JST1hUT04oZGV2X3ByaXYpKQo+ICsJCXBpcGVfY29uZmlnLT5sYW5l X2xhdF9vcHRpbV9tYXNrID0KPiArCQkJYnh0X2RkaV9waHlfZ2V0X2xhbmVfbGF0X29wdGltX21h c2soZW5jb2Rlcik7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBib29sIGludGVsX2RkaV9jb21wdXRl X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiDCoAkJCQnCoMKgwqDCoMKg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+IMKgewo+ICsJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZW5jb2Rlci0+YmFzZS5kZXYtPmRldl9wcml2YXRl Owo+IMKgCWludCB0eXBlID0gZW5jb2Rlci0+dHlwZTsKPiDCoAlpbnQgcG9ydCA9IGludGVsX2Rk aV9nZXRfZW5jb2Rlcl9wb3J0KGVuY29kZXIpOwo+ICsJaW50IHJldDsKPiDCoAo+IMKgCVdBUk4o dHlwZSA9PSBJTlRFTF9PVVRQVVRfVU5LTk9XTiwgImNvbXB1dGVfY29uZmlnKCkgb24gdW5rbm93 bgo+IG91dHB1dCFcbiIpOwo+IMKgCj4gQEAgLTIyMTMsOSArMjI0OCwxNyBAQCBzdGF0aWMgYm9v bCBpbnRlbF9kZGlfY29tcHV0ZV9jb25maWcoc3RydWN0Cj4gaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKPiDCoAkJcGlwZV9jb25maWctPmNwdV90cmFuc2NvZGVyID0gVFJBTlNDT0RFUl9FRFA7Cj4g wqAKPiDCoAlpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfSERNSSkKPiAtCQlyZXR1cm4gaW50ZWxf aGRtaV9jb21wdXRlX2NvbmZpZyhlbmNvZGVyLCBwaXBlX2NvbmZpZyk7Cj4gKwkJcmV0ID0gaW50 ZWxfaGRtaV9jb21wdXRlX2NvbmZpZyhlbmNvZGVyLCBwaXBlX2NvbmZpZyk7Cj4gwqAJZWxzZQo+ IC0JCXJldHVybiBpbnRlbF9kcF9jb21wdXRlX2NvbmZpZyhlbmNvZGVyLCBwaXBlX2NvbmZpZyk7 Cj4gKwkJcmV0ID0gaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoZW5jb2RlciwgcGlwZV9jb25maWcp Owo+ICsKPiArCWlmIChJU19CUk9YVE9OKGRldl9wcml2KSAmJiByZXQpCj4gKwkJcGlwZV9jb25m aWctPmxhbmVfbGF0X29wdGltX21hc2sgPQo+ICsJCQlieHRfZGRpX3BoeV9jYWxjX2xhbmVfbGF0 X29wdGltX21hc2soZW5jb2RlciwKPiArCQkJCQkJCcKgwqDCoMKgwqBwaXBlX2NvbmZpZyk7Cj4g Kwo+ICsJcmV0dXJuIHJldDsKPiArCj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZHJtX2VuY29kZXJfZnVuY3MgaW50ZWxfZGRpX2Z1bmNzID0gewo+IEBAIC0yMzE0LDYgKzIzNTcs OCBAQCB2b2lkIGludGVsX2RkaV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVudW0gcG9y dAo+IHBvcnQpCj4gwqAKPiDCoAlpbnRlbF9lbmNvZGVyLT5jb21wdXRlX2NvbmZpZyA9IGludGVs X2RkaV9jb21wdXRlX2NvbmZpZzsKPiDCoAlpbnRlbF9lbmNvZGVyLT5lbmFibGUgPSBpbnRlbF9l bmFibGVfZGRpOwo+ICsJaWYgKElTX0JST1hUT04oZGV2X3ByaXYpKQo+ICsJCWludGVsX2VuY29k ZXItPnByZV9wbGxfZW5hYmxlID0gYnh0X2RkaV9wcmVfcGxsX2VuYWJsZTsKPiDCoAlpbnRlbF9l bmNvZGVyLT5wcmVfZW5hYmxlID0gaW50ZWxfZGRpX3ByZV9lbmFibGU7Cj4gwqAJaW50ZWxfZW5j b2Rlci0+ZGlzYWJsZSA9IGludGVsX2Rpc2FibGVfZGRpOwo+IMKgCWludGVsX2VuY29kZXItPnBv c3RfZGlzYWJsZSA9IGludGVsX2RkaV9wb3N0X2Rpc2FibGU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jCj4gaW5kZXggNjBjYmExOS4uNGJjN2M0OCAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtNDg0MSw2ICs0ODQxLDEwIEBAIHN0YXRpYyB2 b2lkIGhhc3dlbGxfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+IMKgCQlpbnRl bF9zZXRfcGNoX2ZpZm9fdW5kZXJydW5fcmVwb3J0aW5nKGRldl9wcml2LCBUUkFOU0NPREVSX0Es Cj4gwqAJCQkJCQnCoMKgwqDCoMKgwqBmYWxzZSk7Cj4gwqAKPiArCWZvcl9lYWNoX2VuY29kZXJf b25fY3J0YyhkZXYsIGNydGMsIGVuY29kZXIpCj4gKwkJaWYgKGVuY29kZXItPnByZV9wbGxfZW5h YmxlKQo+ICsJCQllbmNvZGVyLT5wcmVfcGxsX2VuYWJsZShlbmNvZGVyKTsKPiArCj4gwqAJaWYg KGludGVsX2NydGMtPmNvbmZpZy0+c2hhcmVkX2RwbGwpCj4gwqAJCWludGVsX2VuYWJsZV9zaGFy ZWRfZHBsbChpbnRlbF9jcnRjKTsKCkVmZmVjdGl2ZWx5IHRoaXMgd3JpdGVzwqBCWFRfUE9SVF9U WF9EVzE0X0xOIGJlZm9yZSBieHRfZGRpX3BsbF9lbmFibGUoKSBpcwpjYWxsZWQuIElmIHRoYXQg d291bGQgYmUgdGhlIGZpcnN0IHJlZ2lzdGVyIHdyaXRlIGluIHRoYXQgZnVuY3Rpb24sIGl0IHdv dWxkCmF2b2lkIHRoZSBleHRyYSBkZXRvdXIuIFNvIHdlIGNhbiBjYWxjdWxhdGUgdGhlIG9wdGlt aXphdGlvbiBpbiBieHRfZ2V0X2RwbGwoKSwKc3RvcmUgaXQgaW4gc3RydWN0IGludGVsX2RwbGxf aHdfc3RhdGUgYW5kIHVzZSB0aGUgcGxsIHN0YXRlIGNoZWNraW5nIHRvIHZlcmlmeQp0aGUgcmln aHQgdmFsdWVzIHdlcmUgcHJvZ3JhbW1lZC4gVGhhdCB3YXkgdGhlcmUncyBubyBuZWVkIHRvIGFk ZCBhIHZhbHVlCnNwZWNpZmljIHRvIHRoZSBieHQgcGh5IHRvIHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlIG9yIGltcGxlbWVudCB0aGUKcHJlX3BsbF9lbmFibGUgaG9vay4KCkFuZGVyCgo+IMKgCj4g QEAgLTEyODE2LDYgKzEyODIwLDcgQEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAo+IMKgCj4gwqAJUElQRV9DT05GX0NIRUNLX0koaGFzX2RwX2VuY29k ZXIpOwo+IMKgCVBJUEVfQ09ORl9DSEVDS19JKGxhbmVfY291bnQpOwo+ICsJUElQRV9DT05GX0NI RUNLX1gobGFuZV9sYXRfb3B0aW1fbWFzayk7Cj4gwqAKPiDCoAlpZiAoSU5URUxfSU5GTyhkZXYp LT5nZW4gPCA4KSB7Cj4gwqAJCVBJUEVfQ09ORl9DSEVDS19NX04oZHBfbV9uKTsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggMTc0NDVkNy4uY2E5ODQxNiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTU3OSw2ICs1NzksMTIgQEAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgewo+IMKgCj4gwqAJdWludDhfdCBsYW5lX2NvdW50Owo+IMKgCj4gKwkvKgo+ICsJ wqAqIFVzZWQgYnkgcGxhdGZvcm1zIGhhdmluZyBEUC9IRE1JIFBIWSB3aXRoIHByb2dyYW1tYWJs ZSBsYW5lCj4gKwnCoCogbGF0ZW5jeSBvcHRpbWl6YXRpb24uCj4gKwnCoCovCj4gKwl1aW50OF90 IGxhbmVfbGF0X29wdGltX21hc2s7Cj4gKwo+IMKgCS8qIFBhbmVsIGZpdHRlciBjb250cm9scyBm b3IgZ2VuMi1nZW40ICsgVkxWICovCj4gwqAJc3RydWN0IHsKPiDCoAkJdTMyIGNvbnRyb2w7Cl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=