From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patrik Jakobsson Subject: [PATCH 03/12] drm/i915: Clean up AUX power domain handling Date: Mon, 9 Nov 2015 16:48:18 +0100 Message-ID: <1447084107-8521-4-git-send-email-patrik.jakobsson@linux.intel.com> References: <1447084107-8521-1-git-send-email-patrik.jakobsson@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 2B5386E27F for ; Mon, 9 Nov 2015 07:48:54 -0800 (PST) In-Reply-To: <1447084107-8521-1-git-send-email-patrik.jakobsson@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: imre.deak@intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCklu dHJvZHVjZSBpbnRlbF9kaXNwbGF5X3BvcnRfYXV4X3Bvd2VyX2RvbWFpbigpIHdoaWNoIHNpbXBs eSByZXR1cm5zCnRoZSBhcHByb3ByaWF0ZSBBVVggcG93ZXIgZG9tYWluIGZvciBhIHNwZWNpZmlj IHBvcnQsIGFuZCB0aGVuIHJlcGxhY2UKdGhlIGludGVsX2Rpc3BsYXlfcG9ydF9wb3dlcl9kb21h aW4oKSB3aXRoIGNhbGxzIHRvIHRoZSBuZXcgZnVuY3Rpb24KaW4gdGhlIERQIGNvZGUuIEFzIGxv bmcgYXMgd2UncmUgbm90IGFjdHVhbGx5IGVuYWJsaW5nIHRoZSBwb3J0IHdlIGRvbid0Cm5lZWQg dGhlIGxhbmUgcG93ZXIgZG9tYWlucywgYW5kIHRob3NlIGFyZSBoYW5kbGVkIG5vdyBwdXJlbHkg ZnJvbQptb2Rlc2V0X3VwZGF0ZV9jcnRjX3Bvd2VyX2RvbWFpbnMoKS4KCk15IGluaXRpYWwgbW90 aXZhdGlvbiBmb3IgdGhpcyB3YXMgdG8gc2VlIGlmIEkgY291bGQga2VlcCB0aGUgRFBJTyBwb3dl cgp3ZWxscyBwb3dlcmVkIGRvd24gd2hpbGUgZG9pbmcgQVVYIG9uIENIViwgYnV0IHR1cm5zIG91 dCBJIGNhbid0IHNvIHRoaXMKZG9lc24ndCBjaGFuZ2UgYW55dGhpbmcgZm9yIENIViBhdCBsZWFz dC4gQnV0IEkgdGhpbmsgaXQncyBzdGlsbCBhCndvcnRod2lsZSBjaGFuZ2UuCgpTaWduZWQtb2Zm LWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpSZXZp ZXdlZC1ieTogUGF0cmlrIEpha29ic3NvbiA8cGF0cmlrLmpha29ic3NvbkBsaW51eC5pbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgNDAgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j ICAgICAgfCA0OCArKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAyICsrCiAzIGZpbGVzIGNoYW5nZWQsIDU2 IGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwppbmRleCBkMGZlYzA3Li5jMjU3OGQ5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCkBAIC01MTQzLDYgKzUxNDMsMjMgQEAgc3RhdGljIGVudW0gaW50ZWxfZGlzcGxh eV9wb3dlcl9kb21haW4gcG9ydF90b19wb3dlcl9kb21haW4oZW51bSBwb3J0IHBvcnQpCiAJfQog fQogCitzdGF0aWMgZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBwb3J0X3RvX2F1eF9w b3dlcl9kb21haW4oZW51bSBwb3J0IHBvcnQpCit7CisJc3dpdGNoIChwb3J0KSB7CisJY2FzZSBQ T1JUX0E6CisJCXJldHVybiBQT1dFUl9ET01BSU5fQVVYX0E7CisJY2FzZSBQT1JUX0I6CisJCXJl dHVybiBQT1dFUl9ET01BSU5fQVVYX0I7CisJY2FzZSBQT1JUX0M6CisJCXJldHVybiBQT1dFUl9E T01BSU5fQVVYX0M7CisJY2FzZSBQT1JUX0Q6CisJCXJldHVybiBQT1dFUl9ET01BSU5fQVVYX0Q7 CisJZGVmYXVsdDoKKwkJV0FSTl9PTl9PTkNFKDEpOworCQlyZXR1cm4gUE9XRVJfRE9NQUlOX0FV WF9BOworCX0KK30KKwogI2RlZmluZSBmb3JfZWFjaF9wb3dlcl9kb21haW4oZG9tYWluLCBtYXNr KQkJCQlcCiAJZm9yICgoZG9tYWluKSA9IDA7IChkb21haW4pIDwgUE9XRVJfRE9NQUlOX05VTTsg KGRvbWFpbikrKykJXAogCQlpZiAoKDEgPDwgKGRvbWFpbikpICYgKG1hc2spKQpAQCAtNTE3NCw2 ICs1MTkxLDI5IEBAIGludGVsX2Rpc3BsYXlfcG9ydF9wb3dlcl9kb21haW4oc3RydWN0IGludGVs X2VuY29kZXIgKmludGVsX2VuY29kZXIpCiAJfQogfQogCitlbnVtIGludGVsX2Rpc3BsYXlfcG93 ZXJfZG9tYWluCitpbnRlbF9kaXNwbGF5X3BvcnRfYXV4X3Bvd2VyX2RvbWFpbihzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g aW50ZWxfZW5jb2Rlci0+YmFzZS5kZXY7CisJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50 ZWxfZGlnX3BvcnQ7CisKKwlzd2l0Y2ggKGludGVsX2VuY29kZXItPnR5cGUpIHsKKwljYXNlIElO VEVMX09VVFBVVF9VTktOT1dOOgorCQkvKiBPbmx5IERESSBwbGF0Zm9ybXMgc2hvdWxkIGV2ZXIg dXNlIHRoaXMgb3V0cHV0IHR5cGUgKi8KKwkJV0FSTl9PTl9PTkNFKCFIQVNfRERJKGRldikpOwor CWNhc2UgSU5URUxfT1VUUFVUX0RJU1BMQVlQT1JUOgorCWNhc2UgSU5URUxfT1VUUFVUX0VEUDoK KwkJaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmludGVsX2VuY29kZXItPmJhc2Up OworCQlyZXR1cm4gcG9ydF90b19hdXhfcG93ZXJfZG9tYWluKGludGVsX2RpZ19wb3J0LT5wb3J0 KTsKKwljYXNlIElOVEVMX09VVFBVVF9EUF9NU1Q6CisJCWludGVsX2RpZ19wb3J0ID0gZW5jX3Rv X21zdCgmaW50ZWxfZW5jb2Rlci0+YmFzZSktPnByaW1hcnk7CisJCXJldHVybiBwb3J0X3RvX2F1 eF9wb3dlcl9kb21haW4oaW50ZWxfZGlnX3BvcnQtPnBvcnQpOworCWRlZmF1bHQ6CisJCVdBUk5f T05fT05DRSgxKTsKKwkJcmV0dXJuIFBPV0VSX0RPTUFJTl9BVVhfQTsKKwl9Cit9CisKIHN0YXRp YyB1bnNpZ25lZCBsb25nIGdldF9jcnRjX3Bvd2VyX2RvbWFpbnMoc3RydWN0IGRybV9jcnRjICpj cnRjKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYwppbmRleCA0NjU1YWYwLi4zOTc4NTQwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw LmMKQEAgLTI3Nyw3ICsyNzcsNyBAQCBzdGF0aWMgdm9pZCBwcHNfbG9jayhzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwKQogCSAqIFNlZSB2bHZfcG93ZXJfc2VxdWVuY2VyX3Jlc2V0KCkgd2h5IHdl IG5lZWQKIAkgKiBhIHBvd2VyIGRvbWFpbiByZWZlcmVuY2UgaGVyZS4KIAkgKi8KLQlwb3dlcl9k b21haW4gPSBpbnRlbF9kaXNwbGF5X3BvcnRfcG93ZXJfZG9tYWluKGVuY29kZXIpOworCXBvd2Vy X2RvbWFpbiA9IGludGVsX2Rpc3BsYXlfcG9ydF9hdXhfcG93ZXJfZG9tYWluKGVuY29kZXIpOwog CWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBwb3dlcl9kb21haW4pOwogCiAJbXV0 ZXhfbG9jaygmZGV2X3ByaXYtPnBwc19tdXRleCk7CkBAIC0yOTMsNyArMjkzLDcgQEAgc3RhdGlj IHZvaWQgcHBzX3VubG9jayhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCiAJbXV0ZXhfdW5s b2NrKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKIAotCXBvd2VyX2RvbWFpbiA9IGludGVsX2Rpc3Bs YXlfcG9ydF9wb3dlcl9kb21haW4oZW5jb2Rlcik7CisJcG93ZXJfZG9tYWluID0gaW50ZWxfZGlz cGxheV9wb3J0X2F1eF9wb3dlcl9kb21haW4oZW5jb2Rlcik7CiAJaW50ZWxfZGlzcGxheV9wb3dl cl9wdXQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbik7CiB9CiAKQEAgLTgxNiw4ICs4MTYsNiBAQCBp bnRlbF9kcF9hdXhfY2goc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAogCWludGVsX2RwX2No ZWNrX2VkcChpbnRlbF9kcCk7CiAKLQlpbnRlbF9hdXhfZGlzcGxheV9ydW50aW1lX2dldChkZXZf cHJpdik7Ci0KIAkvKiBUcnkgdG8gd2FpdCBmb3IgYW55IHByZXZpb3VzIEFVWCBjaGFubmVsIGFj dGl2aXR5ICovCiAJZm9yICh0cnkgPSAwOyB0cnkgPCAzOyB0cnkrKykgewogCQlzdGF0dXMgPSBJ OTE1X1JFQURfTk9UUkFDRShjaF9jdGwpOwpAQCAtOTI2LDcgKzkyNCw2IEBAIGRvbmU6CiAJcmV0 ID0gcmVjdl9ieXRlczsKIG91dDoKIAlwbV9xb3NfdXBkYXRlX3JlcXVlc3QoJmRldl9wcml2LT5w bV9xb3MsIFBNX1FPU19ERUZBVUxUX1ZBTFVFKTsKLQlpbnRlbF9hdXhfZGlzcGxheV9ydW50aW1l X3B1dChkZXZfcHJpdik7CiAKIAlpZiAodmRkKQogCQllZHBfcGFuZWxfdmRkX29mZihpbnRlbF9k cCwgZmFsc2UpOwpAQCAtMTc4NCw3ICsxNzgxLDcgQEAgc3RhdGljIGJvb2wgZWRwX3BhbmVsX3Zk ZF9vbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCWlmIChlZHBfaGF2ZV9wYW5lbF92ZGQo aW50ZWxfZHApKQogCQlyZXR1cm4gbmVlZF90b19kaXNhYmxlOwogCi0JcG93ZXJfZG9tYWluID0g aW50ZWxfZGlzcGxheV9wb3J0X3Bvd2VyX2RvbWFpbihpbnRlbF9lbmNvZGVyKTsKKwlwb3dlcl9k b21haW4gPSBpbnRlbF9kaXNwbGF5X3BvcnRfYXV4X3Bvd2VyX2RvbWFpbihpbnRlbF9lbmNvZGVy KTsKIAlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgcG93ZXJfZG9tYWluKTsKIAog CURSTV9ERUJVR19LTVMoIlR1cm5pbmcgZURQIHBvcnQgJWMgVkREIG9uXG4iLApAQCAtMTg3NCw3 ICsxODcxLDcgQEAgc3RhdGljIHZvaWQgZWRwX3BhbmVsX3ZkZF9vZmZfc3luYyhzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKQogCWlmICgocHAgJiBQT1dFUl9UQVJHRVRfT04pID09IDApCiAJCWlu dGVsX2RwLT5sYXN0X3Bvd2VyX2N5Y2xlID0gamlmZmllczsKIAotCXBvd2VyX2RvbWFpbiA9IGlu dGVsX2Rpc3BsYXlfcG9ydF9wb3dlcl9kb21haW4oaW50ZWxfZW5jb2Rlcik7CisJcG93ZXJfZG9t YWluID0gaW50ZWxfZGlzcGxheV9wb3J0X2F1eF9wb3dlcl9kb21haW4oaW50ZWxfZW5jb2Rlcik7 CiAJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbik7CiB9CiAK QEAgLTIwMjUsNyArMjAyMiw3IEBAIHN0YXRpYyB2b2lkIGVkcF9wYW5lbF9vZmYoc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCkKIAl3YWl0X3BhbmVsX29mZihpbnRlbF9kcCk7CiAKIAkvKiBXZSBn b3QgYSByZWZlcmVuY2Ugd2hlbiB3ZSBlbmFibGVkIHRoZSBWREQuICovCi0JcG93ZXJfZG9tYWlu ID0gaW50ZWxfZGlzcGxheV9wb3J0X3Bvd2VyX2RvbWFpbihpbnRlbF9lbmNvZGVyKTsKKwlwb3dl cl9kb21haW4gPSBpbnRlbF9kaXNwbGF5X3BvcnRfYXV4X3Bvd2VyX2RvbWFpbihpbnRlbF9lbmNv ZGVyKTsKIAlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgcG93ZXJfZG9tYWluKTsK IH0KIApAQCAtNDc2NSwyNiArNDc2Miw2IEBAIGludGVsX2RwX3Vuc2V0X2VkaWQoc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCkKIAlpbnRlbF9kcC0+aGFzX2F1ZGlvID0gZmFsc2U7CiB9CiAKLXN0 YXRpYyBlbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluCi1pbnRlbF9kcF9wb3dlcl9nZXQo c3RydWN0IGludGVsX2RwICpkcCkKLXsKLQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9 ICZkcF90b19kaWdfcG9ydChkcCktPmJhc2U7Ci0JZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2Rv bWFpbiBwb3dlcl9kb21haW47Ci0KLQlwb3dlcl9kb21haW4gPSBpbnRlbF9kaXNwbGF5X3BvcnRf cG93ZXJfZG9tYWluKGVuY29kZXIpOwotCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KHRvX2k5MTUo ZW5jb2Rlci0+YmFzZS5kZXYpLCBwb3dlcl9kb21haW4pOwotCi0JcmV0dXJuIHBvd2VyX2RvbWFp bjsKLX0KLQotc3RhdGljIHZvaWQKLWludGVsX2RwX3Bvd2VyX3B1dChzdHJ1Y3QgaW50ZWxfZHAg KmRwLAotCQkgICBlbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIHBvd2VyX2RvbWFpbikK LXsKLQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9ICZkcF90b19kaWdfcG9ydChkcCkt PmJhc2U7Ci0JaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQodG9faTkxNShlbmNvZGVyLT5iYXNlLmRl diksIHBvd2VyX2RvbWFpbik7Ci19Ci0KIHN0YXRpYyBlbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVz CiBpbnRlbF9kcF9kZXRlY3Qoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgYm9vbCBm b3JjZSkKIHsKQEAgLTQ4MDgsNyArNDc4NSw4IEBAIGludGVsX2RwX2RldGVjdChzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLCBib29sIGZvcmNlKQogCQlyZXR1cm4gY29ubmVjdG9yX3N0 YXR1c19kaXNjb25uZWN0ZWQ7CiAJfQogCi0JcG93ZXJfZG9tYWluID0gaW50ZWxfZHBfcG93ZXJf Z2V0KGludGVsX2RwKTsKKwlwb3dlcl9kb21haW4gPSBpbnRlbF9kaXNwbGF5X3BvcnRfYXV4X3Bv d2VyX2RvbWFpbihpbnRlbF9lbmNvZGVyKTsKKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldCh0b19p OTE1KGRldiksIHBvd2VyX2RvbWFpbik7CiAKIAkvKiBDYW4ndCBkaXNjb25uZWN0IGVEUCwgYnV0 IHlvdSBjYW4gY2xvc2UgdGhlIGxpZC4uLiAqLwogCWlmIChpc19lZHAoaW50ZWxfZHApKQpAQCAt NDg1Myw3ICs0ODMxLDcgQEAgaW50ZWxfZHBfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IsIGJvb2wgZm9yY2UpCiAJfQogCiBvdXQ6Ci0JaW50ZWxfZHBfcG93ZXJfcHV0KGlu dGVsX2RwLCBwb3dlcl9kb21haW4pOworCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KHRvX2k5MTUo ZGV2KSwgcG93ZXJfZG9tYWluKTsKIAlyZXR1cm4gc3RhdHVzOwogfQogCkBAIC00ODYyLDYgKzQ4 NDAsNyBAQCBpbnRlbF9kcF9mb3JjZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQog ewogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBpbnRlbF9hdHRhY2hlZF9kcChjb25uZWN0 b3IpOwogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyID0gJmRwX3RvX2RpZ19w b3J0KGludGVsX2RwKS0+YmFzZTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGludGVsX2VuY29kZXItPmJhc2UuZGV2KTsKIAllbnVtIGludGVsX2Rpc3BsYXlf cG93ZXJfZG9tYWluIHBvd2VyX2RvbWFpbjsKIAogCURSTV9ERUJVR19LTVMoIltDT05ORUNUT1I6 JWQ6JXNdXG4iLApAQCAtNDg3MSwxMSArNDg1MCwxMiBAQCBpbnRlbF9kcF9mb3JjZShzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCWlmIChjb25uZWN0b3ItPnN0YXR1cyAhPSBjb25u ZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZCkKIAkJcmV0dXJuOwogCi0JcG93ZXJfZG9tYWluID0gaW50 ZWxfZHBfcG93ZXJfZ2V0KGludGVsX2RwKTsKKwlwb3dlcl9kb21haW4gPSBpbnRlbF9kaXNwbGF5 X3BvcnRfYXV4X3Bvd2VyX2RvbWFpbihpbnRlbF9lbmNvZGVyKTsKKwlpbnRlbF9kaXNwbGF5X3Bv d2VyX2dldChkZXZfcHJpdiwgcG93ZXJfZG9tYWluKTsKIAogCWludGVsX2RwX3NldF9lZGlkKGlu dGVsX2RwKTsKIAotCWludGVsX2RwX3Bvd2VyX3B1dChpbnRlbF9kcCwgcG93ZXJfZG9tYWluKTsK KwlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgcG93ZXJfZG9tYWluKTsKIAogCWlm IChpbnRlbF9lbmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9FRFApCiAJCWludGVsX2VuY29k ZXItPnR5cGUgPSBJTlRFTF9PVVRQVVRfRElTUExBWVBPUlQ7CkBAIC01MDkxLDcgKzUwNzEsNyBA QCBzdGF0aWMgdm9pZCBpbnRlbF9lZHBfcGFuZWxfdmRkX3Nhbml0aXplKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHApCiAJICogaW5kZWZpbml0ZWx5LgogCSAqLwogCURSTV9ERUJVR19LTVMoIlZE RCBsZWZ0IG9uIGJ5IEJJT1MsIGFkanVzdGluZyBzdGF0ZSB0cmFja2luZ1xuIik7Ci0JcG93ZXJf ZG9tYWluID0gaW50ZWxfZGlzcGxheV9wb3J0X3Bvd2VyX2RvbWFpbigmaW50ZWxfZGlnX3BvcnQt PmJhc2UpOworCXBvd2VyX2RvbWFpbiA9IGludGVsX2Rpc3BsYXlfcG9ydF9hdXhfcG93ZXJfZG9t YWluKCZpbnRlbF9kaWdfcG9ydC0+YmFzZSk7CiAJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2 X3ByaXYsIHBvd2VyX2RvbWFpbik7CiAKIAllZHBfcGFuZWxfdmRkX3NjaGVkdWxlX29mZihpbnRl bF9kcCk7CkBAIC01MTcyLDcgKzUxNTIsNyBAQCBpbnRlbF9kcF9ocGRfcHVsc2Uoc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsIGJvb2wgbG9uZ19ocGQpCiAJCSAgICAg IHBvcnRfbmFtZShpbnRlbF9kaWdfcG9ydC0+cG9ydCksCiAJCSAgICAgIGxvbmdfaHBkID8gImxv bmciIDogInNob3J0Iik7CiAKLQlwb3dlcl9kb21haW4gPSBpbnRlbF9kaXNwbGF5X3BvcnRfcG93 ZXJfZG9tYWluKGludGVsX2VuY29kZXIpOworCXBvd2VyX2RvbWFpbiA9IGludGVsX2Rpc3BsYXlf cG9ydF9hdXhfcG93ZXJfZG9tYWluKGludGVsX2VuY29kZXIpOwogCWludGVsX2Rpc3BsYXlfcG93 ZXJfZ2V0KGRldl9wcml2LCBwb3dlcl9kb21haW4pOwogCiAJaWYgKGxvbmdfaHBkKSB7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IGE2OGI2Y2QuLjdkMTFhYTAgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCkBAIC0xMTg4LDYgKzExODgsOCBAQCB2b2lkIGhzd19lbmFibGVfaXBzKHN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjKTsKIHZvaWQgaHN3X2Rpc2FibGVfaXBzKHN0cnVjdCBpbnRl bF9jcnRjICpjcnRjKTsKIGVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4KIGludGVsX2Rp c3BsYXlfcG9ydF9wb3dlcl9kb21haW4oc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29k ZXIpOworZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbgoraW50ZWxfZGlzcGxheV9wb3J0 X2F1eF9wb3dlcl9kb21haW4oc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpOwog dm9pZCBpbnRlbF9tb2RlX2Zyb21fcGlwZV9jb25maWcoc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUsCiAJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyk7CiB2b2lk IGludGVsX21vZGVzZXRfcHJlY2xvc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRy bV9maWxlICpmaWxlKTsKLS0gCjIuNS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=