From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Goel, Akash" Subject: Re: [PATCH v6] drm/i915: Add soft-pinning API for execbuffer Date: Fri, 16 Oct 2015 19:39:20 +0530 Message-ID: <56210510.1010006@intel.com> References: <1437410504-12467-1-git-send-email-thomas.daniel@intel.com> <1444993140-20909-1-git-send-email-thomas.daniel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 1CC686F008 for ; Fri, 16 Oct 2015 07:09:24 -0700 (PDT) In-Reply-To: <1444993140-20909-1-git-send-email-thomas.daniel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Thomas Daniel , intel-gfx@lists.freedesktop.org Cc: Vinay Belgaumkar , =?UTF-8?Q?Kristian_H=c3=b8gsberg?= List-Id: intel-gfx@lists.freedesktop.org CkRpc2N1c3NlZCBzb21ldGltZSBiYWNrIGFib3V0IHRoaXMgcGF0Y2ggd2l0aCBDaHJpcy4gSGUg bWFpbmx5IGhhcyAyIApjb25jZXJucyB3aXRoIGl0LgoxLiBUaGUgbGluZWFyIHdhbGsgdXNlZCBi eSB0aGUgcGF0Y2ggdG8gZGV0ZWN0IHRoZSBvdmVybGFwcGluZyBvYmplY3RzIAp3b3VsZCBiZSBl eHBlbnNpdmUuCjIuIFJlc3RyaWN0aW9uIHRvIGRpc2FsbG93ICFSQ1Mgc3VibWlzc2lvbnMgZm9y IG5vbi1kZWZhdWx0IGNvbnRleHRzLCAKd2hpY2ggY291bGQgbGVhZCB0byBsb3Qgb2YgY29uZmxp Y3RzIGZvciB0aGUgcGxhY2VtZW50cywgb25jZSBtdWx0aXBsZSAKZW5naW5lcyBsaWtlIG1lZGlh L2JsaXQvdmVib3ggYXJlIHVzZWQKCkJvdGggb2YgdGhlbSBjYW4gYmUgYWRkcmVzc2VkIGJ5IHRo ZSBzdWJzZXF1ZW50IHBhdGNoZXMuCkNocmlzIGFscmVhZHkgaGFzIHRoZSBwYXRjaCByZWFkeSB0 byByZWR1Y2UgdGhlIHZhbGlkYXRpb24gb3ZlcmhlYWQgd2l0aCAKdGhlIHVzZSBvZiByYnRyZWUg YW5kIHRoZXJlIHNob3VsZCBiZSBubyBpbXBsaWNhdGlvbnMgb2YgYWxsb3dpbmcgdGhlIApub24t ZGVmYXVsdCBjb250ZXh0cyBmb3IgIVJDUyBzdWJtaXNzaW9ucyBpbiBleGVjYnVmZmVyLgoKSW4g dGhlIHN0YW5kYWxvbmUgZm9ybSwgdGhlIHBhdGNoIGxvb2tzIGdvb2QsIHNvClJldmlld2VkLWJ5 OiAiQWthc2ggR29lbCA8YWthc2guZ29lbEBpbnRlbC5jb20+IgoKT24gMTAvMTYvMjAxNSA0OjI5 IFBNLCBUaG9tYXMgRGFuaWVsIHdyb3RlOgo+IEZyb206IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hy aXMtd2lsc29uLmNvLnVrPgo+Cj4gVXNlcnNwYWNlIGNhbiBwYXNzIGluIGFuIG9mZnNldCB0aGF0 IGl0IHByZXN1bWVzIHRoZSBvYmplY3QgaXMgbG9jYXRlZAo+IGF0LiBUaGUga2VybmVsIHdpbGwg dGhlbiBkbyBpdHMgdXRtb3N0IHRvIGZpdCB0aGUgb2JqZWN0IGludG8gdGhhdAo+IGxvY2F0aW9u LiBUaGUgYXNzdW1wdGlvbiBpcyB0aGF0IHVzZXJzcGFjZSBpcyBoYW5kbGluZyBpdHMgb3duIG9i amVjdAo+IGxvY2F0aW9ucyAoZm9yIGV4YW1wbGUgYWxvbmcgd2l0aCBmdWxsLXBwZ3R0KSBhbmQg dGhhdCB0aGUga2VybmVsIHdpbGwKPiByYXJlbHkgaGF2ZSB0byBtYWtlIHNwYWNlIGZvciB0aGUg dXNlcidzIHJlcXVlc3RzLgo+Cj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0Bj aHJpcy13aWxzb24uY28udWs+Cj4KPiB2MjogRml4ZWQgaW5jb3JyZWN0IGV2aWN0aW9uIGZvdW5k IGJ5IE1pY2hhbCBXaW5pYXJza2kgLSBmaXggc3VnZ2VzdGVkIGJ5IENocmlzCj4gV2lsc29uLiAg Rml4ZWQgaW5jb3JyZWN0IGVycm9yIHBhdGhzIGNhdXNpbmcgY3Jhc2ggZm91bmQgYnkgTWljaGFs IFdpbmlhcnNraS4KPiAoTm90IHB1Ymxpc2hlZCBleHRlcm5hbGx5KQo+Cj4gdjM6IFJlYmFzZWQg YmVjYXVzZSBvZiB0cml2aWFsIGNvbmZsaWN0IGluIG9iamVjdF9iaW5kX3RvX3ZtLiAgRml4ZWQg ZXZpY3Rpb24KPiB0byBhbGxvdyBldmljdGlvbiBvZiBzb2Z0LXBpbm5lZCBvYmplY3RzIHdoZW4g YW5vdGhlciBzb2Z0LXBpbm5lZCBvYmplY3QgdXNlZAo+IGJ5IGEgc3Vic2VxdWVudCBleGVjYnVm ZmVyIG92ZXJsYXBzIHJlcG9ydGVkIGJ5IE1pY2hhbCBXaW5pYXJza2kuCj4gKE5vdCBwdWJsaXNo ZWQgZXh0ZXJuYWxseSkKPgo+IHY0OiBNb3ZlZCBzb2Z0LXBpbm5lZCBvYmplY3RzIHRvIHRoZSBm cm9udCBvZiBvcmRlcmVkX3ZtYXMgc28gdGhhdCB0aGV5IGFyZQo+IHBpbm5lZCBmaXJzdCBhZnRl ciBhbiBhZGRyZXNzIGNvbmZsaWN0IGhhcHBlbnMgdG8gYXZvaWQgcmVwZWF0ZWQgY29uZmxpY3Rz IGluCj4gcmFyZSBjYXNlcyAoU3VnZ2VzdGVkIGJ5IENocmlzIFdpbHNvbikuICBFeHBhbmRlZCBj b21tZW50IG9uCj4gZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0Mi5vZmZzZXQgdG8gY292ZXIgdGhp cyBuZXcgQVBJLgo+Cj4gdjU6IEFkZGVkIEk5MTVfUEFSQU1fSEFTX0VYRUNfU09GVFBJTiBwYXJh bWV0ZXIgZm9yIGRldGVjdGluZyB0aGlzIGNhcGFiaWxpdHkKPiAoS3Jpc3RpYW4pLiBBZGRlZCBj aGVjayBmb3IgbXVsdGlwbGUgcGlubmluZ3Mgb24gZXZpY3Rpb24gKEFrYXNoKS4gTWFkZSBzdXJl Cj4gYnVmZmVycyBhcmUgbm90IGNvbnNpZGVyZWQgbWlzcGxhY2VkIHdpdGhvdXQgdGhlIHVzZXIg c3BlY2lmeWluZwo+IEVYRUNfT0JKRUNUX1NVUFBPUlRTXzQ4Ql9BRERSRVNTLiAgVXNlciBtdXN0 IGFzc3VtZSByZXNwb25zaWJpbGl0eSBmb3IgYW55Cj4gYWRkcmVzc2luZyB3b3JrYXJvdW5kcy4g IFVwZGF0ZWQgb2JqZWN0Mi5vZmZzZXQgZmllbGQgY29tbWVudCBhZ2FpbiB0byBjbGFyaWZ5Cj4g Tk9fUkVMT0MgY2FzZSAoQ2hyaXMpLiAgY2hlY2twYXRjaCBjbGVhbnVwLgo+Cj4gdjY6IFRyaXZp YWwgcmViYXNlIG9uIGxhdGVzdCBkcm0taW50ZWwtbmlnaHRseQo+Cj4gQ2M6IENocmlzIFdpbHNv biA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IENjOiBBa2FzaCBHb2VsIDxha2FzaC5nb2Vs QGludGVsLmNvbT4KPiBDYzogVmluYXkgQmVsZ2F1bWthciA8dmluYXkuYmVsZ2F1bWthckBpbnRl bC5jb20+Cj4gQ2M6IE1pY2hhbCBXaW5pYXJza2kgPG1pY2hhbC53aW5pYXJza2lAaW50ZWwuY29t Pgo+IENjOiBab3UgTmFuaGFpIDxuYW5oYWkuem91QGludGVsLmNvbT4KPiBDYzogS3Jpc3RpYW4g SMO4Z3NiZXJnIDxob2Vnc2JlcmdAZ21haWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFRob21hcyBE YW5pZWwgPHRob21hcy5kYW5pZWxAaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kbWEuYyAgICAgICAgICAgIHwgIDMgKysKPiAgIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggICAgICAgICAgICB8ICAyICsKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMgICAgICAgICAgICB8IDY0ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXZpY3QuYyAgICAgIHwgMzkgKysr KysrKysrKysrKysrKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVm ZmVyLmMgfCAxOSArKysrKysrLS0KPiAgIGluY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCAgICAg ICAgICAgICAgICB8IDEyICsrKystLQo+ICAgNiBmaWxlcyBjaGFuZ2VkLCAxMTMgaW5zZXJ0aW9u cygrKSwgMjYgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKPiBpbmRleCAy MzM2YWY5Li44MjRjNmMzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZG1hLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCj4gQEAgLTE3MCw2 ICsxNzAsOSBAQCBzdGF0aWMgaW50IGk5MTVfZ2V0cGFyYW0oc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdm9pZCAqZGF0YSwKPiAgIAljYXNlIEk5MTVfUEFSQU1fSEFTX1JFU09VUkNFX1NUUkVBTUVS Ogo+ICAgCQl2YWx1ZSA9IEhBU19SRVNPVVJDRV9TVFJFQU1FUihkZXYpOwo+ICAgCQlicmVhazsK PiArCWNhc2UgSTkxNV9QQVJBTV9IQVNfRVhFQ19TT0ZUUElOOgo+ICsJCXZhbHVlID0gMTsKPiAr CQlicmVhazsKPiAgIAlkZWZhdWx0Ogo+ICAgCQlEUk1fREVCVUcoIlVua25vd24gcGFyYW1ldGVy ICVkXG4iLCBwYXJhbS0+cGFyYW0pOwo+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKPiBpbmRleCAxMzk2YWY5Li43M2MzYWNmIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCj4gQEAgLTI4MTYsNiArMjgxNiw3IEBAIHZvaWQgaTkxNV9nZW1fdm1hX2Rlc3Ry b3koc3RydWN0IGk5MTVfdm1hICp2bWEpOwo+ICAgI2RlZmluZSBQSU5fVVBEQVRFCSgxPDw1KQo+ ICAgI2RlZmluZSBQSU5fWk9ORV80RwkoMTw8NikKPiAgICNkZWZpbmUgUElOX0hJR0gJKDE8PDcp Cj4gKyNkZWZpbmUgUElOX09GRlNFVF9GSVhFRAkoMTw8OCkKPiAgICNkZWZpbmUgUElOX09GRlNF VF9NQVNLICh+NDA5NSkKPiAgIGludCBfX211c3RfY2hlY2sKPiAgIGk5MTVfZ2VtX29iamVjdF9w aW4oc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiBAQCAtMzE2Myw2ICszMTY0LDcg QEAgaW50IF9fbXVzdF9jaGVjayBpOTE1X2dlbV9ldmljdF9zb21ldGhpbmcoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPiAgIAkJCQkJICB1bnNpZ25lZCBsb25nIHN0YXJ0LAo+ICAgCQkJCQkgIHVu c2lnbmVkIGxvbmcgZW5kLAo+ICAgCQkJCQkgIHVuc2lnbmVkIGZsYWdzKTsKPiAraW50IF9fbXVz dF9jaGVjayBpOTE1X2dlbV9ldmljdF9mb3Jfdm1hKHN0cnVjdCBpOTE1X3ZtYSAqdGFyZ2V0KTsK PiAgIGludCBpOTE1X2dlbV9ldmljdF92bShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwg Ym9vbCBkb19pZGxlKTsKPgo+ICAgLyogYmVsb25ncyBpbiBpOTE1X2dlbV9ndHQuaCAqLwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYwo+IGluZGV4IDFlNjc0ODQuLmMzNDUzYmQgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMKPiBAQCAtMzQ1MCwzMCArMzQ1MCw1MCBAQCBpOTE1X2dlbV9vYmpl Y3RfYmluZF90b192bShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAgCWlmIChJ U19FUlIodm1hKSkKPiAgIAkJZ290byBlcnJfdW5waW47Cj4KPiAtCWlmIChmbGFncyAmIFBJTl9I SUdIKSB7Cj4gLQkJc2VhcmNoX2ZsYWcgPSBEUk1fTU1fU0VBUkNIX0JFTE9XOwo+IC0JCWFsbG9j X2ZsYWcgPSBEUk1fTU1fQ1JFQVRFX1RPUDsKPiArCWlmIChmbGFncyAmIFBJTl9PRkZTRVRfRklY RUQpIHsKPiArCQl1aW50NjRfdCBvZmZzZXQgPSBmbGFncyAmIFBJTl9PRkZTRVRfTUFTSzsKPiAr Cj4gKwkJaWYgKG9mZnNldCAmIChhbGlnbm1lbnQgLSAxKSkgewo+ICsJCQlyZXQgPSAtRUlOVkFM Owo+ICsJCQlnb3RvIGVycl9mcmVlX3ZtYTsKPiArCQl9Cj4gKwkJdm1hLT5ub2RlLnN0YXJ0ID0g b2Zmc2V0Owo+ICsJCXZtYS0+bm9kZS5zaXplID0gc2l6ZTsKPiArCQl2bWEtPm5vZGUuY29sb3Ig PSBvYmotPmNhY2hlX2xldmVsOwo+ICsJCXJldCA9IGRybV9tbV9yZXNlcnZlX25vZGUoJnZtLT5t bSwgJnZtYS0+bm9kZSk7Cj4gKwkJaWYgKHJldCkgewo+ICsJCQlyZXQgPSBpOTE1X2dlbV9ldmlj dF9mb3Jfdm1hKHZtYSk7Cj4gKwkJCWlmIChyZXQgPT0gMCkKPiArCQkJCXJldCA9IGRybV9tbV9y ZXNlcnZlX25vZGUoJnZtLT5tbSwgJnZtYS0+bm9kZSk7Cj4gKwkJfQo+ICsJCWlmIChyZXQpCj4g KwkJCWdvdG8gZXJyX2ZyZWVfdm1hOwo+ICAgCX0gZWxzZSB7Cj4gLQkJc2VhcmNoX2ZsYWcgPSBE Uk1fTU1fU0VBUkNIX0RFRkFVTFQ7Cj4gLQkJYWxsb2NfZmxhZyA9IERSTV9NTV9DUkVBVEVfREVG QVVMVDsKPiAtCX0KPiArCQlpZiAoZmxhZ3MgJiBQSU5fSElHSCkgewo+ICsJCQlzZWFyY2hfZmxh ZyA9IERSTV9NTV9TRUFSQ0hfQkVMT1c7Cj4gKwkJCWFsbG9jX2ZsYWcgPSBEUk1fTU1fQ1JFQVRF X1RPUDsKPiArCQl9IGVsc2Ugewo+ICsJCQlzZWFyY2hfZmxhZyA9IERSTV9NTV9TRUFSQ0hfREVG QVVMVDsKPiArCQkJYWxsb2NfZmxhZyA9IERSTV9NTV9DUkVBVEVfREVGQVVMVDsKPiArCQl9Cj4K PiAgIHNlYXJjaF9mcmVlOgo+IC0JcmV0ID0gZHJtX21tX2luc2VydF9ub2RlX2luX3JhbmdlX2dl bmVyaWMoJnZtLT5tbSwgJnZtYS0+bm9kZSwKPiAtCQkJCQkJICBzaXplLCBhbGlnbm1lbnQsCj4g LQkJCQkJCSAgb2JqLT5jYWNoZV9sZXZlbCwKPiAtCQkJCQkJICBzdGFydCwgZW5kLAo+IC0JCQkJ CQkgIHNlYXJjaF9mbGFnLAo+IC0JCQkJCQkgIGFsbG9jX2ZsYWcpOwo+IC0JaWYgKHJldCkgewo+ IC0JCXJldCA9IGk5MTVfZ2VtX2V2aWN0X3NvbWV0aGluZyhkZXYsIHZtLCBzaXplLCBhbGlnbm1l bnQsCj4gLQkJCQkJICAgICAgIG9iai0+Y2FjaGVfbGV2ZWwsCj4gLQkJCQkJICAgICAgIHN0YXJ0 LCBlbmQsCj4gLQkJCQkJICAgICAgIGZsYWdzKTsKPiAtCQlpZiAocmV0ID09IDApCj4gLQkJCWdv dG8gc2VhcmNoX2ZyZWU7Cj4gKwkJcmV0ID0gZHJtX21tX2luc2VydF9ub2RlX2luX3JhbmdlX2dl bmVyaWMoJnZtLT5tbSwgJnZtYS0+bm9kZSwKPiArCQkJCQkJCSAgc2l6ZSwgYWxpZ25tZW50LAo+ ICsJCQkJCQkJICBvYmotPmNhY2hlX2xldmVsLAo+ICsJCQkJCQkJICBzdGFydCwgZW5kLAo+ICsJ CQkJCQkJICBzZWFyY2hfZmxhZywKPiArCQkJCQkJCSAgYWxsb2NfZmxhZyk7Cj4gKwkJaWYgKHJl dCkgewo+ICsJCQlyZXQgPSBpOTE1X2dlbV9ldmljdF9zb21ldGhpbmcoZGV2LCB2bSwgc2l6ZSwg YWxpZ25tZW50LAo+ICsJCQkJCQkgICAgICAgb2JqLT5jYWNoZV9sZXZlbCwKPiArCQkJCQkJICAg ICAgIHN0YXJ0LCBlbmQsCj4gKwkJCQkJCSAgICAgICBmbGFncyk7Cj4gKwkJCWlmIChyZXQgPT0g MCkKPiArCQkJCWdvdG8gc2VhcmNoX2ZyZWU7Cj4KPiAtCQlnb3RvIGVycl9mcmVlX3ZtYTsKPiAr CQkJZ290byBlcnJfZnJlZV92bWE7Cj4gKwkJfQo+ICAgCX0KPiAgIAlpZiAoV0FSTl9PTighaTkx NV9nZW1fdmFsaWRfZ3R0X3NwYWNlKHZtYSwgb2JqLT5jYWNoZV9sZXZlbCkpKSB7Cj4gICAJCXJl dCA9IC1FSU5WQUw7Cj4gQEAgLTQwMDcsNiArNDAyNywxMCBAQCBpOTE1X3ZtYV9taXNwbGFjZWQo c3RydWN0IGk5MTVfdm1hICp2bWEsIHVpbnQzMl90IGFsaWdubWVudCwgdWludDY0X3QgZmxhZ3Mp Cj4gICAJICAgIHZtYS0+bm9kZS5zdGFydCA8IChmbGFncyAmIFBJTl9PRkZTRVRfTUFTSykpCj4g ICAJCXJldHVybiB0cnVlOwo+Cj4gKwlpZiAoZmxhZ3MgJiBQSU5fT0ZGU0VUX0ZJWEVEICYmCj4g KwkgICAgdm1hLT5ub2RlLnN0YXJ0ICE9IChmbGFncyAmIFBJTl9PRkZTRVRfTUFTSykpCj4gKwkJ cmV0dXJuIHRydWU7Cj4gKwo+ICAgCXJldHVybiBmYWxzZTsKPiAgIH0KPgo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ldmljdC5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZXZpY3QuYwo+IGluZGV4IGQ3MWExMzMuLjA3YzZlNGQgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXZpY3QuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V2aWN0LmMKPiBAQCAtMTk5LDYgKzE5OSw0NSBAQCBm b3VuZDoKPiAgIAlyZXR1cm4gcmV0Owo+ICAgfQo+Cj4gK2ludAo+ICtpOTE1X2dlbV9ldmljdF9m b3Jfdm1hKHN0cnVjdCBpOTE1X3ZtYSAqdGFyZ2V0KQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX21tX25v ZGUgKm5vZGUsICpuZXh0Owo+ICsKPiArCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShub2RlLCBu ZXh0LAo+ICsJCQkmdGFyZ2V0LT52bS0+bW0uaGVhZF9ub2RlLm5vZGVfbGlzdCwKPiArCQkJbm9k ZV9saXN0KSB7Cj4gKwkJc3RydWN0IGk5MTVfdm1hICp2bWE7Cj4gKwkJaW50IHJldDsKPiArCj4g KwkJaWYgKG5vZGUtPnN0YXJ0ICsgbm9kZS0+c2l6ZSA8PSB0YXJnZXQtPm5vZGUuc3RhcnQpCj4g KwkJCWNvbnRpbnVlOwo+ICsJCWlmIChub2RlLT5zdGFydCA+PSB0YXJnZXQtPm5vZGUuc3RhcnQg KyB0YXJnZXQtPm5vZGUuc2l6ZSkKPiArCQkJYnJlYWs7Cj4gKwo+ICsJCXZtYSA9IGNvbnRhaW5l cl9vZihub2RlLCB0eXBlb2YoKnZtYSksIG5vZGUpOwo+ICsKPiArCQlpZiAodm1hLT5waW5fY291 bnQpIHsKPiArCQkJaWYgKCF2bWEtPmV4ZWNfZW50cnkgfHwgKHZtYS0+cGluX2NvdW50ID4gMSkp Cj4gKwkJCQkvKiBPYmplY3QgaXMgcGlubmVkIGZvciBzb21lIG90aGVyIHVzZSAqLwo+ICsJCQkJ cmV0dXJuIC1FQlVTWTsKPiArCj4gKwkJCS8qIFdlIG5lZWQgdG8gZXZpY3QgYSBidWZmZXIgaW4g dGhlIHNhbWUgYmF0Y2ggKi8KPiArCQkJaWYgKHZtYS0+ZXhlY19lbnRyeS0+ZmxhZ3MgJiBFWEVD X09CSkVDVF9QSU5ORUQpCj4gKwkJCQkvKiBPdmVybGFwcGluZyBmaXhlZCBvYmplY3RzIGluIHRo ZSBzYW1lIGJhdGNoICovCj4gKwkJCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwkJCXJldHVybiAt RU5PU1BDOwo+ICsJCX0KPiArCj4gKwkJcmV0ID0gaTkxNV92bWFfdW5iaW5kKHZtYSk7Cj4gKwkJ aWYgKHJldCkKPiArCQkJcmV0dXJuIHJldDsKPiArCX0KPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ ICsKPiAgIC8qKgo+ICAgICogaTkxNV9nZW1fZXZpY3Rfdm0gLSBFdmljdCBhbGwgaWRsZSB2bWFz IGZyb20gYSB2bQo+ICAgICogQHZtOiBBZGRyZXNzIHNwYWNlIHRvIGNsZWFuc2UKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4gaW5kZXggNmVkN2Q2M2EuLmI3 MmZmZTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1 ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5j Cj4gQEAgLTU5OSw2ICs1OTksOCBAQCBpOTE1X2dlbV9leGVjYnVmZmVyX3Jlc2VydmVfdm1hKHN0 cnVjdCBpOTE1X3ZtYSAqdm1hLAo+ICAgCQkJZmxhZ3MgfD0gUElOX0dMT0JBTCB8IFBJTl9NQVBQ QUJMRTsKPiAgIAkJaWYgKGVudHJ5LT5mbGFncyAmIF9fRVhFQ19PQkpFQ1RfTkVFRFNfQklBUykK PiAgIAkJCWZsYWdzIHw9IEJBVENIX09GRlNFVF9CSUFTIHwgUElOX09GRlNFVF9CSUFTOwo+ICsJ CWlmIChlbnRyeS0+ZmxhZ3MgJiBFWEVDX09CSkVDVF9QSU5ORUQpCj4gKwkJCWZsYWdzIHw9IGVu dHJ5LT5vZmZzZXQgfCBQSU5fT0ZGU0VUX0ZJWEVEOwo+ICAgCQlpZiAoKGZsYWdzICYgUElOX01B UFBBQkxFKSA9PSAwKQo+ICAgCQkJZmxhZ3MgfD0gUElOX0hJR0g7Cj4gICAJfQo+IEBAIC02NzAs NiArNjcyLDEwIEBAIGViX3ZtYV9taXNwbGFjZWQoc3RydWN0IGk5MTVfdm1hICp2bWEpCj4gICAJ ICAgIHZtYS0+bm9kZS5zdGFydCAmIChlbnRyeS0+YWxpZ25tZW50IC0gMSkpCj4gICAJCXJldHVy biB0cnVlOwo+Cj4gKwlpZiAoZW50cnktPmZsYWdzICYgRVhFQ19PQkpFQ1RfUElOTkVEICYmCj4g KwkgICAgdm1hLT5ub2RlLnN0YXJ0ICE9IGVudHJ5LT5vZmZzZXQpCj4gKwkJcmV0dXJuIHRydWU7 Cj4gKwo+ICAgCWlmIChlbnRyeS0+ZmxhZ3MgJiBfX0VYRUNfT0JKRUNUX05FRURTX0JJQVMgJiYK PiAgIAkgICAgdm1hLT5ub2RlLnN0YXJ0IDwgQkFUQ0hfT0ZGU0VUX0JJQVMpCj4gICAJCXJldHVy biB0cnVlOwo+IEBAIC02NzgsNyArNjg0LDggQEAgZWJfdm1hX21pc3BsYWNlZChzdHJ1Y3QgaTkx NV92bWEgKnZtYSkKPiAgIAlpZiAoZW50cnktPmZsYWdzICYgX19FWEVDX09CSkVDVF9ORUVEU19N QVAgJiYgIW9iai0+bWFwX2FuZF9mZW5jZWFibGUpCj4gICAJCXJldHVybiAhb25seV9tYXBwYWJs ZV9mb3JfcmVsb2MoZW50cnktPmZsYWdzKTsKPgo+IC0JaWYgKChlbnRyeS0+ZmxhZ3MgJiBFWEVD X09CSkVDVF9TVVBQT1JUU180OEJfQUREUkVTUykgPT0gMCAmJgo+ICsJaWYgKCEoZW50cnktPmZs YWdzICYKPiArCSAgICAoRVhFQ19PQkpFQ1RfU1VQUE9SVFNfNDhCX0FERFJFU1MgfCBFWEVDX09C SkVDVF9QSU5ORUQpKSAmJgo+ICAgCSAgICAodm1hLT5ub2RlLnN0YXJ0ICsgdm1hLT5ub2RlLnNp emUgLSAxKSA+PiAzMikKPiAgIAkJcmV0dXJuIHRydWU7Cj4KPiBAQCAtNjk1LDYgKzcwMiw3IEBA IGk5MTVfZ2VtX2V4ZWNidWZmZXJfcmVzZXJ2ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5n LAo+ICAgCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwo+ICAgCXN0cnVjdCBpOTE1X2FkZHJlc3Nfc3Bh Y2UgKnZtOwo+ICAgCXN0cnVjdCBsaXN0X2hlYWQgb3JkZXJlZF92bWFzOwo+ICsJc3RydWN0IGxp c3RfaGVhZCBwaW5uZWRfdm1hczsKPiAgIAlib29sIGhhc19mZW5jZWRfZ3B1X2FjY2VzcyA9IElO VEVMX0lORk8ocmluZy0+ZGV2KS0+Z2VuIDwgNDsKPiAgIAlpbnQgcmV0cnk7Cj4KPiBAQCAtNzAz LDYgKzcxMSw3IEBAIGk5MTVfZ2VtX2V4ZWNidWZmZXJfcmVzZXJ2ZShzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICpyaW5nLAo+ICAgCXZtID0gbGlzdF9maXJzdF9lbnRyeSh2bWFzLCBzdHJ1Y3QgaTkx NV92bWEsIGV4ZWNfbGlzdCktPnZtOwo+Cj4gICAJSU5JVF9MSVNUX0hFQUQoJm9yZGVyZWRfdm1h cyk7Cj4gKwlJTklUX0xJU1RfSEVBRCgmcGlubmVkX3ZtYXMpOwo+ICAgCXdoaWxlICghbGlzdF9l bXB0eSh2bWFzKSkgewo+ICAgCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiAqZW50 cnk7Cj4gICAJCWJvb2wgbmVlZF9mZW5jZSwgbmVlZF9tYXBwYWJsZTsKPiBAQCAtNzIxLDcgKzcz MCw5IEBAIGk5MTVfZ2VtX2V4ZWNidWZmZXJfcmVzZXJ2ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nLAo+ICAgCQkJb2JqLT50aWxpbmdfbW9kZSAhPSBJOTE1X1RJTElOR19OT05FOwo+ICAg CQluZWVkX21hcHBhYmxlID0gbmVlZF9mZW5jZSB8fCBuZWVkX3JlbG9jX21hcHBhYmxlKHZtYSk7 Cj4KPiAtCQlpZiAobmVlZF9tYXBwYWJsZSkgewo+ICsJCWlmIChlbnRyeS0+ZmxhZ3MgJiBFWEVD X09CSkVDVF9QSU5ORUQpCj4gKwkJCWxpc3RfbW92ZV90YWlsKCZ2bWEtPmV4ZWNfbGlzdCwgJnBp bm5lZF92bWFzKTsKPiArCQllbHNlIGlmIChuZWVkX21hcHBhYmxlKSB7Cj4gICAJCQllbnRyeS0+ ZmxhZ3MgfD0gX19FWEVDX09CSkVDVF9ORUVEU19NQVA7Cj4gICAJCQlsaXN0X21vdmUoJnZtYS0+ ZXhlY19saXN0LCAmb3JkZXJlZF92bWFzKTsKPiAgIAkJfSBlbHNlCj4gQEAgLTczMSw2ICs3NDIs NyBAQCBpOTE1X2dlbV9leGVjYnVmZmVyX3Jlc2VydmUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZywKPiAgIAkJb2JqLT5iYXNlLnBlbmRpbmdfd3JpdGVfZG9tYWluID0gMDsKPiAgIAl9Cj4g ICAJbGlzdF9zcGxpY2UoJm9yZGVyZWRfdm1hcywgdm1hcyk7Cj4gKwlsaXN0X3NwbGljZSgmcGlu bmVkX3ZtYXMsIHZtYXMpOwo+Cj4gICAJLyogQXR0ZW1wdCB0byBwaW4gYWxsIG9mIHRoZSBidWZm ZXJzIGludG8gdGhlIEdUVC4KPiAgIAkgKiBUaGlzIGlzIGRvbmUgaW4gMyBwaGFzZXM6Cj4gQEAg LTEzMTcsNyArMTMyOSw4IEBAIGViX2dldF9iYXRjaChzdHJ1Y3QgZWJfdm1hcyAqZWIpCj4gICAJ ICogTm90ZSB0aGF0IGFjdHVhbCBoYW5ncyBoYXZlIG9ubHkgYmVlbiBvYnNlcnZlZCBvbiBnZW43 LCBidXQgZm9yCj4gICAJICogcGFyYW5vaWEgZG8gaXQgZXZlcnl3aGVyZS4KPiAgIAkgKi8KPiAt CXZtYS0+ZXhlY19lbnRyeS0+ZmxhZ3MgfD0gX19FWEVDX09CSkVDVF9ORUVEU19CSUFTOwo+ICsJ aWYgKCh2bWEtPmV4ZWNfZW50cnktPmZsYWdzICYgRVhFQ19PQkpFQ1RfUElOTkVEKSA9PSAwKQo+ ICsJCXZtYS0+ZXhlY19lbnRyeS0+ZmxhZ3MgfD0gX19FWEVDX09CSkVDVF9ORUVEU19CSUFTOwo+ Cj4gICAJcmV0dXJuIHZtYS0+b2JqOwo+ICAgfQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkv ZHJtL2k5MTVfZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKPiBpbmRleCA0ODRh OWZiLi5mYzc1NGEzIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAo+ ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAo+IEBAIC0zNTYsNiArMzU2LDcgQEAg dHlwZWRlZiBzdHJ1Y3QgZHJtX2k5MTVfaXJxX3dhaXQgewo+ICAgI2RlZmluZSBJOTE1X1BBUkFN X0VVX1RPVEFMCQkgMzQKPiAgICNkZWZpbmUgSTkxNV9QQVJBTV9IQVNfR1BVX1JFU0VUCSAzNQo+ ICAgI2RlZmluZSBJOTE1X1BBUkFNX0hBU19SRVNPVVJDRV9TVFJFQU1FUiAzNgo+ICsjZGVmaW5l IEk5MTVfUEFSQU1fSEFTX0VYRUNfU09GVFBJTgkgMzcKPgo+ICAgdHlwZWRlZiBzdHJ1Y3QgZHJt X2k5MTVfZ2V0cGFyYW0gewo+ICAgCV9fczMyIHBhcmFtOwo+IEBAIC02ODIsOCArNjgzLDEyIEBA IHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyIHsKPiAgIAlfX3U2NCBhbGlnbm1lbnQ7 Cj4KPiAgIAkvKioKPiAtCSAqIFJldHVybmVkIHZhbHVlIG9mIHRoZSB1cGRhdGVkIG9mZnNldCBv ZiB0aGUgb2JqZWN0LCBmb3IgZnV0dXJlCj4gLQkgKiBwcmVzdW1lZF9vZmZzZXQgd3JpdGVzLgo+ ICsJICogV2hlbiB0aGUgRVhFQ19PQkpFQ1RfUElOTkVEIGZsYWcgaXMgc3BlY2lmaWVkIHRoaXMg aXMgcG9wdWxhdGVkIGJ5Cj4gKwkgKiB0aGUgdXNlciB3aXRoIHRoZSBHVFQgb2Zmc2V0IGF0IHdo aWNoIHRoaXMgb2JqZWN0IHdpbGwgYmUgcGlubmVkLgo+ICsJICogV2hlbiB0aGUgSTkxNV9FWEVD X05PX1JFTE9DIGZsYWcgaXMgc3BlY2lmaWVkIHRoaXMgbXVzdCBjb250YWluIHRoZQo+ICsJICog cHJlc3VtZWRfb2Zmc2V0IG9mIHRoZSBvYmplY3QuCj4gKwkgKiBEdXJpbmcgZXhlY2J1ZmZlcjIg dGhlIGtlcm5lbCBwb3B1bGF0ZXMgaXQgd2l0aCB0aGUgdmFsdWUgb2YgdGhlCj4gKwkgKiBjdXJy ZW50IEdUVCBvZmZzZXQgb2YgdGhlIG9iamVjdCwgZm9yIGZ1dHVyZSBwcmVzdW1lZF9vZmZzZXQg d3JpdGVzLgo+ICAgCSAqLwo+ICAgCV9fdTY0IG9mZnNldDsKPgo+IEBAIC02OTEsNyArNjk2LDgg QEAgc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgewo+ICAgI2RlZmluZSBFWEVDX09C SkVDVF9ORUVEU19HVFQJKDE8PDEpCj4gICAjZGVmaW5lIEVYRUNfT0JKRUNUX1dSSVRFCSgxPDwy KQo+ICAgI2RlZmluZSBFWEVDX09CSkVDVF9TVVBQT1JUU180OEJfQUREUkVTUyAoMTw8MykKPiAt I2RlZmluZSBfX0VYRUNfT0JKRUNUX1VOS05PV05fRkxBR1MgLShFWEVDX09CSkVDVF9TVVBQT1JU U180OEJfQUREUkVTUzw8MSkKPiArI2RlZmluZSBFWEVDX09CSkVDVF9QSU5ORUQJKDE8PDQpCj4g KyNkZWZpbmUgX19FWEVDX09CSkVDVF9VTktOT1dOX0ZMQUdTIC0oRVhFQ19PQkpFQ1RfUElOTkVE PDwxKQo+ICAgCV9fdTY0IGZsYWdzOwo+Cj4gICAJX191NjQgcnN2ZDE7Cj4KX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK