From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH] drm/i915: get runtime PM reference around GEM set_caching IOCTL Date: Fri, 06 Nov 2015 01:24:39 +0200 Message-ID: <1446765879.4015.18.camel@intel.com> References: <1446665132-22491-1-git-send-email-imre.deak@intel.com> <20151104205741.GA3478@nuc-i3427.alporthouse.com> <1446722912.26194.14.camel@intel.com> <20151105115628.GZ669@nuc-i3427.alporthouse.com> <1446764255.4015.12.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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 4656F6E19A for ; Thu, 5 Nov 2015 15:24:48 -0800 (PST) In-Reply-To: <1446764255.4015.12.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: Chris Wilson Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAyMDE1LTExLTA2IGF0IDAwOjU3ICswMjAwLCBJbXJlIERlYWsgd3JvdGU6Cj4gT24g VGh1LCAyMDE1LTExLTA1IGF0IDExOjU2ICswMDAwLCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gPiBP biBUaHUsIE5vdiAwNSwgMjAxNSBhdCAwMToyODozMlBNICswMjAwLCBJbXJlIERlYWsgd3JvdGU6 Cj4gPiA+IE9uIGtlLCAyMDE1LTExLTA0IGF0IDIwOjU3ICswMDAwLCBDaHJpcyBXaWxzb24gd3Jv dGU6Cj4gPiA+ID4gT24gV2VkLCBOb3YgMDQsIDIwMTUgYXQgMDk6MjU6MzJQTSArMDIwMCwgSW1y ZSBEZWFrIHdyb3RlOgo+ID4gPiA+ID4gQWZ0ZXIgRGFtaWVuJ3MgRDMgZml4IEkgc3RhcnRlZCB0 byBnZXQgcnVudGltZSBzdXNwZW5kIHJlc2lkZW5jeSBmb3IgdGhlCj4gPiA+ID4gPiBmaXJzdCB0 aW1lIGFuZCB0aGF0IHJldmVhbGVkIGEgYnJlYWthZ2Ugb24gdGhlIHNldF9jYWNoaW5nIElPQ1RM IHBhdGgKPiA+ID4gPiA+IHRoYXQgYWNjZXNzZXMgdGhlIEhXIGJ1dCBkb2Vzbid0IHRha2UgYW4g UlBNIHJlZi4gRml4IHRoaXMgdXAuCj4gPiA+ID4gCj4gPiA+ID4gV2h5IGhlcmUgKGFuZCBpbiBz byBtYW55IHJhbmRvbSBwbGFjZXMpIGFuZCBub3QgYXJvdW5kIHRoZSBQVEUgd3JpdGUKPiA+ID4g PiBpdHNlbGY/Cj4gPiA+IAo+ID4gPiBJbW8gd2Ugc2hvdWxkIHRha2UgdGhlIFJQTSByZWYgb3V0 c2lkZSBvZiBhbnkgb2Ygb3VyIGxvY2tzLiBPdGhlcndpc2Ugd2UKPiA+ID4gbmVlZCBoYWNrcyBs aWtlIHdlIGhhdmUgY3VycmVudGx5IGluIHRoZSBydW50aW1lIHN1c3BlbmQgaGFuZGxlciB0byB3 b3JrCj4gPiA+IGFyb3VuZCBsb2NrIGludmVyc2lvbnMuIEl0IHdvcmtzIG5vdywgYnV0IHdlIGNv dWxkbid0IGRvIHRoZSBzYW1lIHRyaWNrCj4gPiA+IGlmIHdlIG5lZWRlZCB0byB0YWtlIHN0cnVj dF9tdXRleCBmb3IgZXhhbXBsZSBpbiB0aGUgcmVzdW1lIGhhbmRsZXIgdG9vCj4gPiA+IGZvciBz b21lIHJlYXNvbi4KPiA+IAo+ID4gT24gdGhlIG90aGVyIGhhbmQsIGl0IGxlYWRzIHRvIGhhcmQg dG8gdHJhY2sgZG93biBidWdzIGFuZCBpbXByb3Blcgo+ID4gZG9jdW1lbnRhdGlvbi4gTmVpdGhl ciBzb2x1dGlvbiBpcyBwZXJmZWN0Lgo+IAo+IEkgdGhpbmsgSSB1bmRlcnN0YW5kIHRoZSBkb2N1 bWVudGF0aW9uIHBhcnQsIG5vdCBzdXJlIGhvdyB0aGF0IGNvdWxkIGJlCj4gc29sdmVkLiBQZXJo YXBzIFJQTS1oZWxkIGFzc2VydHMgcmlnaHQgYmVmb3JlIHRoZSBwb2ludCB3aGVyZSB0aGUgSFcK PiBuZWVkcyB0byBiZSBvbj8KPiAKPiBXaGF0IGRvIHlvdSBtZWFuIGJ5IGhhcmQgdG8gdHJhY2sg ZG93biBidWdzPyBDb3VsZG4ndCB0aGF0IGFsc28gYmUKPiB0YWNrbGVkIGJ5IGFzc2VydHM/Cj4g Cj4gPiBOb3RlIHNpbmNlIGludGVsX3J1bnRpbWVfc3VzcGVuZCBoYXMgYW1wbGUgYmFycmllcnMg b2YgaXRzIG93biwgeW91IGNhbgo+ID4gYXZvaWQgdGhlIHN0cnVjdF9tdXRleCBpZiB5b3UgaGF2 ZSBhIGRlZGljYXRlZCBkZXZfcHJpdi0+bW0uZmF1bHRfbGlzdC4KPiA+IAo+ID4gU29tZXRoaW5n IGFsb25nIHRoZSBsaW5lcyBvZjoKPiAKPiBPaywgbG9va3MgaW50ZXJlc3RpbmcuIEJ1dCBhcyB5 b3Ugc2FpZCB3ZSB3b3VsZCBoYXZlIHRvIHRoZW4gbWFrZQo+IGNhbGxlcnMgb2YgaTkxNV9nZW1f cmVsZWFzZV9tbWFwKCkgd2FrZSB1cCB0aGUgZGV2aWNlLCB3aGljaCBpc24ndAo+IHN0cmljdGx5 IG5lY2Vzc2FyeS4gKGFuZCBpbW8gYXMgc3VjaCBnb2VzIHNvbWV3aGF0IGFnYWluc3QgdGhlCj4g ZG9jdW1lbnRhdGlvbiBhcmd1bWVudCkKCkFjdHVhbGx5LCB3ZSBjb3VsZCBhbHNvIHVzZSBwbV9y dW50aW1lX2dldF9ub3Jlc3VtZSgpLiBCdXQgSSBmaW5kIHRoaXMKd291bGQganVzdCBjb21wbGlj YXRlIHRoaW5ncyB3aXRob3V0IGEgcmVhbCBiZW5lZml0LgoKPiAtLUltcmUKPiAKPiAKPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gPiBpbmRleCA4NjczNGJlLi5mZTkxY2U1IDEw MDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gPiBAQCAtMTgwLDExICsx ODAsMTEgQEAgZGVzY3JpYmVfb2JqKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaikKPiA+ICAgICAgICAgfQo+ID4gICAgICAgICBpZiAob2JqLT5zdG9s ZW4pCj4gPiAgICAgICAgICAgICAgICAgc2VxX3ByaW50ZihtLCAiIChzdG9sZW46ICUwOGxseCki LCBvYmotPnN0b2xlbi0+c3RhcnQpOwo+ID4gLSAgICAgICBpZiAob2JqLT5waW5fZGlzcGxheSB8 fCBvYmotPmZhdWx0X21hcHBhYmxlKSB7Cj4gPiArICAgICAgIGlmIChvYmotPnBpbl9kaXNwbGF5 IHx8ICFsaXN0X2VtcHR5KCZvYmotPmZhdWx0X2xpbmspKSB7Cj4gPiAgICAgICAgICAgICAgICAg Y2hhciBzWzNdLCAqdCA9IHM7Cj4gPiAgICAgICAgICAgICAgICAgaWYgKG9iai0+cGluX2Rpc3Bs YXkpCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAqdCsrID0gJ3AnOwo+ID4gLSAgICAgICAg ICAgICAgIGlmIChvYmotPmZhdWx0X21hcHBhYmxlKQo+ID4gKyAgICAgICAgICAgICAgIGlmICgh bGlzdF9lbXB0eSgmb2JqLT5mYXVsdF9saW5rKSkKPiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICp0KysgPSAnZic7Cj4gPiAgICAgICAgICAgICAgICAgKnQgPSAnXDAnOwo+ID4gICAgICAgICAg ICAgICAgIHNlcV9wcmludGYobSwgIiAoJXMgbWFwcGFibGUpIiwgcyk7Cj4gPiBAQCAtNDc0LDcg KzQ3NCw3IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2luZm8oc3RydWN0IHNlcV9maWxl ICptLCB2b2lkKiBkYXRhKQo+ID4gIAo+ID4gICAgICAgICBzaXplID0gY291bnQgPSBtYXBwYWJs ZV9zaXplID0gbWFwcGFibGVfY291bnQgPSAwOwo+ID4gICAgICAgICBsaXN0X2Zvcl9lYWNoX2Vu dHJ5KG9iaiwgJmRldl9wcml2LT5tbS5ib3VuZF9saXN0LCBnbG9iYWxfbGlzdCkgewo+ID4gLSAg ICAgICAgICAgICAgIGlmIChvYmotPmZhdWx0X21hcHBhYmxlKSB7Cj4gPiArICAgICAgICAgICAg ICAgaWYgKCFsaXN0X2VtcHR5KCZvYmotPmZhdWx0X2xpbmspKSB7Cj4gPiAgICAgICAgICAgICAg ICAgICAgICAgICBzaXplICs9IGk5MTVfZ2VtX29ial9nZ3R0X3NpemUob2JqKTsKPiA+ICAgICAg ICAgICAgICAgICAgICAgICAgICsrY291bnQ7Cj4gPiAgICAgICAgICAgICAgICAgfQo+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5jCj4gPiBpbmRleCAxZDg4NzQ1Li4xNzk1OTRlIDEwMDY0NAo+ID4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ID4gQEAgLTE0NDcsMjggKzE0NDcsMTAgQEAgc3RhdGlj IGludCBpbnRlbF9ydW50aW1lX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2aWNlKQo+ID4gICAg ICAgICBEUk1fREVCVUdfS01TKCJTdXNwZW5kaW5nIGRldmljZVxuIik7Cj4gPiAgCj4gPiAgICAg ICAgIC8qCj4gPiAtICAgICAgICAqIFdlIGNvdWxkIGRlYWRsb2NrIGhlcmUgaW4gY2FzZSBhbm90 aGVyIHRocmVhZCBob2xkaW5nIHN0cnVjdF9tdXRleAo+ID4gLSAgICAgICAgKiBjYWxscyBSUE0g c3VzcGVuZCBjb25jdXJyZW50bHksIHNpbmNlIHRoZSBSUE0gc3VzcGVuZCB3aWxsIHdhaXQKPiA+ IC0gICAgICAgICogZmlyc3QgZm9yIHRoaXMgUlBNIHN1c3BlbmQgdG8gZmluaXNoLiBJbiB0aGlz IGNhc2UgdGhlIGNvbmN1cnJlbnQKPiA+IC0gICAgICAgICogUlBNIHJlc3VtZSB3aWxsIGJlIGZv bGxvd2VkIGJ5IGl0cyBSUE0gc3VzcGVuZCBjb3VudGVycGFydC4gU3RpbGwKPiA+IC0gICAgICAg ICogZm9yIGNvbnNpc3RlbmN5IHJldHVybiAtRUFHQUlOLCB3aGljaCB3aWxsIHJlc2NoZWR1bGUg dGhpcyBzdXNwZW5kLgo+ID4gLSAgICAgICAgKi8KPiA+IC0gICAgICAgaWYgKCFtdXRleF90cnls b2NrKCZkZXYtPnN0cnVjdF9tdXRleCkpIHsKPiA+IC0gICAgICAgICAgICAgICBEUk1fREVCVUdf S01TKCJkZXZpY2UgbG9jayBjb250ZW50aW9uLCBkZWZmZXJpbmcgc3VzcGVuZFxuIik7Cj4gPiAt ICAgICAgICAgICAgICAgLyoKPiA+IC0gICAgICAgICAgICAgICAgKiBCdW1wIHRoZSBleHBpcmF0 aW9uIHRpbWVzdGFtcCwgb3RoZXJ3aXNlIHRoZSBzdXNwZW5kIHdvbid0Cj4gPiAtICAgICAgICAg ICAgICAgICogYmUgcmVzY2hlZHVsZWQuCj4gPiAtICAgICAgICAgICAgICAgICovCj4gPiAtICAg ICAgICAgICAgICAgcG1fcnVudGltZV9tYXJrX2xhc3RfYnVzeShkZXZpY2UpOwo+ID4gLQo+ID4g LSAgICAgICAgICAgICAgIHJldHVybiAtRUFHQUlOOwo+ID4gLSAgICAgICB9Cj4gPiAtICAgICAg IC8qCj4gPiAgICAgICAgICAqIFdlIGFyZSBzYWZlIGhlcmUgYWdhaW5zdCByZS1mYXVsdHMsIHNp bmNlIHRoZSBmYXVsdCBoYW5kbGVyIHRha2VzCj4gPiAgICAgICAgICAqIGFuIFJQTSByZWZlcmVu Y2UuCj4gPiAgICAgICAgICAqLwo+ID4gICAgICAgICBpOTE1X2dlbV9yZWxlYXNlX2FsbF9tbWFw cyhkZXZfcHJpdik7Cj4gPiAtICAgICAgIG11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgp Owo+ID4gIAo+ID4gICAgICAgICBpbnRlbF9zdXNwZW5kX2d0X3Bvd2Vyc2F2ZShkZXYpOwo+ID4g ICAgICAgICBpbnRlbF9ydW50aW1lX3BtX2Rpc2FibGVfaW50ZXJydXB0cyhkZXZfcHJpdik7Cj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+IGluZGV4IDU1NjExZDguLjVlNDkwNGEgMTAwNjQ0 Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiBAQCAtMTI2OCw2ICsxMjY4LDggQEAgc3Ry dWN0IGk5MTVfZ2VtX21tIHsKPiA+ICAgICAgICAgICovCj4gPiAgICAgICAgIHN0cnVjdCBsaXN0 X2hlYWQgdW5ib3VuZF9saXN0Owo+ID4gIAo+ID4gKyAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkIGZh dWx0X2xpc3Q7Cj4gPiArCj4gPiAgICAgICAgIC8qKiBVc2FibGUgcG9ydGlvbiBvZiB0aGUgR1RU IGZvciBHRU0gKi8KPiA+ICAgICAgICAgdW5zaWduZWQgbG9uZyBzdG9sZW5fYmFzZTsgLyogbGlt aXRlZCB0byBsb3cgbWVtb3J5ICgzMi1iaXQpICovCj4gPiAgCj4gPiBAQCAtMjAyNSw2ICsyMDI3 LDggQEAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qgewo+ID4gIAo+ID4gICAgICAgICBzdHJ1 Y3QgbGlzdF9oZWFkIGJhdGNoX3Bvb2xfbGluazsKPiA+ICAKPiA+ICsgICAgICAgc3RydWN0IGxp c3RfaGVhZCBmYXVsdF9saW5rOwo+ID4gKwo+ID4gICAgICAgICAvKioKPiA+ICAgICAgICAgICog VGhpcyBpcyBzZXQgaWYgdGhlIG9iamVjdCBpcyBvbiB0aGUgYWN0aXZlIGxpc3RzIChoYXMgcGVu ZGluZwo+ID4gICAgICAgICAgKiByZW5kZXJpbmcgYW5kIHNvIGEgbm9uLXplcm8gc2Vxbm8pLCBh bmQgaXMgbm90IHNldCBpZiBpdCBpIHMgb24KPiA+IEBAIC0yMDY5LDEzICsyMDczLDYgQEAgc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3Qgewo+ID4gICAgICAgICAgKi8KPiA+ICAgICAgICAgdW5z aWduZWQgaW50IG1hcF9hbmRfZmVuY2VhYmxlOjE7Cj4gPiAgCj4gPiAtICAgICAgIC8qKgo+ID4g LSAgICAgICAgKiBXaGV0aGVyIHRoZSBjdXJyZW50IGd0dCBtYXBwaW5nIG5lZWRzIHRvIGJlIG1h cHBhYmxlIChhbmQgaXNuJ3QganVzdAo+ID4gLSAgICAgICAgKiBtYXBwYWJsZSBieSBhY2NpZGVu dCkuIFRyYWNrIHBpbiBhbmQgZmF1bHQgc2VwYXJhdGUgZm9yIGEgbW9yZQo+ID4gLSAgICAgICAg KiBhY2N1cmF0ZSBtYXBwYWJsZSB3b3JraW5nIHNldC4KPiA+IC0gICAgICAgICovCj4gPiAtICAg ICAgIHVuc2lnbmVkIGludCBmYXVsdF9tYXBwYWJsZToxOwo+ID4gLQo+ID4gICAgICAgICAvKgo+ ID4gICAgICAgICAgKiBJcyB0aGUgb2JqZWN0IHRvIGJlIG1hcHBlZCBhcyByZWFkLW9ubHkgdG8g dGhlIEdQVQo+ID4gICAgICAgICAgKiBPbmx5IGhvbm91cmVkIGlmIGhhcmR3YXJlIGhhcyByZWxl dmFudCBwdGUgYml0Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiA+IGluZGV4IDQwN2I2YjMu LmE5MGQxZDggMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j Cj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gPiBAQCAtMTgxNCw5 ICsxODE0LDEwIEBAIGludCBpOTE1X2dlbV9mYXVsdChzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZt YSwgc3RydWN0IHZtX2ZhdWx0ICp2bWYpCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJyZWFrOwo+ID4gICAgICAgICAgICAgICAgIH0KPiA+ICAKPiA+IC0gICAgICAgICAgICAg ICBvYmotPmZhdWx0X21hcHBhYmxlID0gdHJ1ZTsKPiA+ICsgICAgICAgICAgICAgICBpZiAobGlz dF9lbXB0eSgmb2JqLT5mYXVsdF9saW5rKSkKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGxp c3RfYWRkKCZvYmotPmZhdWx0X2xpbmssICZkZXZfcHJpdi0+bW0uZmF1bHRfbGlzdCk7Cj4gPiAg ICAgICAgIH0gZWxzZSB7Cj4gPiAtICAgICAgICAgICAgICAgaWYgKCFvYmotPmZhdWx0X21hcHBh YmxlKSB7Cj4gPiArICAgICAgICAgICAgICAgaWYgKGxpc3RfZW1wdHkoJm9iai0+ZmF1bHRfbGlu aykpIHsKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSA9IG1p bl90KHVuc2lnbmVkIGxvbmcsCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB2bWEtPnZtX2VuZCAtIHZtYS0+dm1fc3RhcnQsCj4gPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmotPmJhc2Uuc2l6 ZSk7Cj4gPiBAQCAtMTgzMCw3ICsxODMxLDcgQEAgaW50IGk5MTVfZ2VtX2ZhdWx0KHN0cnVjdCB2 bV9hcmVhX3N0cnVjdCAqdm1hLCBzdHJ1Y3Qgdm1fZmF1bHQgKnZtZikKPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgIH0KPiA+ICAKPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIG9iai0+ZmF1bHRfbWFw cGFibGUgPSB0cnVlOwo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgbGlzdF9hZGQoJm9iai0+ ZmF1bHRfbGluaywgJmRldl9wcml2LT5tbS5mYXVsdF9saXN0KTsKPiA+ICAgICAgICAgICAgICAg ICB9IGVsc2UKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IHZtX2luc2VydF9wZm4o dm1hLAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodW5z aWduZWQgbG9uZyl2bWYtPnZpcnR1YWxfYWRkcmVzcywKPiA+IEBAIC0xOTAzLDIwICsxOTA0LDIw IEBAIG91dDoKPiA+ICB2b2lkCj4gPiAgaTkxNV9nZW1fcmVsZWFzZV9tbWFwKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gPiAgewo+ID4gLSAgICAgICBpZiAoIW9iai0+ZmF1bHRf bWFwcGFibGUpCj4gPiArICAgICAgIGlmIChsaXN0X2VtcHR5KCZvYmotPmZhdWx0X2xpbmspKQo+ ID4gICAgICAgICAgICAgICAgIHJldHVybjsKPiA+ICAKPiA+ICAgICAgICAgZHJtX3ZtYV9ub2Rl X3VubWFwKCZvYmotPmJhc2Uudm1hX25vZGUsCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBvYmotPmJhc2UuZGV2LT5hbm9uX2lub2RlLT5pX21hcHBpbmcpOwo+ID4gLSAgICAgICBvYmot PmZhdWx0X21hcHBhYmxlID0gZmFsc2U7Cj4gPiArICAgICAgIGxpc3RfZGVsX2luaXQoJm9iai0+ ZmF1bHRfbGluayk7Cj4gPiAgfQo+ID4gIAo+ID4gIHZvaWQKPiA+ICBpOTE1X2dlbV9yZWxlYXNl X2FsbF9tbWFwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiAgewo+ID4g LSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwo+ID4gKyAgICAgICBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCAqbjsKPiA+ICAKPiA+IC0gICAgICAgbGlzdF9m b3JfZWFjaF9lbnRyeShvYmosICZkZXZfcHJpdi0+bW0uYm91bmRfbGlzdCwgZ2xvYmFsX2xpc3Qp Cj4gPiArICAgICAgIGxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShvYmosIG4sICZkZXZfcHJpdi0+ bW0uZmF1bHRfbGlzdCwgZmF1bHRfbGluaykKPiA+ICAgICAgICAgICAgICAgICBpOTE1X2dlbV9y ZWxlYXNlX21tYXAob2JqKTsKPiA+ICB9Cj4gPiAgCj4gPiBAQCAtNDIyNCw2ICs0MjI5LDcgQEAg dm9pZCBpOTE1X2dlbV9vYmplY3RfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq LAo+ID4gICAgICAgICBJTklUX0xJU1RfSEVBRCgmb2JqLT5vYmpfZXhlY19saW5rKTsKPiA+ICAg ICAgICAgSU5JVF9MSVNUX0hFQUQoJm9iai0+dm1hX2xpc3QpOwo+ID4gICAgICAgICBJTklUX0xJ U1RfSEVBRCgmb2JqLT5iYXRjaF9wb29sX2xpbmspOwo+ID4gKyAgICAgICBJTklUX0xJU1RfSEVB RCgmb2JqLT5mYXVsdF9saW5rKTsKPiA+ICAKPiA+ICAgICAgICAgb2JqLT5vcHMgPSBvcHM7Cj4g PiAgCj4gPiBAQCAtNDg1OCw2ICs0ODY0LDcgQEAgaTkxNV9nZW1fbG9hZChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQo+ID4gICAgICAgICBJTklUX0xJU1RfSEVBRCgmZGV2X3ByaXYtPmNvbnRleHRf bGlzdCk7Cj4gPiAgICAgICAgIElOSVRfTElTVF9IRUFEKCZkZXZfcHJpdi0+bW0udW5ib3VuZF9s aXN0KTsKPiA+ICAgICAgICAgSU5JVF9MSVNUX0hFQUQoJmRldl9wcml2LT5tbS5ib3VuZF9saXN0 KTsKPiA+ICsgICAgICAgSU5JVF9MSVNUX0hFQUQoJmRldl9wcml2LT5tbS5mYXVsdF9saXN0KTsK PiA+ICAgICAgICAgSU5JVF9MSVNUX0hFQUQoJmRldl9wcml2LT5tbS5mZW5jZV9saXN0KTsKPiA+ ICAgICAgICAgZm9yIChpID0gMDsgaSA8IEk5MTVfTlVNX1JJTkdTOyBpKyspCj4gPiAgICAgICAg ICAgICAgICAgaW5pdF9yaW5nX2xpc3RzKCZkZXZfcHJpdi0+cmluZ1tpXSk7Cj4gPiAKPiA+IAo+ ID4gVGhlIHRyaWNreSBwYXJ0IGlzIHJldmlld2luZyB0aGUgaTkxNV9nZW1fcmVsZWFzZV9tbWFw KCkgY2FsbGVycyB0bwo+ID4gZW5zdXJlIHRoYXQgdGhleSBoYXZlIHRoZSByaWdodCBiYXJyaWVy LiBJZiB5b3UgbWFrZQo+ID4gaTkxNV9nZW1fcmVsZWFzZV9tbWFwKCkgYXNzZXJ0IGl0IGhvbGRz IGFuIHJwbSByZWYsIGFuZCB0aGVuIG1ha2UgdGhlCj4gPiBpOTE1X2dlbV9yZWxlYXNlX2FsbF9t bWFwcygpIHVubGluayB0aGUgbm9kZSBkaXJlY3RseSB0aGF0IHNob3VsZCBkbyB0aGUKPiA+IHRy aWNrLgo+ID4gLUNocmlzCj4gPiAKPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==