From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH v3] drm/i915: Use new i915_gem_object_pin_map for LRC Date: Tue, 12 Apr 2016 14:05:05 +0100 Message-ID: <1460466305-9396-1-git-send-email-tvrtko.ursulin@linux.intel.com> References: <570CCEED.8080007@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id A64996E6CC for ; Tue, 12 Apr 2016 13:05:12 +0000 (UTC) In-Reply-To: <570CCEED.8080007@linux.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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCldlIGNhbiB1 c2UgdGhlIG5ldyBwaW4vbGF6eSB1bnBpbiBBUEkgZm9yIHNpbXBsaWNpdHkKYW5kIG1vcmUgcGVy Zm9ybWFuY2UgaW4gdGhlIGV4ZWNsaXN0IHN1Ym1pc3Npb24gcGF0aHMuCgp2MjoKICAqIEZpeCBl cnJvciBoYW5kbGluZyBhbmQgY29udmVydCBtb3JlIHVzZXJzLgogICogQ29tcGFjdCBzb21lIG5h bWVzIGZvciByZWFkYWJpbGl0eS4KCnYzOgogICogaW50ZWxfbHJfY29udGV4dF9mcmVlIHdhcyBu b3QgdW5waW5uaW5nLgogICogU3BlY2lhbCBjYXNlIGZvciBHUFUgcmVzZXQgd2hpY2ggb3RoZXJ3 aXNlIHVuYmFsYW5jZXMKICAgIHRoZSBIV1Mgb2JqZWN0IHBhZ2VzIHBpbiBjb3VudCBieSBydW5u aW5nIHRoZSBlbmdpbmUKICAgIGluaXRpYWxpemF0aW9uIG9ubHkgKG5vdCBkZXN0cnVjdG9ycyku CgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29t PgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIHwgICAyICstCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgfCAxMDcgKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oICAgICAgICB8ICAgNyAr Ky0KIDMgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgNDcgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCmluZGV4IGZlNTgwY2I5NTAxYS4u OTEwMjhkOWM2MjY5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9j b250ZXh0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCkBA IC0zNDIsNyArMzQyLDcgQEAgdm9pZCBpOTE1X2dlbV9jb250ZXh0X3Jlc2V0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiAJCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHg7CiAKIAkJbGlzdF9mb3Jf ZWFjaF9lbnRyeShjdHgsICZkZXZfcHJpdi0+Y29udGV4dF9saXN0LCBsaW5rKQotCQkJaW50ZWxf bHJfY29udGV4dF9yZXNldChkZXYsIGN0eCk7CisJCQlpbnRlbF9scl9jb250ZXh0X3Jlc2V0KGRl dl9wcml2LCBjdHgpOwogCX0KIAogCWZvciAoaSA9IDA7IGkgPCBJOTE1X05VTV9FTkdJTkVTOyBp KyspIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggMGQ2ZGM1ZWM0YTQ2Li5jYmI1NGQ5 MWVhZWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC0yMjksOCArMjI5LDkgQEAgZW51 bSB7CiAKIHN0YXRpYyBpbnQgaW50ZWxfbHJfY29udGV4dF9waW4oc3RydWN0IGludGVsX2NvbnRl eHQgKmN0eCwKIAkJCQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwotc3RhdGljIHZv aWQgbHJjX3NldHVwX2hhcmR3YXJlX3N0YXR1c19wYWdlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSwKLQkJCQkJICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmRlZmF1bHRfY3R4 X29iaik7CitzdGF0aWMgaW50CitscmNfc2V0dXBfaHdzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSwKKwkgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqZGVmYXVsdF9jdHhf b2JqKTsKIAogCiAvKioKQEAgLTEwOTMsOCArMTA5NCw4IEBAIHN0YXRpYyBpbnQgaW50ZWxfbHJf Y29udGV4dF9kb19waW4oc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpjdHhfb2JqID0gY3R4LT5lbmdpbmVbZW5naW5lLT5pZF0uc3RhdGU7CiAJ c3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPSBjdHgtPmVuZ2luZVtlbmdpbmUtPmlk XS5yaW5nYnVmOwotCXN0cnVjdCBwYWdlICpscmNfc3RhdGVfcGFnZTsKLQl1aW50MzJfdCAqbHJj X3JlZ19zdGF0ZTsKKwl2b2lkICpvYmpfYWRkcjsKKwl1MzIgKmxyY19yZWdfc3RhdGU7CiAJaW50 IHJldDsKIAogCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmZW5naW5lLT5kZXYtPnN0cnVjdF9t dXRleCkpOwpAQCAtMTEwNCwxOSArMTEwNSwyMCBAQCBzdGF0aWMgaW50IGludGVsX2xyX2NvbnRl eHRfZG9fcGluKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCiAJaWYgKHJldCkKIAkJcmV0dXJu IHJldDsKIAotCWxyY19zdGF0ZV9wYWdlID0gaTkxNV9nZW1fb2JqZWN0X2dldF9kaXJ0eV9wYWdl KGN0eF9vYmosIExSQ19TVEFURV9QTik7Ci0JaWYgKFdBUk5fT04oIWxyY19zdGF0ZV9wYWdlKSkg ewotCQlyZXQgPSAtRU5PREVWOworCW9ial9hZGRyID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAo Y3R4X29iaik7CisJaWYgKElTX0VSUihvYmpfYWRkcikpIHsKKwkJcmV0ID0gUFRSX0VSUihvYmpf YWRkcik7CiAJCWdvdG8gdW5waW5fY3R4X29iajsKIAl9CiAKKwlscmNfcmVnX3N0YXRlID0gb2Jq X2FkZHIgKyBMUkNfU1RBVEVfUE4gKiBQQUdFX1NJWkU7CisKIAlyZXQgPSBpbnRlbF9waW5fYW5k X21hcF9yaW5nYnVmZmVyX29iaihlbmdpbmUtPmRldiwgcmluZ2J1Zik7CiAJaWYgKHJldCkKLQkJ Z290byB1bnBpbl9jdHhfb2JqOworCQlnb3RvIHVucGluX21hcDsKIAogCWN0eC0+ZW5naW5lW2Vu Z2luZS0+aWRdLmxyY192bWEgPSBpOTE1X2dlbV9vYmpfdG9fZ2d0dChjdHhfb2JqKTsKIAlpbnRl bF9scl9jb250ZXh0X2Rlc2NyaXB0b3JfdXBkYXRlKGN0eCwgZW5naW5lKTsKLQlscmNfcmVnX3N0 YXRlID0ga21hcChscmNfc3RhdGVfcGFnZSk7CiAJbHJjX3JlZ19zdGF0ZVtDVFhfUklOR19CVUZG RVJfU1RBUlQrMV0gPSByaW5nYnVmLT52bWEtPm5vZGUuc3RhcnQ7CiAJY3R4LT5lbmdpbmVbZW5n aW5lLT5pZF0ubHJjX3JlZ19zdGF0ZSA9IGxyY19yZWdfc3RhdGU7CiAJY3R4X29iai0+ZGlydHkg PSB0cnVlOwpAQCAtMTEyNyw2ICsxMTI5LDggQEAgc3RhdGljIGludCBpbnRlbF9scl9jb250ZXh0 X2RvX3BpbihzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAogCiAJcmV0dXJuIHJldDsKIAordW5w aW5fbWFwOgorCWk5MTVfZ2VtX29iamVjdF91bnBpbl9tYXAoY3R4X29iaik7CiB1bnBpbl9jdHhf b2JqOgogCWk5MTVfZ2VtX29iamVjdF9nZ3R0X3VucGluKGN0eF9vYmopOwogCkBAIC0xMTU5LDcg KzExNjMsNyBAQCB2b2lkIGludGVsX2xyX2NvbnRleHRfdW5waW4oc3RydWN0IGludGVsX2NvbnRl eHQgKmN0eCwKIAogCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmY3R4LT5pOTE1LT5kZXYtPnN0 cnVjdF9tdXRleCkpOwogCWlmICgtLWN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdLnBpbl9jb3VudCA9 PSAwKSB7Ci0JCWt1bm1hcChrbWFwX3RvX3BhZ2UoY3R4LT5lbmdpbmVbZW5naW5lLT5pZF0ubHJj X3JlZ19zdGF0ZSkpOworCQlpOTE1X2dlbV9vYmplY3RfdW5waW5fbWFwKGN0eF9vYmopOwogCQlp bnRlbF91bnBpbl9yaW5nYnVmZmVyX29iaihjdHgtPmVuZ2luZVtlbmdpbmUtPmlkXS5yaW5nYnVm KTsKIAkJaTkxNV9nZW1fb2JqZWN0X2dndHRfdW5waW4oY3R4X29iaik7CiAJCWN0eC0+ZW5naW5l W2VuZ2luZS0+aWRdLmxyY192bWEgPSBOVUxMOwpAQCAtMTU4NCw5ICsxNTg4LDEyIEBAIHN0YXRp YyBpbnQgZ2VuOF9pbml0X2NvbW1vbl9yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSkKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5naW5lLT5kZXY7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAl1bnNpZ25lZCBpbnQg bmV4dF9jb250ZXh0X3N0YXR1c19idWZmZXJfaHc7CisJaW50IHJldDsKIAotCWxyY19zZXR1cF9o YXJkd2FyZV9zdGF0dXNfcGFnZShlbmdpbmUsCi0JCQkJICAgICAgIGRldl9wcml2LT5rZXJuZWxf Y29udGV4dC0+ZW5naW5lW2VuZ2luZS0+aWRdLnN0YXRlKTsKKwlyZXQgPSBscmNfc2V0dXBfaHdz KGVuZ2luZSwKKwkJCSAgICBkZXZfcHJpdi0+a2VybmVsX2NvbnRleHQtPmVuZ2luZVtlbmdpbmUt PmlkXS5zdGF0ZSk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKIAogCUk5MTVfV1JJVEVfSU1S KGVuZ2luZSwKIAkJICAgICAgIH4oZW5naW5lLT5pcnFfZW5hYmxlX21hc2sgfCBlbmdpbmUtPmly cV9rZWVwX21hc2spKTsKQEAgLTIwNDgsNyArMjA1NSw3IEBAIHZvaWQgaW50ZWxfbG9naWNhbF9y aW5nX2NsZWFudXAoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCWk5MTVfZ2VtX2Jh dGNoX3Bvb2xfZmluaSgmZW5naW5lLT5iYXRjaF9wb29sKTsKIAogCWlmIChlbmdpbmUtPnN0YXR1 c19wYWdlLm9iaikgewotCQlrdW5tYXAoc2dfcGFnZShlbmdpbmUtPnN0YXR1c19wYWdlLm9iai0+ cGFnZXMtPnNnbCkpOworCQlpOTE1X2dlbV9vYmplY3RfdW5waW5fbWFwKGVuZ2luZS0+c3RhdHVz X3BhZ2Uub2JqKTsKIAkJZW5naW5lLT5zdGF0dXNfcGFnZS5vYmogPSBOVUxMOwogCX0KIApAQCAt MjM3OCwxNSArMjM4NSwxNiBAQCBzdGF0aWMgdTMyIGludGVsX2xyX2luZGlyZWN0X2N0eF9vZmZz ZXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogfQogCiBzdGF0aWMgaW50Ci1wb3B1 bGF0ZV9scl9jb250ZXh0KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsIHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpjdHhfb2JqLAorcG9wdWxhdGVfbHJfY29udGV4dChzdHJ1Y3QgaW50ZWxf Y29udGV4dCAqY3R4LAorCQkgICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vYmos CiAJCSAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJCSAgICBzdHJ1Y3QgaW50 ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZikKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5n aW5lLT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKIAlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQgPSBjdHgtPnBwZ3R0OwotCXN0 cnVjdCBwYWdlICpwYWdlOwotCXVpbnQzMl90ICpyZWdfc3RhdGU7CisJdm9pZCAqb2JqX2FkZHI7 CisJdTMyICpyZWdfc3RhdGU7CiAJaW50IHJldDsKIAogCWlmICghcHBndHQpCkBAIC0yMzk4LDE4 ICsyNDA2LDE3IEBAIHBvcHVsYXRlX2xyX2NvbnRleHQoc3RydWN0IGludGVsX2NvbnRleHQgKmN0 eCwgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vCiAJCXJldHVybiByZXQ7CiAJfQog Ci0JcmV0ID0gaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlcyhjdHhfb2JqKTsKLQlpZiAocmV0KSB7 Ci0JCURSTV9ERUJVR19EUklWRVIoIkNvdWxkIG5vdCBnZXQgb2JqZWN0IHBhZ2VzXG4iKTsKKwlv YmpfYWRkciA9IGk5MTVfZ2VtX29iamVjdF9waW5fbWFwKGN0eF9vYmopOworCWlmIChJU19FUlIo b2JqX2FkZHIpKSB7CisJCXJldCA9IFBUUl9FUlIob2JqX2FkZHIpOworCQlEUk1fREVCVUdfRFJJ VkVSKCJDb3VsZCBub3QgbWFwIG9iamVjdCBwYWdlcyEgKCVkKVxuIiwgcmV0KTsKIAkJcmV0dXJu IHJldDsKIAl9Ci0KLQlpOTE1X2dlbV9vYmplY3RfcGluX3BhZ2VzKGN0eF9vYmopOworCWN0eF9v YmotPmRpcnR5ID0gdHJ1ZTsKIAogCS8qIFRoZSBzZWNvbmQgcGFnZSBvZiB0aGUgY29udGV4dCBv YmplY3QgY29udGFpbnMgc29tZSBmaWVsZHMgd2hpY2ggbXVzdAogCSAqIGJlIHNldCB1cCBwcmlv ciB0byB0aGUgZmlyc3QgZXhlY3V0aW9uLiAqLwotCXBhZ2UgPSBpOTE1X2dlbV9vYmplY3RfZ2V0 X2RpcnR5X3BhZ2UoY3R4X29iaiwgTFJDX1NUQVRFX1BOKTsKLQlyZWdfc3RhdGUgPSBrbWFwX2F0 b21pYyhwYWdlKTsKKwlyZWdfc3RhdGUgPSBvYmpfYWRkciArIExSQ19TVEFURV9QTiAqIFBBR0Vf U0laRTsKIAogCS8qIEEgY29udGV4dCBpcyBhY3R1YWxseSBhIGJpZyBiYXRjaCBidWZmZXIgd2l0 aCBzZXZlcmFsIE1JX0xPQURfUkVHSVNURVJfSU1NCiAJICogY29tbWFuZHMgZm9sbG93ZWQgYnkg KHJlZywgdmFsdWUpIHBhaXJzLiBUaGUgdmFsdWVzIHdlIGFyZSBzZXR0aW5nIGhlcmUgYXJlCkBA IC0yNTE0LDggKzI1MjEsNyBAQCBwb3B1bGF0ZV9scl9jb250ZXh0KHN0cnVjdCBpbnRlbF9jb250 ZXh0ICpjdHgsIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfbwogCQkJICAgICAgIG1h a2VfcnBjcyhkZXYpKTsKIAl9CiAKLQlrdW5tYXBfYXRvbWljKHJlZ19zdGF0ZSk7Ci0JaTkxNV9n ZW1fb2JqZWN0X3VucGluX3BhZ2VzKGN0eF9vYmopOworCWk5MTVfZ2VtX29iamVjdF91bnBpbl9t YXAoY3R4X29iaik7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTI1NDIsNiArMjU0OCw3IEBAIHZvaWQg aW50ZWxfbHJfY29udGV4dF9mcmVlKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgpCiAJCWlmIChj dHggPT0gY3R4LT5pOTE1LT5rZXJuZWxfY29udGV4dCkgewogCQkJaW50ZWxfdW5waW5fcmluZ2J1 ZmZlcl9vYmoocmluZ2J1Zik7CiAJCQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihjdHhfb2Jq KTsKKwkJCWk5MTVfZ2VtX29iamVjdF91bnBpbl9tYXAoY3R4X29iaik7CiAJCX0KIAogCQlXQVJO X09OKGN0eC0+ZW5naW5lW2ldLnBpbl9jb3VudCk7CkBAIC0yNTg4LDIyICsyNTk1LDI3IEBAIHVp bnQzMl90IGludGVsX2xyX2NvbnRleHRfc2l6ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUpCiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIHZvaWQgbHJjX3NldHVwX2hhcmR3YXJlX3N0 YXR1c19wYWdlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKLQkJCQkJICAgc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKmRlZmF1bHRfY3R4X29iaikKK3N0YXRpYyBpbnQKK2xyY19z ZXR1cF9od3Moc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAorCSAgICAgIHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpkZWZfY3R4X29iaikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSBlbmdpbmUtPmRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IHBhZ2Ug KnBhZ2U7CisJdm9pZCAqaHdzOwogCiAJLyogVGhlIEhXU1AgaXMgcGFydCBvZiB0aGUgZGVmYXVs dCBjb250ZXh0IG9iamVjdCBpbiBMUkMgbW9kZS4gKi8KLQllbmdpbmUtPnN0YXR1c19wYWdlLmdm eF9hZGRyID0gaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KGRlZmF1bHRfY3R4X29iaikKLQkJCSsg TFJDX1BQSFdTUF9QTiAqIFBBR0VfU0laRTsKLQlwYWdlID0gaTkxNV9nZW1fb2JqZWN0X2dldF9w YWdlKGRlZmF1bHRfY3R4X29iaiwgTFJDX1BQSFdTUF9QTik7Ci0JZW5naW5lLT5zdGF0dXNfcGFn ZS5wYWdlX2FkZHIgPSBrbWFwKHBhZ2UpOwotCWVuZ2luZS0+c3RhdHVzX3BhZ2Uub2JqID0gZGVm YXVsdF9jdHhfb2JqOworCWVuZ2luZS0+c3RhdHVzX3BhZ2UuZ2Z4X2FkZHIgPSBpOTE1X2dlbV9v YmpfZ2d0dF9vZmZzZXQoZGVmX2N0eF9vYmopICsKKwkJCQkgICAgICAgTFJDX1BQSFdTUF9QTiAq IFBBR0VfU0laRTsKKwlod3MgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChkZWZfY3R4X29iaik7 CisJaWYgKElTX0VSUihod3MpKQorCQlyZXR1cm4gUFRSX0VSUihod3MpOworCWVuZ2luZS0+c3Rh dHVzX3BhZ2UucGFnZV9hZGRyID0gaHdzICsgTFJDX1BQSFdTUF9QTiAqIFBBR0VfU0laRTsKKwll bmdpbmUtPnN0YXR1c19wYWdlLm9iaiA9IGRlZl9jdHhfb2JqOwogCiAJSTkxNV9XUklURShSSU5H X0hXU19QR0EoZW5naW5lLT5tbWlvX2Jhc2UpLAotCQkJKHUzMillbmdpbmUtPnN0YXR1c19wYWdl LmdmeF9hZGRyKTsKKwkJICAgKHUzMillbmdpbmUtPnN0YXR1c19wYWdlLmdmeF9hZGRyKTsKIAlQ T1NUSU5HX1JFQUQoUklOR19IV1NfUEdBKGVuZ2luZS0+bW1pb19iYXNlKSk7CisKKwlyZXR1cm4g MDsKIH0KIAogLyoqCkBAIC0yNjg4LDEwICsyNzAwLDkgQEAgZXJyb3JfZGVyZWZfb2JqOgogCXJl dHVybiByZXQ7CiB9CiAKLXZvaWQgaW50ZWxfbHJfY29udGV4dF9yZXNldChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAotCQkJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCkKK3ZvaWQgaW50ZWxfbHJf Y29udGV4dF9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkgICAg c3RydWN0IGludGVsX2NvbnRleHQgKmN0eCkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZTsKIAogCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGRldl9wcml2KSB7CkBAIC0yNjk5LDIz ICsyNzEwLDMxIEBAIHZvaWQgaW50ZWxfbHJfY29udGV4dF9yZXNldChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAogCQkJCWN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdLnN0YXRlOwogCQlzdHJ1Y3QgaW50 ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiA9CiAJCQkJY3R4LT5lbmdpbmVbZW5naW5lLT5pZF0ucmlu Z2J1ZjsKKwkJdm9pZCAqb2JqX2FkZHI7CiAJCXVpbnQzMl90ICpyZWdfc3RhdGU7Ci0JCXN0cnVj dCBwYWdlICpwYWdlOwogCiAJCWlmICghY3R4X29iaikKIAkJCWNvbnRpbnVlOwogCi0JCWlmIChp OTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzKGN0eF9vYmopKSB7Ci0JCQlXQVJOKDEsICJGYWlsZWQg Z2V0X3BhZ2VzIGZvciBjb250ZXh0IG9ialxuIik7CisJCW9ial9hZGRyID0gaTkxNV9nZW1fb2Jq ZWN0X3Bpbl9tYXAoY3R4X29iaik7CisJCWlmIChXQVJOX09OKElTX0VSUihvYmpfYWRkcikpKQog CQkJY29udGludWU7Ci0JCX0KLQkJcGFnZSA9IGk5MTVfZ2VtX29iamVjdF9nZXRfZGlydHlfcGFn ZShjdHhfb2JqLCBMUkNfU1RBVEVfUE4pOwotCQlyZWdfc3RhdGUgPSBrbWFwX2F0b21pYyhwYWdl KTsKKworCQlyZWdfc3RhdGUgPSBvYmpfYWRkciArIExSQ19TVEFURV9QTiAqIFBBR0VfU0laRTsK KwkJY3R4X29iai0+ZGlydHkgPSB0cnVlOwogCiAJCXJlZ19zdGF0ZVtDVFhfUklOR19IRUFEKzFd ID0gMDsKIAkJcmVnX3N0YXRlW0NUWF9SSU5HX1RBSUwrMV0gPSAwOwogCi0JCWt1bm1hcF9hdG9t aWMocmVnX3N0YXRlKTsKKwkJaTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChjdHhfb2JqKTsKKwor CQkvKgorCQkgKiBLZXJuZWwgY29udGV4dCB3aWxsIHBpbl9tYXAgdGhlIEhXUyBhZnRlciByZXNl dCBzbyB3ZQorCQkgKiBoYXZlIHRvIGRyb3AgdGhlIHBpbiBjb3VudCBoZXJlIGluIG9yZGVyIC0+ cGFnZXNfcGluX2NvdW50CisJCSAqIHJlbWFpbnMgYmFsYW5jZWQuCisJCSAqLworCQlpZiAoY3R4 ID09IGRldl9wcml2LT5rZXJuZWxfY29udGV4dCkKKwkJCWk5MTVfZ2VtX29iamVjdF91bnBpbl9t YXAoZW5naW5lLT5zdGF0dXNfcGFnZS5vYmopOwogCiAJCXJpbmdidWYtPmhlYWQgPSAwOwogCQly aW5nYnVmLT50YWlsID0gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKaW5kZXggMGIwODUzZWVl OTFlLi5iZmFhMmY1ODNkOTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCkBAIC0xMDMsOCAr MTAzLDExIEBAIGludCBpbnRlbF9scl9jb250ZXh0X2RlZmVycmVkX2FsbG9jKHN0cnVjdCBpbnRl bF9jb250ZXh0ICpjdHgsCiAJCQkJICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7 CiB2b2lkIGludGVsX2xyX2NvbnRleHRfdW5waW4oc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwK IAkJCSAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwotdm9pZCBpbnRlbF9scl9j b250ZXh0X3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCi0JCQlzdHJ1Y3QgaW50ZWxfY29u dGV4dCAqY3R4KTsKKworc3RydWN0IGRybV9pOTE1X3ByaXZhdGU7CisKK3ZvaWQgaW50ZWxfbHJf Y29udGV4dF9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkgICAg c3RydWN0IGludGVsX2NvbnRleHQgKmN0eCk7CiB1aW50NjRfdCBpbnRlbF9scl9jb250ZXh0X2Rl c2NyaXB0b3Ioc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwKIAkJCQkgICAgIHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSk7CiAKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK