From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joonas Lahtinen Subject: Re: [PATCH v4 2/2] drm/i915: Move fbdev_suspend_work to intel_fbdev Date: Thu, 31 Mar 2016 18:22:01 +0300 Message-ID: <1459437721.8191.10.camel@linux.intel.com> References: <56FD1151.5050303@intel.com> <1459432663-990-1-git-send-email-chris@chris-wilson.co.uk> <1459432663-990-2-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 621886EABC for ; Thu, 31 Mar 2016 15:21:24 +0000 (UTC) In-Reply-To: <1459432663-990-2-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org, Gabriel Feceoru List-Id: intel-gfx@lists.freedesktop.org T24gdG8sIDIwMTYtMDMtMzEgYXQgMTQ6NTcgKzAxMDAsIENocmlzIFdpbHNvbiB3cm90ZToKPiBT aW5jZSB0aGUgc3VzcGVuZF93b3JrIGlzIGVudGlyZWx5IGludGVybmFsIHRvIGludGVsX2ZiZGV2 LmMsIG1vdmUgaXQKPiBmcm9tIHRoZSB0b3AgbGV2ZWwgZHJtX2k5MTVfcHJpdmF0ZSBhbmQgaW50 byBzdHJ1Y3QgaW50ZWxfZmJkZXYuIFRoaXMKPiByZXF1aXJlcyBzcGxpdHRpbmcgdGhlIGludGVy bmFsIGludGVyZmFjZSBmb3IgdGhlIHN1c3BlbmQgd29ya2VyIGZyb20KPiB0aGUgZXh0ZXJuYWwg aW50ZXJmYWNlIHVzZWQgYnkgdGhlIGhpZ2hlciBsYXllcnMgdG8gaW5pdGlhdGUgc3VzcGVuZC4K PiAKPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51 az4KPiAtLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmPCoMKgwqDCoHzCoMKg wqA0ICstCj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5owqDCoMKgwqB8wqDCoMKg MSAtCj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaMKgwqDCoHzCoMKgwqA1ICst Cj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jIHwgMTE3ICsrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KPiDCoDQgZmlsZXMgY2hhbmdlZCwgNjggaW5zZXJ0 aW9ucygrKSwgNTkgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gaW5k ZXggMDIwYTMxYzVlMmJiLi4xMDBkMGQ5MmIxZTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmMKPiBAQCAtNjM0LDcgKzYzNCw3IEBAIHN0YXRpYyBpbnQgaTkxNV9kcm1fc3VzcGVuZChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+IMKgCWludGVsX3VuY29yZV9mb3JjZXdha2VfcmVzZXQoZGV2 LCBmYWxzZSk7Cj4gwqAJaW50ZWxfb3ByZWdpb25fZmluaShkZXYpOwo+IMKgCj4gLQlpbnRlbF9m YmRldl9zZXRfc3VzcGVuZChkZXYsIEZCSU5GT19TVEFURV9TVVNQRU5ERUQsIHRydWUpOwo+ICsJ aW50ZWxfZmJkZXZfc2V0X3N1c3BlbmQoZGV2LCBGQklORk9fU1RBVEVfU1VTUEVOREVEKTsKPiDC oAo+IMKgCWRldl9wcml2LT5zdXNwZW5kX2NvdW50Kys7Cj4gwqAKPiBAQCAtNzg0LDcgKzc4NCw3 IEBAIHN0YXRpYyBpbnQgaTkxNV9kcm1fcmVzdW1lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4g wqAKPiDCoAlpbnRlbF9vcHJlZ2lvbl9pbml0KGRldik7Cj4gwqAKPiAtCWludGVsX2ZiZGV2X3Nl dF9zdXNwZW5kKGRldiwgRkJJTkZPX1NUQVRFX1JVTk5JTkcsIGZhbHNlKTsKPiArCWludGVsX2Zi ZGV2X3NldF9zdXNwZW5kKGRldiwgRkJJTkZPX1NUQVRFX1JVTk5JTkcpOwo+IMKgCj4gwqAJbXV0 ZXhfbG9jaygmZGV2X3ByaXYtPm1vZGVzZXRfcmVzdG9yZV9sb2NrKTsKPiDCoAlkZXZfcHJpdi0+ bW9kZXNldF9yZXN0b3JlID0gTU9ERVNFVF9ET05FOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ IGluZGV4IDgyMGM5MWY1NTFiYS4uOTczYTYwMmM1MDc3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCj4gQEAgLTE4ODAsNyArMTg4MCw2IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsK PiDCoCNpZmRlZiBDT05GSUdfRFJNX0ZCREVWX0VNVUxBVElPTgo+IMKgCS8qIGxpc3Qgb2YgZmJk ZXYgcmVnaXN0ZXIgb24gdGhpcyBkZXZpY2UgKi8KPiDCoAlzdHJ1Y3QgaW50ZWxfZmJkZXYgKmZi ZGV2Owo+IC0Jc3RydWN0IHdvcmtfc3RydWN0IGZiZGV2X3N1c3BlbmRfd29yazsKPiDCoCNlbmRp Zgo+IMKgCj4gwqAJc3RydWN0IGRybV9wcm9wZXJ0eSAqYnJvYWRjYXN0X3JnYl9wcm9wZXJ0eTsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IDZhYzQ2ZDkyMWNkZS4uMDBiNmM2MGMx Y2I4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtMTU4LDYgKzE1OCw3IEBA IHN0cnVjdCBpbnRlbF9mcmFtZWJ1ZmZlciB7Cj4gwqBzdHJ1Y3QgaW50ZWxfZmJkZXYgewo+IMKg CXN0cnVjdCBkcm1fZmJfaGVscGVyIGhlbHBlcjsKPiDCoAlzdHJ1Y3QgaW50ZWxfZnJhbWVidWZm ZXIgKmZiOwo+ICsJc3RydWN0IHdvcmtfc3RydWN0IHN1c3BlbmRfd29yazsKPiDCoAlpbnQgcHJl ZmVycmVkX2JwcDsKPiDCoH07Cj4gwqAKPiBAQCAtMTMzNSw3ICsxMzM2LDcgQEAgdm9pZCBpbnRl bF9kdm9faW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiDCoGV4dGVybiBpbnQgaW50ZWxf ZmJkZXZfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiDCoGV4dGVybiB2b2lkIGludGVs X2ZiZGV2X2luaXRpYWxfY29uZmlnX2FzeW5jKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+IMKg ZXh0ZXJuIHZvaWQgaW50ZWxfZmJkZXZfZmluaShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiAt ZXh0ZXJuIHZvaWQgaW50ZWxfZmJkZXZfc2V0X3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgaW50IHN0YXRlLCBib29sIHN5bmNocm9ub3VzKTsKPiArZXh0ZXJuIHZvaWQgaW50ZWxfZmJk ZXZfc2V0X3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHN0YXRlKTsKPiDCoGV4 dGVybiB2b2lkIGludGVsX2ZiZGV2X291dHB1dF9wb2xsX2NoYW5nZWQoc3RydWN0IGRybV9kZXZp Y2UgKmRldik7Cj4gwqBleHRlcm4gdm9pZCBpbnRlbF9mYmRldl9yZXN0b3JlX21vZGUoc3RydWN0 IGRybV9kZXZpY2UgKmRldik7Cj4gwqAjZWxzZQo+IEBAIC0xMzUyLDcgKzEzNTMsNyBAQCBzdGF0 aWMgaW5saW5lIHZvaWQgaW50ZWxfZmJkZXZfZmluaShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ IMKgewo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF9mYmRldl9zZXRfc3Vz cGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgc3RhdGUsIGJvb2wgc3luY2hyb25vdXMp Cj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF9mYmRldl9zZXRfc3VzcGVuZChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBpbnQgc3RhdGUpCj4gwqB7Cj4gwqB9Cj4gwqAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2ZiZGV2LmMKPiBpbmRleCA1ZDRiZTcxYmRmMjIuLjY2YmI3OTYxMzY2MCAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYwo+IEBAIC01MzQsOCArNTM0LDcgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkcm1fZmJfaGVscGVyX2Z1bmNzIGludGVsX2ZiX2hlbHBlcl9mdW5jcyA9 IHsKPiDCoAkuZmJfcHJvYmUgPSBpbnRlbGZiX2NyZWF0ZSwKPiDCoH07Cj4gwqAKPiAtc3RhdGlj IHZvaWQgaW50ZWxfZmJkZXZfZGVzdHJveShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IC0JCQkJ c3RydWN0IGludGVsX2ZiZGV2ICppZmJkZXYpCj4gK3N0YXRpYyB2b2lkIGludGVsX2ZiZGV2X2Rl c3Ryb3koc3RydWN0IGludGVsX2ZiZGV2ICppZmJkZXYpCj4gwqB7Cj4gwqAJLyogV2UgcmVseSBv biB0aGUgb2JqZWN0LWZyZWUgdG8gcmVsZWFzZSB0aGUgVk1BIHBpbm5pbmcgZm9yCj4gwqAJwqAq IHRoZSBpbmZvLT5zY3JlZW5fYmFzZSBtbWFwaW5nLiBMZWFraW5nIHRoZSBWTUEgaXMgc2ltcGxl ciB0aGFuCj4gQEAgLTY4MSwxMyArNjgwLDU2IEBAIG91dDoKPiDCoAlyZXR1cm4gZmFsc2U7Cj4g wqB9Cj4gwqAKPiArc3RhdGljIHZvaWQgX19pbnRlbF9mYmRldl9zZXRfc3VzcGVuZChzdHJ1Y3Qg aW50ZWxfZmJkZXYgKmlmYmRldiwKPiArCQkJCcKgwqDCoMKgwqDCoGludCBzdGF0ZSwgYm9vbCBz eW5jaHJvbm91cykKPiArewo+ICsJaWYgKHN5bmNocm9ub3VzKSB7Cj4gKwkJLyogRmx1c2ggYW55 IHBlbmRpbmcgd29yayB0byB0dXJuIHRoZSBjb25zb2xlIG9uLCBhbmQgdGhlbgo+ICsJCcKgKiB3 YWl0IHRvIHR1cm4gaXQgb2ZmLiBJdCBtdXN0IGJlIHN5bmNocm9ub3VzIGFzIHdlIGFyZQo+ICsJ CcKgKiBhYm91dCB0byBzdXNwZW5kIG9yIHVubG9hZCB0aGUgZHJpdmVyLgo+ICsJCcKgKgo+ICsJ CcKgKiBOb3RlIHRoYXQgZnJvbSB3aXRoaW4gdGhlIHdvcmstaGFuZGxlciwgd2UgY2Fubm90IGZs dXNoCj4gKwkJwqAqIG91cnNlbHZlcywgc28gb25seSBmbHVzaCBvdXRzdGFuZGluZyB3b3JrIHVw b24gc3VzcGVuZCEKPiArCQnCoCovCj4gKwkJaWYgKHN0YXRlICE9IEZCSU5GT19TVEFURV9SVU5O SU5HKQo+ICsJCQlmbHVzaF93b3JrKCZpZmJkZXYtPnN1c3BlbmRfd29yayk7Cj4gKwkJY29uc29s ZV9sb2NrKCk7Cj4gKwl9IGVsc2Ugewo+ICsJCS8qCj4gKwkJwqAqIFRoZSBjb25zb2xlIGxvY2sg Y2FuIGJlIHByZXR0eSBjb250ZW50ZWQgb24gcmVzdW1lIGR1ZQo+ICsJCcKgKiB0byBhbGwgdGhl IHByaW50ayBhY3Rpdml0eS7CoMKgVHJ5IHRvIGtlZXAgaXQgb3V0IG9mIHRoZSBob3QKPiArCQnC oCogcGF0aCBvZiByZXN1bWUgaWYgcG9zc2libGUuCj4gKwkJwqAqLwo+ICsJCVdBUk5fT04oc3Rh dGUgIT0gRkJJTkZPX1NUQVRFX1JVTk5JTkcpOwo+ICsJCWlmICghY29uc29sZV90cnlsb2NrKCkp IHsKPiArCQkJLyogRG9uJ3QgYmxvY2sgb3VyIG93biB3b3JrcXVldWUgYXMgdGhpcyBjYW4KPiAr CQkJwqAqIGJlIHJ1biBpbiBwYXJhbGxlbCB3aXRoIG90aGVyIGk5MTUua28gdGFza3MuCj4gKwkJ CcKgKi8KPiArCQkJc2NoZWR1bGVfd29yaygmaWZiZGV2LT5zdXNwZW5kX3dvcmspOwo+ICsJCQly ZXR1cm47Cj4gKwkJfQo+ICsJfQo+ICsKPiArCS8qIE9uIHJlc3VtZSBmcm9tIGhpYmVybmF0aW9u OiBJZiB0aGUgb2JqZWN0IGlzIHNobWVtZnMgYmFja2VkLCBpdCBoYXMKPiArCcKgKiBiZWVuIHJl c3RvcmVkIGZyb20gc3dhcC4gSWYgdGhlIG9iamVjdCBpcyBzdG9sZW4gaG93ZXZlciwgaXQgd2ls bCBiZQo+ICsJwqAqIGZ1bGwgb2Ygd2hhdGV2ZXIgZ2FyYmFnZSB3YXMgbGVmdCBpbiB0aGVyZS4K PiArCcKgKi8KPiArCWlmIChzdGF0ZSA9PSBGQklORk9fU1RBVEVfUlVOTklORyAmJiBpZmJkZXYt PmZiLT5vYmotPnN0b2xlbikgewo+ICsJCXN0cnVjdCBmYl9pbmZvICppbmZvID0gaWZiZGV2LT5o ZWxwZXIuZmJkZXY7Cj4gKwkJbWVtc2V0X2lvKGluZm8tPnNjcmVlbl9iYXNlLCAwLCBpbmZvLT5z Y3JlZW5fc2l6ZSk7Cj4gKwl9Cj4gKwo+ICsJZHJtX2ZiX2hlbHBlcl9zZXRfc3VzcGVuZCgmaWZi ZGV2LT5oZWxwZXIsIHN0YXRlKTsKPiArCWNvbnNvbGVfdW5sb2NrKCk7Cj4gK30KPiArCj4gwqBz dGF0aWMgdm9pZCBpbnRlbF9mYmRldl9zdXNwZW5kX3dvcmtlcihzdHJ1Y3Qgd29ya19zdHJ1Y3Qg KndvcmspCj4gwqB7Cj4gLQlpbnRlbF9mYmRldl9zZXRfc3VzcGVuZChjb250YWluZXJfb2Yod29y aywKPiAtCQkJCQnCoMKgwqDCoMKgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUsCj4gLQkJCQkJwqDC oMKgwqDCoGZiZGV2X3N1c3BlbmRfd29yayktPmRldiwKPiAtCQkJCUZCSU5GT19TVEFURV9SVU5O SU5HLAo+IC0JCQkJdHJ1ZSk7Cj4gKwlfX2ludGVsX2ZiZGV2X3NldF9zdXNwZW5kKGNvbnRhaW5l cl9vZih3b3JrLAo+ICsJCQkJCcKgwqDCoMKgwqDCoMKgc3RydWN0IGludGVsX2ZiZGV2LAo+ICsJ CQkJCcKgwqDCoMKgwqDCoMKgc3VzcGVuZF93b3JrKSwKCkhhdmUgdGhlIGNvbnRhaW5lcl9vZiBv biBzZXBhcmF0ZSBsaW5lIGF0IGxlYXN0LCBtYXliZSBldmVuIHdpdGggYQptYWNyby4KCj4gKwkJ CQnCoMKgRkJJTkZPX1NUQVRFX1JVTk5JTkcsCj4gKwkJCQnCoMKgdHJ1ZSk7Cj4gwqB9Cj4gwqAK PiDCoGludCBpbnRlbF9mYmRldl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gQEAgLTcx Niw5ICs3NTgsOSBAQCBpbnQgaW50ZWxfZmJkZXZfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+IMKgCX0KPiDCoAo+IMKgCWlmYmRldi0+aGVscGVyLmF0b21pYyA9IHRydWU7Cj4gKwlJTklU X1dPUksoJmlmYmRldi0+c3VzcGVuZF93b3JrLCBpbnRlbF9mYmRldl9zdXNwZW5kX3dvcmtlcik7 Cj4gwqAKPiDCoAlkZXZfcHJpdi0+ZmJkZXYgPSBpZmJkZXY7Cj4gLQlJTklUX1dPUksoJmRldl9w cml2LT5mYmRldl9zdXNwZW5kX3dvcmssIGludGVsX2ZiZGV2X3N1c3BlbmRfd29ya2VyKTsKPiDC oAo+IMKgCWRybV9mYl9oZWxwZXJfc2luZ2xlX2FkZF9hbGxfY29ubmVjdG9ycygmaWZiZGV2LT5o ZWxwZXIpOwo+IMKgCj4gQEAgLTc0MywxNyArNzg1LDIxIEBAIHZvaWQgaW50ZWxfZmJkZXZfaW5p dGlhbF9jb25maWdfYXN5bmMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiDCoAo+IMKgdm9pZCBp bnRlbF9mYmRldl9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gwqB7Cj4gLQlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IC0JaWYgKCFk ZXZfcHJpdi0+ZmJkZXYpCj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGRldik7Cj4gKwlzdHJ1Y3QgaW50ZWxfZmJkZXYgKmlmYmRldjsKPiArCj4gKwlpZmJk ZXYgPSBkZXZfcHJpdi0+ZmJkZXY7CgpTdHJhaWdodCBhc3NpZ25tZW50LgoKPiArCWlmIChpZmJk ZXYgPT0gTlVMTCkKPiDCoAkJcmV0dXJuOwo+IMKgCj4gLQlmbHVzaF93b3JrKCZkZXZfcHJpdi0+ ZmJkZXZfc3VzcGVuZF93b3JrKTsKPiArCWRldl9wcml2LT5mYmRldiA9IE5VTEw7Cj4gwqAKPiDC oAlpZiAoIWN1cnJlbnRfaXNfYXN5bmMoKSkKPiDCoAkJYXN5bmNfc3luY2hyb25pemVfZnVsbCgp Owo+IC0JaW50ZWxfZmJkZXZfZGVzdHJveShkZXYsIGRldl9wcml2LT5mYmRldik7Cj4gLQlrZnJl ZShkZXZfcHJpdi0+ZmJkZXYpOwo+IC0JZGV2X3ByaXYtPmZiZGV2ID0gTlVMTDsKPiArCWZsdXNo X3dvcmsoJmlmYmRldi0+c3VzcGVuZF93b3JrKTsKPiArCj4gKwlpbnRlbF9mYmRldl9kZXN0cm95 KGlmYmRldik7Cj4gKwlrZnJlZShpZmJkZXYpOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgc3RydWN0 IGludGVsX2ZiZGV2ICppbnRlbF9mYmRldl9nZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiBA QCAtNzg4LDUzICs4MzQsMTYgQEAgc3RhdGljIHN0cnVjdCBpbnRlbF9mYmRldiAqaW50ZWxfZmJk ZXZfZ2V0X2lmX2FjdGl2ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+IMKgCXJldHVybiBpZmJk ZXY7Cj4gwqB9Cj4gwqAKPiAtdm9pZCBpbnRlbF9mYmRldl9zZXRfc3VzcGVuZChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBpbnQgc3RhdGUsIGJvb2wgc3luY2hyb25vdXMpCj4gK3ZvaWQgaW50ZWxf ZmJkZXZfc2V0X3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHN0YXRlKQo+IMKg ewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKPiDCoAlzdHJ1Y3QgaW50ZWxfZmJkZXYgKmlmYmRldjsKPiDCoAo+IMKgCWlmYmRldiA9IGlu dGVsX2ZiZGV2X2dldChkZXYpOwo+IMKgCWlmIChpZmJkZXYgPT0gTlVMTCkKPiDCoAkJcmV0dXJu Owo+IMKgCj4gLQlpZiAoc3luY2hyb25vdXMpIHsKPiAtCQkvKiBGbHVzaCBhbnkgcGVuZGluZyB3 b3JrIHRvIHR1cm4gdGhlIGNvbnNvbGUgb24sIGFuZCB0aGVuCj4gLQkJwqAqIHdhaXQgdG8gdHVy biBpdCBvZmYuIEl0IG11c3QgYmUgc3luY2hyb25vdXMgYXMgd2UgYXJlCj4gLQkJwqAqIGFib3V0 IHRvIHN1c3BlbmQgb3IgdW5sb2FkIHRoZSBkcml2ZXIuCj4gLQkJwqAqCj4gLQkJwqAqIE5vdGUg dGhhdCBmcm9tIHdpdGhpbiB0aGUgd29yay1oYW5kbGVyLCB3ZSBjYW5ub3QgZmx1c2gKPiAtCQnC oCogb3Vyc2VsdmVzLCBzbyBvbmx5IGZsdXNoIG91dHN0YW5kaW5nIHdvcmsgdXBvbiBzdXNwZW5k IQo+IC0JCcKgKi8KPiAtCQlpZiAoc3RhdGUgIT0gRkJJTkZPX1NUQVRFX1JVTk5JTkcpCj4gLQkJ CWZsdXNoX3dvcmsoJmRldl9wcml2LT5mYmRldl9zdXNwZW5kX3dvcmspOwo+IC0JCWNvbnNvbGVf bG9jaygpOwo+IC0JfSBlbHNlIHsKPiAtCQkvKgo+IC0JCcKgKiBUaGUgY29uc29sZSBsb2NrIGNh biBiZSBwcmV0dHkgY29udGVudGVkIG9uIHJlc3VtZSBkdWUKPiAtCQnCoCogdG8gYWxsIHRoZSBw cmludGsgYWN0aXZpdHkuwqDCoFRyeSB0byBrZWVwIGl0IG91dCBvZiB0aGUgaG90Cj4gLQkJwqAq IHBhdGggb2YgcmVzdW1lIGlmIHBvc3NpYmxlLgo+IC0JCcKgKi8KPiAtCQlXQVJOX09OKHN0YXRl ICE9IEZCSU5GT19TVEFURV9SVU5OSU5HKTsKPiAtCQlpZiAoIWNvbnNvbGVfdHJ5bG9jaygpKSB7 Cj4gLQkJCS8qIERvbid0IGJsb2NrIG91ciBvd24gd29ya3F1ZXVlIGFzIHRoaXMgY2FuCj4gLQkJ CcKgKiBiZSBydW4gaW4gcGFyYWxsZWwgd2l0aCBvdGhlciBpOTE1LmtvIHRhc2tzLgo+IC0JCQnC oCovCj4gLQkJCXNjaGVkdWxlX3dvcmsoJmRldl9wcml2LT5mYmRldl9zdXNwZW5kX3dvcmspOwo+ IC0JCQlyZXR1cm47Cj4gLQkJfQo+IC0JfQo+IC0KPiAtCS8qIE9uIHJlc3VtZSBmcm9tIGhpYmVy bmF0aW9uOiBJZiB0aGUgb2JqZWN0IGlzIHNobWVtZnMgYmFja2VkLCBpdCBoYXMKPiAtCcKgKiBi ZWVuIHJlc3RvcmVkIGZyb20gc3dhcC4gSWYgdGhlIG9iamVjdCBpcyBzdG9sZW4gaG93ZXZlciwg aXQgd2lsbCBiZQo+IC0JwqAqIGZ1bGwgb2Ygd2hhdGV2ZXIgZ2FyYmFnZSB3YXMgbGVmdCBpbiB0 aGVyZS4KPiAtCcKgKi8KPiAtCWlmIChzdGF0ZSA9PSBGQklORk9fU1RBVEVfUlVOTklORyAmJiBp ZmJkZXYtPmZiLT5vYmotPnN0b2xlbikgewo+IC0JCXN0cnVjdCBmYl9pbmZvICppbmZvID0gaWZi ZGV2LT5oZWxwZXIuZmJkZXY7Cj4gLQkJbWVtc2V0X2lvKGluZm8tPnNjcmVlbl9iYXNlLCAwLCBp bmZvLT5zY3JlZW5fc2l6ZSk7Cj4gLQl9Cj4gLQo+IC0JZHJtX2ZiX2hlbHBlcl9zZXRfc3VzcGVu ZCgmaWZiZGV2LT5oZWxwZXIsIHN0YXRlKTsKPiAtCWNvbnNvbGVfdW5sb2NrKCk7Cj4gKwlfX2lu dGVsX2ZiZGV2X3NldF9zdXNwZW5kKGlmYmRldiwgc3RhdGUsCj4gKwkJCQnCoMKgc3RhdGUgIT0g RkJJTkZPX1NUQVRFX1JVTk5JTkcpOwoKQ291bGQgaGF2ZSBjaGFuZ2VkIHRoaXMgZnVuY3Rpb24g bmFtZSB0byBtYWtlIGl0IGVhc2llciB0byBzcG90IHdoYXQKeW91IGNoYW5nZWQgb3Igbm90LiBD b2RlIG1vdGlvbiBhcyBzZXBhcmF0ZSBwYXRjaGVzLgoKV2l0aCBhYm92ZSBhZGRyZXNzZWQsCgpS ZXZpZXdlZC1ieTogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwu Y29tPgoKPiDCoH0KPiDCoAo+IMKgdm9pZCBpbnRlbF9mYmRldl9vdXRwdXRfcG9sbF9jaGFuZ2Vk KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCi0tIApKb29uYXMgTGFodGluZW4KT3BlbiBTb3VyY2Ug VGVjaG5vbG9neSBDZW50ZXIKSW50ZWwgQ29ycG9yYXRpb24KX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==