From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v2 1/6] drm/i915: Add a new "remapped" gtt_view Date: Mon, 14 Jan 2019 09:55:10 +0000 Message-ID: References: <20190111194704.23900-1-ville.syrjala@linux.intel.com> <20190111194704.23900-2-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id C978D881E6 for ; Mon, 14 Jan 2019 09:55:11 +0000 (UTC) In-Reply-To: <20190111194704.23900-2-ville.syrjala@linux.intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville Syrjala , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDExLzAxLzIwMTkgMTk6NDYsIFZpbGxlIFN5cmphbGEgd3JvdGU6Cj4gRnJvbTogVmlsbGUg U3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiAKPiBUbyBvdmVyY29t ZSBkaXNwbGF5IGVuZ2luZSBzdHJpZGUgbGltaXRzIHdlJ2xsIHdhbnQgdG8gcmVtYXAgdGhlCj4g cGFnZXMgaW4gdGhlIEdUVC4gVG8gdGhhdCBlbmQgd2UgbmVlZCBhIG5ldyBndHRfdmlldyB0eXBl IHdoaWNoCj4gaXMganVzdCBsaWtlIHRoZSAicm90YXRlZCIgdHlwZSBleGNlcHQgbm90IHJvdGF0 ZWQuCgpJIHRoaW5rIEkgYXNrZWQgdGhpcyBiZWZvcmUsIHNvIHNvcnJ5IGlmIHlvdSBhbHNvIGFu c3dlcmVkIGl0IC0gd2hhdCAKYWJvdXQgcm90YXRlZCBzZXR1cHMgd2hpY2ggZ28gb3ZlciBkaXNw bGF5IGVuZ2luZSBzdHJpZGUgbGltaXRzPwoKPiB2MjogVXNlIGludGVsX3JlbWFwcGVkX3BsYW5l X2luZm8gYmFzZSB0eXBlCj4gICAgICBzL3VudXNlZC91bnVzZWRfbWJ6LyAoQ2hyaXMpCj4gICAg ICBTZXBhcmF0ZSBCVUlMRF9CVUdfT04oKXMgKENocmlzKQo+ICAgICAgVXNlIEk5MTVfR1RUX1BB R0VfU0laRSAoQ2hyaXMpCj4gdjM6IFVzZSBpOTE1X2dlbV9vYmplY3RfZ2V0X2RtYV9hZGRyZXNz KCkgKENocmlzKQo+ICAgICAgVHJpbSB0aGUgc2cgKFR2cnRrbykKPiB2NDogQWN0dWFsbHkgdHJp bSB0aGlzIHRpbWUuIExpbWl0IHRoZSBtYXggbGVuZ3RoCj4gICAgICB0byBvbmUgcm93IG9mIHBh Z2VzIHRvIGtlZXAgdGhpbmdzIHNpbXBsZQo+IAo+IENjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNo cmlzLXdpbHNvbi5jby51az4KPiBDYzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGxp bnV4LmludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5 cmphbGFAbGludXguaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMgICAgICAgfCAxMiArKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oICAgICAgICAgICB8ICA0ICsrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jICAgICAgICAgICB8IDE3ICsrKystCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9ndHQuYyAgICAgICB8IDg4ICsrKysrKysrKysrKysrKysrKysrKysrCj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCAgICAgICB8IDI1ICsrKysrLS0KPiAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfdm1hLmMgICAgICAgICAgIHwgIDYgKy0KPiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfdm1hLmggICAgICAgICAgIHwgIDMgKwo+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jICAgICAgfCAxMSArKysKPiAgIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oICAgICAgICAgIHwgIDEgKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUv c2VsZnRlc3RzL2k5MTVfdm1hLmMgfCAgNiArLQo+ICAgMTAgZmlsZXMgY2hhbmdlZCwgMTYzIGlu c2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jCj4gaW5kZXggZDQ2MGVmNTIyZDljLi5jYWI3NzcxNzk5YWQgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IEBAIC0xOTYsNiArMTk2LDE4IEBAIGRlc2NyaWJlX29i aihzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4g ICAJCQkJCSAgIHZtYS0+Z2d0dF92aWV3LnJvdGF0ZWQucGxhbmVbMV0ub2Zmc2V0KTsKPiAgIAkJ CQlicmVhazsKPiAgIAo+ICsJCQljYXNlIEk5MTVfR0dUVF9WSUVXX1JFTUFQUEVEOgo+ICsJCQkJ c2VxX3ByaW50ZihtLCAiLCByZW1hcHBlZCBbKCV1eCV1LCBzdHJpZGU9JXUsIG9mZnNldD0ldSks ICgldXgldSwgc3RyaWRlPSV1LCBvZmZzZXQ9JXUpXSIsCj4gKwkJCQkJICAgdm1hLT5nZ3R0X3Zp ZXcucmVtYXBwZWQucGxhbmVbMF0ud2lkdGgsCj4gKwkJCQkJICAgdm1hLT5nZ3R0X3ZpZXcucmVt YXBwZWQucGxhbmVbMF0uaGVpZ2h0LAo+ICsJCQkJCSAgIHZtYS0+Z2d0dF92aWV3LnJlbWFwcGVk LnBsYW5lWzBdLnN0cmlkZSwKPiArCQkJCQkgICB2bWEtPmdndHRfdmlldy5yZW1hcHBlZC5wbGFu ZVswXS5vZmZzZXQsCj4gKwkJCQkJICAgdm1hLT5nZ3R0X3ZpZXcucmVtYXBwZWQucGxhbmVbMV0u d2lkdGgsCj4gKwkJCQkJICAgdm1hLT5nZ3R0X3ZpZXcucmVtYXBwZWQucGxhbmVbMV0uaGVpZ2h0 LAo+ICsJCQkJCSAgIHZtYS0+Z2d0dF92aWV3LnJlbWFwcGVkLnBsYW5lWzFdLnN0cmlkZSwKPiAr CQkJCQkgICB2bWEtPmdndHRfdmlldy5yZW1hcHBlZC5wbGFuZVsxXS5vZmZzZXQpOwo+ICsJCQkJ YnJlYWs7Cj4gKwo+ICAgCQkJZGVmYXVsdDoKPiAgIAkJCQlNSVNTSU5HX0NBU0Uodm1hLT5nZ3R0 X3ZpZXcudHlwZSk7Cj4gICAJCQkJYnJlYWs7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5k ZXggNWRmMjZjY2RhOGE0Li5jZWY3NmNmMzQzYzQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKPiBAQCAtMjg0NSw2ICsyODQ1LDEwIEBAIGk5MTVfZ2VtX29iamVjdF9nZXRfZGlydHlfcGFn ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAgCQkJICAgICAgIHVuc2lnbmVk IGludCBuKTsKPiAgIAo+ICAgZG1hX2FkZHJfdAo+ICtpOTE1X2dlbV9vYmplY3RfZ2V0X2RtYV9h ZGRyZXNzX2xlbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICsJCQkJICAgIHVu c2lnbmVkIGxvbmcgbiwKPiArCQkJCSAgICB1bnNpZ25lZCBpbnQgKmxlbik7Cj4gK2RtYV9hZGRy X3QKPiAgIGk5MTVfZ2VtX29iamVjdF9nZXRfZG1hX2FkZHJlc3Moc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaiwKPiAgIAkJCQl1bnNpZ25lZCBsb25nIG4pOwo+ICAgCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCj4gaW5kZXggZWE4NWRhMzkzNjYyLi5mNjVkODFmNGYzZDcgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBAQCAtNjA0MSwxNiArNjA0MSwyOSBAQCBpOTE1X2dlbV9v YmplY3RfZ2V0X2RpcnR5X3BhZ2Uoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAg IH0KPiAgIAo+ICAgZG1hX2FkZHJfdAo+IC1pOTE1X2dlbV9vYmplY3RfZ2V0X2RtYV9hZGRyZXNz KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4gLQkJCQl1bnNpZ25lZCBsb25nIG4p Cj4gK2k5MTVfZ2VtX29iamVjdF9nZXRfZG1hX2FkZHJlc3NfbGVuKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmosCj4gKwkJCQkgICAgdW5zaWduZWQgbG9uZyBuLAo+ICsJCQkJICAgIHVu c2lnbmVkIGludCAqbGVuKQo+ICAgewo+ICAgCXN0cnVjdCBzY2F0dGVybGlzdCAqc2c7Cj4gICAJ dW5zaWduZWQgaW50IG9mZnNldDsKPiAgIAo+ICAgCXNnID0gaTkxNV9nZW1fb2JqZWN0X2dldF9z ZyhvYmosIG4sICZvZmZzZXQpOwo+ICsKPiArCWlmIChsZW4pCj4gKwkJKmxlbiA9IHNnX2RtYV9s ZW4oc2cpIC0gKG9mZnNldCA8PCBQQUdFX1NISUZUKTsKPiArCj4gICAJcmV0dXJuIHNnX2RtYV9h ZGRyZXNzKHNnKSArIChvZmZzZXQgPDwgUEFHRV9TSElGVCk7Cj4gICB9Cj4gICAKPiArZG1hX2Fk ZHJfdAo+ICtpOTE1X2dlbV9vYmplY3RfZ2V0X2RtYV9hZGRyZXNzKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmosCj4gKwkJCQl1bnNpZ25lZCBsb25nIG4pCj4gK3sKPiArCXJldHVybiBp OTE1X2dlbV9vYmplY3RfZ2V0X2RtYV9hZGRyZXNzX2xlbihvYmosIG4sIE5VTEwpOwo+ICt9Cj4g Kwo+ICsKPiAgIGludCBpOTE1X2dlbV9vYmplY3RfYXR0YWNoX3BoeXMoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaiwgaW50IGFsaWduKQo+ICAgewo+ICAgCXN0cnVjdCBzZ190YWJsZSAq cGFnZXM7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPiBpbmRleCBhODgwN2ZiZWQw YWEuLmJlNWRiYmIxYjZmZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4g QEAgLTM2MDUsNiArMzYwNSw4OSBAQCBpbnRlbF9yb3RhdGVfcGFnZXMoc3RydWN0IGludGVsX3Jv dGF0aW9uX2luZm8gKnJvdF9pbmZvLAo+ICAgCXJldHVybiBFUlJfUFRSKHJldCk7Cj4gICB9Cj4g ICAKPiArc3RhdGljIHN0cnVjdCBzY2F0dGVybGlzdCAqCj4gK3JlbWFwX3BhZ2VzKHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIHVuc2lnbmVkIGludCBvZmZzZXQsCj4gKwkgICAgdW5z aWduZWQgaW50IHdpZHRoLCB1bnNpZ25lZCBpbnQgaGVpZ2h0LAo+ICsJICAgIHVuc2lnbmVkIGlu dCBzdHJpZGUsCj4gKwkgICAgc3RydWN0IHNnX3RhYmxlICpzdCwgc3RydWN0IHNjYXR0ZXJsaXN0 ICpzZykKPiArewo+ICsJdW5zaWduZWQgaW50IHJvdzsKPiArCj4gKwlmb3IgKHJvdyA9IDA7IHJv dyA8IGhlaWdodDsgcm93KyspIHsKPiArCQl1bnNpZ25lZCBpbnQgbGVmdCA9IHdpZHRoICogSTkx NV9HVFRfUEFHRV9TSVpFOwo+ICsKPiArCQl3aGlsZSAobGVmdCkgewo+ICsJCQlkbWFfYWRkcl90 IGFkZHI7Cj4gKwkJCXVuc2lnbmVkIGludCBsZW5ndGg7Cj4gKwo+ICsJCQkvKiBXZSBkb24ndCBu ZWVkIHRoZSBwYWdlcywgYnV0IG5lZWQgdG8gaW5pdGlhbGl6ZQo+ICsJCQkgKiB0aGUgZW50cmll cyBzbyB0aGUgc2cgbGlzdCBjYW4gYmUgaGFwcGlseSB0cmF2ZXJzZWQuCj4gKwkJCSAqIFRoZSBv bmx5IHRoaW5nIHdlIG5lZWQgYXJlIERNQSBhZGRyZXNzZXMuCj4gKwkJCSAqLwo+ICsKPiArCQkJ YWRkciA9IGk5MTVfZ2VtX29iamVjdF9nZXRfZG1hX2FkZHJlc3NfbGVuKG9iaiwgb2Zmc2V0LCAm bGVuZ3RoKTsKPiArCj4gKwkJCWxlbmd0aCA9IG1pbihsZWZ0LCBsZW5ndGgpOwo+ICsKPiArCQkJ c3QtPm5lbnRzKys7Cj4gKwo+ICsJCQlzZ19zZXRfcGFnZShzZywgTlVMTCwgbGVuZ3RoLCAwKTsK PiArCQkJc2dfZG1hX2FkZHJlc3Moc2cpID0gYWRkcjsKPiArCQkJc2dfZG1hX2xlbihzZykgPSBs ZW5ndGg7Cj4gKwkJCXNnID0gc2dfbmV4dChzZyk7Cj4gKwo+ICsJCQlvZmZzZXQgKz0gbGVuZ3Ro IC8gSTkxNV9HVFRfUEFHRV9TSVpFOwo+ICsJCQlsZWZ0IC09IGxlbmd0aDsKPiArCQl9Cj4gKwo+ ICsJCW9mZnNldCArPSBzdHJpZGUgLSB3aWR0aDsKPiArCX0KPiArCj4gKwlyZXR1cm4gc2c7Cj4g K30KPiArCj4gK3N0YXRpYyBub2lubGluZSBzdHJ1Y3Qgc2dfdGFibGUgKgo+ICtpbnRlbF9yZW1h cF9wYWdlcyhzdHJ1Y3QgaW50ZWxfcmVtYXBwZWRfaW5mbyAqcmVtX2luZm8sCj4gKwkJICBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ICt7Cj4gKwl1bnNpZ25lZCBpbnQgc2l6ZSA9 IGludGVsX3JlbWFwcGVkX2luZm9fc2l6ZShyZW1faW5mbyk7Cj4gKwlzdHJ1Y3Qgc2dfdGFibGUg KnN0Owo+ICsJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKPiArCWludCByZXQgPSAtRU5PTUVNOwo+ ICsJaW50IGk7Cj4gKwo+ICsJLyogQWxsb2NhdGUgdGFyZ2V0IFNHIGxpc3QuICovCj4gKwlzdCA9 IGttYWxsb2Moc2l6ZW9mKCpzdCksIEdGUF9LRVJORUwpOwo+ICsJaWYgKCFzdCkKPiArCQlnb3Rv IGVycl9zdF9hbGxvYzsKPiArCj4gKwlyZXQgPSBzZ19hbGxvY190YWJsZShzdCwgc2l6ZSwgR0ZQ X0tFUk5FTCk7Cj4gKwlpZiAocmV0KQo+ICsJCWdvdG8gZXJyX3NnX2FsbG9jOwo+ICsKPiArCXN0 LT5uZW50cyA9IDA7Cj4gKwlzZyA9IHN0LT5zZ2w7Cj4gKwo+ICsJZm9yIChpID0gMCA7IGkgPCBB UlJBWV9TSVpFKHJlbV9pbmZvLT5wbGFuZSk7IGkrKykgewo+ICsJCXNnID0gcmVtYXBfcGFnZXMo b2JqLCByZW1faW5mby0+cGxhbmVbaV0ub2Zmc2V0LAo+ICsJCQkJIHJlbV9pbmZvLT5wbGFuZVtp XS53aWR0aCwgcmVtX2luZm8tPnBsYW5lW2ldLmhlaWdodCwKPiArCQkJCSByZW1faW5mby0+cGxh bmVbaV0uc3RyaWRlLCBzdCwgc2cpOwo+ICsJfQo+ICsKPiArCWk5MTVfc2dfdHJpbShzdCk7Cj4g Kwo+ICsJcmV0dXJuIHN0Owo+ICsKPiArZXJyX3NnX2FsbG9jOgo+ICsJa2ZyZWUoc3QpOwo+ICtl cnJfc3RfYWxsb2M6Cj4gKwo+ICsJRFJNX0RFQlVHX0RSSVZFUigiRmFpbGVkIHRvIGNyZWF0ZSBy ZW1hcHBlZCBtYXBwaW5nIGZvciBvYmplY3Qgc2l6ZSAlenUhICgldXgldSB0aWxlcywgJXUgcGFn ZXMpXG4iLAo+ICsJCQkgb2JqLT5iYXNlLnNpemUsIHJlbV9pbmZvLT5wbGFuZVswXS53aWR0aCwg cmVtX2luZm8tPnBsYW5lWzBdLmhlaWdodCwgc2l6ZSk7Cj4gKwo+ICsJcmV0dXJuIEVSUl9QVFIo cmV0KTsKPiArfQo+ICsKPiAgIHN0YXRpYyBub2lubGluZSBzdHJ1Y3Qgc2dfdGFibGUgKgo+ICAg aW50ZWxfcGFydGlhbF9wYWdlcyhjb25zdCBzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcgKnZpZXcsCj4g ICAJCSAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+IEBAIC0zNjgzLDYgKzM3 NjYsMTEgQEAgaTkxNV9nZXRfZ2d0dF92bWFfcGFnZXMoc3RydWN0IGk5MTVfdm1hICp2bWEpCj4g ICAJCQlpbnRlbF9yb3RhdGVfcGFnZXMoJnZtYS0+Z2d0dF92aWV3LnJvdGF0ZWQsIHZtYS0+b2Jq KTsKPiAgIAkJYnJlYWs7Cj4gICAKPiArCWNhc2UgSTkxNV9HR1RUX1ZJRVdfUkVNQVBQRUQ6Cj4g KwkJdm1hLT5wYWdlcyA9Cj4gKwkJCWludGVsX3JlbWFwX3BhZ2VzKCZ2bWEtPmdndHRfdmlldy5y ZW1hcHBlZCwgdm1hLT5vYmopOwo+ICsJCWJyZWFrOwo+ICsKPiAgIAljYXNlIEk5MTVfR0dUVF9W SUVXX1BBUlRJQUw6Cj4gICAJCXZtYS0+cGFnZXMgPSBpbnRlbF9wYXJ0aWFsX3BhZ2VzKCZ2bWEt PmdndHRfdmlldywgdm1hLT5vYmopOwo+ICAgCQlicmVhazsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuaAo+IGluZGV4IGUyMzYwZjE2NDI3YS4uOGYyNmI0MjkyMDg0IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKPiBAQCAtMTYyLDExICsxNjIsMTggQEAgdHlwZWRl ZiB1NjQgZ2VuOF9wcGd0dF9wbWw0ZV90Owo+ICAgCj4gICBzdHJ1Y3Qgc2dfdGFibGU7Cj4gICAK PiArc3RydWN0IGludGVsX3JlbWFwcGVkX3BsYW5lX2luZm8gewo+ICsJLyogaW4gZ3R0IHBhZ2Vz ICovCj4gKwl1bnNpZ25lZCBpbnQgd2lkdGgsIGhlaWdodCwgc3RyaWRlLCBvZmZzZXQ7Cj4gK30g X19wYWNrZWQ7Cj4gKwo+ICtzdHJ1Y3QgaW50ZWxfcmVtYXBwZWRfaW5mbyB7Cj4gKwlzdHJ1Y3Qg aW50ZWxfcmVtYXBwZWRfcGxhbmVfaW5mbyBwbGFuZVsyXTsKPiArCXVuc2lnbmVkIGludCB1bnVz ZWRfbWJ6Owo+ICt9IF9fcGFja2VkOwo+ICsKPiAgIHN0cnVjdCBpbnRlbF9yb3RhdGlvbl9pbmZv IHsKPiAtCXN0cnVjdCBpbnRlbF9yb3RhdGlvbl9wbGFuZV9pbmZvIHsKPiAtCQkvKiB0aWxlcyAq Lwo+IC0JCXVuc2lnbmVkIGludCB3aWR0aCwgaGVpZ2h0LCBzdHJpZGUsIG9mZnNldDsKPiAtCX0g cGxhbmVbMl07Cj4gKwlzdHJ1Y3QgaW50ZWxfcmVtYXBwZWRfcGxhbmVfaW5mbyBwbGFuZVsyXTsK PiAgIH0gX19wYWNrZWQ7Cj4gICAKPiAgIHN0cnVjdCBpbnRlbF9wYXJ0aWFsX2luZm8gewo+IEBA IC0xNzgsMTIgKzE4NSwyMCBAQCBlbnVtIGk5MTVfZ2d0dF92aWV3X3R5cGUgewo+ICAgCUk5MTVf R0dUVF9WSUVXX05PUk1BTCA9IDAsCj4gICAJSTkxNV9HR1RUX1ZJRVdfUk9UQVRFRCA9IHNpemVv ZihzdHJ1Y3QgaW50ZWxfcm90YXRpb25faW5mbyksCj4gICAJSTkxNV9HR1RUX1ZJRVdfUEFSVElB TCA9IHNpemVvZihzdHJ1Y3QgaW50ZWxfcGFydGlhbF9pbmZvKSwKPiArCUk5MTVfR0dUVF9WSUVX X1JFTUFQUEVEID0gc2l6ZW9mKHN0cnVjdCBpbnRlbF9yZW1hcHBlZF9pbmZvKSwKPiAgIH07Cj4g ICAKPiAgIHN0YXRpYyBpbmxpbmUgdm9pZCBhc3NlcnRfaTkxNV9nZW1fZ3R0X3R5cGVzKHZvaWQp Cj4gICB7Cj4gICAJQlVJTERfQlVHX09OKHNpemVvZihzdHJ1Y3QgaW50ZWxfcm90YXRpb25faW5m bykgIT0gOCpzaXplb2YodW5zaWduZWQgaW50KSk7Cj4gICAJQlVJTERfQlVHX09OKHNpemVvZihz dHJ1Y3QgaW50ZWxfcGFydGlhbF9pbmZvKSAhPSBzaXplb2YodTY0KSArIHNpemVvZih1bnNpZ25l ZCBpbnQpKTsKPiArCUJVSUxEX0JVR19PTihzaXplb2Yoc3RydWN0IGludGVsX3JlbWFwcGVkX2lu Zm8pICE9IDkqc2l6ZW9mKHVuc2lnbmVkIGludCkpOwo+ICsKPiArCS8qIENoZWNrIHRoYXQgcm90 YXRpb24vcmVtYXBwZWQgc2hhcmVzIG9mZnNldHMgZm9yIHNpbXBsaWNpdHkgKi8KPiArCUJVSUxE X0JVR19PTihvZmZzZXRvZihzdHJ1Y3QgaW50ZWxfcmVtYXBwZWRfaW5mbywgcGxhbmVbMF0pICE9 Cj4gKwkJICAgICBvZmZzZXRvZihzdHJ1Y3QgaW50ZWxfcm90YXRpb25faW5mbywgcGxhbmVbMF0p KTsKPiArCUJVSUxEX0JVR19PTihvZmZzZXRvZmVuZChzdHJ1Y3QgaW50ZWxfcmVtYXBwZWRfaW5m bywgcGxhbmVbMV0pICE9Cj4gKwkJICAgICBvZmZzZXRvZmVuZChzdHJ1Y3QgaW50ZWxfcm90YXRp b25faW5mbywgcGxhbmVbMV0pKTsKPiAgIAo+ICAgCS8qIEFzIHdlIGVuY29kZSB0aGUgc2l6ZSBv ZiBlYWNoIGJyYW5jaCBpbnNpZGUgdGhlIHVuaW9uIGludG8gaXRzIHR5cGUsCj4gICAJICogd2Ug aGF2ZSB0byBiZSBjYXJlZnVsIHRoYXQgZWFjaCBicmFuY2ggaGFzIGEgdW5pcXVlIHNpemUuCj4g QEAgLTE5Miw2ICsyMDcsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYXNzZXJ0X2k5MTVfZ2VtX2d0 dF90eXBlcyh2b2lkKQo+ICAgCWNhc2UgSTkxNV9HR1RUX1ZJRVdfTk9STUFMOgo+ICAgCWNhc2Ug STkxNV9HR1RUX1ZJRVdfUEFSVElBTDoKPiAgIAljYXNlIEk5MTVfR0dUVF9WSUVXX1JPVEFURUQ6 Cj4gKwljYXNlIEk5MTVfR0dUVF9WSUVXX1JFTUFQUEVEOgo+ICAgCQkvKiBnY2MgY29tcGxhaW5z IGlmIHRoZXNlIGFyZSBpZGVudGljYWwgY2FzZXMgKi8KPiAgIAkJYnJlYWs7Cj4gICAJfQo+IEBA IC0yMDMsNiArMjE5LDcgQEAgc3RydWN0IGk5MTVfZ2d0dF92aWV3IHsKPiAgIAkJLyogTWVtYmVy cyBuZWVkIHRvIGNvbnRhaW4gbm8gaG9sZXMvcGFkZGluZyAqLwo+ICAgCQlzdHJ1Y3QgaW50ZWxf cGFydGlhbF9pbmZvIHBhcnRpYWw7Cj4gICAJCXN0cnVjdCBpbnRlbF9yb3RhdGlvbl9pbmZvIHJv dGF0ZWQ7Cj4gKwkJc3RydWN0IGludGVsX3JlbWFwcGVkX2luZm8gcmVtYXBwZWQ7Cj4gICAJfTsK PiAgIH07Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMKPiBpbmRleCA1YjRkNzhjZGI0Y2Eu LjlhMDM5YzM2ZGMwYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Zt YS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuYwo+IEBAIC0xNjQsNiAr MTY0LDkgQEAgdm1hX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAg CQl9IGVsc2UgaWYgKHZpZXctPnR5cGUgPT0gSTkxNV9HR1RUX1ZJRVdfUk9UQVRFRCkgewo+ICAg CQkJdm1hLT5zaXplID0gaW50ZWxfcm90YXRpb25faW5mb19zaXplKCZ2aWV3LT5yb3RhdGVkKTsK PiAgIAkJCXZtYS0+c2l6ZSA8PD0gUEFHRV9TSElGVDsKPiArCQl9IGVsc2UgaWYgKHZpZXctPnR5 cGUgPT0gSTkxNV9HR1RUX1ZJRVdfUkVNQVBQRUQpIHsKPiArCQkJdm1hLT5zaXplID0gaW50ZWxf cmVtYXBwZWRfaW5mb19zaXplKCZ2aWV3LT5yZW1hcHBlZCk7Cj4gKwkJCXZtYS0+c2l6ZSA8PD0g UEFHRV9TSElGVDsKPiAgIAkJfQo+ICAgCX0KPiAgIAo+IEBAIC00NjQsNyArNDY3LDggQEAgdm9p ZCBfX2k5MTVfdm1hX3NldF9tYXBfYW5kX2ZlbmNlYWJsZShzdHJ1Y3QgaTkxNV92bWEgKnZtYSkK PiAgIAkgKiBFeHBsaWNpdGx5IGRpc2FibGUgZm9yIHJvdGF0ZWQgVk1BIHNpbmNlIHRoZSBkaXNw bGF5IGRvZXMgbm90Cj4gICAJICogbmVlZCB0aGUgZmVuY2UgYW5kIHRoZSBWTUEgaXMgbm90IGFj Y2Vzc2libGUgdG8gb3RoZXIgdXNlcnMuCj4gICAJICovCj4gLQlpZiAodm1hLT5nZ3R0X3ZpZXcu dHlwZSA9PSBJOTE1X0dHVFRfVklFV19ST1RBVEVEKQo+ICsJaWYgKHZtYS0+Z2d0dF92aWV3LnR5 cGUgPT0gSTkxNV9HR1RUX1ZJRVdfUk9UQVRFRCB8fAo+ICsJICAgIHZtYS0+Z2d0dF92aWV3LnR5 cGUgPT0gSTkxNV9HR1RUX1ZJRVdfUkVNQVBQRUQpCj4gICAJCXJldHVybjsKPiAgIAo+ICAgCWZl bmNlYWJsZSA9ICh2bWEtPm5vZGUuc2l6ZSA+PSB2bWEtPmZlbmNlX3NpemUgJiYKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfdm1hLmgKPiBpbmRleCA0ZjdjMWM3NTk5ZjQuLjY0Y2YwMjljMDI4YSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5oCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV92bWEuaAo+IEBAIC0yNjUsOCArMjY1LDExIEBAIGk5MTVfdm1hX2Nv bXBhcmUoc3RydWN0IGk5MTVfdm1hICp2bWEsCj4gICAJICovCj4gICAJQlVJTERfQlVHX09OKEk5 MTVfR0dUVF9WSUVXX05PUk1BTCA+PSBJOTE1X0dHVFRfVklFV19QQVJUSUFMKTsKPiAgIAlCVUlM RF9CVUdfT04oSTkxNV9HR1RUX1ZJRVdfUEFSVElBTCA+PSBJOTE1X0dHVFRfVklFV19ST1RBVEVE KTsKPiArCUJVSUxEX0JVR19PTihJOTE1X0dHVFRfVklFV19ST1RBVEVEID49IEk5MTVfR0dUVF9W SUVXX1JFTUFQUEVEKTsKPiAgIAlCVUlMRF9CVUdfT04ob2Zmc2V0b2YodHlwZW9mKCp2aWV3KSwg cm90YXRlZCkgIT0KPiAgIAkJICAgICBvZmZzZXRvZih0eXBlb2YoKnZpZXcpLCBwYXJ0aWFsKSk7 Cj4gKwlCVUlMRF9CVUdfT04ob2Zmc2V0b2YodHlwZW9mKCp2aWV3KSwgcm90YXRlZCkgIT0KPiAr CQkgICAgIG9mZnNldG9mKHR5cGVvZigqdmlldyksIHJlbWFwcGVkKSk7Cj4gICAJcmV0dXJuIG1l bWNtcCgmdm1hLT5nZ3R0X3ZpZXcucGFydGlhbCwgJnZpZXctPnBhcnRpYWwsIHZpZXctPnR5cGUp Owo+ICAgfQo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDVk YzBkZTg5YzQ5ZS4uYzE3YTE3MjNhNTg5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwo+IEBAIC0xOTQyLDYgKzE5NDIsMTcgQEAgdW5zaWduZWQgaW50IGludGVsX3JvdGF0 aW9uX2luZm9fc2l6ZShjb25zdCBzdHJ1Y3QgaW50ZWxfcm90YXRpb25faW5mbyAqcm90X2luZm8K PiAgIAlyZXR1cm4gc2l6ZTsKPiAgIH0KPiAgIAo+ICt1bnNpZ25lZCBpbnQgaW50ZWxfcmVtYXBw ZWRfaW5mb19zaXplKGNvbnN0IHN0cnVjdCBpbnRlbF9yZW1hcHBlZF9pbmZvICpyZW1faW5mbykK PiArewo+ICsJdW5zaWduZWQgaW50IHNpemUgPSAwOwo+ICsJaW50IGk7Cj4gKwo+ICsJZm9yIChp ID0gMCA7IGkgPCBBUlJBWV9TSVpFKHJlbV9pbmZvLT5wbGFuZSk7IGkrKykKPiArCQlzaXplICs9 IHJlbV9pbmZvLT5wbGFuZVtpXS53aWR0aCAqIHJlbV9pbmZvLT5wbGFuZVtpXS5oZWlnaHQ7Cj4g Kwo+ICsJcmV0dXJuIHNpemU7Cj4gK30KPiArCj4gICBzdGF0aWMgdm9pZAo+ICAgaW50ZWxfZmls bF9mYl9nZ3R0X3ZpZXcoc3RydWN0IGk5MTVfZ2d0dF92aWV3ICp2aWV3LAo+ICAgCQkJY29uc3Qg c3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBp bmRleCAzYjA1MWZkZDBmY2UuLjdiOWI3NmQ1ODk1ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oCj4gQEAgLTE2MDEsNiArMTYwMSw3IEBAIHVuc2lnbmVkIGludCBpbnRlbF9mYl94eV90 b19saW5lYXIoaW50IHgsIGludCB5LAo+ICAgdm9pZCBpbnRlbF9hZGRfZmJfb2Zmc2V0cyhpbnQg KngsIGludCAqeSwKPiAgIAkJCSAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0 ZSwgaW50IHBsYW5lKTsKPiAgIHVuc2lnbmVkIGludCBpbnRlbF9yb3RhdGlvbl9pbmZvX3NpemUo Y29uc3Qgc3RydWN0IGludGVsX3JvdGF0aW9uX2luZm8gKnJvdF9pbmZvKTsKPiArdW5zaWduZWQg aW50IGludGVsX3JlbWFwcGVkX2luZm9fc2l6ZShjb25zdCBzdHJ1Y3QgaW50ZWxfcmVtYXBwZWRf aW5mbyAqcmVtX2luZm8pOwo+ICAgYm9vbCBpbnRlbF9oYXNfcGVuZGluZ19mYl91bnBpbihzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICAgdm9pZCBpbnRlbF9tYXJrX2J1c3ko c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgIHZvaWQgaW50ZWxfbWFya19p ZGxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3ZtYS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvc2VsZnRlc3RzL2k5MTVfdm1hLmMKPiBpbmRleCBmZmE3NDI5MGUwNTQuLjRmYzQ5YzI3 ZjEzYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV92 bWEuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3ZtYS5jCj4g QEAgLTM5NSw4ICszOTUsOCBAQCBhc3NlcnRfcm90YXRlZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqLAo+ICAgCXJldHVybiBzZzsKPiAgIH0KPiAgIAo+IC1zdGF0aWMgdW5zaWduZWQg aW50IHJvdGF0ZWRfc2l6ZShjb25zdCBzdHJ1Y3QgaW50ZWxfcm90YXRpb25fcGxhbmVfaW5mbyAq YSwKPiAtCQkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfcm90YXRpb25fcGxhbmVfaW5mbyAqYikKPiAr c3RhdGljIHVuc2lnbmVkIGludCByb3RhdGVkX3NpemUoY29uc3Qgc3RydWN0IGludGVsX3JlbWFw cGVkX3BsYW5lX2luZm8gKmEsCj4gKwkJCQkgY29uc3Qgc3RydWN0IGludGVsX3JlbWFwcGVkX3Bs YW5lX2luZm8gKmIpCj4gICB7Cj4gICAJcmV0dXJuIGEtPndpZHRoICogYS0+aGVpZ2h0ICsgYi0+ d2lkdGggKiBiLT5oZWlnaHQ7Cj4gICB9Cj4gQEAgLTQwNiw3ICs0MDYsNyBAQCBzdGF0aWMgaW50 IGlndF92bWFfcm90YXRlKHZvaWQgKmFyZykKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSA9IGFyZzsKPiAgIAlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSA9ICZpOTE1LT5n Z3R0LnZtOwo+ICAgCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7Cj4gLQljb25zdCBz dHJ1Y3QgaW50ZWxfcm90YXRpb25fcGxhbmVfaW5mbyBwbGFuZXNbXSA9IHsKPiArCWNvbnN0IHN0 cnVjdCBpbnRlbF9yZW1hcHBlZF9wbGFuZV9pbmZvIHBsYW5lc1tdID0gewoKV2h5IHRoaXM/Cgo+ ICAgCQl7IC53aWR0aCA9IDEsIC5oZWlnaHQgPSAxLCAuc3RyaWRlID0gMSB9LAo+ICAgCQl7IC53 aWR0aCA9IDIsIC5oZWlnaHQgPSAyLCAuc3RyaWRlID0gMiB9LAo+ICAgCQl7IC53aWR0aCA9IDQs IC5oZWlnaHQgPSA0LCAuc3RyaWRlID0gNCB9LAo+IAoKUmVnYXJkcywKClR2cnRrbwpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK