From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 1/3] drm/i915/icl: Release TC ports when unloading or suspending driver Date: Thu, 29 Nov 2018 15:52:29 +0200 Message-ID: <20181129135229.GD3349@ideak-desk.fi.intel.com> References: <20181108000554.18678-1-jose.souza@intel.com> <20181128113423.GC3349@ideak-desk.fi.intel.com> <3e58c36a1a75edd4aaa48037d92d5c9750b86dd2.camel@intel.com> Reply-To: imre.deak@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 7A91D6E443 for ; Thu, 29 Nov 2018 13:52:32 +0000 (UTC) Content-Disposition: inline In-Reply-To: <3e58c36a1a75edd4aaa48037d92d5c9750b86dd2.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Souza, Jose" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBOb3YgMjgsIDIwMTggYXQgMTE6NTQ6MjFQTSArMDIwMCwgU291emEsIEpvc2Ugd3Jv dGU6Cj4gT24gV2VkLCAyMDE4LTExLTI4IGF0IDEzOjM0ICswMjAwLCBJbXJlIERlYWsgd3JvdGU6 Cj4gPiBPbiBXZWQsIE5vdiAwNywgMjAxOCBhdCAwNDowNTo1MlBNIC0wODAwLCBKb3PDqSBSb2Jl cnRvIGRlIFNvdXphCj4gPiB3cm90ZToKPiA+ID4gV2hlbiBzdXNwZW5kaW5nIG9yIHVubG9hZGlu ZyB0aGUgZHJpdmVyLCBpdCBuZWVkcyB0byByZWxlYXNlIHRoZQo+ID4gPiBUQyBwb3J0cyBzbyBI VyBjYW4gY2hhbmdlIGl0IHN0YXRlIHdpdGhvdXQgd2FpdCBmb3IgZHJpdmVyCj4gPiA+IGhhbmRz aGFrZS4KPiA+IAo+ID4gQWNjb3JkaW5nIHRvIAo+ID4gaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9w Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA4MDcwI2MyNgo+ID4gCj4gPiB0aGlzIHBhdGNoIHNob3Vs ZCBmaXggdGhlIGJ1ZyByZXBvcnRlZCBhdAo+ID4gaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9y Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA4MDcwI2MxNwo+ID4gCj4gPiBidXQsIEkgY2FuJ3Qgc2VlIGhv dyB0aGUgY2hhbmdlIGhlcmUgd291bGQgZml4IHRoZSBjb3JyZXNwb25kaW5nCj4gPiBwcm9ibGVt Cj4gPiBkZXNjcmliZWQgaW4KPiA+IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19i dWcuY2dpP2lkPTEwODA3MCNjMTgKPiA+IAo+ID4gV291bGQgeW91IGV4cGxhaW4/Cj4gPiAKPiA+ IEkgdGhpbmsgdGhlcmUgYXJlIG1vcmUgZnVuZGFtZW50YWwgcHJvYmxlbXMgaW4gVHlwZUMgSFBE IGhhbmRsaW5nIGFzCj4gPiB3ZQo+ID4gZGlzY3Vzc2VkIGVhcmxpZXIgaGVyZSBvbiB0aGUgbGlz dCwgd2hpY2ggc2hvdWxkIGJlIGZpeGVkIGZpcnN0Ogo+ID4gCj4gPiAtIFN3aXRjaGluZyB0by9m cm9tIHR5cGUgQyBtb2RlIGZyb20gdGhlIGludGVycnVwdCBoYW5kbGVyIHdpdGhvdXQKPiA+ICAg Y29uc2lkZXJpbmcgaWYgd2UgaGF2ZSBhbiBhY3RpdmUgbW9kZSBvciBhbiBvbmdvaW5nIEFVWCB0 cmFuc2Zlci4KPiAKPiBZZXMgdGhhdCBpcyBzdGlsbCBtaXNzaW5nLCBJIHBsYW4gdG8gd29yayBv biB0aGF0IGFmdGVyIEkgZGVsaXZlciBhIGZldwo+IHRhc2tzLiBBbHNvIEkgcmVhZCB0aGUgZW1h aWxzIGluIGRpc2N1c3Npb24gdGhhdCB5b3Ugc3RhcnRlZCBhYm91dAo+IHRoYXQuCgpUaGUgcG9p bnQgaXMgdGhhdCBpbW8gdGhvc2UgZnVuZGFtZW50YWwgcHJvYmxlbXMgc2hvdWxkIGJlIGZpeGVk IGZpcnN0LgoKPiAKPiA+IAo+ID4gLSBOb3QgaGF2aW5nIGFueSB3YXkgZm9yIGhhbmRsaW5nIHRo ZSBjYXNlIHdoZXJlIHdlJ2QgZG8gYSBtb2Rlc2V0Cj4gPiBhZnRlcgo+ID4gICBhbiBIUEQgZGlz Y29ubmVjdCBpbnRlcnJ1cHQsIGxpa2UgaW4gdGhlIGNhc2Ugb2YKPiA+ICAgY29tbW9uLWhwZC1h ZnRlci1zdXNwZW5kIGluIHRoZSBidWcgcmVwb3J0Lgo+IAo+IEZvciB3aGF0IEkgdW5kZXJzdG9v ZCBhYm91dCB0aGlzIHRlc3QgaXQgd2lsbCBzdXNwZW5kLCBkaXNjb25uZWN0Cj4gY2hhbWVsaXVt IGJvYXJkIGZyb20gc291cmNlLCB3YWtldXAgYW5kIGNoZWNrIGlmIGNvbm5lY3RvciBzdGF0ZSBt YXRjaCwKPiBhcyB3ZSBkaWQgbm90IG1hcmtlZCBwb3J0IGFzIHNhZmUgYmVmb3JlIHN1c3BlbmRp bmcgd2UgYXJlIGxlZnQgaW4gYQo+IGludmFsaWQgc3RhdGUgd2hlcmUgUEQgZmlybXdhcmUgZG8g bm90IHRyaWdnZXIgYSBpbnRlcnJ1cHRpb24gYWZ0ZXIKPiB3YWtldXAuCgpObywgaXQncyBub3Qg YWJvdXQgdGhlIGxhY2sgb2YgSFBEIGludGVycnVwdHMuIFdoYXQgaGFwcGVucyBpcyB0aGF0IHRo ZQpzaW5rIGRpc2FwcGVhcnMgZHVyaW5nIHN5c3RlbSBzdXNwZW5kL3Jlc3VtZSwgYnV0IHdlIHN0 aWxsIGhhdmUgYW4KYWN0aXZlIG1vZGUgZW5hYmxlZCBvbiB0aGUgY29ycmVzcG9uZGluZyBwb3J0 LiBXZSB0cnkgdG8gcmVzdG9yZSB0aGlzCm1vZGUgZHVyaW5nIHJlc3VtZSBidXQgdGhhdCBtb2Rl c2V0IHdpbGwgZmFpbC4KCj4gCj4gPiAKPiA+IE1vcmUgY29tbWVudHMgYmVsb3c6Cj4gPiAKPiA+ ID4gQ2M6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KPiA+ID4gQ2M6IFZpbGxlIFN5 cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiA+IFNpZ25lZC1vZmYt Ynk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29tPgo+ID4gPiAt LS0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICB8ICAxICsKPiA+ ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICB8ICAxICsKPiA+ID4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgICB8ICAxICsKPiA+ID4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICB8IDE5ICsrKysrKysrKysrKysrKysrKysKPiA+ ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAxICsKPiA+ID4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hvdHBsdWcuYyB8ICA5ICsrKysrKysrKwo+ID4gPiAg NiBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ID4gPiBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmMKPiA+ID4gaW5kZXggYWNiNTE2MzA4MjYyLi4xNDMzMWMzOTYyNzgg MTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiA+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ID4gPiBAQCAtMTkxMSw2ICsx OTExLDcgQEAgc3RhdGljIGludCBpOTE1X2RybV9zdXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNlCj4g PiA+ICpkZXYpCj4gPiA+ICAKPiA+ID4gIAlpbnRlbF9ydW50aW1lX3BtX2Rpc2FibGVfaW50ZXJy dXB0cyhkZXZfcHJpdik7Cj4gPiA+ICAJaW50ZWxfaHBkX2NhbmNlbF93b3JrKGRldl9wcml2KTsK PiA+ID4gKwlpbnRlbF9ocGRfc3VzcGVuZChkZXZfcHJpdik7Cj4gPiAKPiA+IFdoYXQgYWJvdXQg cnVudGltZSBzdXNwZW5kPyBXZSB3b24ndCByZWNlaXZlIEhQRCBpbnRlcnJ1cHRzIGFmdGVyCj4g PiB0aGF0Cj4gPiBlaXRoZXIsIHNvIHdlJ2QgbmVlZCB0byBkaXNjb25uZWN0IGluIHRoYXQgY2Fz ZSB0b28gYWNjb3JkaW5nIHRvIHRoZQo+ID4gc3BlYy4KPiAKPiBPaCBteSBiYWQgSSB3YXMgdGhp bmtpbmcgdGhhdCB0aGUgcmVndWxhciBzdXNwZW5kIHdvdWxkIGhhbmRsZSB0aGlzIHRvbwo+IGJ1 dCBJIHdhcyB3cm9uZy4KPiAKPiBTbyBJIHdpbGwgYWRkIGEgaW50ZWxfaHBkX3N1c3BlbmQoKSBj YWxsIHRvIGludGVsX3J1bnRpbWVfc3VzcGVuZCgpCj4gbGVhdmluZyB0aGUgaTkxNV9kcnYuYyBj aGFuZ2VzIGFzIHRoaXMuCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiBpbmRleCBiMWQy M2M3M2MxNDcuLjk0ODkxNGE3OWM2NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+IEBA IC0xOTA1LDYgKzE5MDUsNyBAQCBzdGF0aWMgaW50IGk5MTVfZHJtX3N1c3BlbmQoc3RydWN0IGRy bV9kZXZpY2UKPiAqZGV2KQo+IAo+ICAgICAgICAgaW50ZWxfcnVudGltZV9wbV9kaXNhYmxlX2lu dGVycnVwdHMoZGV2X3ByaXYpOwo+ICAgICAgICAgaW50ZWxfaHBkX2NhbmNlbF93b3JrKGRldl9w cml2KTsKPiArICAgICAgIGludGVsX2hwZF9zdXNwZW5kKGRldl9wcml2KTsKPiAKPiAgICAgICAg IGludGVsX3N1c3BlbmRfZW5jb2RlcnMoZGV2X3ByaXYpOwo+IAo+IEBAIC0yOTA5LDYgKzI5MTAs NyBAQCBzdGF0aWMgaW50IGludGVsX3J1bnRpbWVfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlCj4gKmtk ZXYpCj4gICAgICAgICBpbnRlbF91Y19zdXNwZW5kKGRldl9wcml2KTsKPiAKPiAgICAgICAgIGlu dGVsX3J1bnRpbWVfcG1fZGlzYWJsZV9pbnRlcnJ1cHRzKGRldl9wcml2KTsKPiArICAgICAgIGlu dGVsX2hwZF9zdXNwZW5kKGRldl9wcml2KTsKPiAKPiAgICAgICAgIGludGVsX3VuY29yZV9zdXNw ZW5kKGRldl9wcml2KTsKPiAKPiBBbHNvIEkgd2lsbCBkcm9wIHRoZSBuZXh0IHBhdGNoIGFzIHdl IGRvbid0IGNhbGwKPiBpbnRlbF9ocGRfY2FuY2VsX3dvcmsoKSBpbiBpbnRlbF9ydW50aW1lX3N1 c3BlbmQoKSBwYXRoLgo+IAo+IAo+ID4gCj4gPiBBbmQgaG93IGFyZSB3ZSBoYW5kbGluZyByZXN1 bWUgdGhlbiB3aGVyZSB3ZSdsbCBiZSBpbiBhIGRpc2Nvbm5lY3RlZAo+ID4gc3RhdGUgZHVlIHRv IHRoZSBjaGFuZ2UgaW4gdGhpcyBwYXRjaCBhbmQgd291bGQgY29udGludWUgdG8gZG8gYQo+ID4g bW9kZXNldCAodG8gcmVzdG9yZSB0aGUgbW9kZSB3ZSBoYWQgYmVmb3JlIHN1c3BlbmQpLgo+IAo+ IFRoZSBkcm1fa21zX2hlbHBlcl9wb2xsX2VuYWJsZSgpIGNhbGxzIHdpbGwgdHJpZ2dlciB0aGUg Y2FsbCB0byB0aGUKPiBkZXRlY3Rpb24gZnVuY3Rpb24gb2YgdGhlIGNvbm5lY3RvcnMgdGhhdCB3 aWxsIGNhbGwKPiBpbnRlbF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKCkgdGhhbCB3aWxsIGNhbGwg SUNMIFRDIGZ1bmN0aW9ucyB0aGF0Cj4gd2lsbCB0YWtlIGNhcmUgb2YgdXBkYXRlIGV2ZXJ5dGhp bmcuCgpObyBkZXRlY3Rpb24gd2lsbCBiZSB0cmlnZ2VyZWQsIHNpbmNlIHdlJ3JlIG5vdCBwb2xs aW5nIHRoaXMgcG9ydCAoYW5kCnBvbGxpbmcgY2FuIGJlIGRpc2FibGVkIGFzIGEgd2hvbGUpLiBJ biBhbnkgY2FzZSB0aGF0IHdvdWxkIGJlIHRvbyBsYXRlLApzaW5jZSB3ZSdyZSB0cnlpbmcgdG8g cmVzdG9yZSB0aGUgbW9kZSBiZWZvcmUgd2UgY2FsbApkcm1fa21zX2hlbHBlcl9wb2xsX2VuYWJs ZSgpLiAgQWxzbyBkb2luZyBhIGRldGVjdGlvbiBpcyBub3QgZW5vdWdoCmhlcmUsIHNpbmNlIGlm IGRldGVjdGlvbiBmYWlscyAoYXMgaXQgd291bGQgaW4gb3VyIGNhc2UpIHdlIHN0aWxsIGhhdmUg YQptb2RlIHRoYXQgd2UgbmVlZCB0byByZXN0b3JlLiBUaGUgY29ycmVzcG9uZGluZyBtb2Rlc2V0 IHdvdWxkIGZhaWwsIGJ1dAp3ZSBkb24ndCBoYXZlIGEgd2F5IHRvIGZhaWwgaXQgZ3JhY2VmdWxs eSBhcyBJIHdyb3RlIGFib3ZlLgoKPiAKPiA+IAo+ID4gPiAgCj4gPiA+ICAJaW50ZWxfc3VzcGVu ZF9lbmNvZGVycyhkZXZfcHJpdik7Cj4gPiA+ICAKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCj4gPiA+IGluZGV4IDBjODQzOGRlM2MxYi4uOTZkNWRkYzM2ZjRlIDEwMDY0NAo+ID4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+ID4gQEAgLTI3OTIsNiArMjc5Miw3IEBAIGVu dW0gaHBkX3BpbiBpbnRlbF9ocGRfcGluX2RlZmF1bHQoc3RydWN0Cj4gPiA+IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAo+ID4gPiAgCQkJCSAgIGVudW0gcG9ydCBwb3J0KTsKPiA+ID4gIGJv b2wgaW50ZWxfaHBkX2Rpc2FibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBl bnVtCj4gPiA+IGhwZF9waW4gcGluKTsKPiA+ID4gIHZvaWQgaW50ZWxfaHBkX2VuYWJsZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0KPiA+ID4gaHBkX3BpbiBwaW4pOwo+ ID4gPiArdm9pZCBpbnRlbF9ocGRfc3VzcGVuZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpOwo+ID4gPiAgCj4gPiA+ICAvKiBpOTE1X2lycS5jICovCj4gPiA+ICBzdGF0aWMgaW5s aW5lIHZvaWQgaTkxNV9xdWV1ZV9oYW5nY2hlY2soc3RydWN0IGRybV9pOTE1X3ByaXZhdGUKPiA+ ID4gKmRldl9wcml2KQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9pcnEuYwo+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiA+ID4gaW5k ZXggZDdlNDdkNjA4MmRlLi4yMzA4NGQyMjdlMmEgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9pcnEuYwo+ID4gPiBAQCAtNDk5Niw2ICs0OTk2LDcgQEAgdm9pZCBpbnRlbF9pcnFfdW5p bnN0YWxsKHN0cnVjdAo+ID4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ID4gIHsK PiA+ID4gIAlkcm1faXJxX3VuaW5zdGFsbCgmZGV2X3ByaXYtPmRybSk7Cj4gPiA+ICAJaW50ZWxf aHBkX2NhbmNlbF93b3JrKGRldl9wcml2KTsKPiA+ID4gKwlpbnRlbF9ocGRfc3VzcGVuZChkZXZf cHJpdik7Cj4gPiA+ICAJZGV2X3ByaXYtPnJ1bnRpbWVfcG0uaXJxc19lbmFibGVkID0gZmFsc2U7 Cj4gPiA+ICB9Cj4gPiA+ICAKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMKPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiA+ IGluZGV4IDUyNThjOWQ2NTRmNC4uMjdjNjE2MzQyNmQ2IDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMKPiA+ID4gQEAgLTUwNDMsNiArNTA0MywyNSBAQCBib29sIGludGVsX2Rp Z2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0Cj4gPiA+IGludGVsX2VuY29kZXIgKmVuY29kZXIp Cj4gPiA+ICAJcmV0dXJuIGZhbHNlOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+ICsvKgo+ID4gPiAr ICogaW50ZWxfZGlnaXRhbF9wb3J0X2ZvcmNlX2Rpc2Nvbm5lY3Rpb24gLSBVc2VkIHRvIGZvcmNl IHBvcnQKPiA+ID4gZGlzY29ubmVjdGlvbiBvcgo+ID4gPiArICogcmVsZWFzZSBhbnkgY29udHJv bCBmcm9tIGRpc3BsYXkgZHJpdmVyIGJlZm9yZSBnb2luZyB0byBhIHN0YXRlCj4gPiA+IHRoYXQg ZHJpdmVyCj4gPiA+ICsgKiB3aWxsIG5vdCBoYW5kbGUgaW50ZXJydXB0aW9ucy4KPiA+ID4gKyAq Lwo+ID4gPiArdm9pZCBpbnRlbF9kaWdpdGFsX3BvcnRfZm9yY2VfZGlzY29ubmVjdGlvbihzdHJ1 Y3QgaW50ZWxfZW5jb2Rlcgo+ID4gPiAqZW5jb2RlcikKPiA+ID4gK3sKPiA+ID4gKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsK PiA+ID4gKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydDsKPiA+ID4gKwo+ID4g PiArCWRpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKPiA+ID4gKwkv KiBTa2lwIGZha2UgTVNUIHBvcnRzICovCj4gPiA+ICsJaWYgKCFkaWdfcG9ydCkKPiA+ID4gKwkJ cmV0dXJuOwo+ID4gPiArCj4gPiA+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEpCj4g PiA+ICsJCWljbF90Y19waHlfZGlzY29ubmVjdChkZXZfcHJpdiwgZGlnX3BvcnQpOwo+ID4gPiAr fQo+ID4gPiArCj4gPiA+ICBzdGF0aWMgc3RydWN0IGVkaWQgKgo+ID4gPiAgaW50ZWxfZHBfZ2V0 X2VkaWQoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+ID4gIHsKPiA+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+IGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gaW5kZXggNjc3MmU5OTc0NzUxLi5iYzMwZjEwN2I0 MzAgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4g PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+IEBAIC0xODUx LDYgKzE4NTEsNyBAQCBib29sIGludGVsX2RwX3JlYWRfZHBjZChzdHJ1Y3QgaW50ZWxfZHAKPiA+ ID4gKmludGVsX2RwKTsKPiA+ID4gIGludCBpbnRlbF9kcF9saW5rX3JlcXVpcmVkKGludCBwaXhl bF9jbG9jaywgaW50IGJwcCk7Cj4gPiA+ICBpbnQgaW50ZWxfZHBfbWF4X2RhdGFfcmF0ZShpbnQg bWF4X2xpbmtfY2xvY2ssIGludCBtYXhfbGFuZXMpOwo+ID4gPiAgYm9vbCBpbnRlbF9kaWdpdGFs X3BvcnRfY29ubmVjdGVkKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKTsKPiA+ID4gK3Zv aWQgaW50ZWxfZGlnaXRhbF9wb3J0X2ZvcmNlX2Rpc2Nvbm5lY3Rpb24oc3RydWN0IGludGVsX2Vu Y29kZXIKPiA+ID4gKmVuY29kZXIpOwo+ID4gPiAgCj4gPiA+ICAvKiBpbnRlbF9kcF9hdXhfYmFj a2xpZ2h0LmMgKi8KPiA+ID4gIGludCBpbnRlbF9kcF9hdXhfaW5pdF9iYWNrbGlnaHRfZnVuY3Mo c3RydWN0IGludGVsX2Nvbm5lY3Rvcgo+ID4gPiAqaW50ZWxfY29ubmVjdG9yKTsKPiA+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hvdHBsdWcuYwo+ID4gPiBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hvdHBsdWcuYwo+ID4gPiBpbmRleCA0MmU2MWUxMGY1 MTcuLmQ2NzQ1YjdiNzlkNSAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfaG90cGx1Zy5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hv dHBsdWcuYwo+ID4gPiBAQCAtNjU1LDMgKzY1NSwxMiBAQCB2b2lkIGludGVsX2hwZF9lbmFibGUo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUKPiA+ID4gKmRldl9wcml2LCBlbnVtIGhwZF9waW4gcGlu KQo+ID4gPiAgCWRldl9wcml2LT5ob3RwbHVnLnN0YXRzW3Bpbl0uc3RhdGUgPSBIUERfRU5BQkxF RDsKPiA+ID4gIAlzcGluX3VubG9ja19pcnEoJmRldl9wcml2LT5pcnFfbG9jayk7Cj4gPiA+ICB9 Cj4gPiA+ICsKPiA+ID4gK3ZvaWQgaW50ZWxfaHBkX3N1c3BlbmQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQo+ID4gPiArewo+ID4gPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSAmZGV2X3ByaXYtPmRybTsKPiA+ID4gKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsK PiA+ID4gKwo+ID4gPiArCWZvcl9lYWNoX2ludGVsX2VuY29kZXIoZGV2LCBlbmNvZGVyKQo+ID4g PiArCQlpbnRlbF9kaWdpdGFsX3BvcnRfZm9yY2VfZGlzY29ubmVjdGlvbihlbmNvZGVyKTsKPiA+ ID4gK30KPiA+ID4gLS0gCj4gPiA+IDIuMTkuMQo+ID4gPiAKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK