From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH v2 3/4] drm/i915: Store aux power domain in intel_dp Date: Fri, 3 Feb 2017 16:03:15 +0200 Message-ID: <20170203140316.20792-3-ander.conselvan.de.oliveira@intel.com> References: <20170203140316.20792-1-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id B3D616EB8A for ; Fri, 3 Feb 2017 14:03:58 +0000 (UTC) In-Reply-To: <20170203140316.20792-1-ander.conselvan.de.oliveira@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: Ander Conselvan de Oliveira List-Id: intel-gfx@lists.freedesktop.org VGhlIGF1eCBwb3dlciBkb21haW4gb25seSBtYWtlcyBzZW5zZSBpbiB0aGUgRFAgY29kZS4gU3Rv cmluZyBpdCBpbgpzdHJ1Y3QgaW50ZWxfZHAgYXZvaWRzIHNvbWUgaW5kaXJlY3Rpb24uCgpTaWdu ZWQtb2ZmLWJ5OiBBbmRlciBDb25zZWx2YW4gZGUgT2xpdmVpcmEgPGFuZGVyLmNvbnNlbHZhbi5k ZS5vbGl2ZWlyYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jIHwgNTAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwLmMgICAgICB8IDYxICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgIDMgKy0KIDMg ZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgOTAgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDg4Njg5YTAuLmY4OTM3MmYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTU2NDksMjYgKzU2NDksNiBAQCBzdGF0aWMg ZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBwb3J0X3RvX3Bvd2VyX2RvbWFpbihlbnVt IHBvcnQgcG9ydCkKIAl9CiB9CiAKLXN0YXRpYyBlbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9t YWluIHBvcnRfdG9fYXV4X3Bvd2VyX2RvbWFpbihlbnVtIHBvcnQgcG9ydCkKLXsKLQlzd2l0Y2gg KHBvcnQpIHsKLQljYXNlIFBPUlRfQToKLQkJcmV0dXJuIFBPV0VSX0RPTUFJTl9BVVhfQTsKLQlj YXNlIFBPUlRfQjoKLQkJcmV0dXJuIFBPV0VSX0RPTUFJTl9BVVhfQjsKLQljYXNlIFBPUlRfQzoK LQkJcmV0dXJuIFBPV0VSX0RPTUFJTl9BVVhfQzsKLQljYXNlIFBPUlRfRDoKLQkJcmV0dXJuIFBP V0VSX0RPTUFJTl9BVVhfRDsKLQljYXNlIFBPUlRfRToKLQkJLyogRklYTUU6IENoZWNrIFZCVCBm b3IgYWN0dWFsIHdpcmluZyBvZiBQT1JUIEUgKi8KLQkJcmV0dXJuIFBPV0VSX0RPTUFJTl9BVVhf RDsKLQlkZWZhdWx0OgotCQlNSVNTSU5HX0NBU0UocG9ydCk7Ci0JCXJldHVybiBQT1dFUl9ET01B SU5fQVVYX0E7Ci0JfQotfQotCiBlbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluCiBpbnRl bF9kaXNwbGF5X3BvcnRfcG93ZXJfZG9tYWluKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9l bmNvZGVyKQogewpAQCAtNTY5NiwzNiArNTY3Niw2IEBAIGludGVsX2Rpc3BsYXlfcG9ydF9wb3dl cl9kb21haW4oc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCiAJfQogfQogCi1l bnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluCi1pbnRlbF9kaXNwbGF5X3BvcnRfYXV4X3Bv d2VyX2RvbWFpbihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKLXsKLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVsX2VuY29kZXItPmJh c2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydDsKLQot CXN3aXRjaCAoaW50ZWxfZW5jb2Rlci0+dHlwZSkgewotCWNhc2UgSU5URUxfT1VUUFVUX1VOS05P V046Ci0JY2FzZSBJTlRFTF9PVVRQVVRfSERNSToKLQkJLyoKLQkJICogT25seSBEREkgcGxhdGZv cm1zIHNob3VsZCBldmVyIHVzZSB0aGVzZSBvdXRwdXQgdHlwZXMuCi0JCSAqIFdlIGNhbiBnZXQg aGVyZSBhZnRlciB0aGUgSERNSSBkZXRlY3QgY29kZSBoYXMgYWxyZWFkeSBzZXQKLQkJICogdGhl IHR5cGUgb2YgdGhlIHNoYXJlZCBlbmNvZGVyLiBTaW5jZSB3ZSBjYW4ndCBiZSBzdXJlCi0JCSAq IHdoYXQncyB0aGUgc3RhdHVzIG9mIHRoZSBnaXZlbiBjb25uZWN0b3JzLCBwbGF5IHNhZmUgYW5k Ci0JCSAqIHJ1biB0aGUgRFAgZGV0ZWN0aW9uIHRvby4KLQkJICovCi0JCVdBUk5fT05fT05DRSgh SEFTX0RESShkZXZfcHJpdikpOwotCWNhc2UgSU5URUxfT1VUUFVUX0RQOgotCWNhc2UgSU5URUxf T1VUUFVUX0VEUDoKLQkJaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmludGVsX2Vu Y29kZXItPmJhc2UpOwotCQlyZXR1cm4gcG9ydF90b19hdXhfcG93ZXJfZG9tYWluKGludGVsX2Rp Z19wb3J0LT5wb3J0KTsKLQljYXNlIElOVEVMX09VVFBVVF9EUF9NU1Q6Ci0JCWludGVsX2RpZ19w b3J0ID0gZW5jX3RvX21zdCgmaW50ZWxfZW5jb2Rlci0+YmFzZSktPnByaW1hcnk7Ci0JCXJldHVy biBwb3J0X3RvX2F1eF9wb3dlcl9kb21haW4oaW50ZWxfZGlnX3BvcnQtPnBvcnQpOwotCWRlZmF1 bHQ6Ci0JCU1JU1NJTkdfQ0FTRShpbnRlbF9lbmNvZGVyLT50eXBlKTsKLQkJcmV0dXJuIFBPV0VS X0RPTUFJTl9BVVhfQTsKLQl9Ci19Ci0KIHN0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9jcnRjX3Bv d2VyX2RvbWFpbnMoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJCQkgICAgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwppbmRleCA1 MjMxOTY1Li4wNmYxOGMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKQEAgLTM5NiwxNCArMzk2 LDEyIEBAIHN0YXRpYyB2b2lkIHBwc19sb2NrKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJ c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSAmaW50ZWxfZGlnX3BvcnQtPmJhc2U7CiAJ c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKLQllbnVtIGludGVsX2Rpc3Bs YXlfcG93ZXJfZG9tYWluIHBvd2VyX2RvbWFpbjsKIAogCS8qCiAJICogU2VlIHZsdl9wb3dlcl9z ZXF1ZW5jZXJfcmVzZXQoKSB3aHkgd2UgbmVlZAogCSAqIGEgcG93ZXIgZG9tYWluIHJlZmVyZW5j ZSBoZXJlLgogCSAqLwotCXBvd2VyX2RvbWFpbiA9IGludGVsX2Rpc3BsYXlfcG9ydF9hdXhfcG93 ZXJfZG9tYWluKGVuY29kZXIpOwotCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBw b3dlcl9kb21haW4pOworCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBpbnRlbF9k cC0+YXV4X3Bvd2VyX2RvbWFpbik7CiAKIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+cHBzX211dGV4 KTsKIH0KQEAgLTQxNCwxMiArNDEyLDEwIEBAIHN0YXRpYyB2b2lkIHBwc191bmxvY2soc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCkKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9ICZp bnRlbF9kaWdfcG9ydC0+YmFzZTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+ YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShk ZXYpOwotCWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gcG93ZXJfZG9tYWluOwogCiAJ bXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKIAotCXBvd2VyX2RvbWFpbiA9IGlu dGVsX2Rpc3BsYXlfcG9ydF9hdXhfcG93ZXJfZG9tYWluKGVuY29kZXIpOwotCWludGVsX2Rpc3Bs YXlfcG93ZXJfcHV0KGRldl9wcml2LCBwb3dlcl9kb21haW4pOworCWludGVsX2Rpc3BsYXlfcG93 ZXJfcHV0KGRldl9wcml2LCBpbnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFpbik7CiB9CiAKIHN0YXRp YyB2b2lkCkBAIC0yMDA1LDkgKzIwMDEsNyBAQCBzdGF0aWMgYm9vbCBlZHBfcGFuZWxfdmRkX29u KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq aW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7Ci0Jc3RydWN0IGludGVs X2VuY29kZXIgKmludGVsX2VuY29kZXIgPSAmaW50ZWxfZGlnX3BvcnQtPmJhc2U7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwotCWVudW0gaW50ZWxf ZGlzcGxheV9wb3dlcl9kb21haW4gcG93ZXJfZG9tYWluOwogCXUzMiBwcDsKIAlpOTE1X3JlZ190 IHBwX3N0YXRfcmVnLCBwcF9jdHJsX3JlZzsKIAlib29sIG5lZWRfdG9fZGlzYWJsZSA9ICFpbnRl bF9kcC0+d2FudF9wYW5lbF92ZGQ7CkBAIC0yMDIzLDggKzIwMTcsNyBAQCBzdGF0aWMgYm9vbCBl ZHBfcGFuZWxfdmRkX29uKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJaWYgKGVkcF9oYXZl X3BhbmVsX3ZkZChpbnRlbF9kcCkpCiAJCXJldHVybiBuZWVkX3RvX2Rpc2FibGU7CiAKLQlwb3dl cl9kb21haW4gPSBpbnRlbF9kaXNwbGF5X3BvcnRfYXV4X3Bvd2VyX2RvbWFpbihpbnRlbF9lbmNv ZGVyKTsKLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgcG93ZXJfZG9tYWluKTsK KwlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgaW50ZWxfZHAtPmF1eF9wb3dlcl9k b21haW4pOwogCiAJRFJNX0RFQlVHX0tNUygiVHVybmluZyBlRFAgcG9ydCAlYyBWREQgb25cbiIs CiAJCSAgICAgIHBvcnRfbmFtZShpbnRlbF9kaWdfcG9ydC0+cG9ydCkpOwpAQCAtMjA4Miw4ICsy MDc1LDYgQEAgc3RhdGljIHZvaWQgZWRwX3BhbmVsX3ZkZF9vZmZfc3luYyhzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9CiAJ CWRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKLQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxf ZW5jb2RlciA9ICZpbnRlbF9kaWdfcG9ydC0+YmFzZTsKLQllbnVtIGludGVsX2Rpc3BsYXlfcG93 ZXJfZG9tYWluIHBvd2VyX2RvbWFpbjsKIAl1MzIgcHA7CiAJaTkxNV9yZWdfdCBwcF9zdGF0X3Jl ZywgcHBfY3RybF9yZWc7CiAKQEAgLTIxMTMsOCArMjEwNCw3IEBAIHN0YXRpYyB2b2lkIGVkcF9w YW5lbF92ZGRfb2ZmX3N5bmMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAlpZiAoKHBwICYg UEFORUxfUE9XRVJfT04pID09IDApCiAJCWludGVsX2RwLT5wYW5lbF9wb3dlcl9vZmZfdGltZSA9 IGt0aW1lX2dldF9ib290dGltZSgpOwogCi0JcG93ZXJfZG9tYWluID0gaW50ZWxfZGlzcGxheV9w b3J0X2F1eF9wb3dlcl9kb21haW4oaW50ZWxfZW5jb2Rlcik7Ci0JaW50ZWxfZGlzcGxheV9wb3dl cl9wdXQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQo ZGV2X3ByaXYsIGludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluKTsKIH0KIAogc3RhdGljIHZvaWQg ZWRwX3BhbmVsX3ZkZF93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqX193b3JrKQpAQCAtMjIyNywx MSArMjIxNyw4IEBAIHZvaWQgaW50ZWxfZWRwX3BhbmVsX29uKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHApCiAKIHN0YXRpYyB2b2lkIGVkcF9wYW5lbF9vZmYoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkKIHsKLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGRw X3RvX2RpZ19wb3J0KGludGVsX2RwKTsKLQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5j b2RlciA9ICZpbnRlbF9kaWdfcG9ydC0+YmFzZTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g aW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGRldik7Ci0JZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBw b3dlcl9kb21haW47CiAJdTMyIHBwOwogCWk5MTVfcmVnX3QgcHBfY3RybF9yZWc7CiAKQEAgLTIy NjMsOCArMjI1MCw3IEBAIHN0YXRpYyB2b2lkIGVkcF9wYW5lbF9vZmYoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkKIAl3YWl0X3BhbmVsX29mZihpbnRlbF9kcCk7CiAKIAkvKiBXZSBnb3QgYSBy ZWZlcmVuY2Ugd2hlbiB3ZSBlbmFibGVkIHRoZSBWREQuICovCi0JcG93ZXJfZG9tYWluID0gaW50 ZWxfZGlzcGxheV9wb3J0X2F1eF9wb3dlcl9kb21haW4oaW50ZWxfZW5jb2Rlcik7Ci0JaW50ZWxf ZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxh eV9wb3dlcl9wdXQoZGV2X3ByaXYsIGludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluKTsKIH0KIAog dm9pZCBpbnRlbF9lZHBfcGFuZWxfb2ZmKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCkBAIC00 NTg3LDExICs0NTczLDkgQEAgaW50ZWxfZHBfbG9uZ19wdWxzZShzdHJ1Y3QgaW50ZWxfY29ubmVj dG9yICppbnRlbF9jb25uZWN0b3IpCiAJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29k ZXIgPSAmaW50ZWxfZGlnX3BvcnQtPmJhc2U7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNv bm5lY3Rvci0+ZGV2OwogCWVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgc3RhdHVzOwotCWVudW0g aW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gcG93ZXJfZG9tYWluOwogCXU4IHNpbmtfaXJxX3Zl Y3RvciA9IDA7CiAKLQlwb3dlcl9kb21haW4gPSBpbnRlbF9kaXNwbGF5X3BvcnRfYXV4X3Bvd2Vy X2RvbWFpbihpbnRlbF9lbmNvZGVyKTsKLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldCh0b19pOTE1 KGRldiksIHBvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQodG9faTkxNShk ZXYpLCBpbnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFpbik7CiAKIAkvKiBDYW4ndCBkaXNjb25uZWN0 IGVEUCwgYnV0IHlvdSBjYW4gY2xvc2UgdGhlIGxpZC4uLiAqLwogCWlmIChpc19lZHAoaW50ZWxf ZHApKQpAQCAtNDY4OCw3ICs0NjcyLDcgQEAgaW50ZWxfZHBfbG9uZ19wdWxzZShzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IpCiAJaWYgKHN0YXR1cyAhPSBjb25uZWN0b3Jf c3RhdHVzX2Nvbm5lY3RlZCAmJiAhaW50ZWxfZHAtPmlzX21zdCkKIAkJaW50ZWxfZHBfdW5zZXRf ZWRpZChpbnRlbF9kcCk7CiAKLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dCh0b19pOTE1KGRldiks IHBvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQodG9faTkxNShkZXYpLCBp bnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFpbik7CiAJcmV0dXJuIHN0YXR1czsKIH0KIApAQCAtNDcx Niw3ICs0NzAwLDYgQEAgaW50ZWxfZHBfZm9yY2Uoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvcikKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gaW50ZWxfYXR0YWNoZWRfZHAoY29u bmVjdG9yKTsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9ICZkcF90b19k aWdfcG9ydChpbnRlbF9kcCktPmJhc2U7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShpbnRlbF9lbmNvZGVyLT5iYXNlLmRldik7Ci0JZW51bSBpbnRlbF9kaXNw bGF5X3Bvd2VyX2RvbWFpbiBwb3dlcl9kb21haW47CiAKIAlEUk1fREVCVUdfS01TKCJbQ09OTkVD VE9SOiVkOiVzXVxuIiwKIAkJICAgICAgY29ubmVjdG9yLT5iYXNlLmlkLCBjb25uZWN0b3ItPm5h bWUpOwpAQCAtNDcyNSwxMiArNDcwOCwxMSBAQCBpbnRlbF9kcF9mb3JjZShzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yKQogCWlmIChjb25uZWN0b3ItPnN0YXR1cyAhPSBjb25uZWN0b3Jf c3RhdHVzX2Nvbm5lY3RlZCkKIAkJcmV0dXJuOwogCi0JcG93ZXJfZG9tYWluID0gaW50ZWxfZGlz cGxheV9wb3J0X2F1eF9wb3dlcl9kb21haW4oaW50ZWxfZW5jb2Rlcik7Ci0JaW50ZWxfZGlzcGxh eV9wb3dlcl9nZXQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dl cl9nZXQoZGV2X3ByaXYsIGludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluKTsKIAogCWludGVsX2Rw X3NldF9lZGlkKGludGVsX2RwKTsKIAotCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2 LCBwb3dlcl9kb21haW4pOworCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBpbnRl bF9kcC0+YXV4X3Bvd2VyX2RvbWFpbik7CiAKIAlpZiAoaW50ZWxfZW5jb2Rlci0+dHlwZSAhPSBJ TlRFTF9PVVRQVVRfRURQKQogCQlpbnRlbF9lbmNvZGVyLT50eXBlID0gSU5URUxfT1VUUFVUX0RQ OwpAQCAtNDk2NSw3ICs0OTQ3LDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfZWRwX3BhbmVsX3ZkZF9z YW5pdGl6ZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCXN0cnVjdCBpbnRlbF9kaWdpdGFs X3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwogCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNlLmRldjsKIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Ci0JZW51bSBpbnRl bF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBwb3dlcl9kb21haW47CiAKIAlsb2NrZGVwX2Fzc2VydF9o ZWxkKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKIApAQCAtNDk3OSw4ICs0OTYwLDcgQEAgc3RhdGlj IHZvaWQgaW50ZWxfZWRwX3BhbmVsX3ZkZF9zYW5pdGl6ZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwKQogCSAqIGluZGVmaW5pdGVseS4KIAkgKi8KIAlEUk1fREVCVUdfS01TKCJWREQgbGVmdCBv biBieSBCSU9TLCBhZGp1c3Rpbmcgc3RhdGUgdHJhY2tpbmdcbiIpOwotCXBvd2VyX2RvbWFpbiA9 IGludGVsX2Rpc3BsYXlfcG9ydF9hdXhfcG93ZXJfZG9tYWluKCZpbnRlbF9kaWdfcG9ydC0+YmFz ZSk7Ci0JaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbik7CisJ aW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIGludGVsX2RwLT5hdXhfcG93ZXJfZG9t YWluKTsKIAogCWVkcF9wYW5lbF92ZGRfc2NoZWR1bGVfb2ZmKGludGVsX2RwKTsKIH0KQEAgLTUw NTIsMTAgKzUwMzIsOCBAQCBlbnVtIGlycXJldHVybgogaW50ZWxfZHBfaHBkX3B1bHNlKHN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LCBib29sIGxvbmdfaHBkKQogewog CXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxfZGlnX3BvcnQtPmRwOwotCXN0cnVj dCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyID0gJmludGVsX2RpZ19wb3J0LT5iYXNlOwog CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNlLmRldjsK IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Ci0JZW51 bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBwb3dlcl9kb21haW47CiAJZW51bSBpcnFyZXR1 cm4gcmV0ID0gSVJRX05PTkU7CiAKIAlpZiAoaW50ZWxfZGlnX3BvcnQtPmJhc2UudHlwZSAhPSBJ TlRFTF9PVVRQVVRfRURQICYmCkBAIC01MDgzLDggKzUwNjEsNyBAQCBpbnRlbF9kcF9ocGRfcHVs c2Uoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsIGJvb2wgbG9uZ19o cGQpCiAJCXJldHVybiBJUlFfTk9ORTsKIAl9CiAKLQlwb3dlcl9kb21haW4gPSBpbnRlbF9kaXNw bGF5X3BvcnRfYXV4X3Bvd2VyX2RvbWFpbihpbnRlbF9lbmNvZGVyKTsKLQlpbnRlbF9kaXNwbGF5 X3Bvd2VyX2dldChkZXZfcHJpdiwgcG93ZXJfZG9tYWluKTsKKwlpbnRlbF9kaXNwbGF5X3Bvd2Vy X2dldChkZXZfcHJpdiwgaW50ZWxfZHAtPmF1eF9wb3dlcl9kb21haW4pOwogCiAJaWYgKGludGVs X2RwLT5pc19tc3QpIHsKIAkJaWYgKGludGVsX2RwX2NoZWNrX21zdF9zdGF0dXMoaW50ZWxfZHAp ID09IC1FSU5WQUwpIHsKQEAgLTUxMTIsNyArNTA4OSw3IEBAIGludGVsX2RwX2hwZF9wdWxzZShz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwgYm9vbCBsb25nX2hwZCkK IAlyZXQgPSBJUlFfSEFORExFRDsKIAogcHV0X3Bvd2VyOgotCWludGVsX2Rpc3BsYXlfcG93ZXJf cHV0KGRldl9wcml2LCBwb3dlcl9kb21haW4pOworCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRl dl9wcml2LCBpbnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFpbik7CiAKIAlyZXR1cm4gcmV0OwogfQpA QCAtNTkwMywyNyArNTg4MCwzNSBAQCBzdGF0aWMgYm9vbCBpbnRlbF9lZHBfaW5pdF9jb25uZWN0 b3Ioc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAlyZXR1cm4gZmFsc2U7CiB9CiAKKy8qIFNl dCB1cCB0aGUgaG90cGx1ZyBwaW4gYW5kIGF1eCBwb3dlciBkb21haW4uICovCiBzdGF0aWMgdm9p ZAogaW50ZWxfZHBfaW5pdF9jb25uZWN0b3JfcG9ydF9pbmZvKHN0cnVjdCBpbnRlbF9kaWdpdGFs X3BvcnQgKmludGVsX2RpZ19wb3J0KQogewogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy ID0gJmludGVsX2RpZ19wb3J0LT5iYXNlOworCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSAm aW50ZWxfZGlnX3BvcnQtPmRwOwogCi0JLyogU2V0IHVwIHRoZSBob3RwbHVnIHBpbi4gKi8KIAlz d2l0Y2ggKGludGVsX2RpZ19wb3J0LT5wb3J0KSB7CiAJY2FzZSBQT1JUX0E6CiAJCWVuY29kZXIt PmhwZF9waW4gPSBIUERfUE9SVF9BOworCQlpbnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFpbiA9IFBP V0VSX0RPTUFJTl9BVVhfQTsKIAkJYnJlYWs7CiAJY2FzZSBQT1JUX0I6CiAJCWVuY29kZXItPmhw ZF9waW4gPSBIUERfUE9SVF9COworCQlpbnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFpbiA9IFBPV0VS X0RPTUFJTl9BVVhfQjsKIAkJYnJlYWs7CiAJY2FzZSBQT1JUX0M6CiAJCWVuY29kZXItPmhwZF9w aW4gPSBIUERfUE9SVF9DOworCQlpbnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFpbiA9IFBPV0VSX0RP TUFJTl9BVVhfQzsKIAkJYnJlYWs7CiAJY2FzZSBQT1JUX0Q6CiAJCWVuY29kZXItPmhwZF9waW4g PSBIUERfUE9SVF9EOworCQlpbnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFpbiA9IFBPV0VSX0RPTUFJ Tl9BVVhfRDsKIAkJYnJlYWs7CiAJY2FzZSBQT1JUX0U6CiAJCWVuY29kZXItPmhwZF9waW4gPSBI UERfUE9SVF9FOworCisJCS8qIEZJWE1FOiBDaGVjayBWQlQgZm9yIGFjdHVhbCB3aXJpbmcgb2Yg UE9SVCBFICovCisJCWludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluID0gUE9XRVJfRE9NQUlOX0FV WF9EOwogCQlicmVhazsKIAlkZWZhdWx0OgogCQlNSVNTSU5HX0NBU0UoaW50ZWxfZGlnX3BvcnQt PnBvcnQpOwpAQCAtNjAwMyw2ICs1OTg4LDggQEAgaW50ZWxfZHBfaW5pdF9jb25uZWN0b3Ioc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAJY29ubmVjdG9yLT5pbnRl cmxhY2VfYWxsb3dlZCA9IHRydWU7CiAJY29ubmVjdG9yLT5kb3VibGVzY2FuX2FsbG93ZWQgPSAw OwogCisJaW50ZWxfZHBfaW5pdF9jb25uZWN0b3JfcG9ydF9pbmZvKGludGVsX2RpZ19wb3J0KTsK KwogCWludGVsX2RwX2F1eF9pbml0KGludGVsX2RwKTsKIAogCUlOSVRfREVMQVlFRF9XT1JLKCZp bnRlbF9kcC0+cGFuZWxfdmRkX3dvcmssCkBAIC02MDE1LDggKzYwMDIsNiBAQCBpbnRlbF9kcF9p bml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwK IAllbHNlCiAJCWludGVsX2Nvbm5lY3Rvci0+Z2V0X2h3X3N0YXRlID0gaW50ZWxfY29ubmVjdG9y X2dldF9od19zdGF0ZTsKIAotCWludGVsX2RwX2luaXRfY29ubmVjdG9yX3BvcnRfaW5mbyhpbnRl bF9kaWdfcG9ydCk7Ci0KIAkvKiBpbml0IE1TVCBvbiBwb3J0cyB0aGF0IGNhbiBzdXBwb3J0IGl0 ICovCiAJaWYgKEhBU19EUF9NU1QoZGV2X3ByaXYpICYmICFpc19lZHAoaW50ZWxfZHApICYmCiAJ ICAgIChwb3J0ID09IFBPUlRfQiB8fCBwb3J0ID09IFBPUlRfQyB8fCBwb3J0ID09IFBPUlRfRCkp CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDM5M2YyNDMuLjQxYTY5YzIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCkBAIC05NDAsNiArOTQwLDcgQEAgc3RydWN0IGludGVsX2RwIHsK IAkvKiBzaW5rIG9yIGJyYW5jaCBkZXNjcmlwdG9yICovCiAJc3RydWN0IGludGVsX2RwX2Rlc2Mg ZGVzYzsKIAlzdHJ1Y3QgZHJtX2RwX2F1eCBhdXg7CisJZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2Vy X2RvbWFpbiBhdXhfcG93ZXJfZG9tYWluOwogCXVpbnQ4X3QgdHJhaW5fc2V0WzRdOwogCWludCBw YW5lbF9wb3dlcl91cF9kZWxheTsKIAlpbnQgcGFuZWxfcG93ZXJfZG93bl9kZWxheTsKQEAgLTE0 MDIsOCArMTQwMyw2IEBAIHZvaWQgaHN3X2VuYWJsZV9pcHMoc3RydWN0IGludGVsX2NydGMgKmNy dGMpOwogdm9pZCBoc3dfZGlzYWJsZV9pcHMoc3RydWN0IGludGVsX2NydGMgKmNydGMpOwogZW51 bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbgogaW50ZWxfZGlzcGxheV9wb3J0X3Bvd2VyX2Rv bWFpbihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2Rlcik7Ci1lbnVtIGludGVsX2Rp c3BsYXlfcG93ZXJfZG9tYWluCi1pbnRlbF9kaXNwbGF5X3BvcnRfYXV4X3Bvd2VyX2RvbWFpbihz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2Rlcik7CiB2b2lkIGludGVsX21vZGVfZnJv bV9waXBlX2NvbmZpZyhzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKIAkJCQkgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKIAotLSAKMi45LjMKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=