From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: Re: [PATCH v7] drm/i915: Add soft-pinning API for execbuffer Date: Tue, 8 Dec 2015 18:49:10 +0000 Message-ID: <56672626.10105@intel.com> References: <1444993140-20909-1-git-send-email-thomas.daniel@intel.com> <1449575707-20933-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 634AB6E37B for ; Tue, 8 Dec 2015 10:51:30 -0800 (PST) In-Reply-To: <1449575707-20933-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: "Belgaumkar, Vinay" , "Goel, Akash" , =?UTF-8?Q?Kristian_H=c3=b8gsberg?= List-Id: intel-gfx@lists.freedesktop.org T24gMTIvOC8yMDE1IDExOjU1IEFNLCBUaG9tYXMgRGFuaWVsIHdyb3RlOgo+IEZyb206IENocmlz IFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+Cj4gVXNlcnNwYWNlIGNhbiBwYXNz IGluIGFuIG9mZnNldCB0aGF0IGl0IHByZXN1bWVzIHRoZSBvYmplY3QgaXMgbG9jYXRlZAo+IGF0 LiBUaGUga2VybmVsIHdpbGwgdGhlbiBkbyBpdHMgdXRtb3N0IHRvIGZpdCB0aGUgb2JqZWN0IGlu dG8gdGhhdAo+IGxvY2F0aW9uLiBUaGUgYXNzdW1wdGlvbiBpcyB0aGF0IHVzZXJzcGFjZSBpcyBo YW5kbGluZyBpdHMgb3duIG9iamVjdAo+IGxvY2F0aW9ucyAoZm9yIGV4YW1wbGUgYWxvbmcgd2l0 aCBmdWxsLXBwZ3R0KSBhbmQgdGhhdCB0aGUga2VybmVsIHdpbGwKPiByYXJlbHkgaGF2ZSB0byBt YWtlIHNwYWNlIGZvciB0aGUgdXNlcidzIHJlcXVlc3RzLgo+Cj4gU2lnbmVkLW9mZi1ieTogQ2hy aXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4KPiB2MjogRml4ZWQgaW5jb3Jy ZWN0IGV2aWN0aW9uIGZvdW5kIGJ5IE1pY2hhbCBXaW5pYXJza2kgLSBmaXggc3VnZ2VzdGVkIGJ5 IENocmlzCj4gV2lsc29uLiAgRml4ZWQgaW5jb3JyZWN0IGVycm9yIHBhdGhzIGNhdXNpbmcgY3Jh c2ggZm91bmQgYnkgTWljaGFsIFdpbmlhcnNraS4KPiAoTm90IHB1Ymxpc2hlZCBleHRlcm5hbGx5 KQo+Cj4gdjM6IFJlYmFzZWQgYmVjYXVzZSBvZiB0cml2aWFsIGNvbmZsaWN0IGluIG9iamVjdF9i aW5kX3RvX3ZtLiAgRml4ZWQgZXZpY3Rpb24KPiB0byBhbGxvdyBldmljdGlvbiBvZiBzb2Z0LXBp bm5lZCBvYmplY3RzIHdoZW4gYW5vdGhlciBzb2Z0LXBpbm5lZCBvYmplY3QgdXNlZAo+IGJ5IGEg c3Vic2VxdWVudCBleGVjYnVmZmVyIG92ZXJsYXBzIHJlcG9ydGVkIGJ5IE1pY2hhbCBXaW5pYXJz a2kuCj4gKE5vdCBwdWJsaXNoZWQgZXh0ZXJuYWxseSkKPgo+IHY0OiBNb3ZlZCBzb2Z0LXBpbm5l ZCBvYmplY3RzIHRvIHRoZSBmcm9udCBvZiBvcmRlcmVkX3ZtYXMgc28gdGhhdCB0aGV5IGFyZQo+ IHBpbm5lZCBmaXJzdCBhZnRlciBhbiBhZGRyZXNzIGNvbmZsaWN0IGhhcHBlbnMgdG8gYXZvaWQg cmVwZWF0ZWQgY29uZmxpY3RzIGluCj4gcmFyZSBjYXNlcyAoU3VnZ2VzdGVkIGJ5IENocmlzIFdp bHNvbikuICBFeHBhbmRlZCBjb21tZW50IG9uCj4gZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0Mi5v ZmZzZXQgdG8gY292ZXIgdGhpcyBuZXcgQVBJLgo+Cj4gdjU6IEFkZGVkIEk5MTVfUEFSQU1fSEFT X0VYRUNfU09GVFBJTiBwYXJhbWV0ZXIgZm9yIGRldGVjdGluZyB0aGlzIGNhcGFiaWxpdHkKPiAo S3Jpc3RpYW4pLiBBZGRlZCBjaGVjayBmb3IgbXVsdGlwbGUgcGlubmluZ3Mgb24gZXZpY3Rpb24g KEFrYXNoKS4gTWFkZSBzdXJlCj4gYnVmZmVycyBhcmUgbm90IGNvbnNpZGVyZWQgbWlzcGxhY2Vk IHdpdGhvdXQgdGhlIHVzZXIgc3BlY2lmeWluZwo+IEVYRUNfT0JKRUNUX1NVUFBPUlRTXzQ4Ql9B RERSRVNTLiAgVXNlciBtdXN0IGFzc3VtZSByZXNwb25zaWJpbGl0eSBmb3IgYW55Cj4gYWRkcmVz c2luZyB3b3JrYXJvdW5kcy4gIFVwZGF0ZWQgb2JqZWN0Mi5vZmZzZXQgZmllbGQgY29tbWVudCBh Z2FpbiB0byBjbGFyaWZ5Cj4gTk9fUkVMT0MgY2FzZSAoQ2hyaXMpLiAgY2hlY2twYXRjaCBjbGVh bnVwLgo+Cj4gdjY6IFRyaXZpYWwgcmViYXNlIG9uIGxhdGVzdCBkcm0taW50ZWwtbmlnaHRseQo+ Cj4gdjc6IENhdGNoIGF0dGVtcHRzIHRvIHBpbiBhYm92ZSB0aGUgbWF4IHZpcnR1YWwgYWRkcmVz cyBzaXplIGFuZCByZXR1cm4KPiBFSU5WQUwgKFR2cnRrbykuIERlY291cGxlIEVYRUNfT0JKRUNU X1NVUFBPUlRTXzQ4Ql9BRERSRVNTIGFuZAo+IEVYRUNfT0JKRUNUX1BJTk5FRCBmbGFncywgdXNl ciBtdXN0IHBhc3MgYm90aCBmbGFncyBpbiBhbnkgYXR0ZW1wdCB0byBwaW4KPiBzb21ldGhpbmcg YXQgYW4gb2Zmc2V0IGFib3ZlIDRHQiAoQ2hyaXMsIERhbmllbCBWZXR0ZXIpLgo+Cj4gQ2M6IENo cmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IENjOiBBa2FzaCBHb2VsIDxh a2FzaC5nb2VsQGludGVsLmNvbT4KPiBDYzogVmluYXkgQmVsZ2F1bWthciA8dmluYXkuYmVsZ2F1 bWthckBpbnRlbC5jb20+Cj4gQ2M6IE1pY2hhbCBXaW5pYXJza2kgPG1pY2hhbC53aW5pYXJza2lA aW50ZWwuY29tPgo+IENjOiBab3UgTmFuaGFpIDxuYW5oYWkuem91QGludGVsLmNvbT4KPiBDYzog S3Jpc3RpYW4gSMO4Z3NiZXJnIDxob2Vnc2JlcmdAZ21haWwuY29tPgo+IENjOiBUdnJ0a28gVXJz dWxpbiA8dHZydGtvLnVyc3VsaW5AbGludXguaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFRo b21hcyBEYW5pZWwgPHRob21hcy5kYW5pZWxAaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kbWEuYyAgICAgICAgICAgIHwgIDMgKysKPiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgICB8ICAyICsKPiAgIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgICB8IDY0ICsrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXZpY3QuYyAgICAgIHwg MzkgKysrKysrKysrKysrKysrKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9l eGVjYnVmZmVyLmMgfCAxNiArKysrKysrLQo+ICAgaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5o ICAgICAgICAgICAgICAgIHwgMTIgKysrKy0tCj4gICA2IGZpbGVzIGNoYW5nZWQsIDExMSBpbnNl cnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKPgoKRXh0cmEgc3VwcG9ydCBmcm9tIHRoZSBvdGhl ciBwYXRjaCBhc2lkZSwgdjYgYWxyZWFkeSBoYWQgcmIgZnJvbSBBa2FzaCAKYW5kIHRoaXMgb25l LApSZXZpZXdlZC1ieTogTWljaGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGludGVsLmNvbT4K Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCj4gaW5kZXggYTgxYzc2Ni4uNTJiODI4OSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kbWEuYwo+IEBAIC0xNjksNiArMTY5LDkgQEAgc3RhdGljIGludCBp OTE1X2dldHBhcmFtKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAgICAg ICAgY2FzZSBJOTE1X1BBUkFNX0hBU19SRVNPVVJDRV9TVFJFQU1FUjoKPiAgICAgICAgICAgICAg ICAgIHZhbHVlID0gSEFTX1JFU09VUkNFX1NUUkVBTUVSKGRldik7Cj4gICAgICAgICAgICAgICAg ICBicmVhazsKPiArICAgICAgIGNhc2UgSTkxNV9QQVJBTV9IQVNfRVhFQ19TT0ZUUElOOgo+ICsg ICAgICAgICAgICAgICB2YWx1ZSA9IDE7Cj4gKyAgICAgICAgICAgICAgIGJyZWFrOwo+ICAgICAg ICAgIGRlZmF1bHQ6Cj4gICAgICAgICAgICAgICAgICBEUk1fREVCVUcoIlVua25vd24gcGFyYW1l dGVyICVkXG4iLCBwYXJhbS0+cGFyYW0pOwo+ICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5W QUw7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggZjFhOGE1My4uMzE1ZDc5ZCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0yODYwLDYgKzI4NjAsNyBAQCB2b2lkIGk5 MTVfZ2VtX3ZtYV9kZXN0cm95KHN0cnVjdCBpOTE1X3ZtYSAqdm1hKTsKPiAgICNkZWZpbmUgUElO X1VQREFURSAgICAgKDE8PDUpCj4gICAjZGVmaW5lIFBJTl9aT05FXzRHICAgICgxPDw2KQo+ICAg I2RlZmluZSBQSU5fSElHSCAgICAgICAoMTw8NykKPiArI2RlZmluZSBQSU5fT0ZGU0VUX0ZJWEVE ICAgICAgICgxPDw4KQo+ICAgI2RlZmluZSBQSU5fT0ZGU0VUX01BU0sgKH40MDk1KQo+ICAgaW50 IF9fbXVzdF9jaGVjawo+ICAgaTkxNV9nZW1fb2JqZWN0X3BpbihzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqLAo+IEBAIC0zMjA1LDYgKzMyMDYsNyBAQCBpbnQgX19tdXN0X2NoZWNrIGk5 MTVfZ2VtX2V2aWN0X3NvbWV0aGluZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHN0YXJ0LAo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25n IGVuZCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgZmxhZ3MpOwo+ICtpbnQgX19tdXN0X2NoZWNrIGk5MTVfZ2VtX2V2aWN0X2Zvcl92bWEoc3Ry dWN0IGk5MTVfdm1hICp0YXJnZXQpOwo+ICAgaW50IGk5MTVfZ2VtX2V2aWN0X3ZtKHN0cnVjdCBp OTE1X2FkZHJlc3Nfc3BhY2UgKnZtLCBib29sIGRvX2lkbGUpOwo+Cj4gICAvKiBiZWxvbmdzIGlu IGk5MTVfZ2VtX2d0dC5oICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gaW5kZXggZGZhZjI1 Yi4uODAxZjNkMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IEBAIC0zNDc2LDMwICsz NDc2LDUwIEBAIGk5MTVfZ2VtX29iamVjdF9iaW5kX3RvX3ZtKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmosCj4gICAgICAgICAgaWYgKElTX0VSUih2bWEpKQo+ICAgICAgICAgICAgICAg ICAgZ290byBlcnJfdW5waW47Cj4KPiAtICAgICAgIGlmIChmbGFncyAmIFBJTl9ISUdIKSB7Cj4g LSAgICAgICAgICAgICAgIHNlYXJjaF9mbGFnID0gRFJNX01NX1NFQVJDSF9CRUxPVzsKPiAtICAg ICAgICAgICAgICAgYWxsb2NfZmxhZyA9IERSTV9NTV9DUkVBVEVfVE9QOwo+ICsgICAgICAgaWYg KGZsYWdzICYgUElOX09GRlNFVF9GSVhFRCkgewo+ICsgICAgICAgICAgICAgICB1aW50NjRfdCBv ZmZzZXQgPSBmbGFncyAmIFBJTl9PRkZTRVRfTUFTSzsKPiArCj4gKyAgICAgICAgICAgICAgIGlm IChvZmZzZXQgJiAoYWxpZ25tZW50IC0gMSkgfHwgb2Zmc2V0ICsgc2l6ZSA+IGVuZCkgewo+ICsg ICAgICAgICAgICAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7Cj4gKyAgICAgICAgICAgICAgICAg ICAgICAgZ290byBlcnJfZnJlZV92bWE7Cj4gKyAgICAgICAgICAgICAgIH0KPiArICAgICAgICAg ICAgICAgdm1hLT5ub2RlLnN0YXJ0ID0gb2Zmc2V0Owo+ICsgICAgICAgICAgICAgICB2bWEtPm5v ZGUuc2l6ZSA9IHNpemU7Cj4gKyAgICAgICAgICAgICAgIHZtYS0+bm9kZS5jb2xvciA9IG9iai0+ Y2FjaGVfbGV2ZWw7Cj4gKyAgICAgICAgICAgICAgIHJldCA9IGRybV9tbV9yZXNlcnZlX25vZGUo JnZtLT5tbSwgJnZtYS0+bm9kZSk7Cj4gKyAgICAgICAgICAgICAgIGlmIChyZXQpIHsKPiArICAg ICAgICAgICAgICAgICAgICAgICByZXQgPSBpOTE1X2dlbV9ldmljdF9mb3Jfdm1hKHZtYSk7Cj4g KyAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJldCA9PSAwKQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcmV0ID0gZHJtX21tX3Jlc2VydmVfbm9kZSgmdm0tPm1tLCAmdm1hLT5u b2RlKTsKPiArICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICAgICBpZiAocmV0KQo+ICsg ICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyX2ZyZWVfdm1hOwo+ICAgICAgICAgIH0gZWxz ZSB7Cj4gLSAgICAgICAgICAgICAgIHNlYXJjaF9mbGFnID0gRFJNX01NX1NFQVJDSF9ERUZBVUxU Owo+IC0gICAgICAgICAgICAgICBhbGxvY19mbGFnID0gRFJNX01NX0NSRUFURV9ERUZBVUxUOwo+ IC0gICAgICAgfQo+ICsgICAgICAgICAgICAgICBpZiAoZmxhZ3MgJiBQSU5fSElHSCkgewo+ICsg ICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaF9mbGFnID0gRFJNX01NX1NFQVJDSF9CRUxPVzsK PiArICAgICAgICAgICAgICAgICAgICAgICBhbGxvY19mbGFnID0gRFJNX01NX0NSRUFURV9UT1A7 Cj4gKyAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgc2Vh cmNoX2ZsYWcgPSBEUk1fTU1fU0VBUkNIX0RFRkFVTFQ7Cj4gKyAgICAgICAgICAgICAgICAgICAg ICAgYWxsb2NfZmxhZyA9IERSTV9NTV9DUkVBVEVfREVGQVVMVDsKPiArICAgICAgICAgICAgICAg fQo+Cj4gICBzZWFyY2hfZnJlZToKPiAtICAgICAgIHJldCA9IGRybV9tbV9pbnNlcnRfbm9kZV9p bl9yYW5nZV9nZW5lcmljKCZ2bS0+bW0sICZ2bWEtPm5vZGUsCj4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplLCBhbGlnbm1lbnQsCj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmotPmNhY2hlX2xl dmVsLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RhcnQsIGVuZCwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNlYXJjaF9mbGFnLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYWxsb2NfZmxhZyk7Cj4gLSAgICAgICBpZiAocmV0KSB7Cj4gLSAgICAg ICAgICAgICAgIHJldCA9IGk5MTVfZ2VtX2V2aWN0X3NvbWV0aGluZyhkZXYsIHZtLCBzaXplLCBh bGlnbm1lbnQsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBvYmotPmNhY2hlX2xldmVsLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RhcnQsIGVuZCwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGZsYWdzKTsKPiAtICAgICAgICAgICAgICAgaWYgKHJldCA9PSAwKQo+ IC0gICAgICAgICAgICAgICAgICAgICAgIGdvdG8gc2VhcmNoX2ZyZWU7Cj4gKyAgICAgICAgICAg ICAgIHJldCA9IGRybV9tbV9pbnNlcnRfbm9kZV9pbl9yYW5nZV9nZW5lcmljKCZ2bS0+bW0sICZ2 bWEtPm5vZGUsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNpemUsIGFsaWdubWVudCwKPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLT5jYWNoZV9sZXZlbCwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rh cnQsIGVuZCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2VhcmNoX2ZsYWcsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG9jX2ZsYWcpOwo+ICsgICAgICAgICAgICAg ICBpZiAocmV0KSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gaTkxNV9nZW1fZXZp Y3Rfc29tZXRoaW5nKGRldiwgdm0sIHNpemUsIGFsaWdubWVudCwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLT5jYWNoZV9sZXZlbCwK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RhcnQsIGVuZCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZmxhZ3MpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQgPT0g MCkKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gc2VhcmNoX2ZyZWU7Cj4K PiAtICAgICAgICAgICAgICAgZ290byBlcnJfZnJlZV92bWE7Cj4gKyAgICAgICAgICAgICAgICAg ICAgICAgZ290byBlcnJfZnJlZV92bWE7Cj4gKyAgICAgICAgICAgICAgIH0KPiAgICAgICAgICB9 Cj4gICAgICAgICAgaWYgKFdBUk5fT04oIWk5MTVfZ2VtX3ZhbGlkX2d0dF9zcGFjZSh2bWEsIG9i ai0+Y2FjaGVfbGV2ZWwpKSkgewo+ICAgICAgICAgICAgICAgICAgcmV0ID0gLUVJTlZBTDsKPiBA QCAtNDA5MCw2ICs0MTEwLDEwIEBAIGk5MTVfdm1hX21pc3BsYWNlZChzdHJ1Y3QgaTkxNV92bWEg KnZtYSwgdWludDMyX3QgYWxpZ25tZW50LCB1aW50NjRfdCBmbGFncykKPiAgICAgICAgICAgICAg dm1hLT5ub2RlLnN0YXJ0IDwgKGZsYWdzICYgUElOX09GRlNFVF9NQVNLKSkKPiAgICAgICAgICAg ICAgICAgIHJldHVybiB0cnVlOwo+Cj4gKyAgICAgICBpZiAoZmxhZ3MgJiBQSU5fT0ZGU0VUX0ZJ WEVEICYmCj4gKyAgICAgICAgICAgdm1hLT5ub2RlLnN0YXJ0ICE9IChmbGFncyAmIFBJTl9PRkZT RVRfTUFTSykpCj4gKyAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwo+ICsKPiAgICAgICAgICBy ZXR1cm4gZmFsc2U7Cj4gICB9Cj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZXZpY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V2aWN0LmMK PiBpbmRleCBkNzFhMTMzLi4wN2M2ZTRkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2V2aWN0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9ldmljdC5jCj4gQEAgLTE5OSw2ICsxOTksNDUgQEAgZm91bmQ6Cj4gICAgICAgICAgcmV0dXJu IHJldDsKPiAgIH0KPgo+ICtpbnQKPiAraTkxNV9nZW1fZXZpY3RfZm9yX3ZtYShzdHJ1Y3QgaTkx NV92bWEgKnRhcmdldCkKPiArewo+ICsgICAgICAgc3RydWN0IGRybV9tbV9ub2RlICpub2RlLCAq bmV4dDsKPiArCj4gKyAgICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUobm9kZSwgbmV4dCwK PiArICAgICAgICAgICAgICAgICAgICAgICAmdGFyZ2V0LT52bS0+bW0uaGVhZF9ub2RlLm5vZGVf bGlzdCwKPiArICAgICAgICAgICAgICAgICAgICAgICBub2RlX2xpc3QpIHsKPiArICAgICAgICAg ICAgICAgc3RydWN0IGk5MTVfdm1hICp2bWE7Cj4gKyAgICAgICAgICAgICAgIGludCByZXQ7Cj4g Kwo+ICsgICAgICAgICAgICAgICBpZiAobm9kZS0+c3RhcnQgKyBub2RlLT5zaXplIDw9IHRhcmdl dC0+bm9kZS5zdGFydCkKPiArICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKPiArICAg ICAgICAgICAgICAgaWYgKG5vZGUtPnN0YXJ0ID49IHRhcmdldC0+bm9kZS5zdGFydCArIHRhcmdl dC0+bm9kZS5zaXplKQo+ICsgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ICsKPiArICAg ICAgICAgICAgICAgdm1hID0gY29udGFpbmVyX29mKG5vZGUsIHR5cGVvZigqdm1hKSwgbm9kZSk7 Cj4gKwo+ICsgICAgICAgICAgICAgICBpZiAodm1hLT5waW5fY291bnQpIHsKPiArICAgICAgICAg ICAgICAgICAgICAgICBpZiAoIXZtYS0+ZXhlY19lbnRyeSB8fCAodm1hLT5waW5fY291bnQgPiAx KSkKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE9iamVjdCBpcyBwaW5uZWQg Zm9yIHNvbWUgb3RoZXIgdXNlICovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy ZXR1cm4gLUVCVVNZOwo+ICsKPiArICAgICAgICAgICAgICAgICAgICAgICAvKiBXZSBuZWVkIHRv IGV2aWN0IGEgYnVmZmVyIGluIHRoZSBzYW1lIGJhdGNoICovCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgaWYgKHZtYS0+ZXhlY19lbnRyeS0+ZmxhZ3MgJiBFWEVDX09CSkVDVF9QSU5ORUQpCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBPdmVybGFwcGluZyBmaXhlZCBvYmpl Y3RzIGluIHRoZSBzYW1lIGJhdGNoICovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICByZXR1cm4gLUVJTlZBTDsKPiArCj4gKyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1F Tk9TUEM7Cj4gKyAgICAgICAgICAgICAgIH0KPiArCj4gKyAgICAgICAgICAgICAgIHJldCA9IGk5 MTVfdm1hX3VuYmluZCh2bWEpOwo+ICsgICAgICAgICAgICAgICBpZiAocmV0KQo+ICsgICAgICAg ICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4gKyAgICAgICB9Cj4gKwo+ICsgICAgICAgcmV0 dXJuIDA7Cj4gK30KPiArCj4gICAvKioKPiAgICAqIGk5MTVfZ2VtX2V2aWN0X3ZtIC0gRXZpY3Qg YWxsIGlkbGUgdm1hcyBmcm9tIGEgdm0KPiAgICAqIEB2bTogQWRkcmVzcyBzcGFjZSB0byBjbGVh bnNlCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZm ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+IGluZGV4 IGE0YzI0M2MuLjQ4ZWM0ODQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZXhlY2J1ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f ZXhlY2J1ZmZlci5jCj4gQEAgLTU5OSw2ICs1OTksOCBAQCBpOTE1X2dlbV9leGVjYnVmZmVyX3Jl c2VydmVfdm1hKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAo+ICAgICAgICAgICAgICAgICAgICAgICAg ICBmbGFncyB8PSBQSU5fR0xPQkFMIHwgUElOX01BUFBBQkxFOwo+ICAgICAgICAgICAgICAgICAg aWYgKGVudHJ5LT5mbGFncyAmIF9fRVhFQ19PQkpFQ1RfTkVFRFNfQklBUykKPiAgICAgICAgICAg ICAgICAgICAgICAgICAgZmxhZ3MgfD0gQkFUQ0hfT0ZGU0VUX0JJQVMgfCBQSU5fT0ZGU0VUX0JJ QVM7Cj4gKyAgICAgICAgICAgICAgIGlmIChlbnRyeS0+ZmxhZ3MgJiBFWEVDX09CSkVDVF9QSU5O RUQpCj4gKyAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3MgfD0gZW50cnktPm9mZnNldCB8IFBJ Tl9PRkZTRVRfRklYRUQ7Cj4gICAgICAgICAgICAgICAgICBpZiAoKGZsYWdzICYgUElOX01BUFBB QkxFKSA9PSAwKQo+ICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFncyB8PSBQSU5fSElHSDsK PiAgICAgICAgICB9Cj4gQEAgLTY3MCw2ICs2NzIsMTAgQEAgZWJfdm1hX21pc3BsYWNlZChzdHJ1 Y3QgaTkxNV92bWEgKnZtYSkKPiAgICAgICAgICAgICAgdm1hLT5ub2RlLnN0YXJ0ICYgKGVudHJ5 LT5hbGlnbm1lbnQgLSAxKSkKPiAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwo+Cj4gKyAg ICAgICBpZiAoZW50cnktPmZsYWdzICYgRVhFQ19PQkpFQ1RfUElOTkVEICYmCj4gKyAgICAgICAg ICAgdm1hLT5ub2RlLnN0YXJ0ICE9IGVudHJ5LT5vZmZzZXQpCj4gKyAgICAgICAgICAgICAgIHJl dHVybiB0cnVlOwo+ICsKPiAgICAgICAgICBpZiAoZW50cnktPmZsYWdzICYgX19FWEVDX09CSkVD VF9ORUVEU19CSUFTICYmCj4gICAgICAgICAgICAgIHZtYS0+bm9kZS5zdGFydCA8IEJBVENIX09G RlNFVF9CSUFTKQo+ICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Cj4gQEAgLTY5NSw2ICs3 MDEsNyBAQCBpOTE1X2dlbV9leGVjYnVmZmVyX3Jlc2VydmUoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluZywKPiAgICAgICAgICBzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKPiAgICAgICAgICBzdHJ1 Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bTsKPiAgICAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkIG9y ZGVyZWRfdm1hczsKPiArICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgcGlubmVkX3ZtYXM7Cj4gICAg ICAgICAgYm9vbCBoYXNfZmVuY2VkX2dwdV9hY2Nlc3MgPSBJTlRFTF9JTkZPKHJpbmctPmRldikt PmdlbiA8IDQ7Cj4gICAgICAgICAgaW50IHJldHJ5Owo+Cj4gQEAgLTcwMyw2ICs3MTAsNyBAQCBp OTE1X2dlbV9leGVjYnVmZmVyX3Jlc2VydmUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywK PiAgICAgICAgICB2bSA9IGxpc3RfZmlyc3RfZW50cnkodm1hcywgc3RydWN0IGk5MTVfdm1hLCBl eGVjX2xpc3QpLT52bTsKPgo+ICAgICAgICAgIElOSVRfTElTVF9IRUFEKCZvcmRlcmVkX3ZtYXMp Owo+ICsgICAgICAgSU5JVF9MSVNUX0hFQUQoJnBpbm5lZF92bWFzKTsKPiAgICAgICAgICB3aGls ZSAoIWxpc3RfZW1wdHkodm1hcykpIHsKPiAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1faTkx NV9nZW1fZXhlY19vYmplY3QyICplbnRyeTsKPiAgICAgICAgICAgICAgICAgIGJvb2wgbmVlZF9m ZW5jZSwgbmVlZF9tYXBwYWJsZTsKPiBAQCAtNzIxLDcgKzcyOSw5IEBAIGk5MTVfZ2VtX2V4ZWNi dWZmZXJfcmVzZXJ2ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+ICAgICAgICAgICAg ICAgICAgICAgICAgICBvYmotPnRpbGluZ19tb2RlICE9IEk5MTVfVElMSU5HX05PTkU7Cj4gICAg ICAgICAgICAgICAgICBuZWVkX21hcHBhYmxlID0gbmVlZF9mZW5jZSB8fCBuZWVkX3JlbG9jX21h cHBhYmxlKHZtYSk7Cj4KPiAtICAgICAgICAgICAgICAgaWYgKG5lZWRfbWFwcGFibGUpIHsKPiAr ICAgICAgICAgICAgICAgaWYgKGVudHJ5LT5mbGFncyAmIEVYRUNfT0JKRUNUX1BJTk5FRCkKPiAr ICAgICAgICAgICAgICAgICAgICAgICBsaXN0X21vdmVfdGFpbCgmdm1hLT5leGVjX2xpc3QsICZw aW5uZWRfdm1hcyk7Cj4gKyAgICAgICAgICAgICAgIGVsc2UgaWYgKG5lZWRfbWFwcGFibGUpIHsK PiAgICAgICAgICAgICAgICAgICAgICAgICAgZW50cnktPmZsYWdzIHw9IF9fRVhFQ19PQkpFQ1Rf TkVFRFNfTUFQOwo+ICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0X21vdmUoJnZtYS0+ZXhl Y19saXN0LCAmb3JkZXJlZF92bWFzKTsKPiAgICAgICAgICAgICAgICAgIH0gZWxzZQo+IEBAIC03 MzEsNiArNzQxLDcgQEAgaTkxNV9nZW1fZXhlY2J1ZmZlcl9yZXNlcnZlKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKnJpbmcsCj4gICAgICAgICAgICAgICAgICBvYmotPmJhc2UucGVuZGluZ193cml0 ZV9kb21haW4gPSAwOwo+ICAgICAgICAgIH0KPiAgICAgICAgICBsaXN0X3NwbGljZSgmb3JkZXJl ZF92bWFzLCB2bWFzKTsKPiArICAgICAgIGxpc3Rfc3BsaWNlKCZwaW5uZWRfdm1hcywgdm1hcyk7 Cj4KPiAgICAgICAgICAvKiBBdHRlbXB0IHRvIHBpbiBhbGwgb2YgdGhlIGJ1ZmZlcnMgaW50byB0 aGUgR1RULgo+ICAgICAgICAgICAqIFRoaXMgaXMgZG9uZSBpbiAzIHBoYXNlczoKPiBAQCAtMTMx Nyw3ICsxMzI4LDggQEAgZWJfZ2V0X2JhdGNoKHN0cnVjdCBlYl92bWFzICplYikKPiAgICAgICAg ICAgKiBOb3RlIHRoYXQgYWN0dWFsIGhhbmdzIGhhdmUgb25seSBiZWVuIG9ic2VydmVkIG9uIGdl bjcsIGJ1dCBmb3IKPiAgICAgICAgICAgKiBwYXJhbm9pYSBkbyBpdCBldmVyeXdoZXJlLgo+ICAg ICAgICAgICAqLwo+IC0gICAgICAgdm1hLT5leGVjX2VudHJ5LT5mbGFncyB8PSBfX0VYRUNfT0JK RUNUX05FRURTX0JJQVM7Cj4gKyAgICAgICBpZiAoKHZtYS0+ZXhlY19lbnRyeS0+ZmxhZ3MgJiBF WEVDX09CSkVDVF9QSU5ORUQpID09IDApCj4gKyAgICAgICAgICAgICAgIHZtYS0+ZXhlY19lbnRy eS0+ZmxhZ3MgfD0gX19FWEVDX09CSkVDVF9ORUVEU19CSUFTOwo+Cj4gICAgICAgICAgcmV0dXJu IHZtYS0+b2JqOwo+ICAgfQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJt LmggYi9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKPiBpbmRleCA2N2VmNzNhLi5kNzI3YjQ5 IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAo+ICsrKyBiL2luY2x1 ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAo+IEBAIC0zNTYsNiArMzU2LDcgQEAgdHlwZWRlZiBzdHJ1 Y3QgZHJtX2k5MTVfaXJxX3dhaXQgewo+ICAgI2RlZmluZSBJOTE1X1BBUkFNX0VVX1RPVEFMICAg ICAgICAgICAgIDM0Cj4gICAjZGVmaW5lIEk5MTVfUEFSQU1fSEFTX0dQVV9SRVNFVCAgICAgICAg MzUKPiAgICNkZWZpbmUgSTkxNV9QQVJBTV9IQVNfUkVTT1VSQ0VfU1RSRUFNRVIgMzYKPiArI2Rl ZmluZSBJOTE1X1BBUkFNX0hBU19FWEVDX1NPRlRQSU4gICAgIDM3Cj4KPiAgIHR5cGVkZWYgc3Ry dWN0IGRybV9pOTE1X2dldHBhcmFtIHsKPiAgICAgICAgICBfX3MzMiBwYXJhbTsKPiBAQCAtNjgy LDggKzY4MywxMiBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiB7Cj4gICAgICAg ICAgX191NjQgYWxpZ25tZW50Owo+Cj4gICAgICAgICAgLyoqCj4gLSAgICAgICAgKiBSZXR1cm5l ZCB2YWx1ZSBvZiB0aGUgdXBkYXRlZCBvZmZzZXQgb2YgdGhlIG9iamVjdCwgZm9yIGZ1dHVyZQo+ IC0gICAgICAgICogcHJlc3VtZWRfb2Zmc2V0IHdyaXRlcy4KPiArICAgICAgICAqIFdoZW4gdGhl IEVYRUNfT0JKRUNUX1BJTk5FRCBmbGFnIGlzIHNwZWNpZmllZCB0aGlzIGlzIHBvcHVsYXRlZCBi eQo+ICsgICAgICAgICogdGhlIHVzZXIgd2l0aCB0aGUgR1RUIG9mZnNldCBhdCB3aGljaCB0aGlz IG9iamVjdCB3aWxsIGJlIHBpbm5lZC4KPiArICAgICAgICAqIFdoZW4gdGhlIEk5MTVfRVhFQ19O T19SRUxPQyBmbGFnIGlzIHNwZWNpZmllZCB0aGlzIG11c3QgY29udGFpbiB0aGUKPiArICAgICAg ICAqIHByZXN1bWVkX29mZnNldCBvZiB0aGUgb2JqZWN0Lgo+ICsgICAgICAgICogRHVyaW5nIGV4 ZWNidWZmZXIyIHRoZSBrZXJuZWwgcG9wdWxhdGVzIGl0IHdpdGggdGhlIHZhbHVlIG9mIHRoZQo+ ICsgICAgICAgICogY3VycmVudCBHVFQgb2Zmc2V0IG9mIHRoZSBvYmplY3QsIGZvciBmdXR1cmUg cHJlc3VtZWRfb2Zmc2V0IHdyaXRlcy4KPiAgICAgICAgICAgKi8KPiAgICAgICAgICBfX3U2NCBv ZmZzZXQ7Cj4KPiBAQCAtNjkxLDcgKzY5Niw4IEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19v YmplY3QyIHsKPiAgICNkZWZpbmUgRVhFQ19PQkpFQ1RfTkVFRFNfR1RUICAoMTw8MSkKPiAgICNk ZWZpbmUgRVhFQ19PQkpFQ1RfV1JJVEUgICAgICAoMTw8MikKPiAgICNkZWZpbmUgRVhFQ19PQkpF Q1RfU1VQUE9SVFNfNDhCX0FERFJFU1MgKDE8PDMpCj4gLSNkZWZpbmUgX19FWEVDX09CSkVDVF9V TktOT1dOX0ZMQUdTIC0oRVhFQ19PQkpFQ1RfU1VQUE9SVFNfNDhCX0FERFJFU1M8PDEpCj4gKyNk ZWZpbmUgRVhFQ19PQkpFQ1RfUElOTkVEICAgICAoMTw8NCkKPiArI2RlZmluZSBfX0VYRUNfT0JK RUNUX1VOS05PV05fRkxBR1MgLShFWEVDX09CSkVDVF9QSU5ORUQ8PDEpCj4gICAgICAgICAgX191 NjQgZmxhZ3M7Cj4KPiAgICAgICAgICBfX3U2NCByc3ZkMTsKPiAtLQo+IDEuOS4xCj4KPiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBt YWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+Cl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==