From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 17/18] drm/i915: Pass around plane_state instead of fb+rotation Date: Wed, 20 Jan 2016 21:05:38 +0200 Message-ID: <1453316739-13296-18-git-send-email-ville.syrjala@linux.intel.com> References: <1453316739-13296-1-git-send-email-ville.syrjala@linux.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 859706E951 for ; Wed, 20 Jan 2016 11:06:34 -0800 (PST) In-Reply-To: <1453316739-13296-1-git-send-email-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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCmlu dGVsX2NvbXB1dGVfdGlsZV9vZmZzZXQoKSBhbmQgaW50ZWxfYWRkX2ZiX29mZnNldHMoKSBnZXQg cGFzc2VkIHRoZSBmYgphbmQgdGhlIHJvdGF0aW9uLiBBcyBib3RoIG9mIHRob3NlIGNvbWUgZnJv bSB0aGUgcGxhbmUgc3RhdGUgd2UgY2FuIGp1c3QKcGFzcyB0aGF0IGluIGluc3RlYWQuCgpGb3Ig ZXh0cmEgY29uc2l0ZW5jeSBwYXNzIHRoZSBwbGFuZSBzdGF0ZSB0byBpbnRlbF9mYl94eV90b19s aW5lYXIoKSBhcwp3ZWxsIGV2ZW4gdGhvdWdoIGl0IG9ubHkgcmVhbGx5IG5lZWRzIHRoZSBmYi4K ClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRl bC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMzUgKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oICAgICB8ICA5ICsrKystLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf c3ByaXRlLmMgIHwgMjIgKysrKysrKysrKystLS0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAz NSBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKaW5kZXggZWI4Y2U4YTk5MjkxLi4yZTZjYmY2NWIyNjUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTI0NDIsOCArMjQ0MiwxMCBAQCBzdGF0aWMgdm9pZCBp bnRlbF91bnBpbl9mYl9vYmooc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIHVuc2lnbmVkIGlu dCByb3RhdGlvbgogICogd2l0aCBnZW4yLzMsIGFuZCA5MC8yNzAgZGVncmVlIHJvdGF0aW9ucyBp c24ndCBzdXBwb3J0ZWQgb24gYW55IG9mIHRoZW0uCiAgKi8KIHVuc2lnbmVkIGludCBpbnRlbF9m Yl94eV90b19saW5lYXIoaW50IHgsIGludCB5LAotCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fZnJh bWVidWZmZXIgKmZiLCBpbnQgcGxhbmUpCisJCQkJICAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5l X3N0YXRlICpzdGF0ZSwKKwkJCQkgICBpbnQgcGxhbmUpCiB7CisJY29uc3Qgc3RydWN0IGRybV9m cmFtZWJ1ZmZlciAqZmIgPSBzdGF0ZS0+YmFzZS5mYjsKIAl1bnNpZ25lZCBpbnQgY3BwID0gZHJt X2Zvcm1hdF9wbGFuZV9jcHAoZmItPnBpeGVsX2Zvcm1hdCwgcGxhbmUpOwogCXVuc2lnbmVkIGlu dCBwaXRjaCA9IGZiLT5waXRjaGVzW3BsYW5lXTsKIApAQCAtMjQ1NiwxMSArMjQ1OCwxMiBAQCB1 bnNpZ25lZCBpbnQgaW50ZWxfZmJfeHlfdG9fbGluZWFyKGludCB4LCBpbnQgeSwKICAqIHNwZWNp ZnkgdGhlIHN0YXJ0IG9mIHNjYW5vdXQgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBndHQgbWFw cGluZy4KICAqLwogdm9pZCBpbnRlbF9hZGRfZmJfb2Zmc2V0cyhpbnQgKngsIGludCAqeSwKLQkJ CSAgY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGludCBwbGFuZSwKLQkJCSAgdW5z aWduZWQgaW50IHJvdGF0aW9uKQorCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUg KnN0YXRlLAorCQkJICBpbnQgcGxhbmUpCiAKIHsKLQljb25zdCBzdHJ1Y3QgaW50ZWxfZnJhbWVi dWZmZXIgKmludGVsX2ZiID0gdG9faW50ZWxfZnJhbWVidWZmZXIoZmIpOworCWNvbnN0IHN0cnVj dCBpbnRlbF9mcmFtZWJ1ZmZlciAqaW50ZWxfZmIgPSB0b19pbnRlbF9mcmFtZWJ1ZmZlcihzdGF0 ZS0+YmFzZS5mYik7CisJdW5zaWduZWQgaW50IHJvdGF0aW9uID0gc3RhdGUtPmJhc2Uucm90YXRp b247CiAKIAlpZiAoaW50ZWxfcm90YXRpb25fOTBfb3JfMjcwKHJvdGF0aW9uKSkgewogCQkqeCAr PSBpbnRlbF9mYi0+cm90YXRlZFtwbGFuZV0ueDsKQEAgLTI1NjEsMTAgKzI1NjQsMTIgQEAgc3Rh dGljIHUzMiBfaW50ZWxfY29tcHV0ZV90aWxlX29mZnNldChjb25zdCBzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCiB9CiAKIHVuc2lnbmVkIGludCBpbnRlbF9jb21wdXRlX3RpbGVf b2Zmc2V0KGludCAqeCwgaW50ICp5LAotCQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1l YnVmZmVyICpmYiwgaW50IHBsYW5lLAotCQkJCSAgICAgICB1bnNpZ25lZCBpbnQgcm90YXRpb24p CisJCQkJICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqc3RhdGUsCisJCQkJ ICAgICAgIGludCBwbGFuZSkKIHsKLQljb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGZiLT5kZXYpOworCWNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtPmJhc2UucGxhbmUtPmRldik7CisJY29uc3Qgc3Ry dWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBzdGF0ZS0+YmFzZS5mYjsKKwl1bnNpZ25lZCBpbnQg cm90YXRpb24gPSBzdGF0ZS0+YmFzZS5yb3RhdGlvbjsKIAl1bnNpZ25lZCBpbnQgYWxpZ25tZW50 ID0gaW50ZWxfc3VyZl9hbGlnbm1lbnQoZGV2X3ByaXYsIGZiLT5tb2RpZmllcltwbGFuZV0pOwog CXVuc2lnbmVkIGludCBwaXRjaDsKIApAQCAtMjk4OSwxMSArMjk5NCwxMSBAQCBzdGF0aWMgdm9p ZCBpOXh4X3VwZGF0ZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnByaW1hcnksCiAJ aWYgKElTX0c0WChkZXYpKQogCQlkc3BjbnRyIHw9IERJU1BQTEFORV9UUklDS0xFX0ZFRURfRElT QUJMRTsKIAotCWludGVsX2FkZF9mYl9vZmZzZXRzKCZ4LCAmeSwgZmIsIDAsIHJvdGF0aW9uKTsK KwlpbnRlbF9hZGRfZmJfb2Zmc2V0cygmeCwgJnksIHBsYW5lX3N0YXRlLCAwKTsKIAogCWlmIChJ TlRFTF9JTkZPKGRldiktPmdlbiA+PSA0KQogCQlpbnRlbF9jcnRjLT5kc3BhZGRyX29mZnNldCA9 Ci0JCQlpbnRlbF9jb21wdXRlX3RpbGVfb2Zmc2V0KCZ4LCAmeSwgZmIsIDAsIHJvdGF0aW9uKTsK KwkJCWludGVsX2NvbXB1dGVfdGlsZV9vZmZzZXQoJngsICZ5LCBwbGFuZV9zdGF0ZSwgMCk7CiAK IAlpZiAocm90YXRpb24gPT0gQklUKERSTV9ST1RBVEVfMTgwKSkgewogCQlkc3BjbnRyIHw9IERJ U1BQTEFORV9ST1RBVEVfMTgwOwpAQCAtMzAwMiw3ICszMDA3LDcgQEAgc3RhdGljIHZvaWQgaTl4 eF91cGRhdGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwcmltYXJ5LAogCQl5ICs9 IChjcnRjX3N0YXRlLT5waXBlX3NyY19oIC0gMSk7CiAJfQogCi0JbGluZWFyX29mZnNldCA9IGlu dGVsX2ZiX3h5X3RvX2xpbmVhcih4LCB5LCBmYiwgMCk7CisJbGluZWFyX29mZnNldCA9IGludGVs X2ZiX3h5X3RvX2xpbmVhcih4LCB5LCBwbGFuZV9zdGF0ZSwgMCk7CiAKIAlpZiAoSU5URUxfSU5G TyhkZXYpLT5nZW4gPCA0KQogCQlpbnRlbF9jcnRjLT5kc3BhZGRyX29mZnNldCA9IGxpbmVhcl9v ZmZzZXQ7CkBAIC0zMDkyLDEwICszMDk3LDEwIEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX3VwZGF0 ZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnByaW1hcnksCiAJaWYgKCFJU19IQVNX RUxMKGRldikgJiYgIUlTX0JST0FEV0VMTChkZXYpKQogCQlkc3BjbnRyIHw9IERJU1BQTEFORV9U UklDS0xFX0ZFRURfRElTQUJMRTsKIAotCWludGVsX2FkZF9mYl9vZmZzZXRzKCZ4LCAmeSwgZmIs IDAsIHJvdGF0aW9uKTsKKwlpbnRlbF9hZGRfZmJfb2Zmc2V0cygmeCwgJnksIHBsYW5lX3N0YXRl LCAwKTsKIAogCWludGVsX2NydGMtPmRzcGFkZHJfb2Zmc2V0ID0KLQkJaW50ZWxfY29tcHV0ZV90 aWxlX29mZnNldCgmeCwgJnksIGZiLCAwLCByb3RhdGlvbik7CisJCWludGVsX2NvbXB1dGVfdGls ZV9vZmZzZXQoJngsICZ5LCBwbGFuZV9zdGF0ZSwgMCk7CiAKIAlpZiAocm90YXRpb24gPT0gQklU KERSTV9ST1RBVEVfMTgwKSkgewogCQlkc3BjbnRyIHw9IERJU1BQTEFORV9ST1RBVEVfMTgwOwpA QCAtMzEwNiw3ICszMTExLDcgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfdXBkYXRlX3ByaW1hcnlf cGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcHJpbWFyeSwKIAkJfQogCX0KIAotCWxpbmVhcl9vZmZz ZXQgPSBpbnRlbF9mYl94eV90b19saW5lYXIoeCwgeSwgZmIsIDApOworCWxpbmVhcl9vZmZzZXQg PSBpbnRlbF9mYl94eV90b19saW5lYXIoeCwgeSwgcGxhbmVfc3RhdGUsIDApOwogCiAJaW50ZWxf Y3J0Yy0+YWRqdXN0ZWRfeCA9IHg7CiAJaW50ZWxfY3J0Yy0+YWRqdXN0ZWRfeSA9IHk7CkBAIC0z MzE0LDggKzMzMTksOCBAQCBzdGF0aWMgdm9pZCBza3lsYWtlX3VwZGF0ZV9wcmltYXJ5X3BsYW5l KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJCQkJICBmYi0+cGl4ZWxfZm9ybWF0KTsKIAl9 CiAKLQlpbnRlbF9hZGRfZmJfb2Zmc2V0cygmc3JjX3gsICZzcmNfeSwgZmIsIDAsIHJvdGF0aW9u KTsKLQlzdXJmX2FkZHIgPSBpbnRlbF9jb21wdXRlX3RpbGVfb2Zmc2V0KCZzcmNfeCwgJnNyY195 LCBmYiwgMCwgcm90YXRpb24pOworCWludGVsX2FkZF9mYl9vZmZzZXRzKCZzcmNfeCwgJnNyY195 LCBwbGFuZV9zdGF0ZSwgMCk7CisJc3VyZl9hZGRyID0gaW50ZWxfY29tcHV0ZV90aWxlX29mZnNl dCgmc3JjX3gsICZzcmNfeSwgcGxhbmVfc3RhdGUsIDApOwogCiAJLyogU2l6ZXMgYXJlIDAgYmFz ZWQgKi8KIAlzcmNfdy0tOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCBlM2RlMWZjM2Iw NGQuLjA5Y2ZjMGVlYTVhNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTEwNzEsMTAg KzEwNzEsMTAgQEAgdm9pZCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9jbGVhbnVwKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiAvKiBpbnRlbF9kaXNwbGF5LmMgKi8KIGV4dGVybiBj b25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIGludGVsX3BsYW5lX2Z1bmNzOwogdW5zaWduZWQg aW50IGludGVsX2ZiX3h5X3RvX2xpbmVhcihpbnQgeCwgaW50IHksCi0JCQkJICAgY29uc3Qgc3Ry dWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGludCBwbGFuZSk7CisJCQkJICAgY29uc3Qgc3RydWN0 IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZSwKKwkJCQkgICBpbnQgcGxhbmUpOwogdm9pZCBpbnRl bF9hZGRfZmJfb2Zmc2V0cyhpbnQgKngsIGludCAqeSwKLQkJCSAgY29uc3Qgc3RydWN0IGRybV9m cmFtZWJ1ZmZlciAqZmIsIGludCBwbGFuZSwKLQkJCSAgdW5zaWduZWQgaW50IHJvdGF0aW9uKTsK KwkJCSAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZSwgaW50IHBsYW5lKTsK IHVuc2lnbmVkIGludCBpbnRlbF9yb3RhdGlvbl9pbmZvX3NpemUoY29uc3Qgc3RydWN0IGludGVs X3JvdGF0aW9uX2luZm8gKnJvdF9pbmZvKTsKIGJvb2wgaW50ZWxfaGFzX3BlbmRpbmdfZmJfdW5w aW4oc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiBpbnQgaW50ZWxfcGNoX3Jhd2NsayhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KTsKQEAgLTExODksOCArMTE4OSw3IEBAIHZvaWQgYXNzZXJ0X3BpcGUo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBpcGUgcGlwZSwgYm9vbCBz dGF0ZSk7CiAjZGVmaW5lIGFzc2VydF9waXBlX2VuYWJsZWQoZCwgcCkgYXNzZXJ0X3BpcGUoZCwg cCwgdHJ1ZSkKICNkZWZpbmUgYXNzZXJ0X3BpcGVfZGlzYWJsZWQoZCwgcCkgYXNzZXJ0X3BpcGUo ZCwgcCwgZmFsc2UpCiB1MzIgaW50ZWxfY29tcHV0ZV90aWxlX29mZnNldChpbnQgKngsIGludCAq eSwKLQkJCSAgICAgIGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLCBpbnQgcGxhbmUs Ci0JCQkgICAgICB1bnNpZ25lZCBpbnQgcm90YXRpb24pOworCQkJICAgICAgY29uc3Qgc3RydWN0 IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZSwgaW50IHBsYW5lKTsKIHZvaWQgaW50ZWxfcHJlcGFy ZV9yZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIHZvaWQgaW50ZWxfZmluaXNoX3Jlc2V0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogdm9pZCBoc3dfZW5hYmxlX3BjOChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwpp bmRleCAzMWJlMjRmMjcyMDcuLmFkNTMzY2MyYjVmNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf c3ByaXRlLmMKQEAgLTI0OSw4ICsyNDksOCBAQCBza2xfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1f cGxhbmUgKmRybV9wbGFuZSwKIAkJCQkJCSAgZmItPnBpeGVsX2Zvcm1hdCk7CiAJfQogCi0JaW50 ZWxfYWRkX2ZiX29mZnNldHMoJngsICZ5LCBmYiwgMCwgcm90YXRpb24pOwotCXN1cmZfYWRkciA9 IGludGVsX2NvbXB1dGVfdGlsZV9vZmZzZXQoJngsICZ5LCBmYiwgMCwgcm90YXRpb24pOworCWlu dGVsX2FkZF9mYl9vZmZzZXRzKCZ4LCAmeSwgcGxhbmVfc3RhdGUsIDApOworCXN1cmZfYWRkciA9 IGludGVsX2NvbXB1dGVfdGlsZV9vZmZzZXQoJngsICZ5LCBwbGFuZV9zdGF0ZSwgMCk7CiAKIAkv KiBTaXplcyBhcmUgMCBiYXNlZCAqLwogCXNyY193LS07CkBAIC00MjYsOCArNDI2LDggQEAgdmx2 X3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpkcGxhbmUsCiAJY3J0Y193LS07CiAJY3J0 Y19oLS07CiAKLQlpbnRlbF9hZGRfZmJfb2Zmc2V0cygmeCwgJnksIGZiLCAwLCByb3RhdGlvbik7 Ci0Jc3Byc3VyZl9vZmZzZXQgPSBpbnRlbF9jb21wdXRlX3RpbGVfb2Zmc2V0KCZ4LCAmeSwgZmIs IDAsIHJvdGF0aW9uKTsKKwlpbnRlbF9hZGRfZmJfb2Zmc2V0cygmeCwgJnksIHBsYW5lX3N0YXRl LCAwKTsKKwlzcHJzdXJmX29mZnNldCA9IGludGVsX2NvbXB1dGVfdGlsZV9vZmZzZXQoJngsICZ5 LCBwbGFuZV9zdGF0ZSwgMCk7CiAKIAlpZiAocm90YXRpb24gPT0gQklUKERSTV9ST1RBVEVfMTgw KSkgewogCQlzcHJjdGwgfD0gU1BfUk9UQVRFXzE4MDsKQEAgLTQzNiw3ICs0MzYsNyBAQCB2bHZf dXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRwbGFuZSwKIAkJeSArPSBzcmNfaDsKIAl9 CiAKLQlsaW5lYXJfb2Zmc2V0ID0gaW50ZWxfZmJfeHlfdG9fbGluZWFyKHgsIHksIGZiLCAwKTsK KwlsaW5lYXJfb2Zmc2V0ID0gaW50ZWxfZmJfeHlfdG9fbGluZWFyKHgsIHksIHBsYW5lX3N0YXRl LCAwKTsKIAogCWlmIChrZXktPmZsYWdzKSB7CiAJCUk5MTVfV1JJVEUoU1BLRVlNSU5WQUwocGlw ZSwgcGxhbmUpLCBrZXktPm1pbl92YWx1ZSk7CkBAIC01NTcsOCArNTU3LDggQEAgaXZiX3VwZGF0 ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlpZiAoY3J0Y193ICE9IHNyY193IHx8 IGNydGNfaCAhPSBzcmNfaCkKIAkJc3Byc2NhbGUgPSBTUFJJVEVfU0NBTEVfRU5BQkxFIHwgKHNy Y193IDw8IDE2KSB8IHNyY19oOwogCi0JaW50ZWxfYWRkX2ZiX29mZnNldHMoJngsICZ5LCBmYiwg MCwgcm90YXRpb24pOwotCXNwcnN1cmZfb2Zmc2V0ID0gaW50ZWxfY29tcHV0ZV90aWxlX29mZnNl dCgmeCwgJnksIGZiLCAwLCByb3RhdGlvbik7CisJaW50ZWxfYWRkX2ZiX29mZnNldHMoJngsICZ5 LCBwbGFuZV9zdGF0ZSwgMCk7CisJc3Byc3VyZl9vZmZzZXQgPSBpbnRlbF9jb21wdXRlX3RpbGVf b2Zmc2V0KCZ4LCAmeSwgcGxhbmVfc3RhdGUsIDApOwogCiAJaWYgKHJvdGF0aW9uID09IEJJVChE Uk1fUk9UQVRFXzE4MCkpIHsKIAkJc3ByY3RsIHw9IFNQUklURV9ST1RBVEVfMTgwOwpAQCAtNTcw LDcgKzU3MCw3IEBAIGl2Yl91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJ CX0KIAl9CiAKLQlsaW5lYXJfb2Zmc2V0ID0gaW50ZWxfZmJfeHlfdG9fbGluZWFyKHgsIHksIGZi LCAwKTsKKwlsaW5lYXJfb2Zmc2V0ID0gaW50ZWxfZmJfeHlfdG9fbGluZWFyKHgsIHksIHBsYW5l X3N0YXRlLCAwKTsKIAogCWlmIChrZXktPmZsYWdzKSB7CiAJCUk5MTVfV1JJVEUoU1BSS0VZVkFM KHBpcGUpLCBrZXktPm1pbl92YWx1ZSk7CkBAIC02OTIsOCArNjkyLDggQEAgaWxrX3VwZGF0ZV9w bGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlpZiAoY3J0Y193ICE9IHNyY193IHx8IGNy dGNfaCAhPSBzcmNfaCkKIAkJZHZzc2NhbGUgPSBEVlNfU0NBTEVfRU5BQkxFIHwgKHNyY193IDw8 IDE2KSB8IHNyY19oOwogCi0JaW50ZWxfYWRkX2ZiX29mZnNldHMoJngsICZ5LCBmYiwgMCwgcm90 YXRpb24pOwotCWR2c3N1cmZfb2Zmc2V0ID0gaW50ZWxfY29tcHV0ZV90aWxlX29mZnNldCgmeCwg JnksIGZiLCAwLCByb3RhdGlvbik7CisJaW50ZWxfYWRkX2ZiX29mZnNldHMoJngsICZ5LCBwbGFu ZV9zdGF0ZSwgMCk7CisJZHZzc3VyZl9vZmZzZXQgPSBpbnRlbF9jb21wdXRlX3RpbGVfb2Zmc2V0 KCZ4LCAmeSwgcGxhbmVfc3RhdGUsIDApOwogCiAJaWYgKHJvdGF0aW9uID09IEJJVChEUk1fUk9U QVRFXzE4MCkpIHsKIAkJZHZzY250ciB8PSBEVlNfUk9UQVRFXzE4MDsKQEAgLTcwMiw3ICs3MDIs NyBAQCBpbGtfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQl5ICs9IHNy Y19oOwogCX0KIAotCWxpbmVhcl9vZmZzZXQgPSBpbnRlbF9mYl94eV90b19saW5lYXIoeCwgeSwg ZmIsIDApOworCWxpbmVhcl9vZmZzZXQgPSBpbnRlbF9mYl94eV90b19saW5lYXIoeCwgeSwgcGxh bmVfc3RhdGUsIDApOwogCiAJaWYgKGtleS0+ZmxhZ3MpIHsKIAkJSTkxNV9XUklURShEVlNLRVlW QUwocGlwZSksIGtleS0+bWluX3ZhbHVlKTsKLS0gCjIuNC4xMAoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK