From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 11/12] drm/i915: Extend GET_APERTURE ioctl to report available map space Date: Thu, 21 Apr 2016 15:04:52 +0100 Message-ID: <5718DE04.3010807@linux.intel.com> References: <1461151059-16361-1-git-send-email-ankitprasad.r.sharma@intel.com> <1461151059-16361-12-git-send-email-ankitprasad.r.sharma@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 901946E2AF for ; Thu, 21 Apr 2016 14:05:19 +0000 (UTC) In-Reply-To: <1461151059-16361-12-git-send-email-ankitprasad.r.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: ankitprasad.r.sharma@intel.com, intel-gfx@lists.freedesktop.org Cc: Daniel Vetter , akash.goel@intel.com List-Id: intel-gfx@lists.freedesktop.org CkhpLAoKT24gMjAvMDQvMTYgMTI6MTcsIGFua2l0cHJhc2FkLnIuc2hhcm1hQGludGVsLmNvbSB3 cm90ZToKPiBGcm9tOiBBbmtpdHByYXNhZCBTaGFybWEgPGFua2l0cHJhc2FkLnIuc2hhcm1hQGlu dGVsLmNvbT4KClBhdGNoIGlzIG1vc3RseSBSb2RyaWdvJ3MsIHJpZ2h0PyBTbyBJIGFzc3VtZWQg aGUgYXBwcm92ZWQgdGhlIAphdXRob3JzaGlwIHRyYW5zZmVyLgoKPiBXaGVuIGNvbnN0cnVjdGlu ZyBhIGJhdGNoYnVmZmVyLCBpdCBpcyBzb21ldGltZXMgY3J1Y2lhbCB0byBrbm93IHRoZQo+IGxh cmdlc3QgaG9sZSBpbnRvIHdoaWNoIHdlIGNhbiBmaXQgYSBmZW5jZWFibGUgYnVmZmVyIChmb3Ig ZXhhbXBsZSB3aGVuCj4gaGFuZGxpbmcgdmVyeSBsYXJnZSBvYmplY3RzIG9uIGdlbjIgYW5kIGdl bjMpLiBUaGlzIGRlcGVuZHMgb24gdGhlCj4gZnJhZ21lbnRhdGlvbiBvZiBwaW5uZWQgYnVmZmVy cyBpbnNpZGUgdGhlIGFwZXJ0dXJlLCBhIHF1ZXN0aW9uIG9ubHkgdGhlCj4ga2VybmVsIGNhbiBl YXNpbHkgYW5zd2VyLgo+Cj4gVGhpcyBwYXRjaCBleHRlbmRzIHRoZSBjdXJyZW50IERSTV9JOTE1 X0dFTV9HRVRfQVBFUlRVUkUgaW9jdGwgdG8KPiBpbmNsdWRlIGEgY291cGxlIG9mIG5ldyBmaWVs ZHMgaW4gaXRzIHJlcGx5IHRvIHVzZXJzcGFjZSAtIHRoZSB0b3RhbAo+IGFtb3VudCBvZiBzcGFj ZSBhdmFpbGFibGUgaW4gdGhlIG1hcHBhYmxlIHJlZ2lvbiBvZiB0aGUgYXBlcnR1cmUgYW5kCj4g YWxzbyB0aGUgc2luZ2xlIGxhcmdlc3QgYmxvY2sgYXZhaWxhYmxlLgo+Cj4gVGhpcyBpcyBub3Qg cXVpdGUgd2hhdCB1c2Vyc3BhY2Ugd2FudHMgdG8gYW5zd2VyIHRoZSBxdWVzdGlvbiBvZiB3aGV0 aGVyCj4gdGhpcyBiYXRjaCB3aWxsIGZpdCBhcyBmZW5jZXMgYXJlIGFsc28gcmVxdWlyZWQgdG8g bWVldCBzZXZlcmUgYWxpZ25tZW50Cj4gY29uc3RyYWludHMgd2l0aGluIHRoZSBiYXRjaC4gRm9y IHRoaXMgcHVycG9zZSwgYSB0aGlyZCBjb25zZXJ2YXRpdmUKPiBlc3RpbWF0ZSBvZiBsYXJnZXN0 IGZlbmNlIGF2YWlsYWJsZSBpcyBhbHNvIHByb3ZpZGVkLiBGb3Igd2hlbiB1c2Vyc3BhY2UKPiBu ZWVkcyBtb3JlIHRoYW4gb25lIGJhdGNoLCB3ZSBhbHNvIHByb3ZpZGUgdGhlIGN1bG11bGF0aXZl IHNwYWNlCj4gYXZhaWxhYmxlIGZvciBmZW5jZXMgc3VjaCB0aGF0IGl0IGhhcyBzb21lIGFkZGl0 aW9uYWwgZ3VpZGFuY2UgdG8gaG93Cj4gbXVjaCBzcGFjZSBpdCBjb3VsZCBhbGxvY2F0ZSB0byBm ZW5jZXMuIENvbnNlcnZhdGlzbSBzdGlsbCB3aW5zLgo+Cj4gVGhlIHBhdGNoIGFsc28gYWRkcyBh IGRlYnVnZnMgZmlsZSBmb3IgY29udmVuaWVudCB0ZXN0aW5nIGFuZCByZXBvcnRpbmcuCj4KPiB2 MjogVGhlIGZpcnN0IG9iamVjdCBjYW5ub3QgZW5kIGF0IG9mZnNldCAwLCBzbyB3ZSBjYW4gdXNl IGxhc3Q9PTAgdG8KPiBkZXRlY3QgdGhlIGVtcHR5IGxpc3QuCj4KPiB2MzogRXhwYW5kIGFsbCB2 YWx1ZXMgdG8gNjRiaXQsIGp1c3QgaW4gY2FzZS4KPiAgICAgIFJlcG9ydCB0b3RhbCBtYXBwYWJs ZSBhcGVydHVyZSBzaXplIGZvciB1c2Vyc3BhY2UgdGhhdCBjYW5ub3QgZWFzaWx5Cj4gICAgICBk ZXRlcm1pbmUgaXQgYnkgaW5zcGVjdGluZyB0aGUgUENJIGRldmljZS4KPgo+IHY0OiAoUm9kcmln bykgRml4ZWQgcmViYXNlIGNvbmZsaWN0cy4KPgo+IHY1OiBLZWVwaW5nIGxpbWl0cyB0byBnZXRf YXBlcnR1cmUgaW9jdGwsIGFuZCBtb3ZlZCBjaGFuZ2luZyBudW1iZXJzIHRvCj4gZGVidWdmcywg QWRkcmVzc2VkIGNvbW1lbnRzIChDaHJpcy9UdnJ0a28pCgpJdCBpcyBjb25mdXNpbmcgdGhhdCB5 b3UgYWxyZWFkeSBwb3N0ZWQgYSBkaWZmZXJlbnQgdjUgb24gMXN0IG9mIEp1bHkgMjAxNS4KCj4g U2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpcyBhdCBjaHJpcy13aWxzb24uY28udWs+ Cj4gU2lnbmVkLW9mZi1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmkgYXQgaW50ZWwuY29t Pgo+IFNpZ25lZC1vZmYtYnk6IEFua2l0cHJhc2FkIFNoYXJtYSA8YW5raXRwcmFzYWQuci5zaGFy bWFAaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2Zz LmMgfCAxMzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICB8ICAgMSArCj4gICBpbmNsdWRlL3VhcGkvZHJt L2k5MTVfZHJtLmggICAgICAgICB8ICAgNSArKwo+ICAgMyBmaWxlcyBjaGFuZ2VkLCAxMzkgaW5z ZXJ0aW9ucygrKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBpbmRleCA3Zjk0 YzZhLi5kOGQ3OTk0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBAQCAt NTI0LDYgKzUyNCwxMzggQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfaW5mbyhzdHJ1Y3Qg c2VxX2ZpbGUgKm0sIHZvaWQqIGRhdGEpCj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4KPiArc3RhdGlj IGludCB2bWFfcmFua19ieV9nZ3R0KHZvaWQgKnByaXYsCj4gKwkJCSAgICBzdHJ1Y3QgbGlzdF9o ZWFkICpBLAo+ICsJCQkgICAgc3RydWN0IGxpc3RfaGVhZCAqQikKPiArewo+ICsJc3RydWN0IGk5 MTVfdm1hICphID0gbGlzdF9lbnRyeShBLCB0eXBlb2YoKmEpLCBleGVjX2xpc3QpOwo+ICsJc3Ry dWN0IGk5MTVfdm1hICpiID0gbGlzdF9lbnRyeShCLCB0eXBlb2YoKmIpLCBleGVjX2xpc3QpOwo+ ICsKPiArCXJldHVybiBhLT5ub2RlLnN0YXJ0IC0gYi0+bm9kZS5zdGFydDsKPiArfQo+ICsKPiAr c3RhdGljIHUzMiBfX2ZlbmNlX3NpemUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCB1MzIgc3RhcnQsIHUzMiBlbmQpCj4gK3sKPiArCXUzMiBzaXplID0gZW5kIC0gc3RhcnQ7Cj4g Kwl1MzIgZmVuY2Vfc2l6ZTsKPiArCj4gKwlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA8 IDQpIHsKPiArCQl1MzIgZmVuY2VfbWF4Owo+ICsJCXUzMiBmZW5jZV9uZXh0Owo+ICsKPiArCQlp ZiAoSVNfR0VOMyhkZXZfcHJpdikpIHsKPiArCQkJZmVuY2VfbWF4ID0gSTgzMF9GRU5DRV9NQVhf U0laRV9WQUwgPDwgMjA7Cj4gKwkJCWZlbmNlX25leHQgPSAxMDI0KjEwMjQ7Cj4gKwkJfSBlbHNl IHsKPiArCQkJZmVuY2VfbWF4ID0gSTgzMF9GRU5DRV9NQVhfU0laRV9WQUwgPDwgMTk7Cj4gKwkJ CWZlbmNlX25leHQgPSA1MTIqMTAyNDsKPiArCQl9Cj4gKwo+ICsJCWZlbmNlX21heCA9IG1pbihm ZW5jZV9tYXgsIHNpemUpOwo+ICsJCWZlbmNlX3NpemUgPSAwOwo+ICsJCS8qIEZpbmQgZmVuY2Vf c2l6ZSBsZXNzIHRoYW4gZmVuY2VfbWF4IGFuZCBwb3dlciBvZiAyICovCj4gKwkJd2hpbGUgKGZl bmNlX25leHQgPD0gZmVuY2VfbWF4KSB7Cj4gKwkJCXUzMiBiYXNlID0gQUxJR04oc3RhcnQsIGZl bmNlX25leHQpOwo+ICsJCQlpZiAoYmFzZSArIGZlbmNlX25leHQgPiBlbmQpCj4gKwkJCQlicmVh azsKPiArCj4gKwkJCWZlbmNlX3NpemUgPSBmZW5jZV9uZXh0Owo+ICsJCQlmZW5jZV9uZXh0IDw8 PSAxOwo+ICsJCX0KPiArCX0gZWxzZSB7Cj4gKwkJZmVuY2Vfc2l6ZSA9IHNpemU7Cj4gKwl9Cj4g Kwo+ICsJcmV0dXJuIGZlbmNlX3NpemU7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgaTkxNV9nZW1f YXBlcnR1cmVfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCj4gK3sKPiArCXN0 cnVjdCBkcm1faW5mb19ub2RlICpub2RlID0gbS0+cHJpdmF0ZTsKPiArCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBub2RlLT5taW5vci0+ZGV2Owo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiArCXN0cnVjdCBpOTE1X2dndHQgKmdndHQg PSAmZGV2X3ByaXYtPmdndHQ7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2dldF9hcGVydHVyZSBh cmc7Cj4gKwlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKPiArCXN0cnVjdCBsaXN0X2hlYWQgbWFwX2xp c3Q7Cj4gKwljb25zdCB1aW50NjRfdCBtYXBfbGltaXQgPSBnZ3R0LT5tYXBwYWJsZV9lbmQ7Cj4g Kwl1aW50NjRfdCBtYXBfc3BhY2UsIG1hcF9sYXJnZXN0LCBmZW5jZV9zcGFjZSwgZmVuY2VfbGFy Z2VzdDsKPiArCXVpbnQ2NF90IGxhc3QsIHNpemU7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCUlOSVRf TElTVF9IRUFEKCZtYXBfbGlzdCk7Cj4gKwo+ICsJbWFwX3NwYWNlID0gbWFwX2xhcmdlc3QgPSAw Owo+ICsJZmVuY2Vfc3BhY2UgPSBmZW5jZV9sYXJnZXN0ID0gMDsKPiArCj4gKwlyZXQgPSBpOTE1 X2dlbV9nZXRfYXBlcnR1cmVfaW9jdGwobm9kZS0+bWlub3ItPmRldiwgJmFyZywgTlVMTCk7Cj4g KwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7Cj4gKwo+ICsJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1 Y3RfbXV0ZXgpOwo+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZnZ3R0LT5iYXNlLmFjdGl2 ZV9saXN0LCB2bV9saW5rKQo+ICsJCWlmICh2bWEtPnBpbl9jb3VudCAmJgo+ICsJCQkodm1hLT5u b2RlLnN0YXJ0ICsgdm1hLT5ub2RlLnNpemUpIDw9IG1hcF9saW1pdCkKPiArCQkJbGlzdF9hZGQo JnZtYS0+ZXhlY19saXN0LCAmbWFwX2xpc3QpOwo+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEs ICZnZ3R0LT5iYXNlLmluYWN0aXZlX2xpc3QsIHZtX2xpbmspCj4gKwkJaWYgKHZtYS0+cGluX2Nv dW50ICYmCj4gKwkJCSh2bWEtPm5vZGUuc3RhcnQgKyB2bWEtPm5vZGUuc2l6ZSkgPD0gbWFwX2xp bWl0KQo+ICsJCQlsaXN0X2FkZCgmdm1hLT5leGVjX2xpc3QsICZtYXBfbGlzdCk7CgpDb3VsZCBz cXVhc2ggdGhlIHR3byB3aXRoIGFuIG91dGVyIGxvb3AgY29udGFpbmluZyBwb2ludGVycyB0byBh Y3RpdmUgCmFuZCBpbmFjdGl2ZSBsaXN0LCBsaWtlIGEgcGF0dGVybiBmcm9tIHRoZSBzaHJpbmtl ciBvciBzb21ldGhpbmcuIApXb3VsZG4ndCBzYXZlIG1hbnkgbGluZXMgb2YgY29kZSB0aG91Z2gg c28gbm90IHN1cmUuCgo+ICsKPiArCWxhc3QgPSAwOwo+ICsJbGlzdF9zb3J0KE5VTEwsICZtYXBf bGlzdCwgdm1hX3JhbmtfYnlfZ2d0dCk7Cj4gKwl3aGlsZSAoIWxpc3RfZW1wdHkoJm1hcF9saXN0 KSkgewo+ICsJCXZtYSA9IGxpc3RfZmlyc3RfZW50cnkoJm1hcF9saXN0LCB0eXBlb2YoKnZtYSks IGV4ZWNfbGlzdCk7Cj4gKwkJbGlzdF9kZWxfaW5pdCgmdm1hLT5leGVjX2xpc3QpOwo+ICsKPiAr CQlpZiAobGFzdCA9PSAwKQo+ICsJCQlnb3RvIHNraXBfZmlyc3Q7Cj4gKwo+ICsJCXNpemUgPSB2 bWEtPm5vZGUuc3RhcnQgLSBsYXN0OwoKaG9sZV9zaXplIGZvciByZWFkYWJpbGl0eT8gKHRvb2sg bWUgc29tZSB0aW1lIHRvIGZpZ3VyZSBpdCBvdXQpCgo+ICsJCWlmIChzaXplID4gbWFwX2xhcmdl c3QpCj4gKwkJCW1hcF9sYXJnZXN0ID0gc2l6ZTsKPiArCQltYXBfc3BhY2UgKz0gc2l6ZTsKPiAr Cj4gKwkJc2l6ZSA9IF9fZmVuY2Vfc2l6ZShkZXZfcHJpdiwgbGFzdCwgdm1hLT5ub2RlLnN0YXJ0 KTsKPiArCQlpZiAoc2l6ZSA+IGZlbmNlX2xhcmdlc3QpCj4gKwkJCWZlbmNlX2xhcmdlc3QgPSBz aXplOwo+ICsJCWZlbmNlX3NwYWNlICs9IHNpemU7Cj4gKwo+ICtza2lwX2ZpcnN0Ogo+ICsJCWxh c3QgPSB2bWEtPm5vZGUuc3RhcnQgKyB2bWEtPm5vZGUuc2l6ZTsKPiArCX0KPiArCWlmIChsYXN0 IDwgbWFwX2xpbWl0KSB7Cj4gKwkJc2l6ZSA9IG1hcF9saW1pdCAtIGxhc3Q7Cj4gKwkJaWYgKHNp emUgPiBtYXBfbGFyZ2VzdCkKPiArCQkJbWFwX2xhcmdlc3QgPSBzaXplOwo+ICsJCW1hcF9zcGFj ZSArPSBzaXplOwo+ICsKPiArCQlzaXplID0gX19mZW5jZV9zaXplKGRldl9wcml2LCBsYXN0LCBt YXBfbGltaXQpOwo+ICsJCWlmIChzaXplID4gZmVuY2VfbGFyZ2VzdCkKPiArCQkJZmVuY2VfbGFy Z2VzdCA9IHNpemU7Cj4gKwkJZmVuY2Vfc3BhY2UgKz0gc2l6ZTsKPiArCX0KPiArCj4gKwltdXRl eF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiArCj4gKwlzZXFfcHJpbnRmKG0sICJUb3Rh bCBzaXplIG9mIHRoZSBHVFQ6ICVsbHUgYnl0ZXNcbiIsCj4gKwkJICAgYXJnLmFwZXJfc2l6ZSk7 Cj4gKwlzZXFfcHJpbnRmKG0sICJBdmFpbGFibGUgc3BhY2UgaW4gdGhlIEdUVDogJWxsdSBieXRl c1xuIiwKPiArCQkgICBhcmcuYXBlcl9hdmFpbGFibGVfc2l6ZSk7Cj4gKwlzZXFfcHJpbnRmKG0s ICJUb3RhbCBzcGFjZSBpbiB0aGUgbWFwcGFibGUgYXBlcnR1cmU6ICVsbHUgYnl0ZXNcbiIsCj4g KwkJICAgYXJnLm1hcF90b3RhbF9zaXplKTsKPiArCXNlcV9wcmludGYobSwgIkF2YWlsYWJsZSBz cGFjZSBpbiB0aGUgbWFwcGFibGUgYXBlcnR1cmU6ICVsbHUgYnl0ZXNcbiIsCj4gKwkJICAgbWFw X3NwYWNlKTsKPiArCXNlcV9wcmludGYobSwgIlNpbmdsZSBsYXJnZXN0IHNwYWNlIGluIHRoZSBt YXBwYWJsZSBhcGVydHVyZTogJWxsdSBieXRlc1xuIiwKPiArCQkgICBtYXBfbGFyZ2VzdCk7Cj4g KwlzZXFfcHJpbnRmKG0sICJBdmFpbGFibGUgc3BhY2UgZm9yIGZlbmNlczogJWxsdSBieXRlc1xu IiwKPiArCQkgICBmZW5jZV9zcGFjZSk7Cj4gKwlzZXFfcHJpbnRmKG0sICJTaW5nbGUgbGFyZ2Vz dCBmZW5jZSBhdmFpbGFibGU6ICVsbHUgYnl0ZXNcbiIsCj4gKwkJICAgZmVuY2VfbGFyZ2VzdCk7 Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCgpJbiBnZW5lcmFsIEkgZmluZCB0aGlzIGEgbG90 IG9mIGNvZGUgZm9yIGEgZmVhdHVyZSBvZiBxdWVzdGlvbmFibGUgCnV0aWxpdHkuIEFzIHN1Y2gg SSB3b3VsZCBwcmVmZXIgc29tZW9uZSByZWFsbHkgc3RhdGVkIHRoZSBuZWVkIGZvciB0aGlzIAph bmQgZXhwbGFpbmVkIGhvdyBpdCByZWFsbHkgaXMgdXNlZnVsIC0gZXZlbiB0aG91Z2ggd2hldGV2 ZXIgbnVtYmVyIHRoZXkgCmdldCBmcm9tIHRoaXMgbWF5IGJlIGNvbXBsZXRlbHkgaXJyZWxldmFu dCBieSB0aGUgdGltZSBpdCBpcyBhY3RlZCB1cG9uLgoKPiAgIHN0YXRpYyBpbnQgaTkxNV9nZW1f Z3R0X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQo+ICAgewo+ICAgCXN0cnVj dCBkcm1faW5mb19ub2RlICpub2RlID0gbS0+cHJpdmF0ZTsKPiBAQCAtNTM1NCw2ICs1NDg2LDcg QEAgc3RhdGljIGludCBpOTE1X2RlYnVnZnNfY3JlYXRlKHN0cnVjdCBkZW50cnkgKnJvb3QsCj4g ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pbmZvX2xpc3QgaTkxNV9kZWJ1Z2ZzX2xpc3RbXSA9 IHsKPiAgIAl7Imk5MTVfY2FwYWJpbGl0aWVzIiwgaTkxNV9jYXBhYmlsaXRpZXMsIDB9LAo+ICAg CXsiaTkxNV9nZW1fb2JqZWN0cyIsIGk5MTVfZ2VtX29iamVjdF9pbmZvLCAwfSwKPiArCXsiaTkx NV9nZW1fYXBlcnR1cmUiLCBpOTE1X2dlbV9hcGVydHVyZV9pbmZvLCAwfSwKPiAgIAl7Imk5MTVf Z2VtX2d0dCIsIGk5MTVfZ2VtX2d0dF9pbmZvLCAwfSwKPiAgIAl7Imk5MTVfZ2VtX3Bpbm5lZCIs IGk5MTVfZ2VtX2d0dF9pbmZvLCAwLCAodm9pZCAqKSBQSU5ORURfTElTVH0sCj4gICAJeyJpOTE1 X2dlbV9hY3RpdmUiLCBpOTE1X2dlbV9vYmplY3RfbGlzdF9pbmZvLCAwLCAodm9pZCAqKSBBQ1RJ VkVfTElTVH0sCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gaW5kZXggNDVmZDA0OS4uYTFiZTM1 ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IEBAIC0xNjUsNiArMTY1LDcgQEAgaTkx NV9nZW1fZ2V0X2FwZXJ0dXJlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsCj4KPiAgIAlhcmdzLT5hcGVyX3NpemUgPSBnZ3R0LT5iYXNlLnRvdGFsOwo+ICAgCWFyZ3Mt PmFwZXJfYXZhaWxhYmxlX3NpemUgPSBhcmdzLT5hcGVyX3NpemUgLSBwaW5uZWQ7Cj4gKwlhcmdz LT5tYXBfdG90YWxfc2l6ZSA9IGdndHQtPm1hcHBhYmxlX2VuZDs7Cj4KPiAgIAlyZXR1cm4gMDsK PiAgIH0KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oIGIvaW5jbHVk ZS91YXBpL2RybS9pOTE1X2RybS5oCj4gaW5kZXggZGFlMDJkOC4uOGYzODQwNyAxMDA2NDQKPiAt LS0gYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKPiArKysgYi9pbmNsdWRlL3VhcGkvZHJt L2k5MTVfZHJtLmgKPiBAQCAtMTAwNyw2ICsxMDA3LDExIEBAIHN0cnVjdCBkcm1faTkxNV9nZW1f Z2V0X2FwZXJ0dXJlIHsKPiAgIAkgKiBieXRlcwo+ICAgCSAqLwo+ICAgCV9fdTY0IGFwZXJfYXZh aWxhYmxlX3NpemU7Cj4gKwo+ICsJLyoqCj4gKwkgKiBUb3RhbCBzcGFjZSBpbiB0aGUgbWFwcGFi bGUgcmVnaW9uIG9mIHRoZSBhcGVydHVyZSwgaW4gYnl0ZXMKPiArCSAqLwo+ICsJX191NjQgbWFw X3RvdGFsX3NpemU7Cj4gICB9Owo+Cj4gICBzdHJ1Y3QgZHJtX2k5MTVfZ2V0X3BpcGVfZnJvbV9j cnRjX2lkIHsKPgoKQW5kIEkgZ3Vlc3MgaXQgaXMgdXAgdG8gRGFuaWVsIHRvIGFwcHJvdmUgYW55 IEFCSSBleHRlbnNpb25zPyAoQ0NlZCkKCk9wZW4gc291cmNlIHVzZXIgZm9yIGl0IGV4aXN0cz8K ClJlZ2FyZHMsCgpUdnJ0a28KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK