From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: Re: [PATCH 3/9] drm/i915: Wrap drm_gem_object_lookup in i915_gem_object_lookup Date: Wed, 20 Jul 2016 12:28:16 +0100 Message-ID: <578F6050.7090701@intel.com> References: <1469005202-9659-1-git-send-email-chris@chris-wilson.co.uk> <1469005202-9659-4-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" 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 6F4E26E1AA for ; Wed, 20 Jul 2016 11:28:18 +0000 (UTC) In-Reply-To: <1469005202-9659-4-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 List-Id: intel-gfx@lists.freedesktop.org T24gMjAvMDcvMTYgMDk6NTksIENocmlzIFdpbHNvbiB3cm90ZToKPiBGb3Igc3ltbWV0cnkgd2l0 aCBhIGZvcnRoY29taW5nIGk5MTVfZ2VtX29iamVjdF9nZXQoKSBhbmQKPiBpOTE1X2dlbV9vYmpl Y3RfcHUoKS4KPgo+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2ls c29uLmNvLnVrPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAg ICAgfCAyMCArKysrKysrKysrKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMg ICAgICAgIHwgNTggKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQo+ICAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdGlsaW5nLmMgfCAgOCArKy0tLQo+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgfCAgNCArLS0KPiAgIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX292ZXJsYXkuYyAgIHwgIDUgKystCj4gICA1IGZpbGVzIGNoYW5nZWQsIDU2 IGluc2VydGlvbnMoKyksIDM5IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o Cj4gaW5kZXggMjEzMWU3ZjFlNTdhLi40N2YyNDRmOWM2NGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiBAQCAtMjI4Niw3ICsyMjg2LDI1IEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0IHsKPiAgIAkJfSB1c2VycHRyOwo+ICAgCX07Cj4gICB9Owo+IC0jZGVmaW5lIHRvX2ludGVs X2JvKHgpIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCwgYmFzZSkK PiArCj4gK3N0YXRpYyBpbmxpbmUgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgo+ICt0b19p bnRlbF9ibyhzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdlbSkKPiArewo+ICsJLyogQXNzZXJ0IHRo YXQgdG9faW50ZWxfYm8oTlVMTCkgPT0gTlVMTCAqLwo+ICsJQlVJTERfQlVHX09OKG9mZnNldG9m KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0LCBiYXNlKSk7Cj4gKwo+ICsJcmV0dXJuIGNvbnRh aW5lcl9vZihnZW0sIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0LCBiYXNlKTsKPiArfQoKWWVz LCBJIHRoaW5rIHRoaXMgaXMgYSBtdWNoIGJldHRlciB3YXkgb2YgZG9pbmcgdGhlIGNvbnZlcnNp b24sICdjb3MgCml0J3MgdHlwZS1zYWZlIGFuZCB3ZSBnZXQgdGhhdCBhbGwtaW1wb3J0YW50IGNo ZWNrIHRoYXQgJ2Jhc2UnIGlzIHN0aWxsIAphdCBvZmZzZXQgMC4KCkluIG15IHZhcmlhbnQgb24g dGhpcywgSSBhbHNvIGludHJvZHVjZWQgdGhlIHJldmVyc2UgbWFwcGluZywgCnRvX2dlbV9vYmpl Y3QoKSwgc28gdGhhdCB3ZSBjb3VsZCBjb21wbGV0ZWx5IGFic3RyYWN0IGF3YXkgdGhlIApjb252 ZXJzaW9uIGJhY2stYW5kLWZvcnRoIGJldHdlZW4gdGhlIHR3byBjbGFzc2VzLiBEbyB5b3UgdGhp bmsgdGhhdCAKd291bGQgYmUgd29ydGggYWRkaW5nIGhlcmUgdG9vPwoKPiArc3RhdGljIGlubGlu ZSBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqCj4gK2k5MTVfZ2VtX29iamVjdF9sb29rdXAo c3RydWN0IGRybV9maWxlICpmaWxlLCB1MzIgaGFuZGxlKQo+ICt7Cj4gKwlyZXR1cm4gdG9faW50 ZWxfYm8oZHJtX2dlbV9vYmplY3RfbG9va3VwKGZpbGUsIGhhbmRsZSkpOwo+ICt9Cj4gKwo+ICtf X2RlcHJlY2F0ZWQKPiArZXh0ZXJuIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqCj4gK2RybV9nZW1f b2JqZWN0X2xvb2t1cChzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsIHUzMiBoYW5kbGUpOwo+Cj4gICBz dGF0aWMgaW5saW5lIGJvb2wKPiAgIGk5MTVfZ2VtX29iamVjdF9oYXNfc3RydWN0X3BhZ2UoY29u c3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMKPiBpbmRleCBkODI1ZGI3Yjc2M2QuLjk3MDQ5NjQxOTA5OCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYwo+IEBAIC04NjQsOCArODY0LDggQEAgaTkxNV9nZW1fcHJlYWRfaW9jdGwoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIAlpZiAocmV0KQo+ICAgCQlyZXR1 cm4gcmV0Owo+Cj4gLQlvYmogPSB0b19pbnRlbF9ibyhkcm1fZ2VtX29iamVjdF9sb29rdXAoZmls ZSwgYXJncy0+aGFuZGxlKSk7Cj4gLQlpZiAoJm9iai0+YmFzZSA9PSBOVUxMKSB7CgpZZXMsIHRo aXMgY29uc3RydWN0IHdhcyBub3Qgb25seSBiaXphcnJlLCBidXQgY291bGQgYWN0dWFsbHkgY2F1 c2UgCnByb2JsZW1zIG9uIHNvbWUgY29tcGlsZXJzLiBTZWUKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvYXJjaGl2ZXMvbWVzYS1kZXYvMjAxMi1BcHJpbC8wMjA1MTQuaHRtbAoKSnVzdCB3 cml0aW5nICdvYmonIGlzIG11Y2ggbmljZXIgOikKCj4gKwlvYmogPSBpOTE1X2dlbV9vYmplY3Rf bG9va3VwKGZpbGUsIGFyZ3MtPmhhbmRsZSk7Cj4gKwlpZiAoIW9iaikgewo+ICAgCQlyZXQgPSAt RU5PRU5UOwo+ICAgCQlnb3RvIHVubG9jazsKPiAgIAl9Cj4gQEAgLTEyODAsOCArMTI4MCw4IEBA IGk5MTVfZ2VtX3B3cml0ZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRh LAo+ICAgCWlmIChyZXQpCj4gICAJCWdvdG8gcHV0X3JwbTsKPgo+IC0Jb2JqID0gdG9faW50ZWxf Ym8oZHJtX2dlbV9vYmplY3RfbG9va3VwKGZpbGUsIGFyZ3MtPmhhbmRsZSkpOwo+IC0JaWYgKCZv YmotPmJhc2UgPT0gTlVMTCkgewo+ICsJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2xvb2t1cChmaWxl LCBhcmdzLT5oYW5kbGUpOwo+ICsJaWYgKCFvYmopIHsKPiAgIAkJcmV0ID0gLUVOT0VOVDsKPiAg IAkJZ290byB1bmxvY2s7Cj4gICAJfQo+IEBAIC0xNDk3LDggKzE0OTcsOCBAQCBpOTE1X2dlbV9z ZXRfZG9tYWluX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJ aWYgKHJldCkKPiAgIAkJcmV0dXJuIHJldDsKPgo+IC0Jb2JqID0gdG9faW50ZWxfYm8oZHJtX2dl bV9vYmplY3RfbG9va3VwKGZpbGUsIGFyZ3MtPmhhbmRsZSkpOwo+IC0JaWYgKCZvYmotPmJhc2Ug PT0gTlVMTCkgewo+ICsJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2xvb2t1cChmaWxlLCBhcmdzLT5o YW5kbGUpOwo+ICsJaWYgKCFvYmopIHsKPiAgIAkJcmV0ID0gLUVOT0VOVDsKPiAgIAkJZ290byB1 bmxvY2s7Cj4gICAJfQo+IEBAIC0xNTQ2LDggKzE1NDYsOCBAQCBpOTE1X2dlbV9zd19maW5pc2hf aW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIAlpZiAocmV0KQo+ ICAgCQlyZXR1cm4gcmV0Owo+Cj4gLQlvYmogPSB0b19pbnRlbF9ibyhkcm1fZ2VtX29iamVjdF9s b29rdXAoZmlsZSwgYXJncy0+aGFuZGxlKSk7Cj4gLQlpZiAoJm9iai0+YmFzZSA9PSBOVUxMKSB7 Cj4gKwlvYmogPSBpOTE1X2dlbV9vYmplY3RfbG9va3VwKGZpbGUsIGFyZ3MtPmhhbmRsZSk7Cj4g KwlpZiAoIW9iaikgewo+ICAgCQlyZXQgPSAtRU5PRU5UOwo+ICAgCQlnb3RvIHVubG9jazsKPiAg IAl9Cj4gQEAgLTE1ODcsNyArMTU4Nyw3IEBAIGk5MTVfZ2VtX21tYXBfaW9jdGwoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIAkJICAgIHN0cnVjdCBkcm1fZmlsZSAqZmls ZSkKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX21tYXAgKmFyZ3MgPSBkYXRhOwo+IC0J c3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmo7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqOwo+ICAgCXVuc2lnbmVkIGxvbmcgYWRkcjsKPgo+ICAgCWlmIChhcmdzLT5mbGFncyAm IH4oSTkxNV9NTUFQX1dDKSkKPiBAQCAtMTU5NiwxOSArMTU5NiwxOSBAQCBpOTE1X2dlbV9tbWFw X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJaWYgKGFyZ3Mt PmZsYWdzICYgSTkxNV9NTUFQX1dDICYmICFib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfUEFUKSkK PiAgIAkJcmV0dXJuIC1FTk9ERVY7Cj4KPiAtCW9iaiA9IGRybV9nZW1fb2JqZWN0X2xvb2t1cChm aWxlLCBhcmdzLT5oYW5kbGUpOwo+IC0JaWYgKG9iaiA9PSBOVUxMKQo+ICsJb2JqID0gaTkxNV9n ZW1fb2JqZWN0X2xvb2t1cChmaWxlLCBhcmdzLT5oYW5kbGUpOwo+ICsJaWYgKCFvYmopCj4gICAJ CXJldHVybiAtRU5PRU5UOwo+Cj4gICAJLyogcHJpbWUgb2JqZWN0cyBoYXZlIG5vIGJhY2tpbmcg ZmlscCB0byBHRU0gbW1hcAo+ICAgCSAqIHBhZ2VzIGZyb20uCj4gICAJICovCj4gLQlpZiAoIW9i ai0+ZmlscCkgewo+IC0JCWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlX3VubG9ja2VkKG9iaik7 Cj4gKwlpZiAoIW9iai0+YmFzZS5maWxwKSB7Cj4gKwkJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVu Y2VfdW5sb2NrZWQoJm9iai0+YmFzZSk7Cj4gICAJCXJldHVybiAtRUlOVkFMOwo+ICAgCX0KPgo+ IC0JYWRkciA9IHZtX21tYXAob2JqLT5maWxwLCAwLCBhcmdzLT5zaXplLAo+ICsJYWRkciA9IHZt X21tYXAob2JqLT5iYXNlLmZpbHAsIDAsIGFyZ3MtPnNpemUsCj4gICAJCSAgICAgICBQUk9UX1JF QUQgfCBQUk9UX1dSSVRFLCBNQVBfU0hBUkVELAo+ICAgCQkgICAgICAgYXJncy0+b2Zmc2V0KTsK PiAgIAlpZiAoYXJncy0+ZmxhZ3MgJiBJOTE1X01NQVBfV0MpIHsKPiBAQCAtMTYxNiw3ICsxNjE2 LDcgQEAgaTkxNV9nZW1fbW1hcF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAo+ICAgCQlzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYTsKPgo+ICAgCQlpZiAoZG93bl93 cml0ZV9raWxsYWJsZSgmbW0tPm1tYXBfc2VtKSkgewo+IC0JCQlkcm1fZ2VtX29iamVjdF91bnJl ZmVyZW5jZV91bmxvY2tlZChvYmopOwo+ICsJCQlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZV91 bmxvY2tlZCgmb2JqLT5iYXNlKTsKPiAgIAkJCXJldHVybiAtRUlOVFI7Cj4gICAJCX0KPiAgIAkJ dm1hID0gZmluZF92bWEobW0sIGFkZHIpOwo+IEBAIC0xNjI4LDkgKzE2MjgsOSBAQCBpOTE1X2dl bV9tbWFwX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJCXVw X3dyaXRlKCZtbS0+bW1hcF9zZW0pOwo+Cj4gICAJCS8qIFRoaXMgbWF5IHJhY2UsIGJ1dCB0aGF0 J3Mgb2ssIGl0IG9ubHkgZ2V0cyBzZXQgKi8KPiAtCQlXUklURV9PTkNFKHRvX2ludGVsX2JvKG9i aiktPmhhc193Y19tbWFwLCB0cnVlKTsKPiArCQlXUklURV9PTkNFKG9iai0+aGFzX3djX21tYXAs IHRydWUpOwo+ICAgCX0KPiAtCWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlX3VubG9ja2VkKG9i aik7Cj4gKwlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZV91bmxvY2tlZCgmb2JqLT5iYXNlKTsK PiAgIAlpZiAoSVNfRVJSKCh2b2lkICopYWRkcikpCj4gICAJCXJldHVybiBhZGRyOwo+Cj4gQEAg LTE5NjgsOCArMTk2OCw4IEBAIGk5MTVfZ2VtX21tYXBfZ3R0KHN0cnVjdCBkcm1fZmlsZSAqZmls ZSwKPiAgIAlpZiAocmV0KQo+ICAgCQlyZXR1cm4gcmV0Owo+Cj4gLQlvYmogPSB0b19pbnRlbF9i byhkcm1fZ2VtX29iamVjdF9sb29rdXAoZmlsZSwgaGFuZGxlKSk7Cj4gLQlpZiAoJm9iai0+YmFz ZSA9PSBOVUxMKSB7Cj4gKwlvYmogPSBpOTE1X2dlbV9vYmplY3RfbG9va3VwKGZpbGUsIGhhbmRs ZSk7Cj4gKwlpZiAoIW9iaikgewo+ICAgCQlyZXQgPSAtRU5PRU5UOwo+ICAgCQlnb3RvIHVubG9j azsKPiAgIAl9Cj4gQEAgLTI3OTIsOCArMjc5Miw4IEBAIGk5MTVfZ2VtX3dhaXRfaW9jdGwoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlKQo+ ICAgCWlmIChyZXQpCj4gICAJCXJldHVybiByZXQ7Cj4KPiAtCW9iaiA9IHRvX2ludGVsX2JvKGRy bV9nZW1fb2JqZWN0X2xvb2t1cChmaWxlLCBhcmdzLT5ib19oYW5kbGUpKTsKPiAtCWlmICgmb2Jq LT5iYXNlID09IE5VTEwpIHsKPiArCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9sb29rdXAoZmlsZSwg YXJncy0+Ym9faGFuZGxlKTsKPiArCWlmICghb2JqKSB7Cj4gICAJCW11dGV4X3VubG9jaygmZGV2 LT5zdHJ1Y3RfbXV0ZXgpOwo+ICAgCQlyZXR1cm4gLUVOT0VOVDsKPiAgIAl9Cj4gQEAgLTM1OTYs OCArMzU5Niw4IEBAIGludCBpOTE1X2dlbV9nZXRfY2FjaGluZ19pb2N0bChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAgCXN0cnVjdCBkcm1faTkxNV9nZW1fY2FjaGluZyAq YXJncyA9IGRhdGE7Cj4gICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKPgo+IC0J b2JqID0gdG9faW50ZWxfYm8oZHJtX2dlbV9vYmplY3RfbG9va3VwKGZpbGUsIGFyZ3MtPmhhbmRs ZSkpOwo+IC0JaWYgKCZvYmotPmJhc2UgPT0gTlVMTCkKPiArCW9iaiA9IGk5MTVfZ2VtX29iamVj dF9sb29rdXAoZmlsZSwgYXJncy0+aGFuZGxlKTsKPiArCWlmICghb2JqKQo+ICAgCQlyZXR1cm4g LUVOT0VOVDsKPgo+ICAgCXN3aXRjaCAob2JqLT5jYWNoZV9sZXZlbCkgewo+IEBAIC0zNjU3LDgg KzM2NTcsOCBAQCBpbnQgaTkxNV9nZW1fc2V0X2NhY2hpbmdfaW9jdGwoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIAlpZiAocmV0KQo+ICAgCQlnb3RvIHJwbV9wdXQ7Cj4K PiAtCW9iaiA9IHRvX2ludGVsX2JvKGRybV9nZW1fb2JqZWN0X2xvb2t1cChmaWxlLCBhcmdzLT5o YW5kbGUpKTsKPiAtCWlmICgmb2JqLT5iYXNlID09IE5VTEwpIHsKPiArCW9iaiA9IGk5MTVfZ2Vt X29iamVjdF9sb29rdXAoZmlsZSwgYXJncy0+aGFuZGxlKTsKPiArCWlmICghb2JqKSB7Cj4gICAJ CXJldCA9IC1FTk9FTlQ7Cj4gICAJCWdvdG8gdW5sb2NrOwo+ICAgCX0KPiBAQCAtNDAyNiw4ICs0 MDI2LDggQEAgaTkxNV9nZW1fYnVzeV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lk ICpkYXRhLAo+ICAgCWlmIChyZXQpCj4gICAJCXJldHVybiByZXQ7Cj4KPiAtCW9iaiA9IHRvX2lu dGVsX2JvKGRybV9nZW1fb2JqZWN0X2xvb2t1cChmaWxlLCBhcmdzLT5oYW5kbGUpKTsKPiAtCWlm ICgmb2JqLT5iYXNlID09IE5VTEwpIHsKPiArCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9sb29rdXAo ZmlsZSwgYXJncy0+aGFuZGxlKTsKPiArCWlmICghb2JqKSB7Cj4gICAJCXJldCA9IC1FTk9FTlQ7 Cj4gICAJCWdvdG8gdW5sb2NrOwo+ICAgCX0KPiBAQCAtNDA5MSw4ICs0MDkxLDggQEAgaTkxNV9n ZW1fbWFkdmlzZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAg CWlmIChyZXQpCj4gICAJCXJldHVybiByZXQ7Cj4KPiAtCW9iaiA9IHRvX2ludGVsX2JvKGRybV9n ZW1fb2JqZWN0X2xvb2t1cChmaWxlX3ByaXYsIGFyZ3MtPmhhbmRsZSkpOwo+IC0JaWYgKCZvYmot PmJhc2UgPT0gTlVMTCkgewo+ICsJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2xvb2t1cChmaWxlX3By aXYsIGFyZ3MtPmhhbmRsZSk7Cj4gKwlpZiAoIW9iaikgewo+ICAgCQlyZXQgPSAtRU5PRU5UOwo+ ICAgCQlnb3RvIHVubG9jazsKPiAgIAl9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX3RpbGluZy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdGls aW5nLmMKPiBpbmRleCA4MDMwMTk5NzMxZGIuLjQ2ZTgwZjMwYWZjZCAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV90aWxpbmcuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX3RpbGluZy5jCj4gQEAgLTE2Niw4ICsxNjYsOCBAQCBpOTE1X2dl bV9zZXRfdGlsaW5nKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKPiAgIAlpbnQgcmV0ID0gMDsKPgo+IC0Jb2Jq ID0gdG9faW50ZWxfYm8oZHJtX2dlbV9vYmplY3RfbG9va3VwKGZpbGUsIGFyZ3MtPmhhbmRsZSkp Owo+IC0JaWYgKCZvYmotPmJhc2UgPT0gTlVMTCkKPiArCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9s b29rdXAoZmlsZSwgYXJncy0+aGFuZGxlKTsKPiArCWlmICghb2JqKQo+ICAgCQlyZXR1cm4gLUVO T0VOVDsKPgo+ICAgCWlmICghaTkxNV90aWxpbmdfb2soZGV2LAo+IEBAIC0yOTcsOCArMjk3LDgg QEAgaTkxNV9nZW1fZ2V0X3RpbGluZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRh LAo+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsK PiAgIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwo+Cj4gLQlvYmogPSB0b19pbnRl bF9ibyhkcm1fZ2VtX29iamVjdF9sb29rdXAoZmlsZSwgYXJncy0+aGFuZGxlKSk7Cj4gLQlpZiAo Jm9iai0+YmFzZSA9PSBOVUxMKQo+ICsJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2xvb2t1cChmaWxl LCBhcmdzLT5oYW5kbGUpOwo+ICsJaWYgKCFvYmopCj4gICAJCXJldHVybiAtRU5PRU5UOwo+Cj4g ICAJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKPiBpbmRleCAyZjdhZjg1NWE1ODUuLjc3ZDMyMDU4NDQ3OCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTUwODksOCArMTUwODksOCBAQCBp bnRlbF91c2VyX2ZyYW1lYnVmZmVyX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAg CXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7Cj4gICAJc3RydWN0IGRybV9tb2RlX2Zi X2NtZDIgbW9kZV9jbWQgPSAqdXNlcl9tb2RlX2NtZDsKPgo+IC0Jb2JqID0gdG9faW50ZWxfYm8o ZHJtX2dlbV9vYmplY3RfbG9va3VwKGZpbHAsIG1vZGVfY21kLmhhbmRsZXNbMF0pKTsKPiAtCWlm ICgmb2JqLT5iYXNlID09IE5VTEwpCj4gKwlvYmogPSBpOTE1X2dlbV9vYmplY3RfbG9va3VwKGZp bHAsIG1vZGVfY21kLmhhbmRsZXNbMF0pOwo+ICsJaWYgKCFvYmopCj4gICAJCXJldHVybiBFUlJf UFRSKC1FTk9FTlQpOwo+Cj4gICAJZmIgPSBpbnRlbF9mcmFtZWJ1ZmZlcl9jcmVhdGUoZGV2LCAm bW9kZV9jbWQsIG9iaik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X292ZXJsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYwo+IGluZGV4 IDMyMTJkODgwNmI1YS4uNWNhNzk3YjAxY2NiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX292ZXJsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X292ZXJsYXkuYwo+IEBAIC0xMTIyLDkgKzExMjIsOCBAQCBpbnQgaW50ZWxfb3ZlcmxheV9wdXRf aW1hZ2VfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIAl9Cj4g ICAJY3J0YyA9IHRvX2ludGVsX2NydGMoZHJtbW9kZV9jcnRjKTsKPgo+IC0JbmV3X2JvID0gdG9f aW50ZWxfYm8oZHJtX2dlbV9vYmplY3RfbG9va3VwKGZpbGVfcHJpdiwKPiAtCQkJCQkJICAgcHV0 X2ltYWdlX3JlYy0+Ym9faGFuZGxlKSk7Cj4gLQlpZiAoJm5ld19iby0+YmFzZSA9PSBOVUxMKSB7 Cj4gKwluZXdfYm8gPSBpOTE1X2dlbV9vYmplY3RfbG9va3VwKGZpbGVfcHJpdiwgcHV0X2ltYWdl X3JlYy0+Ym9faGFuZGxlKTsKPiArCWlmICghbmV3X2JvKSB7Cj4gICAJCXJldCA9IC1FTk9FTlQ7 Cj4gICAJCWdvdG8gb3V0X2ZyZWU7Cj4gICAJfQoKTEdUTS4KClJldmlld2VkLWJ5OiBEYXZlIEdv cmRvbiA8ZGF2aWQucy5nb3Jkb25AaW50ZWwuY29tPgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==