From mboxrd@z Thu Jan 1 00:00:00 1970 From: akash.goel@intel.com Subject: [PATCH 10/11] drm/i915: Support to create write combined type vmaps Date: Fri, 10 Jun 2016 19:06:28 +0530 Message-ID: <1465565789-30570-11-git-send-email-akash.goel@intel.com> References: <1465565789-30570-1-git-send-email-akash.goel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 440B26ED3D for ; Fri, 10 Jun 2016 13:23:37 +0000 (UTC) In-Reply-To: <1465565789-30570-1-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: intel-gfx@lists.freedesktop.org Cc: sourab.gupta@intel.com, Akash Goel List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cgp2bWFwcyBoYXMg YSBwcm92aXNpb24gZm9yIGNvbnRyb2xsaW5nIHRoZSBwYWdlIHByb3RlY3Rpb24gYml0cywgd2l0 aCB3aGljaAp3ZSBjYW4gdXNlIHRvIGNvbnRyb2wgdGhlIG1hcHBpbmcgdHlwZSwgZS5nLiBXQiwg V0MsIFVDIG9yIGV2ZW4gV1QuClRvIGFsbG93IHRoZSBjYWxsZXIgdG8gY2hvb3NlIHRoZWlyIG1h cHBpbmcgdHlwZSwgd2UgYWRkIGEgcGFyYW1ldGVyIHRvCmk5MTVfZ2VtX29iamVjdF9waW5fbWFw IC0gYnV0IHdlIHN0aWxsIG9ubHkgYWxsb3cgb25lIHZtYXAgdG8gYmUgY2FjaGVkCnBlciBvYmpl Y3QuIElmIHRoZSBvYmplY3QgaXMgY3VycmVudGx5IG5vdCBwaW5uZWQsIHRoZW4gd2UgcmVjcmVh dGUgdGhlCnByZXZpb3VzIHZtYXAgd2l0aCB0aGUgbmV3IGFjY2VzcyB0eXBlLCBidXQgaWYgaXQg d2FzIHBpbm5lZCB3ZSByZXBvcnQgYW4KZXJyb3IuIFRoaXMgZWZmZWN0aXZlbHkgbGltaXRzIHRo ZSBhY2Nlc3MgdmlhIGk5MTVfZ2VtX29iamVjdF9waW5fbWFwIHRvIGEKc2luZ2xlIG1hcHBpbmcg dHlwZSBmb3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBvYmplY3QuIE5vdCB1c3VhbGx5IGEgcHJvYmxl bSwKYnV0IHNvbWV0aGluZyB0byBiZSBhd2FyZSBvZiB3aGVuIHNldHRpbmcgdXAgdGhlIG9iamVj dCdzIHZtYXAuCgpXZSB3aWxsIHdhbnQgdG8gdmFyeSB0aGUgYWNjZXNzIHR5cGUgdG8gZW5hYmxl IFdDIG1hcHBpbmdzIG9mIHJpbmdidWZmZXIKYW5kIGNvbnRleHQgb2JqZWN0cyBvbiAhbGxjIHBs YXRmb3JtcywgYXMgd2VsbCBhcyBvdGhlciBvYmplY3RzIHdoZXJlIHdlCm5lZWQgY29oZXJlbnQg YWNjZXNzIHRvIHRoZSBHUFUncyBwYWdlcyB3aXRob3V0IGdvaW5nIHRocm91Z2ggdGhlIEdUVAoK U2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ClNp Z25lZC1vZmYtYnk6IEFrYXNoIEdvZWwgPGFrYXNoLmdvZWxAaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8ICA0ICsrLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgIHwgNTcgKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9kbWFidWYuYyAgfCAgMiAr LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgIHwgIDggKystLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyB8ICAyICstCiA1IGZpbGVzIGNo YW5nZWQsIDUzIGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCmluZGV4IDE4OTQ3YmEuLjJhMGViMDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApA QCAtMzE0NCw2ICszMTQ0LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGk5MTVfZ2VtX29iamVjdF91 bnBpbl9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogLyoqCiAgKiBpOTE1 X2dlbV9vYmplY3RfcGluX21hcCAtIHJldHVybiBhIGNvbnRpZ3VvdXMgbWFwcGluZyBvZiB0aGUg ZW50aXJlIG9iamVjdAogICogQG9iaiAtIHRoZSBvYmplY3QgdG8gbWFwIGludG8ga2VybmVsIGFk ZHJlc3Mgc3BhY2UKKyAqICZ1c2Vfd2MgLSB3aGV0aGVyIHRoZSBtYXBwaW5nIHNob3VsZCBiZSB1 c2luZyBXQyBvciBXQiBwZ3Byb3RfdAogICoKICAqIENhbGxzIGk5MTVfZ2VtX29iamVjdF9waW5f cGFnZXMoKSB0byBwcmV2ZW50IHJlYXBpbmcgb2YgdGhlIG9iamVjdCdzCiAgKiBwYWdlcyBhbmQg dGhlbiByZXR1cm5zIGEgY29udGlndW91cyBtYXBwaW5nIG9mIHRoZSBiYWNraW5nIHN0b3JhZ2Ug aW50bwpAQCAtMzE1NSw3ICszMTU2LDggQEAgc3RhdGljIGlubGluZSB2b2lkIGk5MTVfZ2VtX29i amVjdF91bnBpbl9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogICogUmV0 dXJucyB0aGUgcG9pbnRlciB0aHJvdWdoIHdoaWNoIHRvIGFjY2VzcyB0aGUgbWFwcGVkIG9iamVj dCwgb3IgYW4KICAqIEVSUl9QVFIoKSBvbiBlcnJvci4KICAqLwotdm9pZCAqX19tdXN0X2NoZWNr IGk5MTVfZ2VtX29iamVjdF9waW5fbWFwKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmop Owordm9pZCAqX19tdXN0X2NoZWNrIGk5MTVfZ2VtX29iamVjdF9waW5fbWFwKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosCisJCQkJCSBib29sIHVzZV93Yyk7CiAKIC8qKgogICogaTkx NV9nZW1fb2JqZWN0X3VucGluX21hcCAtIHJlbGVhc2VzIGFuIGVhcmxpZXIgbWFwcGluZwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggMzQzZDg4MS4uY2FmYmJkYyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbS5jCkBAIC0yMjI1LDEwICsyMjI1LDExIEBAIGk5MTVfZ2VtX29iamVjdF9wdXRfcGFn ZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAlsaXN0X2RlbCgmb2JqLT5nbG9i YWxfbGlzdCk7CiAKIAlpZiAob2JqLT5tYXBwaW5nKSB7Ci0JCWlmIChpc192bWFsbG9jX2FkZHIo b2JqLT5tYXBwaW5nKSkKLQkJCXZ1bm1hcChvYmotPm1hcHBpbmcpOworCQl2b2lkICpwdHIgPSAo dm9pZCAqKSgodWludHB0cl90KW9iai0+bWFwcGluZyAmIH4xKTsKKwkJaWYgKGlzX3ZtYWxsb2Nf YWRkcihwdHIpKQorCQkJdnVubWFwKHB0cik7CiAJCWVsc2UKLQkJCWt1bm1hcChrbWFwX3RvX3Bh Z2Uob2JqLT5tYXBwaW5nKSk7CisJCQlrdW5tYXAoa21hcF90b19wYWdlKHB0cikpOwogCQlvYmot Pm1hcHBpbmcgPSBOVUxMOwogCX0KIApAQCAtMjQwMSw3ICsyNDAyLDggQEAgaTkxNV9nZW1fb2Jq ZWN0X2dldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogfQogCiAvKiBU aGUgJ21hcHBpbmcnIHBhcnQgb2YgaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAoKSBiZWxvdyAqLwot c3RhdGljIHZvaWQgKmk5MTVfZ2VtX29iamVjdF9tYXAoY29uc3Qgc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaikKK3N0YXRpYyB2b2lkICppOTE1X2dlbV9vYmplY3RfbWFwKGNvbnN0IHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCisJCQkJYm9vbCB1c2Vfd2MpCiB7CiAJdW5z aWduZWQgbG9uZyBuX3BhZ2VzID0gb2JqLT5iYXNlLnNpemUgPj4gUEFHRV9TSElGVDsKIAlzdHJ1 Y3Qgc2dfdGFibGUgKnNndCA9IG9iai0+cGFnZXM7CkBAIC0yNDEzLDcgKzI0MTUsNyBAQCBzdGF0 aWMgdm9pZCAqaTkxNV9nZW1fb2JqZWN0X21hcChjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqKQogCXZvaWQgKmFkZHI7CiAKIAkvKiBBIHNpbmdsZSBwYWdlIGNhbiBhbHdheXMg YmUga21hcHBlZCAqLwotCWlmIChuX3BhZ2VzID09IDEpCisJaWYgKG5fcGFnZXMgPT0gMSAmJiAh dXNlX3djKQogCQlyZXR1cm4ga21hcChzZ19wYWdlKHNndC0+c2dsKSk7CiAKIAlpZiAobl9wYWdl cyA+IEFSUkFZX1NJWkUoc3RhY2tfcGFnZXMpKSB7CkBAIC0yNDI5LDcgKzI0MzEsOCBAQCBzdGF0 aWMgdm9pZCAqaTkxNV9nZW1fb2JqZWN0X21hcChjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqKQogCS8qIENoZWNrIHRoYXQgd2UgaGF2ZSB0aGUgZXhwZWN0ZWQgbnVtYmVyIG9m IHBhZ2VzICovCiAJR0VNX0JVR19PTihpICE9IG5fcGFnZXMpOwogCi0JYWRkciA9IHZtYXAocGFn ZXMsIG5fcGFnZXMsIDAsIFBBR0VfS0VSTkVMKTsKKwlhZGRyID0gdm1hcChwYWdlcywgbl9wYWdl cywgVk1fTk9fR1VBUkQsCisJCSAgICB1c2Vfd2MgPyBwZ3Byb3Rfd3JpdGVjb21iaW5lKFBBR0Vf S0VSTkVMX0lPKSA6IFBBR0VfS0VSTkVMKTsKIAogCWlmIChwYWdlcyAhPSBzdGFja19wYWdlcykK IAkJZHJtX2ZyZWVfbGFyZ2UocGFnZXMpOwpAQCAtMjQzOCwyNyArMjQ0MSw1NSBAQCBzdGF0aWMg dm9pZCAqaTkxNV9nZW1fb2JqZWN0X21hcChjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqKQogfQogCiAvKiBnZXQsIHBpbiwgYW5kIG1hcCB0aGUgcGFnZXMgb2YgdGhlIG9iamVj dCBpbnRvIGtlcm5lbCBzcGFjZSAqLwotdm9pZCAqaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKK3ZvaWQgKmk5MTVfZ2VtX29iamVjdF9waW5f bWFwKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGJvb2wgdXNlX3djKQogeworCXZv aWQgKnB0cjsKKwlib29sIGhhc193YzsKKwlib29sIHBpbm5lZDsKIAlpbnQgcmV0OwogCiAJbG9j a2RlcF9hc3NlcnRfaGVsZCgmb2JqLT5iYXNlLmRldi0+c3RydWN0X211dGV4KTsKKwlHRU1fQlVH X09OKChvYmotPm9wcy0+ZmxhZ3MgJiBJOTE1X0dFTV9PQkpFQ1RfSEFTX1NUUlVDVF9QQUdFKSA9 PSAwKTsKIAogCXJldCA9IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMob2JqKTsKIAlpZiAocmV0 KQogCQlyZXR1cm4gRVJSX1BUUihyZXQpOwogCisJR0VNX0JVR19PTihvYmotPnBhZ2VzID09IE5V TEwpOwogCWk5MTVfZ2VtX29iamVjdF9waW5fcGFnZXMob2JqKTsKIAotCWlmICghb2JqLT5tYXBw aW5nKSB7Ci0JCW9iai0+bWFwcGluZyA9IGk5MTVfZ2VtX29iamVjdF9tYXAob2JqKTsKLQkJaWYg KCFvYmotPm1hcHBpbmcpIHsKLQkJCWk5MTVfZ2VtX29iamVjdF91bnBpbl9wYWdlcyhvYmopOwot CQkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisJcGlubmVkID0gKG9iai0+cGFnZXNfcGluX2Nv dW50ID4gMSk7CisJcHRyID0gKHZvaWQgKikoKHVpbnRwdHJfdClvYmotPm1hcHBpbmcgJiB+MSk7 CisJaGFzX3djID0gKHVpbnRwdHJfdClvYmotPm1hcHBpbmcgJiAxOworCisJaWYgKHB0ciAmJiBo YXNfd2MgIT0gdXNlX3djKSB7CisJCWlmIChwaW5uZWQpIHsKKwkJCXJldCA9IC1FQlVTWTsKKwkJ CWdvdG8gZXJyOworCQl9CisKKwkJaWYgKGlzX3ZtYWxsb2NfYWRkcihwdHIpKQorCQkJdnVubWFw KHB0cik7CisJCWVsc2UKKwkJCWt1bm1hcChrbWFwX3RvX3BhZ2UocHRyKSk7CisJCXB0ciA9IG9i ai0+bWFwcGluZyA9IE5VTEw7CisJfQorCisJaWYgKCFwdHIpIHsKKwkJcHRyID0gaTkxNV9nZW1f b2JqZWN0X21hcChvYmosIHVzZV93Yyk7CisJCWlmICghcHRyKSB7CisJCQlyZXQgPSAtRU5PTUVN OworCQkJZ290byBlcnI7CiAJCX0KKworCQlvYmotPm1hcHBpbmcgPSAodm9pZCAqKSgodWludHB0 cl90KXB0ciB8IHVzZV93Yyk7CiAJfQogCi0JcmV0dXJuIG9iai0+bWFwcGluZzsKKwlyZXR1cm4g cHRyOworCitlcnI6CisJaTkxNV9nZW1fb2JqZWN0X3VucGluX3BhZ2VzKG9iaik7CisJcmV0dXJu IEVSUl9QVFIocmV0KTsKIH0KIAogdm9pZCBpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZShzdHJ1Y3Qg aTkxNV92bWEgKnZtYSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2RtYWJ1Zi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVmLmMKaW5kZXgg ODBiYmU0My4uZWRjYWRjZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZG1hYnVmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVmLmMK QEAgLTExNSw3ICsxMTUsNyBAQCBzdGF0aWMgdm9pZCAqaTkxNV9nZW1fZG1hYnVmX3ZtYXAoc3Ry dWN0IGRtYV9idWYgKmRtYV9idWYpCiAJaWYgKHJldCkKIAkJcmV0dXJuIEVSUl9QVFIocmV0KTsK IAotCWFkZHIgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChvYmopOworCWFkZHIgPSBpOTE1X2dl bV9vYmplY3RfcGluX21hcChvYmosIGZhbHNlKTsKIAltdXRleF91bmxvY2soJmRldi0+c3RydWN0 X211dGV4KTsKIAogCXJldHVybiBhZGRyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCA1 YzE5MWExLi5hNjA1ZTJiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtOTUyLDcgKzk1 Miw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfbHJfY29udGV4dF9waW4oc3RydWN0IGk5MTVfZ2VtX2Nv bnRleHQgKmN0eCwKIAlpZiAocmV0KQogCQlnb3RvIGVycjsKIAotCXZhZGRyID0gaTkxNV9nZW1f b2JqZWN0X3Bpbl9tYXAoY2UtPnN0YXRlKTsKKwl2YWRkciA9IGk5MTVfZ2VtX29iamVjdF9waW5f bWFwKGNlLT5zdGF0ZSwgZmFsc2UpOwogCWlmIChJU19FUlIodmFkZHIpKSB7CiAJCXJldCA9IFBU Ul9FUlIodmFkZHIpOwogCQlnb3RvIHVucGluX2N0eF9vYmo7CkBAIC0xOTM5LDcgKzE5MzksNyBA QCBscmNfc2V0dXBfaHdzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAkvKiBUaGUg SFdTUCBpcyBwYXJ0IG9mIHRoZSBkZWZhdWx0IGNvbnRleHQgb2JqZWN0IGluIExSQyBtb2RlLiAq LwogCWVuZ2luZS0+c3RhdHVzX3BhZ2UuZ2Z4X2FkZHIgPSBpOTE1X2dlbV9vYmpfZ2d0dF9vZmZz ZXQoZGN0eF9vYmopICsKIAkJCQkgICAgICAgTFJDX1BQSFdTUF9QTiAqIFBBR0VfU0laRTsKLQlo d3MgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChkY3R4X29iaik7CisJaHdzID0gaTkxNV9nZW1f b2JqZWN0X3Bpbl9tYXAoZGN0eF9vYmosIGZhbHNlKTsKIAlpZiAoSVNfRVJSKGh3cykpCiAJCXJl dHVybiBQVFJfRVJSKGh3cyk7CiAJZW5naW5lLT5zdGF0dXNfcGFnZS5wYWdlX2FkZHIgPSBod3Mg KyBMUkNfUFBIV1NQX1BOICogUEFHRV9TSVpFOwpAQCAtMjI5MSw3ICsyMjkxLDcgQEAgcG9wdWxh dGVfbHJfY29udGV4dChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAogCQlyZXR1cm4gcmV0 OwogCX0KIAotCXZhZGRyID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAoY3R4X29iaik7CisJdmFk ZHIgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChjdHhfb2JqLCBmYWxzZSk7CiAJaWYgKElTX0VS Uih2YWRkcikpIHsKIAkJcmV0ID0gUFRSX0VSUih2YWRkcik7CiAJCURSTV9ERUJVR19EUklWRVIo IkNvdWxkIG5vdCBtYXAgb2JqZWN0IHBhZ2VzISAoJWQpXG4iLCByZXQpOwpAQCAtMjUyNSw3ICsy NTI1LDcgQEAgdm9pZCBpbnRlbF9scl9jb250ZXh0X3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKIAkJaWYgKCFjdHhfb2JqKQogCQkJY29udGludWU7CiAKLQkJdmFkZHIg PSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChjdHhfb2JqKTsKKwkJdmFkZHIgPSBpOTE1X2dlbV9v YmplY3RfcGluX21hcChjdHhfb2JqLCBmYWxzZSk7CiAJCWlmIChXQVJOX09OKElTX0VSUih2YWRk cikpKQogCQkJY29udGludWU7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu YwppbmRleCA4ZDM1YTM5Li5mMWVmNjY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9yaW5nYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5jCkBAIC0yMTMxLDcgKzIxMzEsNyBAQCBpbnQgaW50ZWxfcGluX2FuZF9tYXBfcmlu Z2J1ZmZlcl9vYmooc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQlpZiAocmV0 KQogCQkJZ290byBlcnJfdW5waW47CiAKLQkJYWRkciA9IGk5MTVfZ2VtX29iamVjdF9waW5fbWFw KG9iaik7CisJCWFkZHIgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChvYmosIGZhbHNlKTsKIAkJ aWYgKElTX0VSUihhZGRyKSkgewogCQkJcmV0ID0gUFRSX0VSUihhZGRyKTsKIAkJCWdvdG8gZXJy X3VucGluOwotLSAKMS45LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=