From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 4/7] drm/amdgpu: use graphics objects for connectors. Date: Thu, 14 Apr 2016 12:56:07 +1000 Message-ID: <1460602570-20641-5-git-send-email-airlied@gmail.com> References: <1460602570-20641-1-git-send-email-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id 08F0C6E177 for ; Thu, 14 Apr 2016 02:56:18 +0000 (UTC) Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id B72EC3B759 for ; Thu, 14 Apr 2016 02:56:17 +0000 (UTC) Received: from dreadlord-bne-redhat-com.bne.redhat.com (dhcp-40-179.bne.redhat.com [10.64.40.179]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u3E2uCTN027239 for ; Wed, 13 Apr 2016 22:56:16 -0400 In-Reply-To: <1460602570-20641-1-git-send-email-airlied@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMgaW50cm9kdWNlcyBn cmFwaGljcyBvYmplY3RzIGZvciB0aGUgY29ubmVjdG9ycyBjb2RlLAphbmQgcmVwbGFjZXMgdGhl IGF0b21iaW9zIGVudW1zIHdpdGggdGhlIGdyYXBoaWNzIG9iamVjdCBvbmVzLgoKVGhlc2UgY29y cmVzcG9uZCBjdXJyZW50bHkgc28gd2UgZG9uJ3QgcmVhbGx5IG5lZWQgYSBiYWNrCnRyYW5zbGF0 aW9uIHBhc3MgZm9yIHRoZW0uCgpTaWduZWQtb2ZmLWJ5OiBEYXZlIEFpcmxpZSA8YWlybGllZEBy ZWRoYXQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oICAgICAg ICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2F0b21iaW9z LmMgICB8IDIyICsrKy0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2Nvbm5lY3RvcnMuYyB8IDM3ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY29ubmVjdG9ycy5oIHwgIDMgKy0tCiBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZW5jb2RlcnMuYyAgIHwgIDQgKy0tCiBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfbW9kZS5oICAgICAgIHwgIDggKysrLS0tCiBkcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hdG9tYmlvc19kcC5jICAgICAgIHwgIDggKysrLS0tCiBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hdG9tYmlvc19lbmNvZGVycy5jIHwgMTAgKysrLS0t LQogOCBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCA1NyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCmluZGV4IGE3YTUzYWMuLjBlNTRmNGEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCkBAIC0yMjA0LDcgKzIyMDQsNyBAQCBhbWRncHVf Z2V0X3NkbWFfaW5zdGFuY2Uoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nKQogI2RlZmluZSBhbWRn cHVfZGlzcGxheV9wYWdlX2ZsaXAoYWRldiwgY3J0YywgYmFzZSkgKGFkZXYpLT5tb2RlX2luZm8u ZnVuY3MtPnBhZ2VfZmxpcCgoYWRldiksIChjcnRjKSwgKGJhc2UpKQogI2RlZmluZSBhbWRncHVf ZGlzcGxheV9wYWdlX2ZsaXBfZ2V0X3NjYW5vdXRwb3MoYWRldiwgY3J0YywgdmJsLCBwb3MpIChh ZGV2KS0+bW9kZV9pbmZvLmZ1bmNzLT5wYWdlX2ZsaXBfZ2V0X3NjYW5vdXRwb3MoKGFkZXYpLCAo Y3J0YyksICh2YmwpLCAocG9zKSkKICNkZWZpbmUgYW1kZ3B1X2Rpc3BsYXlfYWRkX2VuY29kZXIo YWRldiwgZSwgcywgYykgKGFkZXYpLT5tb2RlX2luZm8uZnVuY3MtPmFkZF9lbmNvZGVyKChhZGV2 KSwgKGUpLCAocyksIChjKSkKLSNkZWZpbmUgYW1kZ3B1X2Rpc3BsYXlfYWRkX2Nvbm5lY3Rvcihh ZGV2LCBjaSwgc2QsIGN0LCBpYiwgY29pLCBoLCByKSAoYWRldiktPm1vZGVfaW5mby5mdW5jcy0+ YWRkX2Nvbm5lY3RvcigoYWRldiksIChjaSksIChzZCksIChjdCksIChpYiksIChjb2kpLCAoaCks IChyKSkKKyNkZWZpbmUgYW1kZ3B1X2Rpc3BsYXlfYWRkX2Nvbm5lY3RvcihhZGV2LCBjb2ksIHNk LCBjdCwgaWIsIGgsIHIpIChhZGV2KS0+bW9kZV9pbmZvLmZ1bmNzLT5hZGRfY29ubmVjdG9yKChh ZGV2KSwgKGNvaSksIChzZCksIChjdCksIChpYiksIChoKSwgKHIpKQogI2RlZmluZSBhbWRncHVf ZGlzcGxheV9zdG9wX21jX2FjY2VzcyhhZGV2LCBzKSAoYWRldiktPm1vZGVfaW5mby5mdW5jcy0+ c3RvcF9tY19hY2Nlc3MoKGFkZXYpLCAocykpCiAjZGVmaW5lIGFtZGdwdV9kaXNwbGF5X3Jlc3Vt ZV9tY19hY2Nlc3MoYWRldiwgcykgKGFkZXYpLT5tb2RlX2luZm8uZnVuY3MtPnJlc3VtZV9tY19h Y2Nlc3MoKGFkZXYpLCAocykpCiAjZGVmaW5lIGFtZGdwdV9lbWl0X2NvcHlfYnVmZmVyKGFkZXYs IGliLCBzLCBkLCBiKSAoYWRldiktPm1tYW4uYnVmZmVyX2Z1bmNzLT5lbWl0X2NvcHlfYnVmZmVy KChpYiksICAocyksIChkKSwgKGIpKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2F0b21iaW9zLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfYXRvbWJpb3MuYwppbmRleCAzYjQ2OWVhLi41ZjIzNmQ5IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYXRvbWJpb3MuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfYXRvbWJpb3MuYwpAQCAtMjczLDcgKzI3Myw3IEBAIGJvb2wg YW1kZ3B1X2F0b21iaW9zX2dldF9jb25uZWN0b3JfaW5mb19mcm9tX29iamVjdF90YWJsZShzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqCiAJQVRPTV9PQkpFQ1RfSEVBREVSICpvYmpfaGVhZGVyOwogCWlu dCBpLCBqLCBrLCBwYXRoX3NpemUsIGRldmljZV9zdXBwb3J0OwogCWludCBjb25uZWN0b3JfdHlw ZTsKLQl1MTYgY29ubl9pZCwgY29ubmVjdG9yX29iamVjdF9pZDsKKwlzdHJ1Y3QgZ3JhcGhpY3Nf b2JqZWN0X2lkIGNvbm5lY3Rvcl9vYmplY3RfaWQ7CiAJc3RydWN0IGFtZGdwdV9pMmNfYnVzX3Jl YyBkZGNfYnVzOwogCXN0cnVjdCBhbWRncHVfcm91dGVyIHJvdXRlcjsKIAlzdHJ1Y3QgYW1kZ3B1 X2dwaW9fcmVjIGdwaW87CkBAIC0zMDksMjEgKzMwOSwxMCBAQCBib29sIGFtZGdwdV9hdG9tYmlv c19nZXRfY29ubmVjdG9yX2luZm9fZnJvbV9vYmplY3RfdGFibGUoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKgogCQlwYXRoX3NpemUgKz0gbGUxNl90b19jcHUocGF0aC0+dXNTaXplKTsKIAogCQlpZiAo ZGV2aWNlX3N1cHBvcnQgJiBsZTE2X3RvX2NwdShwYXRoLT51c0RldmljZVRhZykpIHsKLQkJCXVp bnQ4X3QgY29uX29ial9pZCwgY29uX29ial9udW0sIGNvbl9vYmpfdHlwZTsKLQotCQkJY29uX29i al9pZCA9Ci0JCQkgICAgKGxlMTZfdG9fY3B1KHBhdGgtPnVzQ29ubk9iamVjdElkKSAmIE9CSkVD VF9JRF9NQVNLKQotCQkJICAgID4+IE9CSkVDVF9JRF9TSElGVDsKLQkJCWNvbl9vYmpfbnVtID0K LQkJCSAgICAobGUxNl90b19jcHUocGF0aC0+dXNDb25uT2JqZWN0SWQpICYgRU5VTV9JRF9NQVNL KQotCQkJICAgID4+IEVOVU1fSURfU0hJRlQ7Ci0JCQljb25fb2JqX3R5cGUgPQotCQkJICAgIChs ZTE2X3RvX2NwdShwYXRoLT51c0Nvbm5PYmplY3RJZCkgJgotCQkJICAgICBPQkpFQ1RfVFlQRV9N QVNLKSA+PiBPQkpFQ1RfVFlQRV9TSElGVDsKKwkJCWNvbm5lY3Rvcl9vYmplY3RfaWQgPSBhbWRn cHVfb2JqZWN0X2lkX2Zyb21fYmlvc19vYmplY3RfaWQocGF0aC0+dXNDb25uT2JqZWN0SWQpOwog CiAJCQljb25uZWN0b3JfdHlwZSA9Ci0JCQkJb2JqZWN0X2Nvbm5lY3Rvcl9jb252ZXJ0W2Nvbl9v YmpfaWRdOwotCQkJY29ubmVjdG9yX29iamVjdF9pZCA9IGNvbl9vYmpfaWQ7CisJCQkJb2JqZWN0 X2Nvbm5lY3Rvcl9jb252ZXJ0W2Nvbm5lY3Rvcl9vYmplY3RfaWQuaWRdOwogCiAJCQlpZiAoY29u bmVjdG9yX3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX1Vua25vd24pCiAJCQkJY29udGludWU7 CkBAIC01MDIsMTMgKzQ5MSwxMCBAQCBib29sIGFtZGdwdV9hdG9tYmlvc19nZXRfY29ubmVjdG9y X2luZm9fZnJvbV9vYmplY3RfdGFibGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKgogCQkJLyogbmVl ZGVkIGZvciBhdXggY2hhbiB0cmFuc2FjdGlvbnMgKi8KIAkJCWRkY19idXMuaHBkID0gaHBkLmhw ZDsKIAotCQkJY29ubl9pZCA9IGxlMTZfdG9fY3B1KHBhdGgtPnVzQ29ubk9iamVjdElkKTsKLQog CQkJYW1kZ3B1X2Rpc3BsYXlfYWRkX2Nvbm5lY3RvcihhZGV2LAotCQkJCQkJICAgICAgY29ubl9p ZCwKKwkJCQkJCSAgICAgIGNvbm5lY3Rvcl9vYmplY3RfaWQsCiAJCQkJCQkgICAgICBsZTE2X3Rv X2NwdShwYXRoLT51c0RldmljZVRhZyksCiAJCQkJCQkgICAgICBjb25uZWN0b3JfdHlwZSwgJmRk Y19idXMsCi0JCQkJCQkgICAgICBjb25uZWN0b3Jfb2JqZWN0X2lkLAogCQkJCQkJICAgICAgJmhw ZCwKIAkJCQkJCSAgICAgICZyb3V0ZXIpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfY29ubmVjdG9ycy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2Nvbm5lY3RvcnMuYwppbmRleCA2MGEwYzlhLi43NjUzMDllIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY29ubmVjdG9ycy5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jb25uZWN0b3JzLmMKQEAgLTYxLDcgKzYx LDcgQEAgdm9pZCBhbWRncHVfY29ubmVjdG9yX2hvdHBsdWcoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvcikKIAkJCWFtZGdwdV9jb25uZWN0b3ItPmNvbl9wcml2OwogCiAJCS8qIGlmIGV4 aXN0aW5nIHNpbmsgdHlwZSB3YXMgbm90IERQIG5vIG5lZWQgdG8gcmV0cmFpbiAqLwotCQlpZiAo ZGlnX2Nvbm5lY3Rvci0+ZHBfc2lua190eXBlICE9IENPTk5FQ1RPUl9PQkpFQ1RfSURfRElTUExB WVBPUlQpCisJCWlmIChkaWdfY29ubmVjdG9yLT5kcF9zaW5rX3R5cGUgIT0gQ09OTkVDVE9SX0lE X0RJU1BMQVlfUE9SVCkKIAkJCXJldHVybjsKIAogCQkvKiBmaXJzdCBnZXQgc2luayB0eXBlIGFz IGl0IG1heSBiZSByZXNldCBhZnRlciAodW4pcGx1ZyAqLwpAQCAtNjksNyArNjksNyBAQCB2b2lk IGFtZGdwdV9jb25uZWN0b3JfaG90cGx1ZyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y KQogCQkvKiBkb24ndCBkbyBhbnl0aGluZyBpZiBzaW5rIGlzIG5vdCBkaXNwbGF5IHBvcnQsIGku ZS4sCiAJCSAqIHBhc3NpdmUgZHAtPihkdml8aGRtaSkgYWRhcHRvcgogCQkgKi8KLQkJaWYgKGRp Z19jb25uZWN0b3ItPmRwX3NpbmtfdHlwZSA9PSBDT05ORUNUT1JfT0JKRUNUX0lEX0RJU1BMQVlQ T1JUKSB7CisJCWlmIChkaWdfY29ubmVjdG9yLT5kcF9zaW5rX3R5cGUgPT0gQ09OTkVDVE9SX0lE X0RJU1BMQVlfUE9SVCkgewogCQkJaW50IHNhdmVkX2RwbXMgPSBjb25uZWN0b3ItPmRwbXM7CiAJ CQkvKiBPbmx5IHR1cm4gb2ZmIHRoZSBkaXNwbGF5IGlmIGl0J3MgcGh5c2ljYWxseSBkaXNjb25u ZWN0ZWQgKi8KIAkJCWlmICghYW1kZ3B1X2Rpc3BsYXlfaHBkX3NlbnNlKGFkZXYsIGFtZGdwdV9j b25uZWN0b3ItPmhwZC5ocGQpKSB7CkBAIC0xMjgsOCArMTI4LDggQEAgaW50IGFtZGdwdV9jb25u ZWN0b3JfZ2V0X21vbml0b3JfYnBjKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJ CWJyZWFrOwogCWNhc2UgRFJNX01PREVfQ09OTkVDVE9SX0Rpc3BsYXlQb3J0OgogCQlkaWdfY29u bmVjdG9yID0gYW1kZ3B1X2Nvbm5lY3Rvci0+Y29uX3ByaXY7Ci0JCWlmICgoZGlnX2Nvbm5lY3Rv ci0+ZHBfc2lua190eXBlID09IENPTk5FQ1RPUl9PQkpFQ1RfSURfRElTUExBWVBPUlQpIHx8Ci0J CSAgICAoZGlnX2Nvbm5lY3Rvci0+ZHBfc2lua190eXBlID09IENPTk5FQ1RPUl9PQkpFQ1RfSURf ZURQKSB8fAorCQlpZiAoKGRpZ19jb25uZWN0b3ItPmRwX3NpbmtfdHlwZSA9PSBDT05ORUNUT1Jf SURfRElTUExBWV9QT1JUKSB8fAorCQkgICAgKGRpZ19jb25uZWN0b3ItPmRwX3NpbmtfdHlwZSA9 PSBDT05ORUNUT1JfSURfRURQKSB8fAogCQkgICAgZHJtX2RldGVjdF9oZG1pX21vbml0b3IoYW1k Z3B1X2Nvbm5lY3Rvcl9lZGlkKGNvbm5lY3RvcikpKSB7CiAJCQlpZiAoY29ubmVjdG9yLT5kaXNw bGF5X2luZm8uYnBjKQogCQkJCWJwYyA9IGNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmJwYzsKQEAg LTMyMSw4ICszMjEsOCBAQCBzdGF0aWMgdm9pZCBhbWRncHVfY29ubmVjdG9yX2dldF9lZGlkKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJCSAgIChjb25uZWN0b3ItPmNvbm5lY3Rv cl90eXBlID09IERSTV9NT0RFX0NPTk5FQ1RPUl9lRFApKSB7CiAJCXN0cnVjdCBhbWRncHVfY29u bmVjdG9yX2F0b21fZGlnICpkaWcgPSBhbWRncHVfY29ubmVjdG9yLT5jb25fcHJpdjsKIAotCQlp ZiAoKGRpZy0+ZHBfc2lua190eXBlID09IENPTk5FQ1RPUl9PQkpFQ1RfSURfRElTUExBWVBPUlQg fHwKLQkJICAgICBkaWctPmRwX3NpbmtfdHlwZSA9PSBDT05ORUNUT1JfT0JKRUNUX0lEX2VEUCkg JiYKKwkJaWYgKChkaWctPmRwX3NpbmtfdHlwZSA9PSBDT05ORUNUT1JfSURfRElTUExBWV9QT1JU IHx8CisJCSAgICAgZGlnLT5kcF9zaW5rX3R5cGUgPT0gQ09OTkVDVE9SX0lEX0VEUCkgJiYKIAkJ ICAgIGFtZGdwdV9jb25uZWN0b3ItPmRkY19idXMtPmhhc19hdXgpCiAJCQlhbWRncHVfY29ubmVj dG9yLT5lZGlkID0gZHJtX2dldF9lZGlkKGNvbm5lY3RvciwKIAkJCQkJCQkgICAgICAmYW1kZ3B1 X2Nvbm5lY3Rvci0+ZGRjX2J1cy0+YXV4LmRkYyk7CkBAIC0xMTY4LDkgKzExNjgsOSBAQCBzdGF0 aWMgaW50IGFtZGdwdV9jb25uZWN0b3JfZHZpX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwKIAkvKiBYWFggY2hlY2sgbW9kZSBiYW5kd2lkdGggKi8KIAogCWlmIChh bWRncHVfY29ubmVjdG9yLT51c2VfZGlnaXRhbCAmJiAobW9kZS0+Y2xvY2sgPiAxNjUwMDApKSB7 Ci0JCWlmICgoYW1kZ3B1X2Nvbm5lY3Rvci0+Y29ubmVjdG9yX29iamVjdF9pZCA9PSBDT05ORUNU T1JfT0JKRUNUX0lEX0RVQUxfTElOS19EVklfSSkgfHwKLQkJICAgIChhbWRncHVfY29ubmVjdG9y LT5jb25uZWN0b3Jfb2JqZWN0X2lkID09IENPTk5FQ1RPUl9PQkpFQ1RfSURfRFVBTF9MSU5LX0RW SV9EKSB8fAotCQkgICAgKGFtZGdwdV9jb25uZWN0b3ItPmNvbm5lY3Rvcl9vYmplY3RfaWQgPT0g Q09OTkVDVE9SX09CSkVDVF9JRF9IRE1JX1RZUEVfQikpIHsKKwkJZW51bSBjb25uZWN0b3JfaWQg Y29ubl9vYmpfaWQgPSBkaXNwbGF5X2dyYXBoaWNzX29iamVjdF9pZF9nZXRfY29ubmVjdG9yX2lk KGFtZGdwdV9jb25uZWN0b3ItPmNvbm5lY3Rvcl9vYmplY3RfaWQpOworCQlpZiAoKGNvbm5fb2Jq X2lkID09IENPTk5FQ1RPUl9JRF9EVUFMX0xJTktfRFZJSSkgfHwKKwkJICAgIChjb25uX29ial9p ZCA9PSBDT05ORUNUT1JfSURfRFVBTF9MSU5LX0RWSUQpKSB7CiAJCQlyZXR1cm4gTU9ERV9PSzsK IAkJfSBlbHNlIGlmIChkcm1fZGV0ZWN0X2hkbWlfbW9uaXRvcihhbWRncHVfY29ubmVjdG9yX2Vk aWQoY29ubmVjdG9yKSkpIHsKIAkJCS8qIEhETUkgMS4zKyBzdXBwb3J0cyBtYXggY2xvY2sgb2Yg MzQwIE1oeiAqLwpAQCAtMTM3Myw3ICsxMzczLDcgQEAgYW1kZ3B1X2Nvbm5lY3Rvcl9kcF9kZXRl Y3Qoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgYm9vbCBmb3JjZSkKIAkJCQlyZXQg PSBjb25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZDsKIAkJfQogCQkvKiBlRFAgaXMgYWx3YXlzIERQ ICovCi0JCWFtZGdwdV9kaWdfY29ubmVjdG9yLT5kcF9zaW5rX3R5cGUgPSBDT05ORUNUT1JfT0JK RUNUX0lEX0RJU1BMQVlQT1JUOworCQlhbWRncHVfZGlnX2Nvbm5lY3Rvci0+ZHBfc2lua190eXBl ID0gQ09OTkVDVE9SX0lEX0RJU1BMQVlfUE9SVDsKIAkJaWYgKCFhbWRncHVfZGlnX2Nvbm5lY3Rv ci0+ZWRwX29uKQogCQkJYW1kZ3B1X2F0b21iaW9zX2VuY29kZXJfc2V0X2VkcF9wYW5lbF9wb3dl cihjb25uZWN0b3IsCiAJCQkJCQkJICAgICBBVE9NX1RSQU5TTUlUVEVSX0FDVElPTl9QT1dFUl9P Tik7CkBAIC0xMzg1LDcgKzEzODUsNyBAQCBhbWRncHVfY29ubmVjdG9yX2RwX2RldGVjdChzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBib29sIGZvcmNlKQogCX0gZWxzZSBpZiAoYW1k Z3B1X2Nvbm5lY3Rvcl9lbmNvZGVyX2dldF9kcF9icmlkZ2VfZW5jb2Rlcl9pZChjb25uZWN0b3Ip ICE9CiAJCSAgIEVOQ09ERVJfT0JKRUNUX0lEX05PTkUpIHsKIAkJLyogRFAgYnJpZGdlcyBhcmUg YWx3YXlzIERQICovCi0JCWFtZGdwdV9kaWdfY29ubmVjdG9yLT5kcF9zaW5rX3R5cGUgPSBDT05O RUNUT1JfT0JKRUNUX0lEX0RJU1BMQVlQT1JUOworCQlhbWRncHVfZGlnX2Nvbm5lY3Rvci0+ZHBf c2lua190eXBlID0gQ09OTkVDVE9SX0lEX0RJU1BMQVlfUE9SVDsKIAkJLyogZ2V0IHRoZSBEUENE IGZyb20gdGhlIGJyaWRnZSAqLwogCQlhbWRncHVfYXRvbWJpb3NfZHBfZ2V0X2RwY2QoYW1kZ3B1 X2Nvbm5lY3Rvcik7CiAKQEAgLTE0MDUsMTAgKzE0MDUsMTAgQEAgYW1kZ3B1X2Nvbm5lY3Rvcl9k cF9kZXRlY3Qoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgYm9vbCBmb3JjZSkKIAkJ CWFtZGdwdV9hdG9tYmlvc19kcF9nZXRfc2lua3R5cGUoYW1kZ3B1X2Nvbm5lY3Rvcik7CiAJCWlm IChhbWRncHVfZGlzcGxheV9ocGRfc2Vuc2UoYWRldiwgYW1kZ3B1X2Nvbm5lY3Rvci0+aHBkLmhw ZCkpIHsKIAkJCXJldCA9IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkOwotCQkJaWYgKGFtZGdw dV9kaWdfY29ubmVjdG9yLT5kcF9zaW5rX3R5cGUgPT0gQ09OTkVDVE9SX09CSkVDVF9JRF9ESVNQ TEFZUE9SVCkKKwkJCWlmIChhbWRncHVfZGlnX2Nvbm5lY3Rvci0+ZHBfc2lua190eXBlID09IENP Tk5FQ1RPUl9JRF9ESVNQTEFZX1BPUlQpCiAJCQkJYW1kZ3B1X2F0b21iaW9zX2RwX2dldF9kcGNk KGFtZGdwdV9jb25uZWN0b3IpOwogCQl9IGVsc2UgewotCQkJaWYgKGFtZGdwdV9kaWdfY29ubmVj dG9yLT5kcF9zaW5rX3R5cGUgPT0gQ09OTkVDVE9SX09CSkVDVF9JRF9ESVNQTEFZUE9SVCkgewor CQkJaWYgKGFtZGdwdV9kaWdfY29ubmVjdG9yLT5kcF9zaW5rX3R5cGUgPT0gQ09OTkVDVE9SX0lE X0RJU1BMQVlfUE9SVCkgewogCQkJCWlmICghYW1kZ3B1X2F0b21iaW9zX2RwX2dldF9kcGNkKGFt ZGdwdV9jb25uZWN0b3IpKQogCQkJCQlyZXQgPSBjb25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZDsK IAkJCX0gZWxzZSB7CkBAIC0xNDYyLDggKzE0NjIsOCBAQCBzdGF0aWMgaW50IGFtZGdwdV9jb25u ZWN0b3JfZHBfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQl9 CiAJCXJldHVybiBNT0RFX09LOwogCX0gZWxzZSB7Ci0JCWlmICgoYW1kZ3B1X2RpZ19jb25uZWN0 b3ItPmRwX3NpbmtfdHlwZSA9PSBDT05ORUNUT1JfT0JKRUNUX0lEX0RJU1BMQVlQT1JUKSB8fAot CQkgICAgKGFtZGdwdV9kaWdfY29ubmVjdG9yLT5kcF9zaW5rX3R5cGUgPT0gQ09OTkVDVE9SX09C SkVDVF9JRF9lRFApKSB7CisJCWlmICgoYW1kZ3B1X2RpZ19jb25uZWN0b3ItPmRwX3NpbmtfdHlw ZSA9PSBDT05ORUNUT1JfSURfRElTUExBWV9QT1JUKSB8fAorCQkgICAgKGFtZGdwdV9kaWdfY29u bmVjdG9yLT5kcF9zaW5rX3R5cGUgPT0gQ09OTkVDVE9SX0lEX0VEUCkpIHsKIAkJCXJldHVybiBh bWRncHVfYXRvbWJpb3NfZHBfbW9kZV92YWxpZF9oZWxwZXIoY29ubmVjdG9yLCBtb2RlKTsKIAkJ fSBlbHNlIHsKIAkJCWlmIChkcm1fZGV0ZWN0X2hkbWlfbW9uaXRvcihhbWRncHVfY29ubmVjdG9y X2VkaWQoY29ubmVjdG9yKSkpIHsKQEAgLTE1MDYsMTEgKzE1MDYsMTEgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIGFtZGdwdV9jb25uZWN0b3JfZWRwX2Z1bmNzID0g ewogCiB2b2lkCiBhbWRncHVfY29ubmVjdG9yX2FkZChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl diwKLQkJICAgICAgdWludDMyX3QgY29ubmVjdG9yX2lkLAorCQkgICAgICBzdHJ1Y3QgZ3JhcGhp Y3Nfb2JqZWN0X2lkIGNvbm5lY3Rvcl9vYmplY3RfaWQsCiAJCSAgICAgIHVpbnQzMl90IHN1cHBv cnRlZF9kZXZpY2UsCiAJCSAgICAgIGludCBjb25uZWN0b3JfdHlwZSwKIAkJICAgICAgc3RydWN0 IGFtZGdwdV9pMmNfYnVzX3JlYyAqaTJjX2J1cywKLQkJICAgICAgdWludDE2X3QgY29ubmVjdG9y X29iamVjdF9pZCwKKwogCQkgICAgICBzdHJ1Y3QgYW1kZ3B1X2hwZCAqaHBkLAogCQkgICAgICBz dHJ1Y3QgYW1kZ3B1X3JvdXRlciAqcm91dGVyKQogewpAQCAtMTUzMSw3ICsxNTMxLDcgQEAgYW1k Z3B1X2Nvbm5lY3Rvcl9hZGQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJLyogc2VlIGlm IHdlIGFscmVhZHkgYWRkZWQgaXQgKi8KIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNvbm5lY3Rvciwg JmRldi0+bW9kZV9jb25maWcuY29ubmVjdG9yX2xpc3QsIGhlYWQpIHsKIAkJYW1kZ3B1X2Nvbm5l Y3RvciA9IHRvX2FtZGdwdV9jb25uZWN0b3IoY29ubmVjdG9yKTsKLQkJaWYgKGFtZGdwdV9jb25u ZWN0b3ItPmNvbm5lY3Rvcl9pZCA9PSBjb25uZWN0b3JfaWQpIHsKKwkJaWYgKGRpc3BsYXlfZ3Jh cGhpY3Nfb2JqZWN0X2lkX2lzX2VxdWFsX3VuY2hlY2tlZChhbWRncHVfY29ubmVjdG9yLT5jb25u ZWN0b3Jfb2JqZWN0X2lkLCBjb25uZWN0b3Jfb2JqZWN0X2lkKSkgewogCQkJYW1kZ3B1X2Nvbm5l Y3Rvci0+ZGV2aWNlcyB8PSBzdXBwb3J0ZWRfZGV2aWNlOwogCQkJcmV0dXJuOwogCQl9CkBAIC0x NTY5LDcgKzE1NjksNiBAQCBhbWRncHVfY29ubmVjdG9yX2FkZChzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwKIAogCWNvbm5lY3RvciA9ICZhbWRncHVfY29ubmVjdG9yLT5iYXNlOwogCi0JYW1k Z3B1X2Nvbm5lY3Rvci0+Y29ubmVjdG9yX2lkID0gY29ubmVjdG9yX2lkOwogCWFtZGdwdV9jb25u ZWN0b3ItPmRldmljZXMgPSBzdXBwb3J0ZWRfZGV2aWNlOwogCWFtZGdwdV9jb25uZWN0b3ItPnNo YXJlZF9kZGMgPSBzaGFyZWRfZGRjOwogCWFtZGdwdV9jb25uZWN0b3ItPmNvbm5lY3Rvcl9vYmpl Y3RfaWQgPSBjb25uZWN0b3Jfb2JqZWN0X2lkOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2Nvbm5lY3RvcnMuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9jb25uZWN0b3JzLmgKaW5kZXggNjFmY2VmMS4uNzBiMjY2MyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Nvbm5lY3RvcnMuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY29ubmVjdG9ycy5oCkBAIC0zMSwxMSAr MzEsMTAgQEAgdTE2IGFtZGdwdV9jb25uZWN0b3JfZW5jb2Rlcl9nZXRfZHBfYnJpZGdlX2VuY29k ZXJfaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm4KIGJvb2wgYW1kZ3B1X2Nvbm5lY3Rvcl9p c19kcDEyX2NhcGFibGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7CiB2b2lkCiBh bWRncHVfY29ubmVjdG9yX2FkZChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKLQkJICAgICAg dWludDMyX3QgY29ubmVjdG9yX2lkLAorCQkgICAgICBzdHJ1Y3QgZ3JhcGhpY3Nfb2JqZWN0X2lk IGNvbm5lY3Rvcl9vYmplY3RfaWQsCiAJCSAgICAgIHVpbnQzMl90IHN1cHBvcnRlZF9kZXZpY2Us CiAJCSAgICAgIGludCBjb25uZWN0b3JfdHlwZSwKIAkJICAgICAgc3RydWN0IGFtZGdwdV9pMmNf YnVzX3JlYyAqaTJjX2J1cywKLQkJICAgICAgdWludDE2X3QgY29ubmVjdG9yX29iamVjdF9pZCwK IAkJICAgICAgc3RydWN0IGFtZGdwdV9ocGQgKmhwZCwKIAkJICAgICAgc3RydWN0IGFtZGdwdV9y b3V0ZXIgKnJvdXRlcik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9lbmNvZGVycy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Vu Y29kZXJzLmMKaW5kZXggOTQxMzhhYi4uNTc0ZTljYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2VuY29kZXJzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2VuY29kZXJzLmMKQEAgLTIyMiw4ICsyMjIsOCBAQCBib29sIGFtZGdw dV9kaWdfbW9uaXRvcl9pc19kdWFsbGluayhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJ Y2FzZSBEUk1fTU9ERV9DT05ORUNUT1JfSERNSUE6CiAJY2FzZSBEUk1fTU9ERV9DT05ORUNUT1Jf RGlzcGxheVBvcnQ6CiAJCWRpZ19jb25uZWN0b3IgPSBhbWRncHVfY29ubmVjdG9yLT5jb25fcHJp djsKLQkJaWYgKChkaWdfY29ubmVjdG9yLT5kcF9zaW5rX3R5cGUgPT0gQ09OTkVDVE9SX09CSkVD VF9JRF9ESVNQTEFZUE9SVCkgfHwKLQkJICAgIChkaWdfY29ubmVjdG9yLT5kcF9zaW5rX3R5cGUg PT0gQ09OTkVDVE9SX09CSkVDVF9JRF9lRFApKQorCQlpZiAoKGRpZ19jb25uZWN0b3ItPmRwX3Np bmtfdHlwZSA9PSBDT05ORUNUT1JfSURfRElTUExBWV9QT1JUKSB8fAorCQkgICAgKGRpZ19jb25u ZWN0b3ItPmRwX3NpbmtfdHlwZSA9PSBDT05ORUNUT1JfSURfRURQKSkKIAkJCXJldHVybiBmYWxz ZTsKIAkJZWxzZSB7CiAJCQkvKiBIRE1JIDEuMyBzdXBwb3J0cyB1cCB0byAzNDAgTWh6IG92ZXIg c2luZ2xlIGxpbmsgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9tb2RlLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfbW9kZS5oCmlu ZGV4IGFkZjEwYzkuLjMzMjg0YzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9tb2RlLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X21vZGUuaApAQCAtMjk0LDExICsyOTQsMTAgQEAgc3RydWN0IGFtZGdwdV9kaXNwbGF5X2Z1bmNz IHsKIAkJCSAgICB1aW50MzJfdCBzdXBwb3J0ZWRfZGV2aWNlLAogCQkJICAgIHUxNiBjYXBzKTsK IAl2b2lkICgqYWRkX2Nvbm5lY3Rvcikoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCi0JCQkg ICAgICB1aW50MzJfdCBjb25uZWN0b3JfaWQsCisJCQkgICAgICBzdHJ1Y3QgZ3JhcGhpY3Nfb2Jq ZWN0X2lkIGNvbm5lY3Rvcl9vYmplY3RfaWQsCiAJCQkgICAgICB1aW50MzJfdCBzdXBwb3J0ZWRf ZGV2aWNlLAogCQkJICAgICAgaW50IGNvbm5lY3Rvcl90eXBlLAogCQkJICAgICAgc3RydWN0IGFt ZGdwdV9pMmNfYnVzX3JlYyAqaTJjX2J1cywKLQkJCSAgICAgIHVpbnQxNl90IGNvbm5lY3Rvcl9v YmplY3RfaWQsCiAJCQkgICAgICBzdHJ1Y3QgYW1kZ3B1X2hwZCAqaHBkLAogCQkJICAgICAgc3Ry dWN0IGFtZGdwdV9yb3V0ZXIgKnJvdXRlcik7CiAJdm9pZCAoKnN0b3BfbWNfYWNjZXNzKShzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKQEAgLTQ1MywxMCArNDUyLDEwIEBAIHN0cnVjdCBhbWRn cHVfZW5jb2RlciB7CiBzdHJ1Y3QgYW1kZ3B1X2Nvbm5lY3Rvcl9hdG9tX2RpZyB7CiAJLyogZGlz cGxheXBvcnQgKi8KIAl1OCBkcGNkW0RQX1JFQ0VJVkVSX0NBUF9TSVpFXTsKLQl1OCBkcF9zaW5r X3R5cGU7CiAJaW50IGRwX2Nsb2NrOwogCWludCBkcF9sYW5lX2NvdW50OwogCWJvb2wgZWRwX29u OworCWVudW0gY29ubmVjdG9yX2lkIGRwX3NpbmtfdHlwZTsKIH07CiAKIHN0cnVjdCBhbWRncHVf Z3Bpb19yZWMgewpAQCAtNTAyLDcgKzUwMSw3IEBAIGVudW0gYW1kZ3B1X2Nvbm5lY3Rvcl9kaXRo ZXIgewogCiBzdHJ1Y3QgYW1kZ3B1X2Nvbm5lY3RvciB7CiAJc3RydWN0IGRybV9jb25uZWN0b3Ig YmFzZTsKLQl1aW50MzJfdCBjb25uZWN0b3JfaWQ7CisJc3RydWN0IGdyYXBoaWNzX29iamVjdF9p ZCBjb25uZWN0b3Jfb2JqZWN0X2lkOwogCXVpbnQzMl90IGRldmljZXM7CiAJc3RydWN0IGFtZGdw dV9pMmNfY2hhbiAqZGRjX2J1czsKIAkvKiBzb21lIHN5c3RlbXMgaGF2ZSBhbiBoZG1pIGFuZCB2 Z2EgcG9ydCB3aXRoIGEgc2hhcmVkIGRkYyBsaW5lICovCkBAIC01MTQsNyArNTEzLDYgQEAgc3Ry dWN0IGFtZGdwdV9jb25uZWN0b3IgewogCXZvaWQgKmNvbl9wcml2OwogCWJvb2wgZGFjX2xvYWRf ZGV0ZWN0OwogCWJvb2wgZGV0ZWN0ZWRfYnlfbG9hZDsgLyogaWYgdGhlIGNvbm5lY3Rpb24gc3Rh dHVzIHdhcyBkZXRlcm1pbmVkIGJ5IGxvYWQgKi8KLQl1aW50MTZfdCBjb25uZWN0b3Jfb2JqZWN0 X2lkOwogCXN0cnVjdCBhbWRncHVfaHBkIGhwZDsKIAlzdHJ1Y3QgYW1kZ3B1X3JvdXRlciByb3V0 ZXI7CiAJc3RydWN0IGFtZGdwdV9pMmNfY2hhbiAqcm91dGVyX2J1czsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2F0b21iaW9zX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hdG9tYmlvc19kcC5jCmluZGV4IGJmNzMxZTkuLjI5ZDY5OGIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2F0b21iaW9zX2RwLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYXRvbWJpb3NfZHAuYwpAQCAtNDA4LDggKzQwOCw4IEBAIHZv aWQgYW1kZ3B1X2F0b21iaW9zX2RwX3NldF9saW5rX2NvbmZpZyhzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLAogCQlyZXR1cm47CiAJZGlnX2Nvbm5lY3RvciA9IGFtZGdwdV9jb25uZWN0 b3ItPmNvbl9wcml2OwogCi0JaWYgKChkaWdfY29ubmVjdG9yLT5kcF9zaW5rX3R5cGUgPT0gQ09O TkVDVE9SX09CSkVDVF9JRF9ESVNQTEFZUE9SVCkgfHwKLQkgICAgKGRpZ19jb25uZWN0b3ItPmRw X3NpbmtfdHlwZSA9PSBDT05ORUNUT1JfT0JKRUNUX0lEX2VEUCkpIHsKKwlpZiAoKGRpZ19jb25u ZWN0b3ItPmRwX3NpbmtfdHlwZSA9PSBDT05ORUNUT1JfSURfRElTUExBWV9QT1JUKSB8fAorCSAg ICAoZGlnX2Nvbm5lY3Rvci0+ZHBfc2lua190eXBlID09IENPTk5FQ1RPUl9JRF9FRFApKSB7CiAJ CXJldCA9IGFtZGdwdV9hdG9tYmlvc19kcF9nZXRfZHBfbGlua19jb25maWcoY29ubmVjdG9yLCBk aWdfY29ubmVjdG9yLT5kcGNkLAogCQkJCQkJCSAgICBtb2RlLT5jbG9jaywKIAkJCQkJCQkgICAg JmRpZ19jb25uZWN0b3ItPmRwX2xhbmVfY291bnQsCkBAIC03MzAsOCArNzMwLDggQEAgdm9pZCBh bWRncHVfYXRvbWJpb3NfZHBfbGlua190cmFpbihzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIs CiAJCXJldHVybjsKIAlkaWdfY29ubmVjdG9yID0gYW1kZ3B1X2Nvbm5lY3Rvci0+Y29uX3ByaXY7 CiAKLQlpZiAoKGRpZ19jb25uZWN0b3ItPmRwX3NpbmtfdHlwZSAhPSBDT05ORUNUT1JfT0JKRUNU X0lEX0RJU1BMQVlQT1JUKSAmJgotCSAgICAoZGlnX2Nvbm5lY3Rvci0+ZHBfc2lua190eXBlICE9 IENPTk5FQ1RPUl9PQkpFQ1RfSURfZURQKSkKKwlpZiAoKGRpZ19jb25uZWN0b3ItPmRwX3Npbmtf dHlwZSAhPSBDT05ORUNUT1JfSURfRElTUExBWV9QT1JUKSAmJgorCSAgICAoZGlnX2Nvbm5lY3Rv ci0+ZHBfc2lua190eXBlICE9IENPTk5FQ1RPUl9JRF9FRFApKQogCQlyZXR1cm47CiAKIAlpZiAo ZHJtX2RwX2RwY2RfcmVhZGIoJmFtZGdwdV9jb25uZWN0b3ItPmRkY19idXMtPmF1eCwgRFBfTUFY X0xBTkVfQ09VTlQsICZ0bXApCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hdG9tYmlvc19lbmNvZGVycy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYXRvbWJp b3NfZW5jb2RlcnMuYwppbmRleCAxZTBiYmEyLi40MzY3OTQxIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hdG9tYmlvc19lbmNvZGVycy5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2F0b21iaW9zX2VuY29kZXJzLmMKQEAgLTUwMyw4ICs1MDMsOCBAQCBp bnQgYW1kZ3B1X2F0b21iaW9zX2VuY29kZXJfZ2V0X2VuY29kZXJfbW9kZShzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIpCiAJCWJyZWFrOwogCWNhc2UgRFJNX01PREVfQ09OTkVDVE9SX0Rpc3Bs YXlQb3J0OgogCQlkaWdfY29ubmVjdG9yID0gYW1kZ3B1X2Nvbm5lY3Rvci0+Y29uX3ByaXY7Ci0J CWlmICgoZGlnX2Nvbm5lY3Rvci0+ZHBfc2lua190eXBlID09IENPTk5FQ1RPUl9PQkpFQ1RfSURf RElTUExBWVBPUlQpIHx8Ci0JCSAgICAoZGlnX2Nvbm5lY3Rvci0+ZHBfc2lua190eXBlID09IENP Tk5FQ1RPUl9PQkpFQ1RfSURfZURQKSkgeworCQlpZiAoKGRpZ19jb25uZWN0b3ItPmRwX3Npbmtf dHlwZSA9PSBDT05ORUNUT1JfSURfRElTUExBWV9QT1JUKSB8fAorCQkgICAgKGRpZ19jb25uZWN0 b3ItPmRwX3NpbmtfdHlwZSA9PSBDT05ORUNUT1JfSURfRURQKSkgewogCQkJcmV0dXJuIEFUT01f RU5DT0RFUl9NT0RFX0RQOwogCQl9IGVsc2UgaWYgKGFtZGdwdV9hdWRpbyAhPSAwKSB7CiAJCQlp ZiAoYW1kZ3B1X2Nvbm5lY3Rvci0+YXVkaW8gPT0gQU1ER1BVX0FVRElPX0VOQUJMRSkKQEAgLTc1 MCw4ICs3NTAsNyBAQCBhbWRncHVfYXRvbWJpb3NfZW5jb2Rlcl9zZXR1cF9kaWdfdHJhbnNtaXR0 ZXIoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBpbnQgYQogCQlocGRfaWQgPSBhbWRncHVf Y29ubmVjdG9yLT5ocGQuaHBkOwogCQlkcF9jbG9jayA9IGRpZ19jb25uZWN0b3ItPmRwX2Nsb2Nr OwogCQlkcF9sYW5lX2NvdW50ID0gZGlnX2Nvbm5lY3Rvci0+ZHBfbGFuZV9jb3VudDsKLQkJY29u bmVjdG9yX29iamVjdF9pZCA9Ci0JCQkoYW1kZ3B1X2Nvbm5lY3Rvci0+Y29ubmVjdG9yX29iamVj dF9pZCAmIE9CSkVDVF9JRF9NQVNLKSA+PiBPQkpFQ1RfSURfU0hJRlQ7CisJCWNvbm5lY3Rvcl9v YmplY3RfaWQgPSBkaXNwbGF5X2dyYXBoaWNzX29iamVjdF9pZF9nZXRfY29ubmVjdG9yX2lkKGFt ZGdwdV9jb25uZWN0b3ItPmNvbm5lY3Rvcl9vYmplY3RfaWQpOwogCX0KIAogCWlmIChlbmNvZGVy LT5jcnRjKSB7CkBAIC0xMTU2LDggKzExNTUsNyBAQCBhbWRncHVfYXRvbWJpb3NfZW5jb2Rlcl9z ZXR1cF9leHRlcm5hbF9lbmNvZGVyKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAogCQlk cF9jbG9jayA9IGRpZ19jb25uZWN0b3ItPmRwX2Nsb2NrOwogCQlkcF9sYW5lX2NvdW50ID0gZGln X2Nvbm5lY3Rvci0+ZHBfbGFuZV9jb3VudDsKLQkJY29ubmVjdG9yX29iamVjdF9pZCA9Ci0JCQko YW1kZ3B1X2Nvbm5lY3Rvci0+Y29ubmVjdG9yX29iamVjdF9pZCAmIE9CSkVDVF9JRF9NQVNLKSA+ PiBPQkpFQ1RfSURfU0hJRlQ7CisJCWNvbm5lY3Rvcl9vYmplY3RfaWQgPSBkaXNwbGF5X2dyYXBo aWNzX29iamVjdF9pZF9nZXRfY29ubmVjdG9yX2lkKGFtZGdwdV9jb25uZWN0b3ItPmNvbm5lY3Rv cl9vYmplY3RfaWQpOwogCX0KIAogCW1lbXNldCgmYXJncywgMCwgc2l6ZW9mKGFyZ3MpKTsKLS0g CjIuNS41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK