From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2 5/6] drm/i915: Pass intel state to plane functions as well Date: Fri, 28 Jun 2019 10:55:16 +0200 Message-ID: <20190628085517.31886-6-maarten.lankhorst@linux.intel.com> References: <20190628085517.31886-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 039F46E8A1 for ; Fri, 28 Jun 2019 08:55:23 +0000 (UTC) In-Reply-To: <20190628085517.31886-1-maarten.lankhorst@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 UGFzcyBhbG9uZyB0aGUgY29ycmVjdCBzdGF0ZSBhcyBtdWNoIGFzIHBvc3NpYmxlLCBpbnN0ZWFk IG9mIHJlbHlpbmcKb24gdGhlIGRybSBzdGF0ZSBpbnRlcm5hbGx5LiBUaGlzIGlzIHJlcXVpcmVk IHRvIHJlbHkgb24gaHcgc3RhdGUKaW50ZXJuYWxseSBzb29uLgoKV2hpbGUgYXQgaXQsIGNsZWFu IHVwIGludGVsX3BsYW5lX2F0b21pY19jaGVjayBzbGlnaHRseSwgYnkgdXNpbmcgYQpoZWxwZXIg ZnVuY3Rpb24gdG8gZ2V0IHRoZSBpbnRlbF9jcnRjLiAoVmlsbGUpCgpTaWduZWQtb2ZmLWJ5OiBN YWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgpSZXZp ZXdlZC1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K LS0tCiAuLi4vZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMgfCA1NiAr KysrKysrKysrKy0tLS0tLS0KIC4uLi9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWNf cGxhbmUuaCB8ICA1ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3Bs YXkuYyAgfCA1OCArKysrKysrKystLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDY0IGluc2Vy dGlvbnMoKyksIDU1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5jCmluZGV4IDMwYmQ0ZTc2ZmZmOS4uYWI0MTFkNWUw OTNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21p Y19wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWlj X3BsYW5lLmMKQEAgLTE3NiwzMyArMTc2LDQ5IEBAIGludCBpbnRlbF9wbGFuZV9hdG9taWNfY2hl Y2tfd2l0aF9zdGF0ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfCiAJ bmV3X2NydGNfc3RhdGUtPmRhdGFfcmF0ZVtwbGFuZS0+aWRdID0KIAkJaW50ZWxfcGxhbmVfZGF0 YV9yYXRlKG5ld19jcnRjX3N0YXRlLCBuZXdfcGxhbmVfc3RhdGUpOwogCi0JcmV0dXJuIGludGVs X3BsYW5lX2F0b21pY19jYWxjX2NoYW5nZXMob2xkX2NydGNfc3RhdGUsCi0JCQkJCSAgICAgICAm bmV3X2NydGNfc3RhdGUtPmJhc2UsCi0JCQkJCSAgICAgICBvbGRfcGxhbmVfc3RhdGUsCi0JCQkJ CSAgICAgICAmbmV3X3BsYW5lX3N0YXRlLT5iYXNlKTsKKwlyZXR1cm4gaW50ZWxfcGxhbmVfYXRv bWljX2NhbGNfY2hhbmdlcyhvbGRfY3J0Y19zdGF0ZSwgbmV3X2NydGNfc3RhdGUsCisJCQkJCSAg ICAgICBvbGRfcGxhbmVfc3RhdGUsIG5ld19wbGFuZV9zdGF0ZSk7CiB9CiAKLXN0YXRpYyBpbnQg aW50ZWxfcGxhbmVfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAotCQkJCSAg ICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpuZXdfcGxhbmVfc3RhdGUpCitzdGF0aWMgc3RydWN0 IGludGVsX2NydGMgKgorZ2V0X2NydGNfZnJvbV9zdGF0ZXMoY29uc3Qgc3RydWN0IGludGVsX3Bs YW5lX3N0YXRlICpvbGRfcGxhbmVfc3RhdGUsCisJCSAgICAgY29uc3Qgc3RydWN0IGludGVsX3Bs YW5lX3N0YXRlICpuZXdfcGxhbmVfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlID0gbmV3X3BsYW5lX3N0YXRlLT5zdGF0ZTsKLQljb25zdCBzdHJ1Y3QgZHJtX3BsYW5l X3N0YXRlICpvbGRfcGxhbmVfc3RhdGUgPQotCQlkcm1fYXRvbWljX2dldF9vbGRfcGxhbmVfc3Rh dGUoc3RhdGUsIHBsYW5lKTsKLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBuZXdfcGxhbmVfc3Rh dGUtPmNydGMgPzogb2xkX3BsYW5lX3N0YXRlLT5jcnRjOwotCWNvbnN0IHN0cnVjdCBkcm1fY3J0 Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGU7Ci0Jc3RydWN0IGRybV9jcnRjX3N0YXRlICpuZXdfY3J0 Y19zdGF0ZTsKLQotCW5ld19wbGFuZV9zdGF0ZS0+dmlzaWJsZSA9IGZhbHNlOworCWlmIChuZXdf cGxhbmVfc3RhdGUtPmJhc2UuY3J0YykKKwkJcmV0dXJuIHRvX2ludGVsX2NydGMobmV3X3BsYW5l X3N0YXRlLT5iYXNlLmNydGMpOworCisJaWYgKG9sZF9wbGFuZV9zdGF0ZS0+YmFzZS5jcnRjKQor CQlyZXR1cm4gdG9faW50ZWxfY3J0YyhvbGRfcGxhbmVfc3RhdGUtPmJhc2UuY3J0Yyk7CisKKwly ZXR1cm4gTlVMTDsKK30KKworc3RhdGljIGludCBpbnRlbF9wbGFuZV9hdG9taWNfY2hlY2soc3Ry dWN0IGRybV9wbGFuZSAqX3BsYW5lLAorCQkJCSAgICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpf bmV3X3BsYW5lX3N0YXRlKQoreworCXN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUgPSB0b19pbnRl bF9wbGFuZShfcGxhbmUpOworCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlID0KKwkJ dG9faW50ZWxfYXRvbWljX3N0YXRlKF9uZXdfcGxhbmVfc3RhdGUtPnN0YXRlKTsKKwlzdHJ1Y3Qg aW50ZWxfcGxhbmVfc3RhdGUgKm5ld19wbGFuZV9zdGF0ZSA9CisJCXRvX2ludGVsX3BsYW5lX3N0 YXRlKF9uZXdfcGxhbmVfc3RhdGUpOworCWNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAq b2xkX3BsYW5lX3N0YXRlID0KKwkJaW50ZWxfYXRvbWljX2dldF9vbGRfcGxhbmVfc3RhdGUoc3Rh dGUsIHBsYW5lKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9CisJCWdldF9jcnRjX2Zyb21f c3RhdGVzKG9sZF9wbGFuZV9zdGF0ZSwgbmV3X3BsYW5lX3N0YXRlKTsKKwljb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGU7CisJc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKm5ld19jcnRjX3N0YXRlOworCisJbmV3X3BsYW5lX3N0YXRlLT5iYXNlLnZpc2libGUgPSBm YWxzZTsKIAlpZiAoIWNydGMpCiAJCXJldHVybiAwOwogCi0Jb2xkX2NydGNfc3RhdGUgPSBkcm1f YXRvbWljX2dldF9vbGRfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7Ci0JbmV3X2NydGNfc3RhdGUg PSBkcm1fYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7CisJb2xkX2NydGNf c3RhdGUgPSBpbnRlbF9hdG9taWNfZ2V0X29sZF9jcnRjX3N0YXRlKHN0YXRlLCBjcnRjKTsKKwlu ZXdfY3J0Y19zdGF0ZSA9IGludGVsX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIGNy dGMpOwogCi0JcmV0dXJuIGludGVsX3BsYW5lX2F0b21pY19jaGVja193aXRoX3N0YXRlKHRvX2lu dGVsX2NydGNfc3RhdGUob2xkX2NydGNfc3RhdGUpLAotCQkJCQkJICAgdG9faW50ZWxfY3J0Y19z dGF0ZShuZXdfY3J0Y19zdGF0ZSksCi0JCQkJCQkgICB0b19pbnRlbF9wbGFuZV9zdGF0ZShvbGRf cGxhbmVfc3RhdGUpLAotCQkJCQkJICAgdG9faW50ZWxfcGxhbmVfc3RhdGUobmV3X3BsYW5lX3N0 YXRlKSk7CisJcmV0dXJuIGludGVsX3BsYW5lX2F0b21pY19jaGVja193aXRoX3N0YXRlKG9sZF9j cnRjX3N0YXRlLAorCQkJCQkJICAgbmV3X2NydGNfc3RhdGUsCisJCQkJCQkgICBvbGRfcGxhbmVf c3RhdGUsCisJCQkJCQkgICBuZXdfcGxhbmVfc3RhdGUpOwogfQogCiBzdGF0aWMgc3RydWN0IGlu dGVsX3BsYW5lICoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfYXRvbWljX3BsYW5lLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0 b21pY19wbGFuZS5oCmluZGV4IDE0MzdhODc5N2UxMC4uY2I3ZWY0ZjllYWZkIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmgKQEAgLTgs NyArOCw2IEBACiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogCi1zdHJ1Y3QgZHJtX2NydGNf c3RhdGU7CiBzdHJ1Y3QgZHJtX3BsYW5lOwogc3RydWN0IGRybV9wcm9wZXJ0eTsKIHN0cnVjdCBp bnRlbF9hdG9taWNfc3RhdGU7CkBAIC00Myw4ICs0Miw4IEBAIGludCBpbnRlbF9wbGFuZV9hdG9t aWNfY2hlY2tfd2l0aF9zdGF0ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2Ny dGNfCiAJCQkJCWNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqb2xkX3BsYW5lX3N0YXRl LAogCQkJCQlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKmludGVsX3N0YXRlKTsKIGludCBpbnRl bF9wbGFuZV9hdG9taWNfY2FsY19jaGFuZ2VzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpvbGRfY3J0Y19zdGF0ZSwKLQkJCQkgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlLAorCQkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkg ICAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpvbGRfcGxhbmVfc3RhdGUsCi0JCQkJ ICAgIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKTsKKwkJCQkgICAgc3RydWN0 IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSk7CiAKICNlbmRpZiAvKiBfX0lOVEVMX0FU T01JQ19QTEFORV9IX18gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k aXNwbGF5LmMKaW5kZXggNGVhNjMwMjZkOWM0Li5jOTdjMGE5ZjYyMDggMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCkBAIC0xMTI4Niw3ICsxMTI4Niw3 IEBAIHN0YXRpYyB2b2lkIGludGVsX2NydGNfZGVzdHJveShzdHJ1Y3QgZHJtX2NydGMgKmNydGMp CiAgKgogICogUmV0dXJucyB0cnVlIG9yIGZhbHNlLgogICovCi1zdGF0aWMgYm9vbCBpbnRlbF93 bV9uZWVkX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKmN1ciwKK3N0YXRpYyBib29s IGludGVsX3dtX25lZWRfdXBkYXRlKGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqY3Vy LAogCQkJCSBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKm5ldykKIHsKIAkvKiBVcGRhdGUgd2F0 ZXJtYXJrcyBvbiB0aWxpbmcgb3Igc2l6ZSBjaGFuZ2VzLiAqLwpAQCAtMTEzMTgsMzMgKzExMzE4 LDI4IEBAIHN0YXRpYyBib29sIG5lZWRzX3NjYWxpbmcoY29uc3Qgc3RydWN0IGludGVsX3BsYW5l X3N0YXRlICpzdGF0ZSkKIH0KIAogaW50IGludGVsX3BsYW5lX2F0b21pY19jYWxjX2NoYW5nZXMo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAotCQkJCSAgICBz dHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCisJCQkJICAgIHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJCSAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVf c3RhdGUgKm9sZF9wbGFuZV9zdGF0ZSwKLQkJCQkgICAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAq cGxhbmVfc3RhdGUpCisJCQkJICAgIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3Rh dGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnID0gdG9faW50ZWxf Y3J0Y19zdGF0ZShjcnRjX3N0YXRlKTsKLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBjcnRjX3N0 YXRlLT5jcnRjOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0 YyhjcnRjKTsKLQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lID0gdG9faW50ZWxfcGxhbmUocGxh bmVfc3RhdGUtPnBsYW5lKTsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owot CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKLQlib29s IG1vZGVfY2hhbmdlZCA9IG5lZWRzX21vZGVzZXQocGlwZV9jb25maWcpOworCXN0cnVjdCBpbnRl bF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0 cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZV9zdGF0ZS0+YmFz ZS5wbGFuZSk7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShj cnRjLT5iYXNlLmRldik7CisJYm9vbCBtb2RlX2NoYW5nZWQgPSBuZWVkc19tb2Rlc2V0KGNydGNf c3RhdGUpOwogCWJvb2wgd2FzX2NydGNfZW5hYmxlZCA9IG9sZF9jcnRjX3N0YXRlLT5iYXNlLmFj dGl2ZTsKLQlib29sIGlzX2NydGNfZW5hYmxlZCA9IGNydGNfc3RhdGUtPmFjdGl2ZTsKKwlib29s IGlzX2NydGNfZW5hYmxlZCA9IGNydGNfc3RhdGUtPmJhc2UuYWN0aXZlOwogCWJvb2wgdHVybl9v ZmYsIHR1cm5fb24sIHZpc2libGUsIHdhc192aXNpYmxlOwotCXN0cnVjdCBkcm1fZnJhbWVidWZm ZXIgKmZiID0gcGxhbmVfc3RhdGUtPmZiOworCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0g cGxhbmVfc3RhdGUtPmJhc2UuZmI7CiAJaW50IHJldDsKIAogCWlmIChJTlRFTF9HRU4oZGV2X3By aXYpID49IDkgJiYgcGxhbmUtPmlkICE9IFBMQU5FX0NVUlNPUikgewotCQlyZXQgPSBza2xfdXBk YXRlX3NjYWxlcl9wbGFuZSgKLQkJCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Y19zdGF0ZSksCi0J CQl0b19pbnRlbF9wbGFuZV9zdGF0ZShwbGFuZV9zdGF0ZSkpOworCQlyZXQgPSBza2xfdXBkYXRl X3NjYWxlcl9wbGFuZShjcnRjX3N0YXRlLCBwbGFuZV9zdGF0ZSk7CiAJCWlmIChyZXQpCiAJCQly ZXR1cm4gcmV0OwogCX0KIAogCXdhc192aXNpYmxlID0gb2xkX3BsYW5lX3N0YXRlLT5iYXNlLnZp c2libGU7Ci0JdmlzaWJsZSA9IHBsYW5lX3N0YXRlLT52aXNpYmxlOworCXZpc2libGUgPSBwbGFu ZV9zdGF0ZS0+YmFzZS52aXNpYmxlOwogCiAJaWYgKCF3YXNfY3J0Y19lbmFibGVkICYmIFdBUk5f T04od2FzX3Zpc2libGUpKQogCQl3YXNfdmlzaWJsZSA9IGZhbHNlOwpAQCAtMTEzNjAsMjIgKzEx MzU1LDIyIEBAIGludCBpbnRlbF9wbGFuZV9hdG9taWNfY2FsY19jaGFuZ2VzKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0CiAJICogb25seSBjb21iaW5lIHRoZSBy ZXN1bHRzIGZyb20gYWxsIHBsYW5lcyBpbiB0aGUgY3VycmVudCBwbGFjZT8KIAkgKi8KIAlpZiAo IWlzX2NydGNfZW5hYmxlZCkgewotCQlwbGFuZV9zdGF0ZS0+dmlzaWJsZSA9IHZpc2libGUgPSBm YWxzZTsKLQkJdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjX3N0YXRlKS0+YWN0aXZlX3BsYW5lcyAm PSB+QklUKHBsYW5lLT5pZCk7Ci0JCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Y19zdGF0ZSktPmRh dGFfcmF0ZVtwbGFuZS0+aWRdID0gMDsKKwkJcGxhbmVfc3RhdGUtPmJhc2UudmlzaWJsZSA9IHZp c2libGUgPSBmYWxzZTsKKwkJY3J0Y19zdGF0ZS0+YWN0aXZlX3BsYW5lcyAmPSB+QklUKHBsYW5l LT5pZCk7CisJCWNydGNfc3RhdGUtPmRhdGFfcmF0ZVtwbGFuZS0+aWRdID0gMDsKIAl9CiAKIAlp ZiAoIXdhc192aXNpYmxlICYmICF2aXNpYmxlKQogCQlyZXR1cm4gMDsKIAogCWlmIChmYiAhPSBv bGRfcGxhbmVfc3RhdGUtPmJhc2UuZmIpCi0JCXBpcGVfY29uZmlnLT5mYl9jaGFuZ2VkID0gdHJ1 ZTsKKwkJY3J0Y19zdGF0ZS0+ZmJfY2hhbmdlZCA9IHRydWU7CiAKIAl0dXJuX29mZiA9IHdhc192 aXNpYmxlICYmICghdmlzaWJsZSB8fCBtb2RlX2NoYW5nZWQpOwogCXR1cm5fb24gPSB2aXNpYmxl ICYmICghd2FzX3Zpc2libGUgfHwgbW9kZV9jaGFuZ2VkKTsKIAogCURSTV9ERUJVR19BVE9NSUMo IltDUlRDOiVkOiVzXSBoYXMgW1BMQU5FOiVkOiVzXSB3aXRoIGZiICVpXG4iLAotCQkJIGludGVs X2NydGMtPmJhc2UuYmFzZS5pZCwgaW50ZWxfY3J0Yy0+YmFzZS5uYW1lLAorCQkJIGNydGMtPmJh c2UuYmFzZS5pZCwgY3J0Yy0+YmFzZS5uYW1lLAogCQkJIHBsYW5lLT5iYXNlLmJhc2UuaWQsIHBs YW5lLT5iYXNlLm5hbWUsCiAJCQkgZmIgPyBmYi0+YmFzZS5pZCA6IC0xKTsKIApAQCAtMTEzODYs MjkgKzExMzgxLDI4IEBAIGludCBpbnRlbF9wbGFuZV9hdG9taWNfY2FsY19jaGFuZ2VzKGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0CiAKIAlpZiAodHVybl9vbikg ewogCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDUgJiYgIUlTX0c0WChkZXZfcHJpdikpCi0J CQlwaXBlX2NvbmZpZy0+dXBkYXRlX3dtX3ByZSA9IHRydWU7CisJCQljcnRjX3N0YXRlLT51cGRh dGVfd21fcHJlID0gdHJ1ZTsKIAogCQkvKiBtdXN0IGRpc2FibGUgY3hzciBhcm91bmQgcGxhbmUg ZW5hYmxlL2Rpc2FibGUgKi8KIAkJaWYgKHBsYW5lLT5pZCAhPSBQTEFORV9DVVJTT1IpCi0JCQlw aXBlX2NvbmZpZy0+ZGlzYWJsZV9jeHNyID0gdHJ1ZTsKKwkJCWNydGNfc3RhdGUtPmRpc2FibGVf Y3hzciA9IHRydWU7CiAJfSBlbHNlIGlmICh0dXJuX29mZikgewogCQlpZiAoSU5URUxfR0VOKGRl dl9wcml2KSA8IDUgJiYgIUlTX0c0WChkZXZfcHJpdikpCi0JCQlwaXBlX2NvbmZpZy0+dXBkYXRl X3dtX3Bvc3QgPSB0cnVlOworCQkJY3J0Y19zdGF0ZS0+dXBkYXRlX3dtX3Bvc3QgPSB0cnVlOwog CiAJCS8qIG11c3QgZGlzYWJsZSBjeHNyIGFyb3VuZCBwbGFuZSBlbmFibGUvZGlzYWJsZSAqLwog CQlpZiAocGxhbmUtPmlkICE9IFBMQU5FX0NVUlNPUikKLQkJCXBpcGVfY29uZmlnLT5kaXNhYmxl X2N4c3IgPSB0cnVlOwotCX0gZWxzZSBpZiAoaW50ZWxfd21fbmVlZF91cGRhdGUodG9faW50ZWxf cGxhbmVfc3RhdGUocGxhbmUtPmJhc2Uuc3RhdGUpLAotCQkJCQl0b19pbnRlbF9wbGFuZV9zdGF0 ZShwbGFuZV9zdGF0ZSkpKSB7CisJCQljcnRjX3N0YXRlLT5kaXNhYmxlX2N4c3IgPSB0cnVlOwor CX0gZWxzZSBpZiAoaW50ZWxfd21fbmVlZF91cGRhdGUob2xkX3BsYW5lX3N0YXRlLCBwbGFuZV9z dGF0ZSkpIHsKIAkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPCA1ICYmICFJU19HNFgoZGV2X3By aXYpKSB7CiAJCQkvKiBGSVhNRSBib2xsb2NrcyAqLwotCQkJcGlwZV9jb25maWctPnVwZGF0ZV93 bV9wcmUgPSB0cnVlOwotCQkJcGlwZV9jb25maWctPnVwZGF0ZV93bV9wb3N0ID0gdHJ1ZTsKKwkJ CWNydGNfc3RhdGUtPnVwZGF0ZV93bV9wcmUgPSB0cnVlOworCQkJY3J0Y19zdGF0ZS0+dXBkYXRl X3dtX3Bvc3QgPSB0cnVlOwogCQl9CiAJfQogCiAJaWYgKHZpc2libGUgfHwgd2FzX3Zpc2libGUp Ci0JCXBpcGVfY29uZmlnLT5mYl9iaXRzIHw9IHBsYW5lLT5mcm9udGJ1ZmZlcl9iaXQ7CisJCWNy dGNfc3RhdGUtPmZiX2JpdHMgfD0gcGxhbmUtPmZyb250YnVmZmVyX2JpdDsKIAogCS8qCiAJICog SUxLL1NOQiBEVlNBQ05UUi9TcHJpdGUgRW5hYmxlCkBAIC0xMTQ0Nyw4ICsxMTQ0MSw4IEBAIGlu dCBpbnRlbF9wbGFuZV9hdG9taWNfY2FsY19jaGFuZ2VzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpvbGRfY3J0Y19zdGF0CiAJICAgIChJU19HRU5fUkFOR0UoZGV2X3ByaXYsIDUsIDYp IHx8CiAJICAgICBJU19JVllCUklER0UoZGV2X3ByaXYpKSAmJgogCSAgICAodHVybl9vbiB8fCAo IW5lZWRzX3NjYWxpbmcob2xkX3BsYW5lX3N0YXRlKSAmJgotCQkJIG5lZWRzX3NjYWxpbmcodG9f aW50ZWxfcGxhbmVfc3RhdGUocGxhbmVfc3RhdGUpKSkpKQotCQlwaXBlX2NvbmZpZy0+ZGlzYWJs ZV9scF93bSA9IHRydWU7CisJCQkgbmVlZHNfc2NhbGluZyhwbGFuZV9zdGF0ZSkpKSkKKwkJY3J0 Y19zdGF0ZS0+ZGlzYWJsZV9scF93bSA9IHRydWU7CiAKIAlyZXR1cm4gMDsKIH0KLS0gCjIuMjAu MQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4