From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 08/14] drm/i915: Pre-compute plane control register value Date: Fri, 17 Mar 2017 23:18:02 +0200 Message-ID: <20170317211808.14693-9-ville.syrjala@linux.intel.com> References: <20170317211808.14693-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 472D06EDC9 for ; Fri, 17 Mar 2017 21:18:37 +0000 (UTC) In-Reply-To: <20170317211808.14693-1-ville.syrjala@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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkNv bXB1dGluZyB0aGUgcGxhbmUgY29udHJvbCByZWdpc3RlciB2YWx1ZSBpcyBicmFuY2h5IHNvIG1v dmluZyBpdCBvdXQKZnJvbSB0aGUgcGxhbmUgY29tbWl0IGhvb2sgc2VlbXMgcHJ1ZGVudC4gTGV0 J3MgcHJlLWNvbXB1dGUgaXQgZHVyaW5nCnRoZSBhdG9taWMgY2hlY2sgcGhhc2UgYW5kIHN0b3Jl IHRoZSByZXN1bHQgaW4gdGhlIHBsYW5lIHN0YXRlLgoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3ly asOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA0MSArKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAzICsrKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgIHwgMjQgKysrKysrKysrKy0tLS0t LS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCAwNDA5NzhlNzA0ZjMuLjJl MDEwNmExMWY4ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMzAzNSwx NSArMzAzNSwxMyBAQCBzdGF0aWMgdm9pZCBpOXh4X3VwZGF0ZV9wcmltYXJ5X3BsYW5lKHN0cnVj dCBkcm1fcGxhbmUgKnByaW1hcnksCiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwbGFu ZV9zdGF0ZS0+YmFzZS5mYjsKIAlpbnQgcGxhbmUgPSBpbnRlbF9jcnRjLT5wbGFuZTsKIAl1MzIg bGluZWFyX29mZnNldDsKLQl1MzIgZHNwY250cjsKKwl1MzIgZHNwY250ciA9IHBsYW5lX3N0YXRl LT5jdGw7CiAJaTkxNV9yZWdfdCByZWcgPSBEU1BDTlRSKHBsYW5lKTsKIAl1bnNpZ25lZCBpbnQg cm90YXRpb24gPSBwbGFuZV9zdGF0ZS0+YmFzZS5yb3RhdGlvbjsKIAlpbnQgeCA9IHBsYW5lX3N0 YXRlLT5iYXNlLnNyYy54MSA+PiAxNjsKIAlpbnQgeSA9IHBsYW5lX3N0YXRlLT5iYXNlLnNyYy55 MSA+PiAxNjsKIAl1bnNpZ25lZCBsb25nIGlycWZsYWdzOwogCi0JZHNwY250ciA9IGk5eHhfcGxh bmVfY3RsKGNydGNfc3RhdGUsIHBsYW5lX3N0YXRlKTsKLQogCWludGVsX2FkZF9mYl9vZmZzZXRz KCZ4LCAmeSwgcGxhbmVfc3RhdGUsIDApOwogCiAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0g NCkKQEAgLTMxMzMsMTUgKzMxMzEsMTMgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfdXBkYXRlX3By aW1hcnlfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcHJpbWFyeSwKIAlzdHJ1Y3QgZHJtX2ZyYW1l YnVmZmVyICpmYiA9IHBsYW5lX3N0YXRlLT5iYXNlLmZiOwogCWludCBwbGFuZSA9IGludGVsX2Ny dGMtPnBsYW5lOwogCXUzMiBsaW5lYXJfb2Zmc2V0OwotCXUzMiBkc3BjbnRyOworCXUzMiBkc3Bj bnRyID0gcGxhbmVfc3RhdGUtPmN0bDsKIAlpOTE1X3JlZ190IHJlZyA9IERTUENOVFIocGxhbmUp OwogCXVuc2lnbmVkIGludCByb3RhdGlvbiA9IHBsYW5lX3N0YXRlLT5iYXNlLnJvdGF0aW9uOwog CWludCB4ID0gcGxhbmVfc3RhdGUtPmJhc2Uuc3JjLngxID4+IDE2OwogCWludCB5ID0gcGxhbmVf c3RhdGUtPmJhc2Uuc3JjLnkxID4+IDE2OwogCXVuc2lnbmVkIGxvbmcgaXJxZmxhZ3M7CiAKLQlk c3BjbnRyID0gaTl4eF9wbGFuZV9jdGwoY3J0Y19zdGF0ZSwgcGxhbmVfc3RhdGUpOwotCiAJaW50 ZWxfYWRkX2ZiX29mZnNldHMoJngsICZ5LCBwbGFuZV9zdGF0ZSwgMCk7CiAKIAlpbnRlbF9jcnRj LT5kc3BhZGRyX29mZnNldCA9CkBAIC0zMzU4LDcgKzMzNTQsNyBAQCBzdGF0aWMgdm9pZCBza3ls YWtlX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCXN0cnVj dCBkcm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmVfc3RhdGUtPmJhc2UuZmI7CiAJZW51bSBwbGFu ZV9pZCBwbGFuZV9pZCA9IHRvX2ludGVsX3BsYW5lKHBsYW5lKS0+aWQ7CiAJZW51bSBwaXBlIHBp cGUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSktPnBpcGU7Ci0JdTMyIHBsYW5lX2N0bDsKKwl1MzIg cGxhbmVfY3RsID0gcGxhbmVfc3RhdGUtPmN0bDsKIAl1bnNpZ25lZCBpbnQgcm90YXRpb24gPSBw bGFuZV9zdGF0ZS0+YmFzZS5yb3RhdGlvbjsKIAl1MzIgc3RyaWRlID0gc2tsX3BsYW5lX3N0cmlk ZShmYiwgMCwgcm90YXRpb24pOwogCXUzMiBzdXJmX2FkZHIgPSBwbGFuZV9zdGF0ZS0+bWFpbi5v ZmZzZXQ7CkBAIC0zMzczLDggKzMzNjksNiBAQCBzdGF0aWMgdm9pZCBza3lsYWtlX3VwZGF0ZV9w cmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCWludCBkc3RfaCA9IGRybV9y ZWN0X2hlaWdodCgmcGxhbmVfc3RhdGUtPmJhc2UuZHN0KTsKIAl1bnNpZ25lZCBsb25nIGlycWZs YWdzOwogCi0JcGxhbmVfY3RsID0gc2tsX3BsYW5lX2N0bChjcnRjX3N0YXRlLCBwbGFuZV9zdGF0 ZSk7Ci0KIAkvKiBTaXplcyBhcmUgMCBiYXNlZCAqLwogCXNyY193LS07CiAJc3JjX2gtLTsKQEAg LTkxODcsNyArOTE4MSw2IEBAIHN0YXRpYyB1MzIgaTg0NV9jdXJzb3JfY3RsKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogfQogCiBzdGF0aWMgdm9pZCBpODQ1X3Vw ZGF0ZV9jdXJzb3Ioc3RydWN0IGRybV9jcnRjICpjcnRjLCB1MzIgYmFzZSwKLQkJCSAgICAgICBj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgICAgICBjb25z dCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogewogCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CkBAIC05MTk5LDcgKzkxOTIsNyBAQCBzdGF0aWMgdm9p ZCBpODQ1X3VwZGF0ZV9jdXJzb3Ioc3RydWN0IGRybV9jcnRjICpjcnRjLCB1MzIgYmFzZSwKIAkJ dW5zaWduZWQgaW50IHdpZHRoID0gcGxhbmVfc3RhdGUtPmJhc2UuY3J0Y193OwogCQl1bnNpZ25l ZCBpbnQgaGVpZ2h0ID0gcGxhbmVfc3RhdGUtPmJhc2UuY3J0Y19oOwogCi0JCWNudGwgPSBpODQ1 X2N1cnNvcl9jdGwoY3J0Y19zdGF0ZSwgcGxhbmVfc3RhdGUpOworCQljbnRsID0gcGxhbmVfc3Rh dGUtPmN0bDsKIAkJc2l6ZSA9IChoZWlnaHQgPDwgMTIpIHwgd2lkdGg7CiAJfQogCkBAIC05Mjcw LDcgKzkyNjMsNiBAQCBzdGF0aWMgdTMyIGk5eHhfY3Vyc29yX2N0bChjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIH0KIAogc3RhdGljIHZvaWQgaTl4eF91cGRhdGVf Y3Vyc29yKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdTMyIGJhc2UsCi0JCQkgICAgICAgY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICAgICAgY29uc3Qgc3Ry dWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gY3J0Yy0+ZGV2OwpAQCAtOTI4MCw3ICs5MjcyLDcgQEAgc3RhdGljIHZvaWQgaTl4 eF91cGRhdGVfY3Vyc29yKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdTMyIGJhc2UsCiAJdWludDMy X3QgY250bCA9IDA7CiAKIAlpZiAocGxhbmVfc3RhdGUgJiYgcGxhbmVfc3RhdGUtPmJhc2Uudmlz aWJsZSkKLQkJY250bCA9IGk5eHhfY3Vyc29yX2N0bChjcnRjX3N0YXRlLCBwbGFuZV9zdGF0ZSk7 CisJCWNudGwgPSBwbGFuZV9zdGF0ZS0+Y3RsOwogCiAJaWYgKGludGVsX2NydGMtPmN1cnNvcl9j bnRsICE9IGNudGwpIHsKIAkJSTkxNV9XUklURV9GVyhDVVJDTlRSKHBpcGUpLCBjbnRsKTsKQEAg LTkyOTcsNyArOTI4OSw2IEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX2N1cnNvcihzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsIHUzMiBiYXNlLAogCiAvKiBJZiBuby1wYXJ0IG9mIHRoZSBjdXJzb3Ig aXMgdmlzaWJsZSBvbiB0aGUgZnJhbWVidWZmZXIsIHRoZW4gdGhlIEdQVSBtYXkgaGFuZy4uLiAq Lwogc3RhdGljIHZvaWQgaW50ZWxfY3J0Y191cGRhdGVfY3Vyc29yKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKLQkJCQkgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl LAogCQkJCSAgICAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkK IHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OwpAQCAtOTMzNyw5ICs5MzI4 LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfY3J0Y191cGRhdGVfY3Vyc29yKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YywKIAlJOTE1X1dSSVRFX0ZXKENVUlBPUyhwaXBlKSwgcG9zKTsKIAogCWlmIChJU19J ODQ1RyhkZXZfcHJpdikgfHwgSVNfSTg2NUcoZGV2X3ByaXYpKQotCQlpODQ1X3VwZGF0ZV9jdXJz b3IoY3J0YywgYmFzZSwgY3J0Y19zdGF0ZSwgcGxhbmVfc3RhdGUpOworCQlpODQ1X3VwZGF0ZV9j dXJzb3IoY3J0YywgYmFzZSwgcGxhbmVfc3RhdGUpOwogCWVsc2UKLQkJaTl4eF91cGRhdGVfY3Vy c29yKGNydGMsIGJhc2UsIGNydGNfc3RhdGUsIHBsYW5lX3N0YXRlKTsKKwkJaTl4eF91cGRhdGVf Y3Vyc29yKGNydGMsIGJhc2UsIHBsYW5lX3N0YXRlKTsKIAogCXNwaW5fdW5sb2NrX2lycXJlc3Rv cmUoJmRldl9wcml2LT51bmNvcmUubG9jaywgaXJxZmxhZ3MpOwogfQpAQCAtMTMzNzEsNiArMTMz NjIsMTAgQEAgaW50ZWxfY2hlY2tfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSwKIAkJcmV0ID0gc2tsX2NoZWNrX3BsYW5lX3N1cmZhY2Uoc3RhdGUpOwogCQlpZiAocmV0KQog CQkJcmV0dXJuIHJldDsKKworCQlzdGF0ZS0+Y3RsID0gc2tsX3BsYW5lX2N0bChjcnRjX3N0YXRl LCBzdGF0ZSk7CisJfSBlbHNlIHsKKwkJc3RhdGUtPmN0bCA9IGk5eHhfcGxhbmVfY3RsKGNydGNf c3RhdGUsIHN0YXRlKTsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTEzNzA2LDYgKzEzNzAxLDcgQEAg aW50ZWxfY2hlY2tfY3Vyc29yX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJIHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJIHN0cnVjdCBpbnRlbF9wbGFu ZV9zdGF0ZSAqc3RhdGUpCiB7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShwbGFuZS0+ZGV2KTsKIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHN0YXRl LT5iYXNlLmZiOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBpbnRlbF9mYl9v YmooZmIpOwogCWVudW0gcGlwZSBwaXBlID0gdG9faW50ZWxfcGxhbmUocGxhbmUpLT5waXBlOwpA QCAtMTM3MjUsNyArMTM3MjEsNyBAQCBpbnRlbF9jaGVja19jdXJzb3JfcGxhbmUoc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUsCiAJCXJldHVybiAwOwogCiAJLyogQ2hlY2sgZm9yIHdoaWNoIGN1cnNv ciB0eXBlcyB3ZSBzdXBwb3J0ICovCi0JaWYgKCFjdXJzb3Jfc2l6ZV9vayh0b19pOTE1KHBsYW5l LT5kZXYpLCBzdGF0ZS0+YmFzZS5jcnRjX3csCisJaWYgKCFjdXJzb3Jfc2l6ZV9vayhkZXZfcHJp diwgc3RhdGUtPmJhc2UuY3J0Y193LAogCQkJICAgIHN0YXRlLT5iYXNlLmNydGNfaCkpIHsKIAkJ RFJNX0RFQlVHKCJDdXJzb3IgZGltZW5zaW9uICVkeCVkIG5vdCBzdXBwb3J0ZWRcbiIsCiAJCQkg IHN0YXRlLT5iYXNlLmNydGNfdywgc3RhdGUtPmJhc2UuY3J0Y19oKTsKQEAgLTEzNzUzLDEyICsx Mzc0OSwxNyBAQCBpbnRlbF9jaGVja19jdXJzb3JfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsCiAJICogZGlzcGxheSBwb3dlciB3ZWxsIG11c3QgYmUgdHVybmVkIG9mZiBhbmQgb24gYWdh aW4uCiAJICogUmVmdXNlIHRoZSBwdXQgdGhlIGN1cnNvciBpbnRvIHRoYXQgY29tcHJvbWlzZWQg cG9zaXRpb24uCiAJICovCi0JaWYgKElTX0NIRVJSWVZJRVcodG9faTkxNShwbGFuZS0+ZGV2KSkg JiYgcGlwZSA9PSBQSVBFX0MgJiYKKwlpZiAoSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikgJiYgcGlw ZSA9PSBQSVBFX0MgJiYKIAkgICAgc3RhdGUtPmJhc2UudmlzaWJsZSAmJiBzdGF0ZS0+YmFzZS5j cnRjX3ggPCAwKSB7CiAJCURSTV9ERUJVR19LTVMoIkNIViBjdXJzb3IgQyBub3QgYWxsb3dlZCB0 byBzdHJhZGRsZSB0aGUgbGVmdCBzY3JlZW4gZWRnZVxuIik7CiAJCXJldHVybiAtRUlOVkFMOwog CX0KIAorCWlmIChJU19JODQ1RyhkZXZfcHJpdikgfHwgSVNfSTg2NUcoZGV2X3ByaXYpKQorCQlz dGF0ZS0+Y3RsID0gaTg0NV9jdXJzb3JfY3RsKGNydGNfc3RhdGUsIHN0YXRlKTsKKwllbHNlCisJ CXN0YXRlLT5jdGwgPSBpOXh4X2N1cnNvcl9jdGwoY3J0Y19zdGF0ZSwgc3RhdGUpOworCiAJcmV0 dXJuIDA7CiB9CiAKQEAgLTEzNzY5LDcgKzEzNzcwLDcgQEAgaW50ZWxfZGlzYWJsZV9jdXJzb3Jf cGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwogCiAJaW50ZWxfY3J0Yy0+Y3Vyc29yX2FkZHIg PSAwOwotCWludGVsX2NydGNfdXBkYXRlX2N1cnNvcihjcnRjLCBOVUxMLCBOVUxMKTsKKwlpbnRl bF9jcnRjX3VwZGF0ZV9jdXJzb3IoY3J0YywgTlVMTCk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0x Mzc5MSw3ICsxMzc5Miw3IEBAIGludGVsX3VwZGF0ZV9jdXJzb3JfcGxhbmUoc3RydWN0IGRybV9w bGFuZSAqcGxhbmUsCiAJCWFkZHIgPSBvYmotPnBoeXNfaGFuZGxlLT5idXNhZGRyOwogCiAJaW50 ZWxfY3J0Yy0+Y3Vyc29yX2FkZHIgPSBhZGRyOwotCWludGVsX2NydGNfdXBkYXRlX2N1cnNvcihj cnRjLCBjcnRjX3N0YXRlLCBzdGF0ZSk7CisJaW50ZWxfY3J0Y191cGRhdGVfY3Vyc29yKGNydGMs IHN0YXRlKTsKIH0KIAogc3RhdGljIHN0cnVjdCBpbnRlbF9wbGFuZSAqCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oCmluZGV4IDQ1ZTU1YjQ1ZTc3Mi4uYTM1NDQyZWFkZDM2IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaApAQCAtMzk4LDYgKzM5OCw5IEBAIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0 ZSB7CiAJCWludCB4LCB5OwogCX0gYXV4OwogCisJLyogcGxhbmUgY29udHJvbCByZWdpc3RlciAq LworCXUzMiBjdGw7CisKIAkvKgogCSAqIHNjYWxlcl9pZAogCSAqICAgID0gLTEgOiBub3QgdXNp bmcgYSBzY2FsZXIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0 ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKaW5kZXggMTJlMzNiYzE0 OWU0Li42Yjc2MDEyZGVkMWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Nwcml0ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCkBAIC0y MTcsNyArMjE3LDcgQEAgc2tsX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpkcm1fcGxh bmUsCiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwbGFuZV9zdGF0ZS0+YmFzZS5mYjsK IAllbnVtIHBsYW5lX2lkIHBsYW5lX2lkID0gaW50ZWxfcGxhbmUtPmlkOwogCWVudW0gcGlwZSBw aXBlID0gaW50ZWxfcGxhbmUtPnBpcGU7Ci0JdTMyIHBsYW5lX2N0bDsKKwl1MzIgcGxhbmVfY3Rs ID0gcGxhbmVfc3RhdGUtPmN0bDsKIAljb25zdCBzdHJ1Y3QgZHJtX2ludGVsX3Nwcml0ZV9jb2xv cmtleSAqa2V5ID0gJnBsYW5lX3N0YXRlLT5ja2V5OwogCXUzMiBzdXJmX2FkZHIgPSBwbGFuZV9z dGF0ZS0+bWFpbi5vZmZzZXQ7CiAJdW5zaWduZWQgaW50IHJvdGF0aW9uID0gcGxhbmVfc3RhdGUt PmJhc2Uucm90YXRpb247CkBAIC0yMzIsOCArMjMyLDYgQEAgc2tsX3VwZGF0ZV9wbGFuZShzdHJ1 Y3QgZHJtX3BsYW5lICpkcm1fcGxhbmUsCiAJdWludDMyX3Qgc3JjX2ggPSBkcm1fcmVjdF9oZWln aHQoJnBsYW5lX3N0YXRlLT5iYXNlLnNyYykgPj4gMTY7CiAJdW5zaWduZWQgbG9uZyBpcnFmbGFn czsKIAotCXBsYW5lX2N0bCA9IHNrbF9wbGFuZV9jdGwoY3J0Y19zdGF0ZSwgcGxhbmVfc3RhdGUp OwotCiAJLyogU2l6ZXMgYXJlIDAgYmFzZWQgKi8KIAlzcmNfdy0tOwogCXNyY19oLS07CkBAIC00 MjAsNyArNDE4LDcgQEAgdmx2X3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpkcGxhbmUs CiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwbGFuZV9zdGF0ZS0+YmFzZS5mYjsKIAll bnVtIHBpcGUgcGlwZSA9IGludGVsX3BsYW5lLT5waXBlOwogCWVudW0gcGxhbmVfaWQgcGxhbmVf aWQgPSBpbnRlbF9wbGFuZS0+aWQ7Ci0JdTMyIHNwcmN0bDsKKwl1MzIgc3ByY3RsID0gcGxhbmVf c3RhdGUtPmN0bDsKIAl1MzIgc3Byc3VyZl9vZmZzZXQsIGxpbmVhcl9vZmZzZXQ7CiAJdW5zaWdu ZWQgaW50IHJvdGF0aW9uID0gcGxhbmVfc3RhdGUtPmJhc2Uucm90YXRpb247CiAJY29uc3Qgc3Ry dWN0IGRybV9pbnRlbF9zcHJpdGVfY29sb3JrZXkgKmtleSA9ICZwbGFuZV9zdGF0ZS0+Y2tleTsK QEAgLTQzNCw4ICs0MzIsNiBAQCB2bHZfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRw bGFuZSwKIAl1aW50MzJfdCBzcmNfaCA9IGRybV9yZWN0X2hlaWdodCgmcGxhbmVfc3RhdGUtPmJh c2Uuc3JjKSA+PiAxNjsKIAl1bnNpZ25lZCBsb25nIGlycWZsYWdzOwogCi0Jc3ByY3RsID0gdmx2 X3Nwcml0ZV9jdGwoY3J0Y19zdGF0ZSwgcGxhbmVfc3RhdGUpOwotCiAJLyogU2l6ZXMgYXJlIDAg YmFzZWQgKi8KIAlzcmNfdy0tOwogCXNyY19oLS07CkBAIC01NjksNyArNTY1LDcgQEAgaXZiX3Vw ZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlzdHJ1Y3QgaW50ZWxfcGxhbmUg KmludGVsX3BsYW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmUpOwogCXN0cnVjdCBkcm1fZnJhbWVi dWZmZXIgKmZiID0gcGxhbmVfc3RhdGUtPmJhc2UuZmI7CiAJZW51bSBwaXBlIHBpcGUgPSBpbnRl bF9wbGFuZS0+cGlwZTsKLQl1MzIgc3ByY3RsLCBzcHJzY2FsZSA9IDA7CisJdTMyIHNwcmN0bCA9 IHBsYW5lX3N0YXRlLT5jdGwsIHNwcnNjYWxlID0gMDsKIAl1MzIgc3Byc3VyZl9vZmZzZXQsIGxp bmVhcl9vZmZzZXQ7CiAJdW5zaWduZWQgaW50IHJvdGF0aW9uID0gcGxhbmVfc3RhdGUtPmJhc2Uu cm90YXRpb247CiAJY29uc3Qgc3RydWN0IGRybV9pbnRlbF9zcHJpdGVfY29sb3JrZXkgKmtleSA9 ICZwbGFuZV9zdGF0ZS0+Y2tleTsKQEAgLTU4Myw4ICs1NzksNiBAQCBpdmJfdXBkYXRlX3BsYW5l KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCXVpbnQzMl90IHNyY19oID0gZHJtX3JlY3RfaGVp Z2h0KCZwbGFuZV9zdGF0ZS0+YmFzZS5zcmMpID4+IDE2OwogCXVuc2lnbmVkIGxvbmcgaXJxZmxh Z3M7CiAKLQlzcHJjdGwgPSBpdmJfc3ByaXRlX2N0bChjcnRjX3N0YXRlLCBwbGFuZV9zdGF0ZSk7 Ci0KIAkvKiBTaXplcyBhcmUgMCBiYXNlZCAqLwogCXNyY193LS07CiAJc3JjX2gtLTsKQEAgLTcy Miw3ICs3MTYsNyBAQCBpbGtfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAog CXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSk7 CiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwbGFuZV9zdGF0ZS0+YmFzZS5mYjsKIAlp bnQgcGlwZSA9IGludGVsX3BsYW5lLT5waXBlOwotCXUzMiBkdnNjbnRyLCBkdnNzY2FsZTsKKwl1 MzIgZHZzY250ciA9IHBsYW5lX3N0YXRlLT5jdGwsIGR2c3NjYWxlOwogCXUzMiBkdnNzdXJmX29m ZnNldCwgbGluZWFyX29mZnNldDsKIAl1bnNpZ25lZCBpbnQgcm90YXRpb24gPSBwbGFuZV9zdGF0 ZS0+YmFzZS5yb3RhdGlvbjsKIAljb25zdCBzdHJ1Y3QgZHJtX2ludGVsX3Nwcml0ZV9jb2xvcmtl eSAqa2V5ID0gJnBsYW5lX3N0YXRlLT5ja2V5OwpAQCAtNzM2LDggKzczMCw2IEBAIGlsa191cGRh dGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJdWludDMyX3Qgc3JjX2ggPSBkcm1f cmVjdF9oZWlnaHQoJnBsYW5lX3N0YXRlLT5iYXNlLnNyYykgPj4gMTY7CiAJdW5zaWduZWQgbG9u ZyBpcnFmbGFnczsKIAotCWR2c2NudHIgPSBpbGtfc3ByaXRlX2N0bChjcnRjX3N0YXRlLCBwbGFu ZV9zdGF0ZSk7Ci0KIAkvKiBTaXplcyBhcmUgMCBiYXNlZCAqLwogCXNyY193LS07CiAJc3JjX2gt LTsKQEAgLTk4Niw2ICs5NzgsMTQgQEAgaW50ZWxfY2hlY2tfc3ByaXRlX3BsYW5lKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLAogCQlyZXQgPSBza2xfY2hlY2tfcGxhbmVfc3VyZmFjZShzdGF0ZSk7 CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OworCisJCXN0YXRlLT5jdGwgPSBza2xfcGxhbmVf Y3RsKGNydGNfc3RhdGUsIHN0YXRlKTsKKwl9IGVsc2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2X3By aXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKSB7CisJCXN0YXRlLT5jdGwgPSB2bHZfc3By aXRlX2N0bChjcnRjX3N0YXRlLCBzdGF0ZSk7CisJfSBlbHNlIGlmIChJTlRFTF9HRU4oZGV2X3By aXYpID49IDcpIHsKKwkJc3RhdGUtPmN0bCA9IGl2Yl9zcHJpdGVfY3RsKGNydGNfc3RhdGUsIHN0 YXRlKTsKKwl9IGVsc2UgeworCQlzdGF0ZS0+Y3RsID0gaWxrX3Nwcml0ZV9jdGwoY3J0Y19zdGF0 ZSwgc3RhdGUpOwogCX0KIAogCXJldHVybiAwOwotLSAKMi4xMC4yCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK