From: Imre Deak Subject: [PATCH v3 4/8] drm/i915: Use a helper to get the aux power domain Date: Wed, 31 Oct 2018 18:26:57 +0200 Message-ID: <20181031162701.32195-5-imre.deak@intel.com> References: <20181031162701.32195-1-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id F26436E33A for ; Wed, 31 Oct 2018 16:27:12 +0000 (UTC) In-Reply-To: <20181031162701.32195-1-imre.deak@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: Lucas De Marchi , Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org RnJvbSBJQ0wgb253YXJkcyB0aGUgQVVYIHBvd2VyIGRvbWFpbiBtYXkgY2hhbmdlIGR5bmFtaWNh bGx5IGJhc2VkIG9uCndoZXRoZXIgYSBEREkvVHlwZUMgcG9ydCBpcyBpbiB0aHVuZGVyYm9sdCBv ciBub24tdGh1bmRlcmJvbHQgbW9kZSwgc28KdXNlIGEgaGVscGVyIGZ1bmN0aW9uIGluc3RlYWQg b2YgYSBzdGF0aWMgZmllbGQgdG8gZ2V0IHRoZSBjdXJyZW50CmRvbWFpbi4KCkNjOiBQYXVsbyBa YW5vbmkgPHBhdWxvLnIuemFub25pQGludGVsLmNvbT4KQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmls bGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+CkNjOiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxq b3NlLnNvdXphQGludGVsLmNvbT4KQ2M6IEx1Y2FzIERlIE1hcmNoaSA8bHVjYXMuZGVtYXJjaGlA aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgIHwgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDIyICsrKysrKysrKysrCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICAgfCA3MyArKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAz ICstCiA0IGZpbGVzIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDQ0IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKaW5kZXggMzczOWVmMDAzODE5Li41YmI0NTkwMTFhNDkg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCkBAIC0yMDk5LDcgKzIwOTksNyBAQCBpbnRlbF9k ZGlfbWFpbl9saW5rX2F1eF9kb21haW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAkgKiBy ZXR1cm5zIHRoZSBjb3JyZWN0IGRvbWFpbiBmb3Igb3RoZXIgcG9ydHMgdG9vLgogCSAqLwogCXJl dHVybiBkaWdfcG9ydC0+YXV4X2NoID09IEFVWF9DSF9BID8gUE9XRVJfRE9NQUlOX0FVWF9JT19B IDoKLQkJCQkJICAgICAgaW50ZWxfZHAtPmF1eF9wb3dlcl9kb21haW47CisJCQkJCSAgICAgIGlu dGVsX2F1eF9wb3dlcl9kb21haW4oZGlnX3BvcnQpOwogfQogCiBzdGF0aWMgdTY0IGludGVsX2Rk aV9nZXRfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCBjM2NhZGMwOWY4NTkuLjM2NzEwYTMwZmIz NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtNTk0OSw2ICs1OTQ5LDI4 IEBAIGVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gaW50ZWxfcG9ydF90b19wb3dlcl9k b21haW4oZW51bSBwb3J0IHBvcnQpCiAJfQogfQogCitlbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJf ZG9tYWluCitpbnRlbF9hdXhfcG93ZXJfZG9tYWluKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmRpZ19wb3J0KQoreworCXN3aXRjaCAoZGlnX3BvcnQtPmF1eF9jaCkgeworCWNhc2UgQVVYX0NI X0E6CisJCXJldHVybiBQT1dFUl9ET01BSU5fQVVYX0E7CisJY2FzZSBBVVhfQ0hfQjoKKwkJcmV0 dXJuIFBPV0VSX0RPTUFJTl9BVVhfQjsKKwljYXNlIEFVWF9DSF9DOgorCQlyZXR1cm4gUE9XRVJf RE9NQUlOX0FVWF9DOworCWNhc2UgQVVYX0NIX0Q6CisJCXJldHVybiBQT1dFUl9ET01BSU5fQVVY X0Q7CisJY2FzZSBBVVhfQ0hfRToKKwkJcmV0dXJuIFBPV0VSX0RPTUFJTl9BVVhfRTsKKwljYXNl IEFVWF9DSF9GOgorCQlyZXR1cm4gUE9XRVJfRE9NQUlOX0FVWF9GOworCWRlZmF1bHQ6CisJCU1J U1NJTkdfQ0FTRShkaWdfcG9ydC0+YXV4X2NoKTsKKwkJcmV0dXJuIFBPV0VSX0RPTUFJTl9BVVhf QTsKKwl9Cit9CisKIHN0YXRpYyB1NjQgZ2V0X2NydGNfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCiAJCQkJICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkK IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCmluZGV4IDY2NDVjOWZhY2E5YS4uZTZmNTllZjU5YmU2 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKQEAgLTY5MCw3ICs2OTAsOCBAQCBzdGF0aWMgdm9p ZCBwcHNfbG9jayhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCSAqIFNlZSBpbnRlbF9wb3dl cl9zZXF1ZW5jZXJfcmVzZXQoKSB3aHkgd2UgbmVlZAogCSAqIGEgcG93ZXIgZG9tYWluIHJlZmVy ZW5jZSBoZXJlLgogCSAqLwotCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBpbnRl bF9kcC0+YXV4X3Bvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3By aXYsCisJCQkJaW50ZWxfYXV4X3Bvd2VyX2RvbWFpbihkcF90b19kaWdfcG9ydChpbnRlbF9kcCkp KTsKIAogCW11dGV4X2xvY2soJmRldl9wcml2LT5wcHNfbXV0ZXgpOwogfQpAQCAtNzAxLDcgKzcw Miw4IEBAIHN0YXRpYyB2b2lkIHBwc191bmxvY2soc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkK IAogCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPnBwc19tdXRleCk7CiAKLQlpbnRlbF9kaXNwbGF5 X3Bvd2VyX3B1dChkZXZfcHJpdiwgaW50ZWxfZHAtPmF1eF9wb3dlcl9kb21haW4pOworCWludGVs X2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LAorCQkJCWludGVsX2F1eF9wb3dlcl9kb21haW4o ZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApKSk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0xNTA1LDI5 ICsxNTA3LDYgQEAgaW50ZWxfZHBfYXV4X3RyYW5zZmVyKHN0cnVjdCBkcm1fZHBfYXV4ICphdXgs IHN0cnVjdCBkcm1fZHBfYXV4X21zZyAqbXNnKQogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBl bnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluCi1pbnRlbF9hdXhfcG93ZXJfZG9tYWluKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCi17Ci0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq ZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7Ci0KLQlzd2l0Y2ggKGRpZ19wb3J0 LT5hdXhfY2gpIHsKLQljYXNlIEFVWF9DSF9BOgotCQlyZXR1cm4gUE9XRVJfRE9NQUlOX0FVWF9B OwotCWNhc2UgQVVYX0NIX0I6Ci0JCXJldHVybiBQT1dFUl9ET01BSU5fQVVYX0I7Ci0JY2FzZSBB VVhfQ0hfQzoKLQkJcmV0dXJuIFBPV0VSX0RPTUFJTl9BVVhfQzsKLQljYXNlIEFVWF9DSF9EOgot CQlyZXR1cm4gUE9XRVJfRE9NQUlOX0FVWF9EOwotCWNhc2UgQVVYX0NIX0U6Ci0JCXJldHVybiBQ T1dFUl9ET01BSU5fQVVYX0U7Ci0JY2FzZSBBVVhfQ0hfRjoKLQkJcmV0dXJuIFBPV0VSX0RPTUFJ Tl9BVVhfRjsKLQlkZWZhdWx0OgotCQlNSVNTSU5HX0NBU0UoZGlnX3BvcnQtPmF1eF9jaCk7Ci0J CXJldHVybiBQT1dFUl9ET01BSU5fQVVYX0E7Ci0JfQotfQogCiBzdGF0aWMgaTkxNV9yZWdfdCBn NHhfYXV4X2N0bF9yZWcoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIHsKQEAgLTE2NTQsOCAr MTYzMyw2IEBAIGludGVsX2RwX2F1eF9pbml0KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJ c3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRl bF9kcCk7CiAJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSAmZGlnX3BvcnQtPmJhc2U7 CiAKLQlpbnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFpbiA9IGludGVsX2F1eF9wb3dlcl9kb21haW4o aW50ZWxfZHApOwotCiAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkgewogCQlpbnRlbF9k cC0+YXV4X2NoX2N0bF9yZWcgPSBza2xfYXV4X2N0bF9yZWc7CiAJCWludGVsX2RwLT5hdXhfY2hf ZGF0YV9yZWcgPSBza2xfYXV4X2RhdGFfcmVnOwpAQCAtMjM1Niw3ICsyMzMzLDggQEAgc3RhdGlj IGJvb2wgZWRwX3BhbmVsX3ZkZF9vbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCWlmIChl ZHBfaGF2ZV9wYW5lbF92ZGQoaW50ZWxfZHApKQogCQlyZXR1cm4gbmVlZF90b19kaXNhYmxlOwog Ci0JaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIGludGVsX2RwLT5hdXhfcG93ZXJf ZG9tYWluKTsKKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwKKwkJCQlpbnRlbF9h dXhfcG93ZXJfZG9tYWluKGludGVsX2RpZ19wb3J0KSk7CiAKIAlEUk1fREVCVUdfS01TKCJUdXJu aW5nIGVEUCBwb3J0ICVjIFZERCBvblxuIiwKIAkJICAgICAgcG9ydF9uYW1lKGludGVsX2RpZ19w b3J0LT5iYXNlLnBvcnQpKTsKQEAgLTI0NDIsNyArMjQyMCw4IEBAIHN0YXRpYyB2b2lkIGVkcF9w YW5lbF92ZGRfb2ZmX3N5bmMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAlpZiAoKHBwICYg UEFORUxfUE9XRVJfT04pID09IDApCiAJCWludGVsX2RwLT5wYW5lbF9wb3dlcl9vZmZfdGltZSA9 IGt0aW1lX2dldF9ib290dGltZSgpOwogCi0JaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3By aXYsIGludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluKTsKKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1 dChkZXZfcHJpdiwKKwkJCQlpbnRlbF9hdXhfcG93ZXJfZG9tYWluKGludGVsX2RpZ19wb3J0KSk7 CiB9CiAKIHN0YXRpYyB2b2lkIGVkcF9wYW5lbF92ZGRfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3Qg Kl9fd29yaykKQEAgLTI1NTUsNiArMjUzNCw3IEBAIHZvaWQgaW50ZWxfZWRwX3BhbmVsX29uKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiBzdGF0aWMgdm9pZCBlZHBfcGFuZWxfb2ZmKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZHBfdG9faTkxNShpbnRlbF9kcCk7CisJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq ZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7CiAJdTMyIHBwOwogCWk5MTVfcmVn X3QgcHBfY3RybF9yZWc7CiAKQEAgLTI1NjQsMTAgKzI1NDQsMTAgQEAgc3RhdGljIHZvaWQgZWRw X3BhbmVsX29mZihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCQlyZXR1cm47CiAKIAlEUk1f REVCVUdfS01TKCJUdXJuIGVEUCBwb3J0ICVjIHBhbmVsIHBvd2VyIG9mZlxuIiwKLQkJICAgICAg cG9ydF9uYW1lKGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+YmFzZS5wb3J0KSk7CisJCSAgICAg IHBvcnRfbmFtZShkaWdfcG9ydC0+YmFzZS5wb3J0KSk7CiAKIAlXQVJOKCFpbnRlbF9kcC0+d2Fu dF9wYW5lbF92ZGQsICJOZWVkIGVEUCBwb3J0ICVjIFZERCB0byB0dXJuIG9mZiBwYW5lbFxuIiwK LQkgICAgIHBvcnRfbmFtZShkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPmJhc2UucG9ydCkpOwor CSAgICAgcG9ydF9uYW1lKGRpZ19wb3J0LT5iYXNlLnBvcnQpKTsKIAogCXBwID0gaXJvbmxha2Vf Z2V0X3BwX2NvbnRyb2woaW50ZWxfZHApOwogCS8qIFdlIG5lZWQgdG8gc3dpdGNoIG9mZiBwYW5l bCBwb3dlciBfYW5kXyBmb3JjZSB2ZGQsIGZvciBvdGhlcndpc2Ugc29tZQpAQCAtMjU4Niw3ICsy NTY2LDcgQEAgc3RhdGljIHZvaWQgZWRwX3BhbmVsX29mZihzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwKQogCWludGVsX2RwLT5wYW5lbF9wb3dlcl9vZmZfdGltZSA9IGt0aW1lX2dldF9ib290dGlt ZSgpOwogCiAJLyogV2UgZ290IGEgcmVmZXJlbmNlIHdoZW4gd2UgZW5hYmxlZCB0aGUgVkRELiAq LwotCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBpbnRlbF9kcC0+YXV4X3Bvd2Vy X2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIGludGVsX2F1eF9w b3dlcl9kb21haW4oZGlnX3BvcnQpKTsKIH0KIAogdm9pZCBpbnRlbF9lZHBfcGFuZWxfb2ZmKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCkBAIC01MDY5LDE0ICs1MDQ5LDE3IEBAIGludGVsX2Rw X2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogewogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5kZXYpOwogCXN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBpbnRlbF9hdHRhY2hlZF9kcChjb25uZWN0b3IpOwotCXN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0gJmRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+ YmFzZTsKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGRwX3RvX2RpZ19w b3J0KGludGVsX2RwKTsKKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9ICZkaWdfcG9y dC0+YmFzZTsKIAllbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzIHN0YXR1czsKKwllbnVtIGludGVs X2Rpc3BsYXlfcG93ZXJfZG9tYWluIGF1eF9kb21haW4gPQorCQlpbnRlbF9hdXhfcG93ZXJfZG9t YWluKGRpZ19wb3J0KTsKIAogCURSTV9ERUJVR19LTVMoIltDT05ORUNUT1I6JWQ6JXNdXG4iLAog CQkgICAgICBjb25uZWN0b3ItPmJhc2UuaWQsIGNvbm5lY3Rvci0+bmFtZSk7CiAJV0FSTl9PTigh ZHJtX21vZGVzZXRfaXNfbG9ja2VkKCZkZXZfcHJpdi0+ZHJtLm1vZGVfY29uZmlnLmNvbm5lY3Rp b25fbXV0ZXgpKTsKIAotCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBpbnRlbF9k cC0+YXV4X3Bvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYs IGF1eF9kb21haW4pOwogCiAJLyogQ2FuJ3QgZGlzY29ubmVjdCBlRFAgKi8KIAlpZiAoaW50ZWxf ZHBfaXNfZWRwKGludGVsX2RwKSkKQEAgLTUxMzgsNyArNTEyMSw3IEBAIGludGVsX2RwX2RldGVj dChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQlyZXQgPSBpbnRlbF9kcF9yZXRy YWluX2xpbmsoZW5jb2RlciwgY3R4KTsKIAkJaWYgKHJldCkgewogCQkJaW50ZWxfZGlzcGxheV9w b3dlcl9wdXQoZGV2X3ByaXYsCi0JCQkJCQlpbnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFpbik7CisJ CQkJCQlpbnRlbF9hdXhfcG93ZXJfZG9tYWluKGRpZ19wb3J0KSk7CiAJCQlyZXR1cm4gcmV0Owog CQl9CiAJfQpAQCAtNTE2Miw3ICs1MTQ1LDcgQEAgaW50ZWxfZHBfZGV0ZWN0KHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IsCiAJaWYgKHN0YXR1cyAhPSBjb25uZWN0b3Jfc3RhdHVzX2Nv bm5lY3RlZCAmJiAhaW50ZWxfZHAtPmlzX21zdCkKIAkJaW50ZWxfZHBfdW5zZXRfZWRpZChpbnRl bF9kcCk7CiAKLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgaW50ZWxfZHAtPmF1 eF9wb3dlcl9kb21haW4pOworCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBhdXhf ZG9tYWluKTsKIAlyZXR1cm4gc3RhdHVzOwogfQogCkBAIC01MTcwLDggKzUxNTMsMTEgQEAgc3Rh dGljIHZvaWQKIGludGVsX2RwX2ZvcmNlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Ip CiB7CiAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGludGVsX2F0dGFjaGVkX2RwKGNvbm5l Y3Rvcik7Ci0Jc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIgPSAmZHBfdG9fZGln X3BvcnQoaW50ZWxfZHApLT5iYXNlOworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19w b3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOworCXN0cnVjdCBpbnRlbF9lbmNvZGVyICpp bnRlbF9lbmNvZGVyID0gJmRpZ19wb3J0LT5iYXNlOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfZW5jb2Rlci0+YmFzZS5kZXYpOworCWVudW0gaW50 ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gYXV4X2RvbWFpbiA9CisJCWludGVsX2F1eF9wb3dlcl9k b21haW4oZGlnX3BvcnQpOwogCiAJRFJNX0RFQlVHX0tNUygiW0NPTk5FQ1RPUjolZDolc11cbiIs CiAJCSAgICAgIGNvbm5lY3Rvci0+YmFzZS5pZCwgY29ubmVjdG9yLT5uYW1lKTsKQEAgLTUxODAs MTEgKzUxNjYsMTEgQEAgaW50ZWxfZHBfZm9yY2Uoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvcikKIAlpZiAoY29ubmVjdG9yLT5zdGF0dXMgIT0gY29ubmVjdG9yX3N0YXR1c19jb25uZWN0 ZWQpCiAJCXJldHVybjsKIAotCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBpbnRl bF9kcC0+YXV4X3Bvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3By aXYsIGF1eF9kb21haW4pOwogCiAJaW50ZWxfZHBfc2V0X2VkaWQoaW50ZWxfZHApOwogCi0JaW50 ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIGludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWlu KTsKKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgYXV4X2RvbWFpbik7CiB9CiAK IHN0YXRpYyBpbnQgaW50ZWxfZHBfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IpCkBAIC01NTMwLDYgKzU1MTYsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2hk Y3Bfc2hpbSBpbnRlbF9kcF9oZGNwX3NoaW0gPSB7CiBzdGF0aWMgdm9pZCBpbnRlbF9lZHBfcGFu ZWxfdmRkX3Nhbml0aXplKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZHBfdG9faTkxNShpbnRlbF9kcCk7CisJc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7 CiAKIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKIApAQCAtNTU0 Myw3ICs1NTMwLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZWRwX3BhbmVsX3ZkZF9zYW5pdGl6ZShz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCSAqIGluZGVmaW5pdGVseS4KIAkgKi8KIAlEUk1f REVCVUdfS01TKCJWREQgbGVmdCBvbiBieSBCSU9TLCBhZGp1c3Rpbmcgc3RhdGUgdHJhY2tpbmdc biIpOwotCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBpbnRlbF9kcC0+YXV4X3Bv d2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIGludGVsX2F1 eF9wb3dlcl9kb21haW4oZGlnX3BvcnQpKTsKIAogCWVkcF9wYW5lbF92ZGRfc2NoZWR1bGVfb2Zm KGludGVsX2RwKTsKIH0KQEAgLTU2NDEsNyArNTYyOCw4IEBAIGludGVsX2RwX2hwZF9wdWxzZShz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwgYm9vbCBsb25nX2hwZCkK IAkJcmV0dXJuIElSUV9OT05FOwogCX0KIAotCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9w cml2LCBpbnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9n ZXQoZGV2X3ByaXYsCisJCQkJaW50ZWxfYXV4X3Bvd2VyX2RvbWFpbihpbnRlbF9kaWdfcG9ydCkp OwogCiAJaWYgKGludGVsX2RwLT5pc19tc3QpIHsKIAkJaWYgKGludGVsX2RwX2NoZWNrX21zdF9z dGF0dXMoaW50ZWxfZHApID09IC1FSU5WQUwpIHsKQEAgLTU2NzAsNyArNTY1OCw4IEBAIGludGVs X2RwX2hwZF9wdWxzZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwg Ym9vbCBsb25nX2hwZCkKIAlyZXQgPSBJUlFfSEFORExFRDsKIAogcHV0X3Bvd2VyOgotCWludGVs X2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBpbnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFpbik7 CisJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsCisJCQkJaW50ZWxfYXV4X3Bvd2Vy X2RvbWFpbihpbnRlbF9kaWdfcG9ydCkpOwogCiAJcmV0dXJuIHJldDsKIH0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKaW5kZXggNWJjN2JhMzI2MTExLi40ZTE2Y2RhOWQ5NGEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCkBAIC0xMTMwLDcgKzExMzAsNiBAQCBzdHJ1Y3QgaW50ZWxfZHAgewog CS8qIHNpbmsgb3IgYnJhbmNoIGRlc2NyaXB0b3IgKi8KIAlzdHJ1Y3QgZHJtX2RwX2Rlc2MgZGVz YzsKIAlzdHJ1Y3QgZHJtX2RwX2F1eCBhdXg7Ci0JZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2Rv bWFpbiBhdXhfcG93ZXJfZG9tYWluOwogCXVpbnQ4X3QgdHJhaW5fc2V0WzRdOwogCWludCBwYW5l bF9wb3dlcl91cF9kZWxheTsKIAlpbnQgcGFuZWxfcG93ZXJfZG93bl9kZWxheTsKQEAgLTE3MTEs NiArMTcxMCw4IEBAIGJvb2wgaHN3X2NydGNfc3RhdGVfaXBzX2NhcGFibGUoY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwogdm9pZCBoc3dfZW5hYmxlX2lwcyhjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7CiB2b2lkIGhzd19kaXNhYmxl X2lwcyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7CiBlbnVtIGlu dGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIGludGVsX3BvcnRfdG9fcG93ZXJfZG9tYWluKGVudW0g cG9ydCBwb3J0KTsKK2VudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4KK2ludGVsX2F1eF9w b3dlcl9kb21haW4oc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpOwogdm9pZCBp bnRlbF9tb2RlX2Zyb21fcGlwZV9jb25maWcoc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUs CiAJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyk7CiB2b2lkIGludGVs X2NydGNfYXJtX2ZpZm9fdW5kZXJydW4oc3RydWN0IGludGVsX2NydGMgKmNydGMsCi0tIAoyLjEz LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=