From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH 4/8] drm/i915: Use a helper to get the aux power domain Date: Tue, 30 Oct 2018 17:40:47 +0200 Message-ID: <20181030154051.30851-5-imre.deak@intel.com> References: <20181030154051.30851-1-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9C6BC6E102 for ; Tue, 30 Oct 2018 15:41:00 +0000 (UTC) In-Reply-To: <20181030154051.30851-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: Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org RnJvbSBJQ0wgb253YXJkcyB0aGUgQVVYIHBvd2VyIGRvbWFpbiBtYXkgY2hhbmdlIGR5bmFtaWNh bGx5IGJhc2VkIG9uCndoZXRoZXIgYSBEREkvVHlwZUMgcG9ydCBpcyBpbiB0aHVuZGVyYm9sdCBv ciBub24tdGh1bmRlcmJvbHQgbW9kZSwgc28KdXNlIGEgaGVscGVyIGZ1bmN0aW9uIGluc3RlYWQg b2YgYSBzdGF0aWMgZmllbGQgdG8gZ2V0IHRoZSBjdXJyZW50CmRvbWFpbi4KCkNjOiBQYXVsbyBa YW5vbmkgPHBhdWxvLnIuemFub25pQGludGVsLmNvbT4KQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmls bGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEltcmUgRGVhayA8aW1y ZS5kZWFrQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAg ICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMjIgKysr KysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICB8IDczICsrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmggICAgIHwgIDMgKy0KIDQgZmlsZXMgY2hhbmdlZCwgNTYgaW5zZXJ0aW9ucygrKSwg NDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwppbmRleCAzNzM5ZWYwMDM4 MTkuLjViYjQ1OTAxMWE0OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGRpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKQEAgLTIwOTksNyAr MjA5OSw3IEBAIGludGVsX2RkaV9tYWluX2xpbmtfYXV4X2RvbWFpbihzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwKQogCSAqIHJldHVybnMgdGhlIGNvcnJlY3QgZG9tYWluIGZvciBvdGhlciBwb3J0 cyB0b28uCiAJICovCiAJcmV0dXJuIGRpZ19wb3J0LT5hdXhfY2ggPT0gQVVYX0NIX0EgPyBQT1dF Ul9ET01BSU5fQVVYX0lPX0EgOgotCQkJCQkgICAgICBpbnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFp bjsKKwkJCQkJICAgICAgaW50ZWxfYXV4X3Bvd2VyX2RvbWFpbihkaWdfcG9ydCk7CiB9CiAKIHN0 YXRpYyB1NjQgaW50ZWxfZGRpX2dldF9wb3dlcl9kb21haW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IGMzY2FkYzA5 Zjg1OS4uMzY3MTBhMzBmYjM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBA IC01OTQ5LDYgKzU5NDksMjggQEAgZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBpbnRl bF9wb3J0X3RvX3Bvd2VyX2RvbWFpbihlbnVtIHBvcnQgcG9ydCkKIAl9CiB9CiAKK2VudW0gaW50 ZWxfZGlzcGxheV9wb3dlcl9kb21haW4KK2ludGVsX2F1eF9wb3dlcl9kb21haW4oc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCit7CisJc3dpdGNoIChkaWdfcG9ydC0+YXV4X2No KSB7CisJY2FzZSBBVVhfQ0hfQToKKwkJcmV0dXJuIFBPV0VSX0RPTUFJTl9BVVhfQTsKKwljYXNl IEFVWF9DSF9COgorCQlyZXR1cm4gUE9XRVJfRE9NQUlOX0FVWF9COworCWNhc2UgQVVYX0NIX0M6 CisJCXJldHVybiBQT1dFUl9ET01BSU5fQVVYX0M7CisJY2FzZSBBVVhfQ0hfRDoKKwkJcmV0dXJu IFBPV0VSX0RPTUFJTl9BVVhfRDsKKwljYXNlIEFVWF9DSF9FOgorCQlyZXR1cm4gUE9XRVJfRE9N QUlOX0FVWF9FOworCWNhc2UgQVVYX0NIX0Y6CisJCXJldHVybiBQT1dFUl9ET01BSU5fQVVYX0Y7 CisJZGVmYXVsdDoKKwkJTUlTU0lOR19DQVNFKGRpZ19wb3J0LT5hdXhfY2gpOworCQlyZXR1cm4g UE9XRVJfRE9NQUlOX0FVWF9BOworCX0KK30KKwogc3RhdGljIHU2NCBnZXRfY3J0Y19wb3dlcl9k b21haW5zKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCQkgIHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlKQogewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKaW5kZXggNjY0NWM5ZmFj YTlhLi5lNmY1OWVmNTliZTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAtNjkwLDcgKzY5 MCw4IEBAIHN0YXRpYyB2b2lkIHBwc19sb2NrKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJ ICogU2VlIGludGVsX3Bvd2VyX3NlcXVlbmNlcl9yZXNldCgpIHdoeSB3ZSBuZWVkCiAJICogYSBw b3dlciBkb21haW4gcmVmZXJlbmNlIGhlcmUuCiAJICovCi0JaW50ZWxfZGlzcGxheV9wb3dlcl9n ZXQoZGV2X3ByaXYsIGludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluKTsKKwlpbnRlbF9kaXNwbGF5 X3Bvd2VyX2dldChkZXZfcHJpdiwKKwkJCQlpbnRlbF9hdXhfcG93ZXJfZG9tYWluKGRwX3RvX2Rp Z19wb3J0KGludGVsX2RwKSkpOwogCiAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPnBwc19tdXRleCk7 CiB9CkBAIC03MDEsNyArNzAyLDggQEAgc3RhdGljIHZvaWQgcHBzX3VubG9jayhzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKQogCiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cHBzX211dGV4KTsK IAotCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBpbnRlbF9kcC0+YXV4X3Bvd2Vy X2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsCisJCQkJaW50ZWxf YXV4X3Bvd2VyX2RvbWFpbihkcF90b19kaWdfcG9ydChpbnRlbF9kcCkpKTsKIH0KIAogc3RhdGlj IHZvaWQKQEAgLTE1MDUsMjkgKzE1MDcsNiBAQCBpbnRlbF9kcF9hdXhfdHJhbnNmZXIoc3RydWN0 IGRybV9kcF9hdXggKmF1eCwgc3RydWN0IGRybV9kcF9hdXhfbXNnICptc2cpCiAJcmV0dXJuIHJl dDsKIH0KIAotc3RhdGljIGVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4KLWludGVsX2F1 eF9wb3dlcl9kb21haW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKLXsKLQlzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKLQot CXN3aXRjaCAoZGlnX3BvcnQtPmF1eF9jaCkgewotCWNhc2UgQVVYX0NIX0E6Ci0JCXJldHVybiBQ T1dFUl9ET01BSU5fQVVYX0E7Ci0JY2FzZSBBVVhfQ0hfQjoKLQkJcmV0dXJuIFBPV0VSX0RPTUFJ Tl9BVVhfQjsKLQljYXNlIEFVWF9DSF9DOgotCQlyZXR1cm4gUE9XRVJfRE9NQUlOX0FVWF9DOwot CWNhc2UgQVVYX0NIX0Q6Ci0JCXJldHVybiBQT1dFUl9ET01BSU5fQVVYX0Q7Ci0JY2FzZSBBVVhf Q0hfRToKLQkJcmV0dXJuIFBPV0VSX0RPTUFJTl9BVVhfRTsKLQljYXNlIEFVWF9DSF9GOgotCQly ZXR1cm4gUE9XRVJfRE9NQUlOX0FVWF9GOwotCWRlZmF1bHQ6Ci0JCU1JU1NJTkdfQ0FTRShkaWdf cG9ydC0+YXV4X2NoKTsKLQkJcmV0dXJuIFBPV0VSX0RPTUFJTl9BVVhfQTsKLQl9Ci19CiAKIHN0 YXRpYyBpOTE1X3JlZ190IGc0eF9hdXhfY3RsX3JlZyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw KQogewpAQCAtMTY1NCw4ICsxNjMzLDYgQEAgaW50ZWxfZHBfYXV4X2luaXQoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCkKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGRw X3RvX2RpZ19wb3J0KGludGVsX2RwKTsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9 ICZkaWdfcG9ydC0+YmFzZTsKIAotCWludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluID0gaW50ZWxf YXV4X3Bvd2VyX2RvbWFpbihpbnRlbF9kcCk7Ci0KIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+ PSA5KSB7CiAJCWludGVsX2RwLT5hdXhfY2hfY3RsX3JlZyA9IHNrbF9hdXhfY3RsX3JlZzsKIAkJ aW50ZWxfZHAtPmF1eF9jaF9kYXRhX3JlZyA9IHNrbF9hdXhfZGF0YV9yZWc7CkBAIC0yMzU2LDcg KzIzMzMsOCBAQCBzdGF0aWMgYm9vbCBlZHBfcGFuZWxfdmRkX29uKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHApCiAJaWYgKGVkcF9oYXZlX3BhbmVsX3ZkZChpbnRlbF9kcCkpCiAJCXJldHVybiBu ZWVkX3RvX2Rpc2FibGU7CiAKLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgaW50 ZWxfZHAtPmF1eF9wb3dlcl9kb21haW4pOworCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9w cml2LAorCQkJCWludGVsX2F1eF9wb3dlcl9kb21haW4oaW50ZWxfZGlnX3BvcnQpKTsKIAogCURS TV9ERUJVR19LTVMoIlR1cm5pbmcgZURQIHBvcnQgJWMgVkREIG9uXG4iLAogCQkgICAgICBwb3J0 X25hbWUoaW50ZWxfZGlnX3BvcnQtPmJhc2UucG9ydCkpOwpAQCAtMjQ0Miw3ICsyNDIwLDggQEAg c3RhdGljIHZvaWQgZWRwX3BhbmVsX3ZkZF9vZmZfc3luYyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwKQogCWlmICgocHAgJiBQQU5FTF9QT1dFUl9PTikgPT0gMCkKIAkJaW50ZWxfZHAtPnBhbmVs X3Bvd2VyX29mZl90aW1lID0ga3RpbWVfZ2V0X2Jvb3R0aW1lKCk7CiAKLQlpbnRlbF9kaXNwbGF5 X3Bvd2VyX3B1dChkZXZfcHJpdiwgaW50ZWxfZHAtPmF1eF9wb3dlcl9kb21haW4pOworCWludGVs X2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LAorCQkJCWludGVsX2F1eF9wb3dlcl9kb21haW4o aW50ZWxfZGlnX3BvcnQpKTsKIH0KIAogc3RhdGljIHZvaWQgZWRwX3BhbmVsX3ZkZF93b3JrKHN0 cnVjdCB3b3JrX3N0cnVjdCAqX193b3JrKQpAQCAtMjU1NSw2ICsyNTM0LDcgQEAgdm9pZCBpbnRl bF9lZHBfcGFuZWxfb24oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIHN0YXRpYyB2b2lkIGVk cF9wYW5lbF9vZmYoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIHsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkcF90b19pOTE1KGludGVsX2RwKTsKKwlzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKIAl1 MzIgcHA7CiAJaTkxNV9yZWdfdCBwcF9jdHJsX3JlZzsKIApAQCAtMjU2NCwxMCArMjU0NCwxMCBA QCBzdGF0aWMgdm9pZCBlZHBfcGFuZWxfb2ZmKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJ CXJldHVybjsKIAogCURSTV9ERUJVR19LTVMoIlR1cm4gZURQIHBvcnQgJWMgcGFuZWwgcG93ZXIg b2ZmXG4iLAotCQkgICAgICBwb3J0X25hbWUoZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5iYXNl LnBvcnQpKTsKKwkJICAgICAgcG9ydF9uYW1lKGRpZ19wb3J0LT5iYXNlLnBvcnQpKTsKIAogCVdB Uk4oIWludGVsX2RwLT53YW50X3BhbmVsX3ZkZCwgIk5lZWQgZURQIHBvcnQgJWMgVkREIHRvIHR1 cm4gb2ZmIHBhbmVsXG4iLAotCSAgICAgcG9ydF9uYW1lKGRwX3RvX2RpZ19wb3J0KGludGVsX2Rw KS0+YmFzZS5wb3J0KSk7CisJICAgICBwb3J0X25hbWUoZGlnX3BvcnQtPmJhc2UucG9ydCkpOwog CiAJcHAgPSBpcm9ubGFrZV9nZXRfcHBfY29udHJvbChpbnRlbF9kcCk7CiAJLyogV2UgbmVlZCB0 byBzd2l0Y2ggb2ZmIHBhbmVsIHBvd2VyIF9hbmRfIGZvcmNlIHZkZCwgZm9yIG90aGVyd2lzZSBz b21lCkBAIC0yNTg2LDcgKzI1NjYsNyBAQCBzdGF0aWMgdm9pZCBlZHBfcGFuZWxfb2ZmKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJaW50ZWxfZHAtPnBhbmVsX3Bvd2VyX29mZl90aW1lID0g a3RpbWVfZ2V0X2Jvb3R0aW1lKCk7CiAKIAkvKiBXZSBnb3QgYSByZWZlcmVuY2Ugd2hlbiB3ZSBl bmFibGVkIHRoZSBWREQuICovCi0JaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIGlu dGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluKTsKKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZf cHJpdiwgaW50ZWxfYXV4X3Bvd2VyX2RvbWFpbihkaWdfcG9ydCkpOwogfQogCiB2b2lkIGludGVs X2VkcF9wYW5lbF9vZmYoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKQEAgLTUwNjksMTQgKzUw NDksMTcgQEAgaW50ZWxfZHBfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Is CiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0 b3ItPmRldik7CiAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGludGVsX2F0dGFjaGVkX2Rw KGNvbm5lY3Rvcik7Ci0Jc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSAmZHBfdG9fZGln X3BvcnQoaW50ZWxfZHApLT5iYXNlOworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19w b3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOworCXN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyID0gJmRpZ19wb3J0LT5iYXNlOwogCWVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgc3Rh dHVzOworCWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gYXV4X2RvbWFpbiA9CisJCWlu dGVsX2F1eF9wb3dlcl9kb21haW4oZGlnX3BvcnQpOwogCiAJRFJNX0RFQlVHX0tNUygiW0NPTk5F Q1RPUjolZDolc11cbiIsCiAJCSAgICAgIGNvbm5lY3Rvci0+YmFzZS5pZCwgY29ubmVjdG9yLT5u YW1lKTsKIAlXQVJOX09OKCFkcm1fbW9kZXNldF9pc19sb2NrZWQoJmRldl9wcml2LT5kcm0ubW9k ZV9jb25maWcuY29ubmVjdGlvbl9tdXRleCkpOwogCi0JaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQo ZGV2X3ByaXYsIGludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluKTsKKwlpbnRlbF9kaXNwbGF5X3Bv d2VyX2dldChkZXZfcHJpdiwgYXV4X2RvbWFpbik7CiAKIAkvKiBDYW4ndCBkaXNjb25uZWN0IGVE UCAqLwogCWlmIChpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHApKQpAQCAtNTEzOCw3ICs1MTIxLDcg QEAgaW50ZWxfZHBfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCXJl dCA9IGludGVsX2RwX3JldHJhaW5fbGluayhlbmNvZGVyLCBjdHgpOwogCQlpZiAocmV0KSB7CiAJ CQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwKLQkJCQkJCWludGVsX2RwLT5hdXhf cG93ZXJfZG9tYWluKTsKKwkJCQkJCWludGVsX2F1eF9wb3dlcl9kb21haW4oZGlnX3BvcnQpKTsK IAkJCXJldHVybiByZXQ7CiAJCX0KIAl9CkBAIC01MTYyLDcgKzUxNDUsNyBAQCBpbnRlbF9kcF9k ZXRlY3Qoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAlpZiAoc3RhdHVzICE9IGNv bm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkICYmICFpbnRlbF9kcC0+aXNfbXN0KQogCQlpbnRlbF9k cF91bnNldF9lZGlkKGludGVsX2RwKTsKIAotCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9w cml2LCBpbnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9w dXQoZGV2X3ByaXYsIGF1eF9kb21haW4pOwogCXJldHVybiBzdGF0dXM7CiB9CiAKQEAgLTUxNzAs OCArNTE1MywxMSBAQCBzdGF0aWMgdm9pZAogaW50ZWxfZHBfZm9yY2Uoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gaW50ZWxf YXR0YWNoZWRfZHAoY29ubmVjdG9yKTsKLQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5j b2RlciA9ICZkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPmJhc2U7CisJc3RydWN0IGludGVsX2Rp Z2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7CisJc3RydWN0 IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIgPSAmZGlnX3BvcnQtPmJhc2U7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9lbmNvZGVyLT5iYXNl LmRldik7CisJZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBhdXhfZG9tYWluID0KKwkJ aW50ZWxfYXV4X3Bvd2VyX2RvbWFpbihkaWdfcG9ydCk7CiAKIAlEUk1fREVCVUdfS01TKCJbQ09O TkVDVE9SOiVkOiVzXVxuIiwKIAkJICAgICAgY29ubmVjdG9yLT5iYXNlLmlkLCBjb25uZWN0b3It Pm5hbWUpOwpAQCAtNTE4MCwxMSArNTE2NiwxMSBAQCBpbnRlbF9kcF9mb3JjZShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCWlmIChjb25uZWN0b3ItPnN0YXR1cyAhPSBjb25uZWN0 b3Jfc3RhdHVzX2Nvbm5lY3RlZCkKIAkJcmV0dXJuOwogCi0JaW50ZWxfZGlzcGxheV9wb3dlcl9n ZXQoZGV2X3ByaXYsIGludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluKTsKKwlpbnRlbF9kaXNwbGF5 X3Bvd2VyX2dldChkZXZfcHJpdiwgYXV4X2RvbWFpbik7CiAKIAlpbnRlbF9kcF9zZXRfZWRpZChp bnRlbF9kcCk7CiAKLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgaW50ZWxfZHAt PmF1eF9wb3dlcl9kb21haW4pOworCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBh dXhfZG9tYWluKTsKIH0KIAogc3RhdGljIGludCBpbnRlbF9kcF9nZXRfbW9kZXMoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvcikKQEAgLTU1MzAsNiArNTUxNiw3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgaW50ZWxfaGRjcF9zaGltIGludGVsX2RwX2hkY3Bfc2hpbSA9IHsKIHN0YXRpYyB2 b2lkIGludGVsX2VkcF9wYW5lbF92ZGRfc2FuaXRpemUoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkcF90b19pOTE1KGlu dGVsX2RwKTsKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGRwX3RvX2Rp Z19wb3J0KGludGVsX2RwKTsKIAogCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5wcHNf bXV0ZXgpOwogCkBAIC01NTQzLDcgKzU1MzAsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lZHBfcGFu ZWxfdmRkX3Nhbml0aXplKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJICogaW5kZWZpbml0 ZWx5LgogCSAqLwogCURSTV9ERUJVR19LTVMoIlZERCBsZWZ0IG9uIGJ5IEJJT1MsIGFkanVzdGlu ZyBzdGF0ZSB0cmFja2luZ1xuIik7Ci0JaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYs IGludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluKTsKKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChk ZXZfcHJpdiwgaW50ZWxfYXV4X3Bvd2VyX2RvbWFpbihkaWdfcG9ydCkpOwogCiAJZWRwX3BhbmVs X3ZkZF9zY2hlZHVsZV9vZmYoaW50ZWxfZHApOwogfQpAQCAtNTY0MSw3ICs1NjI4LDggQEAgaW50 ZWxfZHBfaHBkX3B1bHNlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0 LCBib29sIGxvbmdfaHBkKQogCQlyZXR1cm4gSVJRX05PTkU7CiAJfQogCi0JaW50ZWxfZGlzcGxh eV9wb3dlcl9nZXQoZGV2X3ByaXYsIGludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluKTsKKwlpbnRl bF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwKKwkJCQlpbnRlbF9hdXhfcG93ZXJfZG9tYWlu KGludGVsX2RpZ19wb3J0KSk7CiAKIAlpZiAoaW50ZWxfZHAtPmlzX21zdCkgewogCQlpZiAoaW50 ZWxfZHBfY2hlY2tfbXN0X3N0YXR1cyhpbnRlbF9kcCkgPT0gLUVJTlZBTCkgewpAQCAtNTY3MCw3 ICs1NjU4LDggQEAgaW50ZWxfZHBfaHBkX3B1bHNlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmludGVsX2RpZ19wb3J0LCBib29sIGxvbmdfaHBkKQogCXJldCA9IElSUV9IQU5ETEVEOwogCiBw dXRfcG93ZXI6Ci0JaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIGludGVsX2RwLT5h dXhfcG93ZXJfZG9tYWluKTsKKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwKKwkJ CQlpbnRlbF9hdXhfcG93ZXJfZG9tYWluKGludGVsX2RpZ19wb3J0KSk7CiAKIAlyZXR1cm4gcmV0 OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCBhMjQyYTExODM4OWQuLmEzZDdiOTNl Y2RkZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTExMzAsNyArMTEzMCw2IEBAIHN0 cnVjdCBpbnRlbF9kcCB7CiAJLyogc2luayBvciBicmFuY2ggZGVzY3JpcHRvciAqLwogCXN0cnVj dCBkcm1fZHBfZGVzYyBkZXNjOwogCXN0cnVjdCBkcm1fZHBfYXV4IGF1eDsKLQllbnVtIGludGVs X2Rpc3BsYXlfcG93ZXJfZG9tYWluIGF1eF9wb3dlcl9kb21haW47CiAJdWludDhfdCB0cmFpbl9z ZXRbNF07CiAJaW50IHBhbmVsX3Bvd2VyX3VwX2RlbGF5OwogCWludCBwYW5lbF9wb3dlcl9kb3du X2RlbGF5OwpAQCAtMTcwOSw2ICsxNzA4LDggQEAgYm9vbCBoc3dfY3J0Y19zdGF0ZV9pcHNfY2Fw YWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7CiB2b2lkIGhz d19lbmFibGVfaXBzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsK IHZvaWQgaHN3X2Rpc2FibGVfaXBzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKTsKIGVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gaW50ZWxfcG9ydF90b19w b3dlcl9kb21haW4oZW51bSBwb3J0IHBvcnQpOworZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2Rv bWFpbgoraW50ZWxfYXV4X3Bvd2VyX2RvbWFpbihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpk aWdfcG9ydCk7CiB2b2lkIGludGVsX21vZGVfZnJvbV9waXBlX2NvbmZpZyhzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSwKIAkJCQkgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29u ZmlnKTsKIHZvaWQgaW50ZWxfY3J0Y19hcm1fZmlmb191bmRlcnJ1bihzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YywKLS0gCjIuMTMuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==