From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 11/17] drm/i915: Support to create write combined type vmaps Date: Fri, 15 Jul 2016 12:31:23 +0100 Message-ID: <5788C98B.4040004@linux.intel.com> References: <1468158084-22028-1-git-send-email-akash.goel@intel.com> <1468158084-22028-12-git-send-email-akash.goel@intel.com> 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 489006E9D4 for ; Fri, 15 Jul 2016 11:31:26 +0000 (UTC) In-Reply-To: <1468158084-22028-12-git-send-email-akash.goel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: akash.goel@intel.com, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDEwLzA3LzE2IDE0OjQxLCBha2FzaC5nb2VsQGludGVsLmNvbSB3cm90ZToKPiBGcm9tOiBD aHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPgo+IHZtYXBzIGhhcyBhIHBy b3Zpc2lvbiBmb3IgY29udHJvbGxpbmcgdGhlIHBhZ2UgcHJvdGVjdGlvbiBiaXRzLCB3aXRoIHdo aWNoCj4gd2UgY2FuIHVzZSB0byBjb250cm9sIHRoZSBtYXBwaW5nIHR5cGUsIGUuZy4gV0IsIFdD LCBVQyBvciBldmVuIFdULgo+IFRvIGFsbG93IHRoZSBjYWxsZXIgdG8gY2hvb3NlIHRoZWlyIG1h cHBpbmcgdHlwZSwgd2UgYWRkIGEgcGFyYW1ldGVyIHRvCj4gaTkxNV9nZW1fb2JqZWN0X3Bpbl9t YXAgLSBidXQgd2Ugc3RpbGwgb25seSBhbGxvdyBvbmUgdm1hcCB0byBiZSBjYWNoZWQKPiBwZXIg b2JqZWN0LiBJZiB0aGUgb2JqZWN0IGlzIGN1cnJlbnRseSBub3QgcGlubmVkLCB0aGVuIHdlIHJl Y3JlYXRlIHRoZQo+IHByZXZpb3VzIHZtYXAgd2l0aCB0aGUgbmV3IGFjY2VzcyB0eXBlLCBidXQg aWYgaXQgd2FzIHBpbm5lZCB3ZSByZXBvcnQgYW4KPiBlcnJvci4gVGhpcyBlZmZlY3RpdmVseSBs aW1pdHMgdGhlIGFjY2VzcyB2aWEgaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAgdG8gYQo+IHNpbmds ZSBtYXBwaW5nIHR5cGUgZm9yIHRoZSBsaWZldGltZSBvZiB0aGUgb2JqZWN0LiBOb3QgdXN1YWxs eSBhIHByb2JsZW0sCj4gYnV0IHNvbWV0aGluZyB0byBiZSBhd2FyZSBvZiB3aGVuIHNldHRpbmcg dXAgdGhlIG9iamVjdCdzIHZtYXAuCj4KPiBXZSB3aWxsIHdhbnQgdG8gdmFyeSB0aGUgYWNjZXNz IHR5cGUgdG8gZW5hYmxlIFdDIG1hcHBpbmdzIG9mIHJpbmdidWZmZXIKPiBhbmQgY29udGV4dCBv YmplY3RzIG9uICFsbGMgcGxhdGZvcm1zLCBhcyB3ZWxsIGFzIG90aGVyIG9iamVjdHMgd2hlcmUg d2UKPiBuZWVkIGNvaGVyZW50IGFjY2VzcyB0byB0aGUgR1BVJ3MgcGFnZXMgd2l0aG91dCBnb2lu ZyB0aHJvdWdoIHRoZSBHVFQKPgo+IHYyOiBSZW1vdmUgdGhlIHJlZHVuZGFudCBicmFjZXMgYXJv dW5kIHBpbiBjb3VudCBjaGVjayBhbmQgZml4IHRoZSBtYXJrZXIKPiAgICAgIGluIGRvY3VtZW50 YXRpb24gKENocmlzKQo+Cj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJp cy13aWxzb24uY28udWs+Cj4gU2lnbmVkLW9mZi1ieTogQWthc2ggR29lbCA8YWthc2guZ29lbEBp bnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAg ICAgICAgfCAgNCArKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAg ICAgICB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQo+ICAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVmLmMgICAgIHwgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyB8ICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAgfCAgOCArKy0tLQo+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jICAgIHwgIDIgKy0KPiAgIDYgZmlsZXMgY2hhbmdlZCwg NTQgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKPiBpbmRleCA2ZTJkZGZhLi44NGFmYTE3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o Cj4gQEAgLTMyNDgsNiArMzI0OCw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X2dlbV9vYmpl Y3RfdW5waW5fcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiAgIC8qKgo+ ICAgICogaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAgLSByZXR1cm4gYSBjb250aWd1b3VzIG1hcHBp bmcgb2YgdGhlIGVudGlyZSBvYmplY3QKPiAgICAqIEBvYmogLSB0aGUgb2JqZWN0IHRvIG1hcCBp bnRvIGtlcm5lbCBhZGRyZXNzIHNwYWNlCj4gKyAqIEB1c2Vfd2MgLSB3aGV0aGVyIHRoZSBtYXBw aW5nIHNob3VsZCBiZSB1c2luZyBXQyBvciBXQiBwZ3Byb3RfdAo+ICAgICoKPiAgICAqIENhbGxz IGk5MTVfZ2VtX29iamVjdF9waW5fcGFnZXMoKSB0byBwcmV2ZW50IHJlYXBpbmcgb2YgdGhlIG9i amVjdCdzCj4gICAgKiBwYWdlcyBhbmQgdGhlbiByZXR1cm5zIGEgY29udGlndW91cyBtYXBwaW5n IG9mIHRoZSBiYWNraW5nIHN0b3JhZ2UgaW50bwo+IEBAIC0zMjU5LDcgKzMyNjAsOCBAQCBzdGF0 aWMgaW5saW5lIHZvaWQgaTkxNV9nZW1fb2JqZWN0X3VucGluX3BhZ2VzKHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmopCj4gICAgKiBSZXR1cm5zIHRoZSBwb2ludGVyIHRocm91Z2ggd2hp Y2ggdG8gYWNjZXNzIHRoZSBtYXBwZWQgb2JqZWN0LCBvciBhbgo+ICAgICogRVJSX1BUUigpIG9u IGVycm9yLgo+ICAgICovCj4gLXZvaWQgKl9fbXVzdF9jaGVjayBpOTE1X2dlbV9vYmplY3RfcGlu X21hcChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKTsKPiArdm9pZCAqX19tdXN0X2No ZWNrIGk5MTVfZ2VtX29iamVjdF9waW5fbWFwKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosCj4gKwkJCQkJIGJvb2wgdXNlX3djKTsKCkNvdWxkIHlvdSBtYWtlIGl0IGFuIGVudW0gaW5z dGVhZCBvZiBhIGJvb2w/IENvbW1pdCBtZXNzYWdlIHN1Z2dlc3RzIAptb3JlIG1vZGVzIHdpbGwg cG90ZW50aWFsbHkgYmUgYWRkZWQgYW5kIGlmIHNvLCBhbmQgd2Ugc3RhcnQgd2l0aCBhbiAKZW51 bSBzdHJhaWdodCBhd2F5LCBpdCB3aWxsIG1ha2UgZm9yIGxlc3MgY2h1cm4gaW4gdGhlIGZ1dHVy ZS4KCmZ1bmMoc29tZXRoaW5nLCB0cnVlKSBpcyBhbHdheXMgYWxzbyBxdWl0ZSB1bnJlYWRhYmUg aW4gdGhlIGNvZGUgYmVjYXVzZSAKb25lIGhhcyB0byByZW1lbWJlciBvciByZW1pbmQgaGltc2Vs ZiB3aGF0IGl0IHJlYWxseSBtZWFucy4KClNvbWV0aGluZyBsaWtlIGZ1bmMoc29tZXRoaW5nLCBN QVBfV0MpIHdvdWxkIGJlIHNpbXBseSBzZWxmLWRvY3VtZW50aW5nLgoKPgo+ICAgLyoqCj4gICAg KiBpOTE1X2dlbV9vYmplY3RfdW5waW5fbWFwIC0gcmVsZWFzZXMgYW4gZWFybGllciBtYXBwaW5n Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gaW5kZXggOGY1MDkxOS4uYzQzMWI0MCAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IEBAIC0yNDcxLDEwICsyNDcxLDExIEBAIGk5MTVfZ2Vt X29iamVjdF9wdXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiAgIAls aXN0X2RlbCgmb2JqLT5nbG9iYWxfbGlzdCk7Cj4KPiAgIAlpZiAob2JqLT5tYXBwaW5nKSB7Cj4g LQkJaWYgKGlzX3ZtYWxsb2NfYWRkcihvYmotPm1hcHBpbmcpKQo+IC0JCQl2dW5tYXAob2JqLT5t YXBwaW5nKTsKPiArCQl2b2lkICpwdHIgPSAodm9pZCAqKSgodWludHB0cl90KW9iai0+bWFwcGlu ZyAmIH4xKTsKCkhvdyBtYW55IGJpdHMgd2UgaGF2ZSB0byBwbGF5IHdpdGggaGVyZT8gSXMgdGhl cmUgYSBzdWl0YWJsZSBkZWZpbmUgCnNvbWV3aGVyZSB3ZSBjb3VsZCB1c2UgZm9yIGEgbWFzayBp bnN0ZWFkIG9mIGhhcmRjb2RlZCAiMSIgb3Igd2UgY291bGQgCmFkZCBvbmUgaWYgeW91IHRoaW5r IHRoYXQgd291bGQgYmUgYmV0dGVyPwoKPiArCQlpZiAoaXNfdm1hbGxvY19hZGRyKHB0cikpCj4g KwkJCXZ1bm1hcChwdHIpOwo+ICAgCQllbHNlCj4gLQkJCWt1bm1hcChrbWFwX3RvX3BhZ2Uob2Jq LT5tYXBwaW5nKSk7Cj4gKwkJCWt1bm1hcChrbWFwX3RvX3BhZ2UocHRyKSk7Cj4gICAJCW9iai0+ bWFwcGluZyA9IE5VTEw7Cj4gICAJfQo+Cj4gQEAgLTI2NDcsNyArMjY0OCw4IEBAIGk5MTVfZ2Vt X29iamVjdF9nZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiAgIH0K Pgo+ICAgLyogVGhlICdtYXBwaW5nJyBwYXJ0IG9mIGk5MTVfZ2VtX29iamVjdF9waW5fbWFwKCkg YmVsb3cgKi8KPiAtc3RhdGljIHZvaWQgKmk5MTVfZ2VtX29iamVjdF9tYXAoY29uc3Qgc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiArc3RhdGljIHZvaWQgKmk5MTVfZ2VtX29iamVj dF9tYXAoY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiArCQkJCWJvb2wg dXNlX3djKQo+ICAgewo+ICAgCXVuc2lnbmVkIGxvbmcgbl9wYWdlcyA9IG9iai0+YmFzZS5zaXpl ID4+IFBBR0VfU0hJRlQ7Cj4gICAJc3RydWN0IHNnX3RhYmxlICpzZ3QgPSBvYmotPnBhZ2VzOwo+ IEBAIC0yNjU5LDcgKzI2NjEsNyBAQCBzdGF0aWMgdm9pZCAqaTkxNV9nZW1fb2JqZWN0X21hcChj b25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ICAgCXZvaWQgKmFkZHI7Cj4K PiAgIAkvKiBBIHNpbmdsZSBwYWdlIGNhbiBhbHdheXMgYmUga21hcHBlZCAqLwo+IC0JaWYgKG5f cGFnZXMgPT0gMSkKPiArCWlmIChuX3BhZ2VzID09IDEgJiYgIXVzZV93YykKPiAgIAkJcmV0dXJu IGttYXAoc2dfcGFnZShzZ3QtPnNnbCkpOwo+Cj4gICAJaWYgKG5fcGFnZXMgPiBBUlJBWV9TSVpF KHN0YWNrX3BhZ2VzKSkgewo+IEBAIC0yNjc1LDcgKzI2NzcsOCBAQCBzdGF0aWMgdm9pZCAqaTkx NV9nZW1fb2JqZWN0X21hcChjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ ICAgCS8qIENoZWNrIHRoYXQgd2UgaGF2ZSB0aGUgZXhwZWN0ZWQgbnVtYmVyIG9mIHBhZ2VzICov Cj4gICAJR0VNX0JVR19PTihpICE9IG5fcGFnZXMpOwo+Cj4gLQlhZGRyID0gdm1hcChwYWdlcywg bl9wYWdlcywgMCwgUEFHRV9LRVJORUwpOwo+ICsJYWRkciA9IHZtYXAocGFnZXMsIG5fcGFnZXMs IFZNX05PX0dVQVJELAo+ICsJCSAgICB1c2Vfd2MgPyBwZ3Byb3Rfd3JpdGVjb21iaW5lKFBBR0Vf S0VSTkVMX0lPKSA6IFBBR0VfS0VSTkVMKTsKCkZvciBlZHVjYXRpb25hbCBiZW5lZml0LCB3aGF0 IGlzIHRoZSBpbXBvcnRhbmNlIGFuZCBkaWZmZXJlbmNlIGJldHdlZW4gClBBR0VfS0VSTkVMIGFu ZCBQQUdFX0tFUk5FTF9JTyBoZXJlPwoKPgo+ICAgCWlmIChwYWdlcyAhPSBzdGFja19wYWdlcykK PiAgIAkJZHJtX2ZyZWVfbGFyZ2UocGFnZXMpOwo+IEBAIC0yNjg0LDI3ICsyNjg3LDU1IEBAIHN0 YXRpYyB2b2lkICppOTE1X2dlbV9vYmplY3RfbWFwKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmopCj4gICB9Cj4KPiAgIC8qIGdldCwgcGluLCBhbmQgbWFwIHRoZSBwYWdlcyBv ZiB0aGUgb2JqZWN0IGludG8ga2VybmVsIHNwYWNlICovCj4gLXZvaWQgKmk5MTVfZ2VtX29iamVj dF9waW5fbWFwKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gK3ZvaWQgKmk5MTVf Z2VtX29iamVjdF9waW5fbWFwKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGJvb2wg dXNlX3djKQo+ICAgewo+ICsJdm9pZCAqcHRyOwo+ICsJYm9vbCBoYXNfd2M7Cj4gKwlib29sIHBp bm5lZDsKPiAgIAlpbnQgcmV0Owo+Cj4gICAJbG9ja2RlcF9hc3NlcnRfaGVsZCgmb2JqLT5iYXNl LmRldi0+c3RydWN0X211dGV4KTsKPiArCUdFTV9CVUdfT04oKG9iai0+b3BzLT5mbGFncyAmIEk5 MTVfR0VNX09CSkVDVF9IQVNfU1RSVUNUX1BBR0UpID09IDApOwo+Cj4gICAJcmV0ID0gaTkxNV9n ZW1fb2JqZWN0X2dldF9wYWdlcyhvYmopOwo+ICAgCWlmIChyZXQpCj4gICAJCXJldHVybiBFUlJf UFRSKHJldCk7Cj4KPiArCUdFTV9CVUdfT04ob2JqLT5wYWdlcyA9PSBOVUxMKTsKCkxvb2tzIGxp a2UgYmVsb25ncyB0byBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzIGFuZCBub3QgdG8gY2FsbGVy cy4KCj4gICAJaTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOwo+Cj4gLQlpZiAoIW9iai0+ bWFwcGluZykgewo+IC0JCW9iai0+bWFwcGluZyA9IGk5MTVfZ2VtX29iamVjdF9tYXAob2JqKTsK PiAtCQlpZiAoIW9iai0+bWFwcGluZykgewo+IC0JCQlpOTE1X2dlbV9vYmplY3RfdW5waW5fcGFn ZXMob2JqKTsKPiAtCQkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gKwlwaW5uZWQgPSBvYmot PnBhZ2VzX3Bpbl9jb3VudCA+IDE7Cj4gKwlwdHIgPSAodm9pZCAqKSgodWludHB0cl90KW9iai0+ bWFwcGluZyAmIH4xKTsKPiArCWhhc193YyA9ICh1aW50cHRyX3Qpb2JqLT5tYXBwaW5nICYgMTsK PiArCj4gKwlpZiAocHRyICYmIGhhc193YyAhPSB1c2Vfd2MpIHsKPiArCQlpZiAocGlubmVkKSB7 Cj4gKwkJCXJldCA9IC1FQlVTWTsKPiArCQkJZ290byBlcnI7Cj4gKwkJfQo+ICsKPiArCQlpZiAo aXNfdm1hbGxvY19hZGRyKHB0cikpCj4gKwkJCXZ1bm1hcChwdHIpOwo+ICsJCWVsc2UKPiArCQkJ a3VubWFwKGttYXBfdG9fcGFnZShwdHIpKTsKPiArCQlwdHIgPSBvYmotPm1hcHBpbmcgPSBOVUxM Owo+ICsJfQo+ICsKPiArCWlmICghcHRyKSB7Cj4gKwkJcHRyID0gaTkxNV9nZW1fb2JqZWN0X21h cChvYmosIHVzZV93Yyk7Cj4gKwkJaWYgKCFwdHIpIHsKPiArCQkJcmV0ID0gLUVOT01FTTsKPiAr CQkJZ290byBlcnI7Cj4gICAJCX0KPiArCj4gKwkJb2JqLT5tYXBwaW5nID0gKHZvaWQgKikoKHVp bnRwdHJfdClwdHIgfCB1c2Vfd2MpOwo+ICAgCX0KPgo+IC0JcmV0dXJuIG9iai0+bWFwcGluZzsK PiArCXJldHVybiBwdHI7Cj4gKwo+ICtlcnI6Cj4gKwlpOTE1X2dlbV9vYmplY3RfdW5waW5fcGFn ZXMob2JqKTsKPiArCXJldHVybiBFUlJfUFRSKHJldCk7Cj4gICB9Cj4KPiAgIHZvaWQgaTkxNV92 bWFfbW92ZV90b19hY3RpdmUoc3RydWN0IGk5MTVfdm1hICp2bWEsCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2RtYWJ1Zi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZG1hYnVmLmMKPiBpbmRleCA4MGJiZTQzLi5lZGNhZGNlIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2RtYWJ1Zi5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVmLmMKPiBAQCAtMTE1LDcgKzExNSw3IEBAIHN0 YXRpYyB2b2lkICppOTE1X2dlbV9kbWFidWZfdm1hcChzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZikK PiAgIAlpZiAocmV0KQo+ICAgCQlyZXR1cm4gRVJSX1BUUihyZXQpOwo+Cj4gLQlhZGRyID0gaTkx NV9nZW1fb2JqZWN0X3Bpbl9tYXAob2JqKTsKPiArCWFkZHIgPSBpOTE1X2dlbV9vYmplY3RfcGlu X21hcChvYmosIGZhbHNlKTsKPiAgIAltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsK Pgo+ICAgCXJldHVybiBhZGRyOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJt aXNzaW9uLmMKPiBpbmRleCAwMDlkN2MwLi5jNDY4NjE5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+IEBAIC0xMDk2LDcgKzEwOTYsNyBAQCBzdGF0 aWMgaW50IGd1Y19jcmVhdGVfbG9nX2V4dHJhcyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCj4KPiAg IAlpZiAoIWd1Yy0+bG9nLmJ1Zl9hZGRyKSB7Cj4gICAJCS8qIENyZWF0ZSBhIHZtYWxsb2MgbWFw cGluZyBvZiBsb2cgYnVmZmVyIHBhZ2VzICovCj4gLQkJdmFkZHIgPSBpOTE1X2dlbV9vYmplY3Rf cGluX21hcChndWMtPmxvZy5vYmopOwo+ICsJCXZhZGRyID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9t YXAoZ3VjLT5sb2cub2JqLCBmYWxzZSk7Cj4gICAJCWlmIChJU19FUlIodmFkZHIpKSB7Cj4gICAJ CQlyZXQgPSBQVFJfRVJSKHZhZGRyKTsKPiAgIAkJCURSTV9FUlJPUigiQ291bGRuJ3QgbWFwIGxv ZyBidWZmZXIgcGFnZXMgJWRcbiIsIHJldCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBp bmRleCA3MGM2OTkwLi4wZDQxMDQ3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xyYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBA QCAtOTcxLDcgKzk3MSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfbHJfY29udGV4dF9waW4oc3RydWN0 IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKPiAgIAlpZiAocmV0KQo+ICAgCQlnb3RvIGVycjsKPgo+ IC0JdmFkZHIgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChjZS0+c3RhdGUpOwo+ICsJdmFkZHIg PSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChjZS0+c3RhdGUsIGZhbHNlKTsKPiAgIAlpZiAoSVNf RVJSKHZhZGRyKSkgewo+ICAgCQlyZXQgPSBQVFJfRVJSKHZhZGRyKTsKPiAgIAkJZ290byB1bnBp bl9jdHhfb2JqOwo+IEBAIC0xOTkzLDcgKzE5OTMsNyBAQCBscmNfc2V0dXBfaHdzKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPiAgIAkvKiBUaGUgSFdTUCBpcyBwYXJ0IG9mIHRoZSBk ZWZhdWx0IGNvbnRleHQgb2JqZWN0IGluIExSQyBtb2RlLiAqLwo+ICAgCWVuZ2luZS0+c3RhdHVz X3BhZ2UuZ2Z4X2FkZHIgPSBpOTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQoZGN0eF9vYmopICsKPiAg IAkJCQkgICAgICAgTFJDX1BQSFdTUF9QTiAqIFBBR0VfU0laRTsKPiAtCWh3cyA9IGk5MTVfZ2Vt X29iamVjdF9waW5fbWFwKGRjdHhfb2JqKTsKPiArCWh3cyA9IGk5MTVfZ2VtX29iamVjdF9waW5f bWFwKGRjdHhfb2JqLCBmYWxzZSk7Cj4gICAJaWYgKElTX0VSUihod3MpKQo+ICAgCQlyZXR1cm4g UFRSX0VSUihod3MpOwo+ICAgCWVuZ2luZS0+c3RhdHVzX3BhZ2UucGFnZV9hZGRyID0gaHdzICsg TFJDX1BQSFdTUF9QTiAqIFBBR0VfU0laRTsKPiBAQCAtMjMyNCw3ICsyMzI0LDcgQEAgcG9wdWxh dGVfbHJfY29udGV4dChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAo+ICAgCQlyZXR1cm4g cmV0Owo+ICAgCX0KPgo+IC0JdmFkZHIgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChjdHhfb2Jq KTsKPiArCXZhZGRyID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAoY3R4X29iaiwgZmFsc2UpOwo+ ICAgCWlmIChJU19FUlIodmFkZHIpKSB7Cj4gICAJCXJldCA9IFBUUl9FUlIodmFkZHIpOwo+ICAg CQlEUk1fREVCVUdfRFJJVkVSKCJDb3VsZCBub3QgbWFwIG9iamVjdCBwYWdlcyEgKCVkKVxuIiwg cmV0KTsKPiBAQCAtMjU1OCw3ICsyNTU4LDcgQEAgdm9pZCBpbnRlbF9scl9jb250ZXh0X3Jlc2V0 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgIAkJaWYgKCFjdHhfb2JqKQo+ ICAgCQkJY29udGludWU7Cj4KPiAtCQl2YWRkciA9IGk5MTVfZ2VtX29iamVjdF9waW5fbWFwKGN0 eF9vYmopOwo+ICsJCXZhZGRyID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAoY3R4X29iaiwgZmFs c2UpOwo+ICAgCQlpZiAoV0FSTl9PTihJU19FUlIodmFkZHIpKSkKPiAgIAkJCWNvbnRpbnVlOwo+ Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+IGluZGV4IDczNmRkYmEu LmExOTVmNjUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4g QEAgLTIwMDcsNyArMjAwNyw3IEBAIGludCBpbnRlbF9waW5fYW5kX21hcF9yaW5nYnVmZmVyX29i aihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gICAJCWlmIChyZXQpCj4gICAJ CQlnb3RvIGVycl91bnBpbjsKPgo+IC0JCWFkZHIgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChv YmopOwo+ICsJCWFkZHIgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChvYmosIGZhbHNlKTsKPiAg IAkJaWYgKElTX0VSUihhZGRyKSkgewo+ICAgCQkJcmV0ID0gUFRSX0VSUihhZGRyKTsKPiAgIAkJ CWdvdG8gZXJyX3VucGluOwo+CgpUaGUgcmVzdCBsb29rcyBmaW5lIHRvIG1lLgoKUmVnYXJkcywK ClR2cnRrbwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK