From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniele Ceraolo Spurio Subject: Re: [P v4 02/11] drm/i915/guc: Move GuC boot param initialization out of xfer Date: Wed, 11 Oct 2017 15:55:29 -0700 Message-ID: <6bae4ec1-ce34-7f47-34f6-41592bd0c5fd@intel.com> References: <20171010145135.3488-1-michal.wajdeczko@intel.com> <20171010145135.3488-3-michal.wajdeczko@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5341C6E12E for ; Wed, 11 Oct 2017 22:55:32 +0000 (UTC) In-Reply-To: <20171010145135.3488-3-michal.wajdeczko@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Michal Wajdeczko , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CgpPbiAxMC8xMC8xNyAwNzo1MSwgTWljaGFsIFdhamRlY3prbyB3cm90ZToKPiBXZSB3YW50IHRv IGtlZXAgdWNvZGUgeGZlciBmdW5jdGlvbnMgc2VwYXJhdGUgZnJvbSBvdGhlcgo+IGluaXRpYWxp emF0aW9uLiBPbmNlIHNlcGFyYXRlZCwgYWRkIGV4cGxpY2l0IGZvcmNld2FrZS4KPiAKPiBTdWdn ZXN0ZWQtYnk6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNv bT4KPiBTaWduZWQtb2ZmLWJ5OiBNaWNoYWwgV2FqZGVjemtvIDxtaWNoYWwud2FqZGVjemtvQGlu dGVsLmNvbT4KPiBDYzogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50 ZWwuY29tPgo+IENjOiBTYWdhciBBcnVuIEthbWJsZSA8c2FnYXIuYS5rYW1ibGVAaW50ZWwuY29t Pgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmMgICAgICAgIHwgODgg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9ndWMuaCAgICAgICAgfCAgMSArCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ndWNfbG9hZGVyLmMgfCA4NSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5jICAgICAgICAgfCAgMSArCj4gICA0IGZpbGVz IGNoYW5nZWQsIDkwIGluc2VydGlvbnMoKyksIDg1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2d1Yy5jCj4gaW5kZXggOTBjM2RkOC4uZDc1NTE1YyAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2d1Yy5jCj4gQEAgLTY3LDYgKzY3LDk0IEBAIHZvaWQgaW50ZWxfZ3VjX2luaXRf ZWFybHkoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+ICAgCWd1Yy0+bm90aWZ5ID0gZ2VuOF9ndWNf cmFpc2VfaXJxOwo+ICAgfQo+ICAgCj4gK3N0YXRpYyB1MzIgZ2V0X2d0dHlwZShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gK3sKPiArCS8qIFhYWDogR1QgdHlwZSBiYXNlZCBv biBQQ0kgZGV2aWNlIElEPyBmaWVsZCBzZWVtcyB1bnVzZWQgYnkgZncgKi8KPiArCXJldHVybiAw Owo+ICt9Cj4gKwo+ICtzdGF0aWMgdTMyIGdldF9jb3JlX2ZhbWlseShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCj4gK3sKPiArCXUzMiBnZW4gPSBJTlRFTF9HRU4oZGV2X3ByaXYp Owo+ICsKPiArCXN3aXRjaCAoZ2VuKSB7Cj4gKwljYXNlIDk6Cj4gKwkJcmV0dXJuIEdVQ19DT1JF X0ZBTUlMWV9HRU45Owo+ICsKPiArCWRlZmF1bHQ6Cj4gKwkJTUlTU0lOR19DQVNFKGdlbik7Cj4g KwkJcmV0dXJuIEdVQ19DT1JFX0ZBTUlMWV9VTktOT1dOOwo+ICsJfQo+ICt9Cj4gKwo+ICsvKgo+ ICsgKiBJbml0aWFsaXNlIHRoZSBHdUMgcGFyYW1ldGVyIGJsb2NrIGJlZm9yZSBzdGFydGluZyB0 aGUgZmlybXdhcmUKPiArICogdHJhbnNmZXIuIFRoZXNlIHBhcmFtZXRlcnMgYXJlIHJlYWQgYnkg dGhlIGZpcm13YXJlIG9uIHN0YXJ0dXAKPiArICogYW5kIGNhbm5vdCBiZSBjaGFuZ2VkIHRoZXJl YWZ0ZXIuCj4gKyAqLwo+ICt2b2lkIGludGVsX2d1Y19pbml0X3BhcmFtcyhzdHJ1Y3QgaW50ZWxf Z3VjICpndWMpCj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGd1 Y190b19pOTE1KGd1Yyk7Cj4gKwl1MzIgcGFyYW1zW0dVQ19DVExfTUFYX0RXT1JEU107Cj4gKwlp bnQgaTsKPiArCj4gKwltZW1zZXQoJnBhcmFtcywgMCwgc2l6ZW9mKHBhcmFtcykpOwo+ICsKPiAr CXBhcmFtc1tHVUNfQ1RMX0RFVklDRV9JTkZPXSB8PQo+ICsJCShnZXRfZ3R0eXBlKGRldl9wcml2 KSA8PCBHVUNfQ1RMX0dUVFlQRV9TSElGVCkgfAo+ICsJCShnZXRfY29yZV9mYW1pbHkoZGV2X3By aXYpIDw8IEdVQ19DVExfQ09SRUZBTUlMWV9TSElGVCk7Cj4gKwo+ICsJLyoKPiArCSAqIEd1QyBB UkFUIGluY3JlbWVudCBpcyAxMCBucy4gR3VDIGRlZmF1bHQgc2NoZWR1bGVyIHF1YW50dW0gaXMg b25lCj4gKwkgKiBzZWNvbmQuIFRoaXMgQVJBUiBpcyBjYWxjdWxhdGVkIGJ5Ogo+ICsJICogU2No ZWR1bGVyLVF1YW50dW0taW4tbnMgLyBBUkFULWluY3JlbWVudC1pbi1ucyA9IDEwMDAwMDAwMDAg LyAxMAo+ICsJICovCj4gKwlwYXJhbXNbR1VDX0NUTF9BUkFUX0hJR0hdID0gMDsKPiArCXBhcmFt c1tHVUNfQ1RMX0FSQVRfTE9XXSA9IDEwMDAwMDAwMDsKPiArCj4gKwlwYXJhbXNbR1VDX0NUTF9X QV0gfD0gR1VDX0NUTF9XQV9VS19CWV9EUklWRVI7Cj4gKwo+ICsJcGFyYW1zW0dVQ19DVExfRkVB VFVSRV0gfD0gR1VDX0NUTF9ESVNBQkxFX1NDSEVEVUxFUiB8Cj4gKwkJCUdVQ19DVExfVkNTMl9F TkFCTEVEOwo+ICsKPiArCXBhcmFtc1tHVUNfQ1RMX0xPR19QQVJBTVNdID0gZ3VjLT5sb2cuZmxh Z3M7Cj4gKwo+ICsJaWYgKGk5MTVfbW9kcGFyYW1zLmd1Y19sb2dfbGV2ZWwgPj0gMCkgewo+ICsJ CXBhcmFtc1tHVUNfQ1RMX0RFQlVHXSA9Cj4gKwkJCWk5MTVfbW9kcGFyYW1zLmd1Y19sb2dfbGV2 ZWwgPDwgR1VDX0xPR19WRVJCT1NJVFlfU0hJRlQ7Cj4gKwl9IGVsc2UKPiArCQlwYXJhbXNbR1VD X0NUTF9ERUJVR10gPSBHVUNfTE9HX0RJU0FCTEVEOwo+ICsKPiArCS8qIElmIEd1QyBzdWJtaXNz aW9uIGlzIGVuYWJsZWQsIHNldCB1cCBhZGRpdGlvbmFsIHBhcmFtZXRlcnMgaGVyZSAqLwo+ICsJ aWYgKGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfc3VibWlzc2lvbikgewo+ICsJCXUzMiBhZHMg PSBndWNfZ2d0dF9vZmZzZXQoZ3VjLT5hZHNfdm1hKSA+PiBQQUdFX1NISUZUOwo+ICsJCXUzMiBw Z3MgPSBndWNfZ2d0dF9vZmZzZXQoZGV2X3ByaXYtPmd1Yy5zdGFnZV9kZXNjX3Bvb2wpOwo+ICsJ CXUzMiBjdHhfaW5fMTYgPSBHVUNfTUFYX1NUQUdFX0RFU0NSSVBUT1JTIC8gMTY7Cj4gKwo+ICsJ CXBhcmFtc1tHVUNfQ1RMX0RFQlVHXSB8PSBhZHMgPDwgR1VDX0FEU19BRERSX1NISUZUOwo+ICsJ CXBhcmFtc1tHVUNfQ1RMX0RFQlVHXSB8PSBHVUNfQURTX0VOQUJMRUQ7Cj4gKwo+ICsJCXBncyA+ Pj0gUEFHRV9TSElGVDsKPiArCQlwYXJhbXNbR1VDX0NUTF9DVFhJTkZPXSA9IChwZ3MgPDwgR1VD X0NUTF9CQVNFX0FERFJfU0hJRlQpIHwKPiArCQkJKGN0eF9pbl8xNiA8PCBHVUNfQ1RMX0NUWE5V TV9JTjE2X1NISUZUKTsKPiArCj4gKwkJcGFyYW1zW0dVQ19DVExfRkVBVFVSRV0gfD0gR1VDX0NU TF9LRVJORUxfU1VCTUlTU0lPTlM7Cj4gKwo+ICsJCS8qIFVubWFzayB0aGlzIGJpdCB0byBlbmFi bGUgdGhlIEd1QydzIGludGVybmFsIHNjaGVkdWxlciAqLwo+ICsJCXBhcmFtc1tHVUNfQ1RMX0ZF QVRVUkVdICY9IH5HVUNfQ1RMX0RJU0FCTEVfU0NIRURVTEVSOwo+ICsJfQo+ICsKPiArCWludGVs X3VuY29yZV9mb3JjZXdha2VfZ2V0KGRldl9wcml2LCBGT1JDRVdBS0VfQUxMKTsKCkkgZG9uJ3Qg dGhpbmsgd2UgbmVlZCB0aGlzIGV4cGxpY2l0IGZvcmNld2FrZSBpZiB3ZSB1c2UgSTkxNV9XUklU RSgpLCAKYmVjYXVzZSB0aGF0IHNob3VsZCBhbHJlYWR5IHdha2UgdGhlIHJlcXVpcmVkIHdlbGxz LiBJZiB5b3Ugd2FudCB0byAKZXhwbGljaXRseSB0YWtlIGZvcmNld2FrZSB0aGVuIHdlIGNhbiB1 c2UgSTkxNV9XUklURV9GVygpLiBBbHNvLCAKRk9SQ0VXQUtFX0JMSVRURVIgc2hvdWxkIGJlIGVu b3VnaC4KSSdkIGFsc28gYWRkIGEgY29tbWVudCB0byBzYXkgdGhhdCB0aGUgcmVnaXN0ZXIgYXJl IHBvd2VyIGNvbnRleHQgc2F2ZWQgCnNvIGl0J3Mgb2sgdG8gcmVsZWFzZSBmb3JjZXdha2UgaGVy ZSBhbmQgdGFrZSBpdCBhZ2FpbiBhdCB4ZmVyIHRpbWUuCgo+ICsKPiArCUk5MTVfV1JJVEUoU09G VF9TQ1JBVENIKDApLCAwKTsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgR1VDX0NUTF9NQVhfRFdP UkRTOyBpKyspCj4gKwkJSTkxNV9XUklURShTT0ZUX1NDUkFUQ0goMSArIGkpLCBwYXJhbXNbaV0p Owo+ICsKPiArCWludGVsX3VuY29yZV9mb3JjZXdha2VfcHV0KGRldl9wcml2LCBGT1JDRVdBS0Vf QUxMKTsKPiArCj4gK30KPiArCj4gICBpbnQgaW50ZWxfZ3VjX3NlbmRfbm9wKHN0cnVjdCBpbnRl bF9ndWMgKmd1YywgY29uc3QgdTMyICphY3Rpb24sIHUzMiBsZW4pCj4gICB7Cj4gICAJV0FSTigx LCAiVW5leHBlY3RlZCBzZW5kOiBhY3Rpb249JSN4XG4iLCAqYWN0aW9uKTsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9ndWMuaAo+IGluZGV4IGFhOWE3YjUuLjhiNDQxNjUgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9ndWMuaAo+IEBAIC05NSw2ICs5NSw3IEBAIHN0YXRpYyBpbmxpbmUgdTMyIGd1Y19n Z3R0X29mZnNldChzdHJ1Y3QgaTkxNV92bWEgKnZtYSkKPiAgIAo+ICAgdm9pZCBpbnRlbF9ndWNf aW5pdF9lYXJseShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwo+ICAgdm9pZCBpbnRlbF9ndWNfaW5p dF9zZW5kX3JlZ3Moc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKPiArdm9pZCBpbnRlbF9ndWNfaW5p dF9wYXJhbXMoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKPiAgIGludCBpbnRlbF9ndWNfc2VuZF9u b3Aoc3RydWN0IGludGVsX2d1YyAqZ3VjLCBjb25zdCB1MzIgKmFjdGlvbiwgdTMyIGxlbik7Cj4g ICBpbnQgaW50ZWxfZ3VjX3NlbmRfbW1pbyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsIGNvbnN0IHUz MiAqYWN0aW9uLCB1MzIgbGVuKTsKPiAgIGludCBpbnRlbF9ndWNfc2FtcGxlX2ZvcmNld2FrZShz dHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9ndWNfbG9hZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9h ZGVyLmMKPiBpbmRleCAzMGI3MGY1Li5kOTA4OWJjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2d1Y19sb2FkZXIuYwo+IEBAIC03OSw4OSArNzksNiBAQCBNT0RVTEVfRklSTVdBUkUo STkxNV9LQkxfR1VDX1VDT0RFKTsKPiAgICNkZWZpbmUgSTkxNV9HTEtfR1VDX1VDT0RFIEdVQ19G V19QQVRIKGdsaywgR0xLX0ZXX01BSk9SLCBHTEtfRldfTUlOT1IpCj4gICAKPiAgIAo+IC1zdGF0 aWMgdTMyIGdldF9ndHR5cGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+IC17 Cj4gLQkvKiBYWFg6IEdUIHR5cGUgYmFzZWQgb24gUENJIGRldmljZSBJRD8gZmllbGQgc2VlbXMg dW51c2VkIGJ5IGZ3ICovCj4gLQlyZXR1cm4gMDsKPiAtfQo+IC0KPiAtc3RhdGljIHUzMiBnZXRf Y29yZV9mYW1pbHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+IC17Cj4gLQl1 MzIgZ2VuID0gSU5URUxfR0VOKGRldl9wcml2KTsKPiAtCj4gLQlzd2l0Y2ggKGdlbikgewo+IC0J Y2FzZSA5Ogo+IC0JCXJldHVybiBHVUNfQ09SRV9GQU1JTFlfR0VOOTsKPiAtCj4gLQlkZWZhdWx0 Ogo+IC0JCU1JU1NJTkdfQ0FTRShnZW4pOwo+IC0JCXJldHVybiBHVUNfQ09SRV9GQU1JTFlfVU5L Tk9XTjsKPiAtCX0KPiAtfQo+IC0KPiAtLyoKPiAtICogSW5pdGlhbGlzZSB0aGUgR3VDIHBhcmFt ZXRlciBibG9jayBiZWZvcmUgc3RhcnRpbmcgdGhlIGZpcm13YXJlCj4gLSAqIHRyYW5zZmVyLiBU aGVzZSBwYXJhbWV0ZXJzIGFyZSByZWFkIGJ5IHRoZSBmaXJtd2FyZSBvbiBzdGFydHVwCj4gLSAq IGFuZCBjYW5ub3QgYmUgY2hhbmdlZCB0aGVyZWFmdGVyLgo+IC0gKi8KPiAtc3RhdGljIHZvaWQg Z3VjX3BhcmFtc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAtewo+ IC0Jc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmRldl9wcml2LT5ndWM7Cj4gLQl1MzIgcGFyYW1z W0dVQ19DVExfTUFYX0RXT1JEU107Cj4gLQlpbnQgaTsKPiAtCj4gLQltZW1zZXQoJnBhcmFtcywg MCwgc2l6ZW9mKHBhcmFtcykpOwo+IC0KPiAtCXBhcmFtc1tHVUNfQ1RMX0RFVklDRV9JTkZPXSB8 PQo+IC0JCShnZXRfZ3R0eXBlKGRldl9wcml2KSA8PCBHVUNfQ1RMX0dUVFlQRV9TSElGVCkgfAo+ IC0JCShnZXRfY29yZV9mYW1pbHkoZGV2X3ByaXYpIDw8IEdVQ19DVExfQ09SRUZBTUlMWV9TSElG VCk7Cj4gLQo+IC0JLyoKPiAtCSAqIEd1QyBBUkFUIGluY3JlbWVudCBpcyAxMCBucy4gR3VDIGRl ZmF1bHQgc2NoZWR1bGVyIHF1YW50dW0gaXMgb25lCj4gLQkgKiBzZWNvbmQuIFRoaXMgQVJBUiBp cyBjYWxjdWxhdGVkIGJ5Ogo+IC0JICogU2NoZWR1bGVyLVF1YW50dW0taW4tbnMgLyBBUkFULWlu Y3JlbWVudC1pbi1ucyA9IDEwMDAwMDAwMDAgLyAxMAo+IC0JICovCj4gLQlwYXJhbXNbR1VDX0NU TF9BUkFUX0hJR0hdID0gMDsKPiAtCXBhcmFtc1tHVUNfQ1RMX0FSQVRfTE9XXSA9IDEwMDAwMDAw MDsKPiAtCj4gLQlwYXJhbXNbR1VDX0NUTF9XQV0gfD0gR1VDX0NUTF9XQV9VS19CWV9EUklWRVI7 Cj4gLQo+IC0JcGFyYW1zW0dVQ19DVExfRkVBVFVSRV0gfD0gR1VDX0NUTF9ESVNBQkxFX1NDSEVE VUxFUiB8Cj4gLQkJCUdVQ19DVExfVkNTMl9FTkFCTEVEOwo+IC0KPiAtCXBhcmFtc1tHVUNfQ1RM X0xPR19QQVJBTVNdID0gZ3VjLT5sb2cuZmxhZ3M7Cj4gLQo+IC0JaWYgKGk5MTVfbW9kcGFyYW1z Lmd1Y19sb2dfbGV2ZWwgPj0gMCkgewo+IC0JCXBhcmFtc1tHVUNfQ1RMX0RFQlVHXSA9Cj4gLQkJ CWk5MTVfbW9kcGFyYW1zLmd1Y19sb2dfbGV2ZWwgPDwgR1VDX0xPR19WRVJCT1NJVFlfU0hJRlQ7 Cj4gLQl9IGVsc2UKPiAtCQlwYXJhbXNbR1VDX0NUTF9ERUJVR10gPSBHVUNfTE9HX0RJU0FCTEVE Owo+IC0KPiAtCS8qIElmIEd1QyBzdWJtaXNzaW9uIGlzIGVuYWJsZWQsIHNldCB1cCBhZGRpdGlv bmFsIHBhcmFtZXRlcnMgaGVyZSAqLwo+IC0JaWYgKGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNf c3VibWlzc2lvbikgewo+IC0JCXUzMiBhZHMgPSBndWNfZ2d0dF9vZmZzZXQoZ3VjLT5hZHNfdm1h KSA+PiBQQUdFX1NISUZUOwo+IC0JCXUzMiBwZ3MgPSBndWNfZ2d0dF9vZmZzZXQoZGV2X3ByaXYt Pmd1Yy5zdGFnZV9kZXNjX3Bvb2wpOwo+IC0JCXUzMiBjdHhfaW5fMTYgPSBHVUNfTUFYX1NUQUdF X0RFU0NSSVBUT1JTIC8gMTY7Cj4gLQo+IC0JCXBhcmFtc1tHVUNfQ1RMX0RFQlVHXSB8PSBhZHMg PDwgR1VDX0FEU19BRERSX1NISUZUOwo+IC0JCXBhcmFtc1tHVUNfQ1RMX0RFQlVHXSB8PSBHVUNf QURTX0VOQUJMRUQ7Cj4gLQo+IC0JCXBncyA+Pj0gUEFHRV9TSElGVDsKPiAtCQlwYXJhbXNbR1VD X0NUTF9DVFhJTkZPXSA9IChwZ3MgPDwgR1VDX0NUTF9CQVNFX0FERFJfU0hJRlQpIHwKPiAtCQkJ KGN0eF9pbl8xNiA8PCBHVUNfQ1RMX0NUWE5VTV9JTjE2X1NISUZUKTsKPiAtCj4gLQkJcGFyYW1z W0dVQ19DVExfRkVBVFVSRV0gfD0gR1VDX0NUTF9LRVJORUxfU1VCTUlTU0lPTlM7Cj4gLQo+IC0J CS8qIFVubWFzayB0aGlzIGJpdCB0byBlbmFibGUgdGhlIEd1QydzIGludGVybmFsIHNjaGVkdWxl ciAqLwo+IC0JCXBhcmFtc1tHVUNfQ1RMX0ZFQVRVUkVdICY9IH5HVUNfQ1RMX0RJU0FCTEVfU0NI RURVTEVSOwo+IC0JfQo+IC0KPiAtCUk5MTVfV1JJVEUoU09GVF9TQ1JBVENIKDApLCAwKTsKPiAt Cj4gLQlmb3IgKGkgPSAwOyBpIDwgR1VDX0NUTF9NQVhfRFdPUkRTOyBpKyspCj4gLQkJSTkxNV9X UklURShTT0ZUX1NDUkFUQ0goMSArIGkpLCBwYXJhbXNbaV0pOwo+IC19Cj4gLQo+ICAgLyoKPiAg ICAqIFJlYWQgdGhlIEd1QyBzdGF0dXMgcmVnaXN0ZXIgKEdVQ19TVEFUVVMpIGFuZCBzdG9yZSBp dCBpbiB0aGUKPiAgICAqIHNwZWNpZmllZCBsb2NhdGlvbjsgdGhlbiByZXR1cm4gYSBib29sZWFu IGluZGljYXRpbmcgd2hldGhlcgo+IEBAIC0zMDEsOCArMjE4LDYgQEAgc3RhdGljIGludCBndWNf dWNvZGVfeGZlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gICAJCUk5MTVf V1JJVEUoR1VDX0FSQVRfQzZESVMsIDB4MUZGKTsKPiAgIAl9Cj4gICAKPiAtCWd1Y19wYXJhbXNf aW5pdChkZXZfcHJpdik7Cj4gLQo+ICAgCXJldCA9IGd1Y191Y29kZV94ZmVyX2RtYShkZXZfcHJp diwgdm1hKTsKPiAgIAo+ICAgCWludGVsX3VuY29yZV9mb3JjZXdha2VfcHV0KGRldl9wcml2LCBG T1JDRVdBS0VfQUxMKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf dWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmMKPiBpbmRleCA3YjkzOGU4Li41 M2ZkZDlhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5jCj4gQEAgLTE5NSw2ICsxOTUsNyBA QCBpbnQgaW50ZWxfdWNfaW5pdF9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Cj4gICAJCQlnb3RvIGVycl9zdWJtaXNzaW9uOwo+ICAgCj4gICAJCWludGVsX2h1Y19pbml0X2h3 KCZkZXZfcHJpdi0+aHVjKTsKPiArCQlpbnRlbF9ndWNfaW5pdF9wYXJhbXMoZ3VjKTsKCklzIHRo ZSB2YWx1ZSBvZiB0aGUgcmVnaXN0ZXJzIGxvc3QvY29ycnVwdGVkIG9uIGd1YyByZXNldD8gaWYg bm90IHdlIApjb3VsZCBqdXN0IG1vdmUgdGhpcyBvdXRzaWRlIHRoZSByZXRyeSBsb29wIHRvIGF2 b2lkIGRvaW5nIGl0IG1vcmUgdGhhbiAKb25jZS4KCkRhbmllbGUKCj4gICAJCXJldCA9IGludGVs X2d1Y19pbml0X2h3KCZkZXZfcHJpdi0+Z3VjKTsKPiAgIAkJaWYgKHJldCA9PSAwIHx8IHJldCAh PSAtRUFHQUlOKQo+ICAgCQkJYnJlYWs7Cj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=