From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v3 19/19] drm/i915: Make cdclk part of the atomic state. Date: Mon, 15 Jun 2015 12:33:56 +0200 Message-ID: <1434364436-6366-20-git-send-email-maarten.lankhorst@linux.intel.com> References: <1434364436-6366-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTP id F14D16E73D for ; Mon, 15 Jun 2015 03:34:14 -0700 (PDT) In-Reply-To: <1434364436-6366-1-git-send-email-maarten.lankhorst@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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VGhlIHNreWxha2Ugc2NhbGVycyBkZXBlbmQgb24gdGhlIGNkY2xrIGZyZXEsIGJ1dCB0aGF0IGZy ZXF1ZW5jeSBjYW4KY2hhbmdlIGR1cmluZyBhIG1vZGVzZXQuIFNvIHdoZW4gYSBtb2Rlc2V0IGhh cHBlbnMgY2FsY3VsYXRlIHRoZSBuZXcKY2RjbGsgaW4gdGhlIGF0b21pYyBzdGF0ZS4gV2l0aCB0 aGUgdHJhbnNpdGlvbmFsIGhlbHBlcnMgZ29uZSB0aGUKY2FjaGVkIHZhbHVlIGNhbiBiZSB1c2Vk IGluIHRoZSBzY2FsZXIsIGFuZCBjb21taXR0ZWQgYWZ0ZXIgYWxsCmNydGMncyBhcmUgZGlzYWJs ZWQuCgpCdWd6aWxsYTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/ aWQ9OTA4NzQKU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hv cnN0QGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o ICAgICAgfCAgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jICB8ICAg MiArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAyNzQgKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oICAgICB8ICAgMSArCiA0IGZpbGVzIGNoYW5nZWQsIDEzNSBpbnNlcnRpb25zKCspLCAxNDUg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggNjExZmJkODZjMWNjLi4w ZjAzZDk5NTE1MWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtNjE5LDcgKzYxOSw4IEBA IHN0cnVjdCBkcm1faTkxNV9kaXNwbGF5X2Z1bmNzIHsKIAkJCQkgc3RydWN0IGRybV9jcnRjICpj cnRjLAogCQkJCSB1aW50MzJfdCBzcHJpdGVfd2lkdGgsIHVpbnQzMl90IHNwcml0ZV9oZWlnaHQs CiAJCQkJIGludCBwaXhlbF9zaXplLCBib29sIGVuYWJsZSwgYm9vbCBzY2FsZWQpOwotCXZvaWQg KCptb2Rlc2V0X2dsb2JhbF9yZXNvdXJjZXMpKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0 ZSk7CisJaW50ICgqbW9kZXNldF9jYWxjX2NkY2xrKShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq c3RhdGUpOworCXZvaWQgKCptb2Rlc2V0X2NvbW1pdF9jZGNsaykoc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlKTsKIAkvKiBSZXR1cm5zIHRoZSBhY3RpdmUgc3RhdGUgb2YgdGhlIGNydGMs IGFuZCBpZiB0aGUgY3J0YyBpcyBhY3RpdmUsCiAJICogZmlsbHMgb3V0IHRoZSBwaXBlLWNvbmZp ZyB3aXRoIHRoZSBodyBzdGF0ZS4gKi8KIAlib29sICgqZ2V0X3BpcGVfY29uZmlnKShzdHJ1Y3Qg aW50ZWxfY3J0YyAqLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRv bWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwppbmRleCAwNjBkOThi MTBmODMuLjBhZWNlZDgyMjAxZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfYXRvbWljLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMKQEAg LTU0LDYgKzU0LDggQEAgaW50IGludGVsX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAogCWludCBpOwogCWJvb2wgbm90X251Y2xlYXIgPSBmYWxzZTsKIAorCXRvX2ludGVsX2F0 b21pY19zdGF0ZShzdGF0ZSktPmNkY2xrID0gdG9faTkxNShkZXYpLT5jZGNsa19mcmVxOworCiAJ LyoKIAkgKiBGSVhNRTogIEF0IHRoZSBtb21lbnQsIHdlIG9ubHkgc3VwcG9ydCAibnVjbGVhciBw YWdlZmxpcCIgb24gYQogCSAqIHNpbmdsZSBDUlRDLiAgQ3Jvc3MtY3J0YyB1cGRhdGVzIHdpbGwg YmUgYWRkZWQgbGF0ZXIuCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggNzQ2 YzczZDJhYjg0Li4zOWQyN2Q4N2EwYjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKQEAgLTUxOTQsOCArNTE5NCwxMyBAQCBzdGF0aWMgdm9pZCBtb2Rlc2V0X3VwZGF0ZV9jcnRj X3Bvd2VyX2RvbWFpbnMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQkJaW50ZWxf ZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIGRvbWFpbik7CiAJfQogCi0JaWYgKGRldl9wcml2 LT5kaXNwbGF5Lm1vZGVzZXRfZ2xvYmFsX3Jlc291cmNlcykKLQkJZGV2X3ByaXYtPmRpc3BsYXku bW9kZXNldF9nbG9iYWxfcmVzb3VyY2VzKHN0YXRlKTsKKwlpZiAoZGV2X3ByaXYtPmRpc3BsYXku bW9kZXNldF9jb21taXRfY2RjbGspIHsKKwkJdW5zaWduZWQgaW50IGNkY2xrID0gdG9faW50ZWxf YXRvbWljX3N0YXRlKHN0YXRlKS0+Y2RjbGs7CisKKwkJaWYgKGNkY2xrICE9IGRldl9wcml2LT5j ZGNsa19mcmVxICYmCisJCSAgICAhV0FSTl9PTighc3RhdGUtPmFsbG93X21vZGVzZXQpKQorCQkJ ZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jb21taXRfY2RjbGsoc3RhdGUpOworCX0KIAogCWZv cl9lYWNoX2ludGVsX2NydGMoZGV2LCBjcnRjKSB7CiAJCWVudW0gaW50ZWxfZGlzcGxheV9wb3dl cl9kb21haW4gZG9tYWluOwpAQCAtNTg0NywxMSArNTg1Miw3IEBAIHN0YXRpYyBpbnQgaW50ZWxf bW9kZV9tYXhfcGl4Y2xrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJaW50IG1heF9waXhjbGsg PSAwOwogCiAJZm9yX2VhY2hfaW50ZWxfY3J0YyhkZXYsIGludGVsX2NydGMpIHsKLQkJaWYgKHN0 YXRlKQotCQkJY3J0Y19zdGF0ZSA9Ci0JCQkJaW50ZWxfYXRvbWljX2dldF9jcnRjX3N0YXRlKHN0 YXRlLCBpbnRlbF9jcnRjKTsKLQkJZWxzZQotCQkJY3J0Y19zdGF0ZSA9IGludGVsX2NydGMtPmNv bmZpZzsKKwkJY3J0Y19zdGF0ZSA9IGludGVsX2F0b21pY19nZXRfY3J0Y19zdGF0ZShzdGF0ZSwg aW50ZWxfY3J0Yyk7CiAJCWlmIChJU19FUlIoY3J0Y19zdGF0ZSkpCiAJCQlyZXR1cm4gUFRSX0VS UihjcnRjX3N0YXRlKTsKIApAQCAtNTg2NSw0NiArNTg2NiwzNCBAQCBzdGF0aWMgaW50IGludGVs X21vZGVfbWF4X3BpeGNsayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCXJldHVybiBtYXhfcGl4 Y2xrOwogfQogCi1zdGF0aWMgaW50IHZhbGxleXZpZXdfbW9kZXNldF9nbG9iYWxfcGlwZXMoc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQorc3RhdGljIGludCB2YWxsZXl2aWV3X21vZGVz ZXRfY2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7Ci0Jc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+ZGV2KTsKLQlzdHJ1 Y3QgZHJtX2NydGMgKmNydGM7Ci0Jc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwot CWludCBtYXhfcGl4Y2xrID0gaW50ZWxfbW9kZV9tYXhfcGl4Y2xrKHN0YXRlLT5kZXYsIHN0YXRl KTsKLQlpbnQgY2RjbGssIHJldCA9IDA7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHN0YXRl LT5kZXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJp dmF0ZTsKKwlpbnQgbWF4X3BpeGNsayA9IGludGVsX21vZGVfbWF4X3BpeGNsayhkZXYsIHN0YXRl KTsKIAogCWlmIChtYXhfcGl4Y2xrIDwgMCkKIAkJcmV0dXJuIG1heF9waXhjbGs7CiAKLQlpZiAo SVNfVkFMTEVZVklFVyhkZXZfcHJpdikpCi0JCWNkY2xrID0gdmFsbGV5dmlld19jYWxjX2NkY2xr KGRldl9wcml2LCBtYXhfcGl4Y2xrKTsKLQllbHNlCi0JCWNkY2xrID0gYnJveHRvbl9jYWxjX2Nk Y2xrKGRldl9wcml2LCBtYXhfcGl4Y2xrKTsKLQotCWlmIChjZGNsayA9PSBkZXZfcHJpdi0+Y2Rj bGtfZnJlcSkKLQkJcmV0dXJuIDA7Ci0KLQkvKiBhZGQgYWxsIGFjdGl2ZSBwaXBlcyB0byB0aGUg c3RhdGUgKi8KLQlmb3JfZWFjaF9jcnRjKHN0YXRlLT5kZXYsIGNydGMpIHsKLQkJY3J0Y19zdGF0 ZSA9IGRybV9hdG9taWNfZ2V0X2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOwotCQlpZiAoSVNfRVJS KGNydGNfc3RhdGUpKQotCQkJcmV0dXJuIFBUUl9FUlIoY3J0Y19zdGF0ZSk7CisJdG9faW50ZWxf YXRvbWljX3N0YXRlKHN0YXRlKS0+Y2RjbGsgPQorCQl2YWxsZXl2aWV3X2NhbGNfY2RjbGsoZGV2 X3ByaXYsIG1heF9waXhjbGspOwogCi0JCWlmICghY3J0Y19zdGF0ZS0+YWN0aXZlIHx8IG5lZWRz X21vZGVzZXQoY3J0Y19zdGF0ZSkpCi0JCQljb250aW51ZTsKKwlyZXR1cm4gMDsKK30KIAotCQlj cnRjX3N0YXRlLT5tb2RlX2NoYW5nZWQgPSB0cnVlOworc3RhdGljIGludCBicm94dG9uX21vZGVz ZXRfY2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCit7CisJc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IHN0YXRlLT5kZXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlpbnQgbWF4X3BpeGNsayA9IGludGVsX21v ZGVfbWF4X3BpeGNsayhkZXYsIHN0YXRlKTsKIAotCQlyZXQgPSBkcm1fYXRvbWljX2FkZF9hZmZl Y3RlZF9jb25uZWN0b3JzKHN0YXRlLCBjcnRjKTsKLQkJaWYgKHJldCkKLQkJCWJyZWFrOworCWlm IChtYXhfcGl4Y2xrIDwgMCkKKwkJcmV0dXJuIG1heF9waXhjbGs7CiAKLQkJcmV0ID0gZHJtX2F0 b21pY19hZGRfYWZmZWN0ZWRfcGxhbmVzKHN0YXRlLCBjcnRjKTsKLQkJaWYgKHJldCkKLQkJCWJy ZWFrOwotCX0KKwl0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpLT5jZGNsayA9CisJCWJyb3h0 b25fY2FsY19jZGNsayhkZXZfcHJpdiwgbWF4X3BpeGNsayk7CiAKLQlyZXR1cm4gcmV0OworCXJl dHVybiAwOwogfQogCiBzdGF0aWMgdm9pZCB2bHZfcHJvZ3JhbV9wZmlfY3JlZGl0cyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCkBAIC01OTQzLDQxICs1OTMyLDMxIEBAIHN0YXRp YyB2b2lkIHZsdl9wcm9ncmFtX3BmaV9jcmVkaXRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIAlXQVJOX09OKEk5MTVfUkVBRChHQ0lfQ09OVFJPTCkgJiBQRklfQ1JFRElUX1JF U0VORCk7CiB9CiAKLXN0YXRpYyB2b2lkIHZhbGxleXZpZXdfbW9kZXNldF9nbG9iYWxfcmVzb3Vy Y2VzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCitzdGF0aWMgdm9pZCB2YWxs ZXl2aWV3X21vZGVzZXRfY29tbWl0X2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRf c3RhdGUpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG9sZF9zdGF0ZS0+ZGV2OworCXVu c2lnbmVkIGludCByZXFfY2RjbGsgPSB0b19pbnRlbF9hdG9taWNfc3RhdGUob2xkX3N0YXRlKS0+ Y2RjbGs7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJp dmF0ZTsKLQlpbnQgbWF4X3BpeGNsayA9IGludGVsX21vZGVfbWF4X3BpeGNsayhkZXYsIE5VTEwp OwotCWludCByZXFfY2RjbGs7Ci0KLQkvKiBUaGUgcGF0aCBpbiBpbnRlbF9tb2RlX21heF9waXhj bGsoKSB3aXRoIGEgTlVMTCBhdG9taWMgc3RhdGUgc2hvdWxkCi0JICogbmV2ZXIgZmFpbC4gKi8K LQlpZiAoV0FSTl9PTihtYXhfcGl4Y2xrIDwgMCkpCi0JCXJldHVybjsKLQotCXJlcV9jZGNsayA9 IHZhbGxleXZpZXdfY2FsY19jZGNsayhkZXZfcHJpdiwgbWF4X3BpeGNsayk7CiAKLQlpZiAocmVx X2NkY2xrICE9IGRldl9wcml2LT5jZGNsa19mcmVxKSB7Ci0JCS8qCi0JCSAqIEZJWE1FOiBXZSBj YW4gZW5kIHVwIGhlcmUgd2l0aCBhbGwgcG93ZXIgZG9tYWlucyBvZmYsIHlldAotCQkgKiB3aXRo IGEgQ0RDTEsgZnJlcXVlbmN5IG90aGVyIHRoYW4gdGhlIG1pbmltdW0uIFRvIGFjY291bnQKLQkJ ICogZm9yIHRoaXMgdGFrZSB0aGUgUElQRS1BIHBvd2VyIGRvbWFpbiwgd2hpY2ggY292ZXJzIHRo ZSBIVwotCQkgKiBibG9ja3MgbmVlZGVkIGZvciB0aGUgZm9sbG93aW5nIHByb2dyYW1taW5nLiBU aGlzIGNhbiBiZQotCQkgKiByZW1vdmVkIG9uY2UgaXQncyBndWFyYW50ZWVkIHRoYXQgd2UgZ2V0 IGhlcmUgZWl0aGVyIHdpdGgKLQkJICogdGhlIG1pbmltdW0gQ0RDTEsgc2V0LCBvciB0aGUgcmVx dWlyZWQgcG93ZXIgZG9tYWlucwotCQkgKiBlbmFibGVkLgotCQkgKi8KLQkJaW50ZWxfZGlzcGxh eV9wb3dlcl9nZXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9QSVBFX0EpOworCS8qCisJICogRklY TUU6IFdlIGNhbiBlbmQgdXAgaGVyZSB3aXRoIGFsbCBwb3dlciBkb21haW5zIG9mZiwgeWV0CisJ ICogd2l0aCBhIENEQ0xLIGZyZXF1ZW5jeSBvdGhlciB0aGFuIHRoZSBtaW5pbXVtLiBUbyBhY2Nv dW50CisJICogZm9yIHRoaXMgdGFrZSB0aGUgUElQRS1BIHBvd2VyIGRvbWFpbiwgd2hpY2ggY292 ZXJzIHRoZSBIVworCSAqIGJsb2NrcyBuZWVkZWQgZm9yIHRoZSBmb2xsb3dpbmcgcHJvZ3JhbW1p bmcuIFRoaXMgY2FuIGJlCisJICogcmVtb3ZlZCBvbmNlIGl0J3MgZ3VhcmFudGVlZCB0aGF0IHdl IGdldCBoZXJlIGVpdGhlciB3aXRoCisJICogdGhlIG1pbmltdW0gQ0RDTEsgc2V0LCBvciB0aGUg cmVxdWlyZWQgcG93ZXIgZG9tYWlucworCSAqIGVuYWJsZWQuCisJICovCisJaW50ZWxfZGlzcGxh eV9wb3dlcl9nZXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9QSVBFX0EpOwogCi0JCWlmIChJU19D SEVSUllWSUVXKGRldikpCi0JCQljaGVycnl2aWV3X3NldF9jZGNsayhkZXYsIHJlcV9jZGNsayk7 Ci0JCWVsc2UKLQkJCXZhbGxleXZpZXdfc2V0X2NkY2xrKGRldiwgcmVxX2NkY2xrKTsKKwlpZiAo SVNfQ0hFUlJZVklFVyhkZXYpKQorCQljaGVycnl2aWV3X3NldF9jZGNsayhkZXYsIHJlcV9jZGNs ayk7CisJZWxzZQorCQl2YWxsZXl2aWV3X3NldF9jZGNsayhkZXYsIHJlcV9jZGNsayk7CiAKLQkJ dmx2X3Byb2dyYW1fcGZpX2NyZWRpdHMoZGV2X3ByaXYpOworCXZsdl9wcm9ncmFtX3BmaV9jcmVk aXRzKGRldl9wcml2KTsKIAotCQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgUE9X RVJfRE9NQUlOX1BJUEVfQSk7Ci0JfQorCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2 LCBQT1dFUl9ET01BSU5fUElQRV9BKTsKIH0KIAogc3RhdGljIHZvaWQgdmFsbGV5dmlld19jcnRj X2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCkBAIC05NDc4LDQxICs5NDU3LDM1IEBAIHZv aWQgaHN3X2Rpc2FibGVfcGM4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlp bnRlbF9wcmVwYXJlX2RkaShkZXYpOwogfQogCi1zdGF0aWMgdm9pZCBicm94dG9uX21vZGVzZXRf Z2xvYmFsX3Jlc291cmNlcyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQorc3Rh dGljIHZvaWQgYnJveHRvbl9tb2Rlc2V0X2NvbW1pdF9jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqb2xkX3N0YXRlKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvbGRfc3RhdGUt PmRldjsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2 YXRlOwotCWludCBtYXhfcGl4Y2xrID0gaW50ZWxfbW9kZV9tYXhfcGl4Y2xrKGRldiwgTlVMTCk7 Ci0JaW50IHJlcV9jZGNsazsKLQotCS8qIHNlZSB0aGUgY29tbWVudCBpbiB2YWxsZXl2aWV3X21v ZGVzZXRfZ2xvYmFsX3Jlc291cmNlcyAqLwotCWlmIChXQVJOX09OKG1heF9waXhjbGsgPCAwKSkK LQkJcmV0dXJuOworCXVuc2lnbmVkIGludCByZXFfY2RjbGsgPSB0b19pbnRlbF9hdG9taWNfc3Rh dGUob2xkX3N0YXRlKS0+Y2RjbGs7CiAKLQlyZXFfY2RjbGsgPSBicm94dG9uX2NhbGNfY2RjbGso ZGV2X3ByaXYsIG1heF9waXhjbGspOwotCi0JaWYgKHJlcV9jZGNsayAhPSBkZXZfcHJpdi0+Y2Rj bGtfZnJlcSkKLQkJYnJveHRvbl9zZXRfY2RjbGsoZGV2LCByZXFfY2RjbGspOworCWJyb3h0b25f c2V0X2NkY2xrKGRldiwgcmVxX2NkY2xrKTsKIH0KIAogLyogY29tcHV0ZSB0aGUgbWF4IHJhdGUg Zm9yIG5ldyBjb25maWd1cmF0aW9uICovCi1zdGF0aWMgaW50IGlsa19tYXhfcGl4ZWxfcmF0ZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCitzdGF0aWMgaW50IGlsa19tYXhfcGl4 ZWxfcmF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IGRldl9wcml2LT5kZXY7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGM7Ci0Jc3RydWN0IGRybV9jcnRjICpjcnRjOworCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlOwogCWludCBtYXhfcGl4ZWxfcmF0ZSA9IDA7Ci0JaW50IHBpeGVsX3JhdGU7CiAK LQlmb3JfZWFjaF9jcnRjKGRldiwgY3J0YykgewotCQlpZiAoIWNydGMtPnN0YXRlLT5lbmFibGUp CisJZm9yX2VhY2hfaW50ZWxfY3J0YyhzdGF0ZS0+ZGV2LCBpbnRlbF9jcnRjKSB7CisJCWludCBw aXhlbF9yYXRlOworCisJCWNydGNfc3RhdGUgPSBpbnRlbF9hdG9taWNfZ2V0X2NydGNfc3RhdGUo c3RhdGUsIGludGVsX2NydGMpOworCQlpZiAoSVNfRVJSKGNydGNfc3RhdGUpKQorCQkJcmV0dXJu IFBUUl9FUlIoY3J0Y19zdGF0ZSk7CisKKwkJaWYgKCFjcnRjX3N0YXRlLT5iYXNlLmVuYWJsZSkK IAkJCWNvbnRpbnVlOwogCi0JCWludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwotCQlw aXhlbF9yYXRlID0gaWxrX3BpcGVfcGl4ZWxfcmF0ZShpbnRlbF9jcnRjLT5jb25maWcpOworCQlw aXhlbF9yYXRlID0gaWxrX3BpcGVfcGl4ZWxfcmF0ZShjcnRjX3N0YXRlKTsKIAogCQkvKiBwaXhl bCByYXRlIG11c3RuJ3QgZXhjZWVkIDk1JSBvZiBjZGNsayB3aXRoIElQUyBvbiBCRFcgKi8KLQkJ aWYgKElTX0JST0FEV0VMTChkZXYpICYmIGludGVsX2NydGMtPmNvbmZpZy0+aXBzX2VuYWJsZWQp CisJCWlmIChJU19CUk9BRFdFTEwoc3RhdGUtPmRldikgJiYgY3J0Y19zdGF0ZS0+aXBzX2VuYWJs ZWQpCiAJCQlwaXhlbF9yYXRlID0gRElWX1JPVU5EX1VQKHBpeGVsX3JhdGUgKiAxMDAsIDk1KTsK IAogCQltYXhfcGl4ZWxfcmF0ZSA9IG1heChtYXhfcGl4ZWxfcmF0ZSwgcGl4ZWxfcmF0ZSk7CkBA IC05NTk4LDIwICs5NTcxLDIxIEBAIHN0YXRpYyB2b2lkIGJyb2Fkd2VsbF9zZXRfY2RjbGsoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGNkY2xrKQogCSAgICAgY2RjbGssIGRldl9wcml2LT5j ZGNsa19mcmVxKTsKIH0KIAotc3RhdGljIGludCBicm9hZHdlbGxfY2FsY19jZGNsayhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkgICAgICBpbnQgbWF4X3BpeGVsX3JhdGUp CitzdGF0aWMgaW50IGJyb2Fkd2VsbF9tb2Rlc2V0X2NhbGNfY2RjbGsoc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlKQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoc3RhdGUtPmRldik7CisJaW50IG1heF9waXhjbGsgPSBpbGtfbWF4X3BpeGVsX3Jh dGUoc3RhdGUpOwogCWludCBjZGNsazsKIAogCS8qCiAJICogRklYTUUgc2hvdWxkIGFsc28gYWNj b3VudCBmb3IgcGxhbmUgcmF0aW8KIAkgKiBvbmNlIDY0YnBwIHBpeGVsIGZvcm1hdHMgYXJlIHN1 cHBvcnRlZC4KIAkgKi8KLQlpZiAobWF4X3BpeGVsX3JhdGUgPiA1NDAwMDApCisJaWYgKG1heF9w aXhjbGsgPiA1NDAwMDApCiAJCWNkY2xrID0gNjc1MDAwOwotCWVsc2UgaWYgKG1heF9waXhlbF9y YXRlID4gNDUwMDAwKQorCWVsc2UgaWYgKG1heF9waXhjbGsgPiA0NTAwMDApCiAJCWNkY2xrID0g NTQwMDAwOwotCWVsc2UgaWYgKG1heF9waXhlbF9yYXRlID4gMzM3NTAwKQorCWVsc2UgaWYgKG1h eF9waXhjbGsgPiAzMzc1MDApCiAJCWNkY2xrID0gNDUwMDAwOwogCWVsc2UKIAkJY2RjbGsgPSAz Mzc1MDA7CkBAIC05NjI2LDQ5ICs5NjAwLDE3IEBAIHN0YXRpYyBpbnQgYnJvYWR3ZWxsX2NhbGNf Y2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQljZGNsayA9IGRldl9w cml2LT5tYXhfY2RjbGtfZnJlcTsKIAl9CiAKLQlyZXR1cm4gY2RjbGs7Ci19Ci0KLXN0YXRpYyBp bnQgYnJvYWR3ZWxsX21vZGVzZXRfZ2xvYmFsX3BpcGVzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpzdGF0ZSkKLXsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KHN0YXRlLT5kZXYpOwotCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKLQlzdHJ1Y3QgZHJtX2NydGNf c3RhdGUgKmNydGNfc3RhdGU7Ci0JaW50IG1heF9waXhjbGsgPSBpbGtfbWF4X3BpeGVsX3JhdGUo ZGV2X3ByaXYpOwotCWludCBjZGNsaywgaTsKLQotCWNkY2xrID0gYnJvYWR3ZWxsX2NhbGNfY2Rj bGsoZGV2X3ByaXYsIG1heF9waXhjbGspOwotCi0JaWYgKGNkY2xrID09IGRldl9wcml2LT5jZGNs a19mcmVxKQotCQlyZXR1cm4gMDsKLQotCS8qIGFkZCBhbGwgYWN0aXZlIHBpcGVzIHRvIHRoZSBz dGF0ZSAqLwotCWZvcl9lYWNoX2NydGMoc3RhdGUtPmRldiwgY3J0YykgewotCQlpZiAoIWNydGMt PnN0YXRlLT5lbmFibGUpCi0JCQljb250aW51ZTsKLQotCQljcnRjX3N0YXRlID0gZHJtX2F0b21p Y19nZXRfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7Ci0JCWlmIChJU19FUlIoY3J0Y19zdGF0ZSkp Ci0JCQlyZXR1cm4gUFRSX0VSUihjcnRjX3N0YXRlKTsKLQl9Ci0KLQkvKiBkaXNhYmxlL2VuYWJs ZSBhbGwgY3VycmVudGx5IGFjdGl2ZSBwaXBlcyB3aGlsZSB3ZSBjaGFuZ2UgY2RjbGsgKi8KLQlm b3JfZWFjaF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBjcnRjX3N0YXRlLCBpKQotCQlpZiAo Y3J0Y19zdGF0ZS0+ZW5hYmxlKQotCQkJY3J0Y19zdGF0ZS0+bW9kZV9jaGFuZ2VkID0gdHJ1ZTsK Kwl0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpLT5jZGNsayA9IGNkY2xrOwogCiAJcmV0dXJu IDA7CiB9CiAKLXN0YXRpYyB2b2lkIGJyb2Fkd2VsbF9tb2Rlc2V0X2dsb2JhbF9yZXNvdXJjZXMo c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQorc3RhdGljIHZvaWQgYnJvYWR3ZWxsX21v ZGVzZXRfY29tbWl0X2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCiB7 Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHN0YXRlLT5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlpbnQgbWF4X3BpeGVsX3Jh dGUgPSBpbGtfbWF4X3BpeGVsX3JhdGUoZGV2X3ByaXYpOwotCWludCByZXFfY2RjbGsgPSBicm9h ZHdlbGxfY2FsY19jZGNsayhkZXZfcHJpdiwgbWF4X3BpeGVsX3JhdGUpOworCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBvbGRfc3RhdGUtPmRldjsKKwl1bnNpZ25lZCBpbnQgcmVxX2NkY2xrID0g dG9faW50ZWxfYXRvbWljX3N0YXRlKG9sZF9zdGF0ZSktPmNkY2xrOwogCi0JaWYgKHJlcV9jZGNs ayAhPSBkZXZfcHJpdi0+Y2RjbGtfZnJlcSkKLQkJYnJvYWR3ZWxsX3NldF9jZGNsayhkZXYsIHJl cV9jZGNsayk7CisJYnJvYWR3ZWxsX3NldF9jZGNsayhkZXYsIHJlcV9jZGNsayk7CiB9CiAKIHN0 YXRpYyBpbnQgaGFzd2VsbF9jcnRjX2NvbXB1dGVfY2xvY2soc3RydWN0IGludGVsX2NydGMgKmNy dGMsCkBAIC0xMzA0NCwxMCArMTI5ODYsNDEgQEAgc3RhdGljIGludCBoYXN3ZWxsX21vZGVfc2V0 X3BsYW5lc193b3JrYXJvdW5kKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIAlyZXR1 cm4gMDsKIH0KIAorc3RhdGljIGludCBpbnRlbF9tb2Rlc2V0X2FsbF9waXBlcyhzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUpCit7CisJc3RydWN0IGRybV9jcnRjICpjcnRjOworCXN0cnVj dCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKKwlpbnQgcmV0ID0gMDsKKworCS8qIGFkZCBh bGwgYWN0aXZlIHBpcGVzIHRvIHRoZSBzdGF0ZSAqLworCWZvcl9lYWNoX2NydGMoc3RhdGUtPmRl diwgY3J0YykgeworCQljcnRjX3N0YXRlID0gZHJtX2F0b21pY19nZXRfY3J0Y19zdGF0ZShzdGF0 ZSwgY3J0Yyk7CisJCWlmIChJU19FUlIoY3J0Y19zdGF0ZSkpCisJCQlyZXR1cm4gUFRSX0VSUihj cnRjX3N0YXRlKTsKKworCQlpZiAoIWNydGNfc3RhdGUtPmFjdGl2ZSB8fCBuZWVkc19tb2Rlc2V0 KGNydGNfc3RhdGUpKQorCQkJY29udGludWU7CisKKwkJY3J0Y19zdGF0ZS0+bW9kZV9jaGFuZ2Vk ID0gdHJ1ZTsKKworCQlyZXQgPSBkcm1fYXRvbWljX2FkZF9hZmZlY3RlZF9jb25uZWN0b3JzKHN0 YXRlLCBjcnRjKTsKKwkJaWYgKHJldCkKKwkJCWJyZWFrOworCisJCXJldCA9IGRybV9hdG9taWNf YWRkX2FmZmVjdGVkX3BsYW5lcyhzdGF0ZSwgY3J0Yyk7CisJCWlmIChyZXQpCisJCQlicmVhazsK Kwl9CisKKwlyZXR1cm4gcmV0OworfQorCisKIC8qIENvZGUgdGhhdCBzaG91bGQgZXZlbnR1YWxs eSBiZSBwYXJ0IG9mIGF0b21pY19jaGVjaygpICovCiBzdGF0aWMgaW50IGludGVsX21vZGVzZXRf Y2hlY2tzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gc3RhdGUtPmRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwogCWludCByZXQ7CiAKIAlpZiAoIWNoZWNrX2RpZ2l0YWxf cG9ydF9jb25mbGljdHMoc3RhdGUpKSB7CkBAIC0xMzA2MiwxNSArMTMwMzUsMTkgQEAgc3RhdGlj IGludCBpbnRlbF9tb2Rlc2V0X2NoZWNrcyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUp CiAJICogbW9kZSBzZXQgb24gdGhpcyBjcnRjLiAgRm9yIG90aGVyIGNydGNzIHdlIG5lZWQgdG8g dXNlIHRoZQogCSAqIGFkanVzdGVkX21vZGUgYml0cyBpbiB0aGUgY3J0YyBkaXJlY3RseS4KIAkg Ki8KLQlpZiAoSVNfVkFMTEVZVklFVyhkZXYpIHx8IElTX0JST1hUT04oZGV2KSB8fCBJU19CUk9B RFdFTEwoZGV2KSkgewotCQlpZiAoSVNfVkFMTEVZVklFVyhkZXYpIHx8IElTX0JST1hUT04oZGV2 KSkKLQkJCXJldCA9IHZhbGxleXZpZXdfbW9kZXNldF9nbG9iYWxfcGlwZXMoc3RhdGUpOwotCQll bHNlCi0JCQlyZXQgPSBicm9hZHdlbGxfbW9kZXNldF9nbG9iYWxfcGlwZXMoc3RhdGUpOworCWlm IChkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NhbGNfY2RjbGspIHsKKwkJdW5zaWduZWQgaW50 IGNkY2xrOwogCi0JCWlmIChyZXQpCisJCXJldCA9IGRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRf Y2FsY19jZGNsayhzdGF0ZSk7CisKKwkJY2RjbGsgPSB0b19pbnRlbF9hdG9taWNfc3RhdGUoc3Rh dGUpLT5jZGNsazsKKwkJaWYgKCFyZXQgJiYgY2RjbGsgIT0gZGV2X3ByaXYtPmNkY2xrX2ZyZXEp CisJCQlyZXQgPSBpbnRlbF9tb2Rlc2V0X2FsbF9waXBlcyhzdGF0ZSk7CisKKwkJaWYgKHJldCA8 IDApCiAJCQlyZXR1cm4gcmV0OwotCX0KKwl9IGVsc2UKKwkJdG9faW50ZWxfYXRvbWljX3N0YXRl KHN0YXRlKS0+Y2RjbGsgPSBkZXZfcHJpdi0+Y2RjbGtfZnJlcTsKIAogCWludGVsX21vZGVzZXRf Y2xlYXJfcGxscyhzdGF0ZSk7CiAKQEAgLTEzMTM3LDcgKzEzMTE0LDkgQEAgaW50ZWxfbW9kZXNl dF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAKIAkJaWYg KHJldCkKIAkJCXJldHVybiByZXQ7Ci0JfQorCX0gZWxzZQorCQl0b19pbnRlbF9hdG9taWNfc3Rh dGUoc3RhdGUpLT5jZGNsayA9CisJCQl0b19pOTE1KHN0YXRlLT5kZXYpLT5jZGNsa19mcmVxOwog CiAJcmV0dXJuIGRybV9hdG9taWNfaGVscGVyX2NoZWNrX3BsYW5lcyhzdGF0ZS0+ZGV2LCBzdGF0 ZSk7CiB9CkBAIC0xMzcwNCw3ICsxMzY4Myw3IEBAIHNrbF9tYXhfc2NhbGUoc3RydWN0IGludGVs X2NydGMgKmludGVsX2NydGMsIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlCiAJ ZGV2ID0gaW50ZWxfY3J0Yy0+YmFzZS5kZXY7CiAJZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRl OwogCWNydGNfY2xvY2sgPSBjcnRjX3N0YXRlLT5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y19jbG9j azsKLQljZGNsayA9IGRldl9wcml2LT5kaXNwbGF5LmdldF9kaXNwbGF5X2Nsb2NrX3NwZWVkKGRl dik7CisJY2RjbGsgPSB0b19pbnRlbF9hdG9taWNfc3RhdGUoY3J0Y19zdGF0ZS0+YmFzZS5zdGF0 ZSktPmNkY2xrOwogCiAJaWYgKCFjcnRjX2Nsb2NrIHx8ICFjZGNsaykKIAkJcmV0dXJuIERSTV9Q TEFORV9IRUxQRVJfTk9fU0NBTElORzsKQEAgLTE0Nzc1LDE1ICsxNDc1NCwyMiBAQCBzdGF0aWMg dm9pZCBpbnRlbF9pbml0X2Rpc3BsYXkoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJZGV2X3By aXYtPmRpc3BsYXkuZmRpX2xpbmtfdHJhaW4gPSBpdmJfbWFudWFsX2ZkaV9saW5rX3RyYWluOwog CX0gZWxzZSBpZiAoSVNfSEFTV0VMTChkZXYpIHx8IElTX0JST0FEV0VMTChkZXYpKSB7CiAJCWRl dl9wcml2LT5kaXNwbGF5LmZkaV9saW5rX3RyYWluID0gaHN3X2ZkaV9saW5rX3RyYWluOwotCQlp ZiAoSVNfQlJPQURXRUxMKGRldikpCi0JCQlkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2dsb2Jh bF9yZXNvdXJjZXMgPQotCQkJCWJyb2Fkd2VsbF9tb2Rlc2V0X2dsb2JhbF9yZXNvdXJjZXM7CisJ CWlmIChJU19CUk9BRFdFTEwoZGV2KSkgeworCQkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9j b21taXRfY2RjbGsgPQorCQkJCWJyb2Fkd2VsbF9tb2Rlc2V0X2NvbW1pdF9jZGNsazsKKwkJCWRl dl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsayA9CisJCQkJYnJvYWR3ZWxsX21vZGVz ZXRfY2FsY19jZGNsazsKKwkJfQogCX0gZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhkZXYpKSB7Ci0J CWRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfZ2xvYmFsX3Jlc291cmNlcyA9Ci0JCQl2YWxsZXl2 aWV3X21vZGVzZXRfZ2xvYmFsX3Jlc291cmNlczsKKwkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNl dF9jb21taXRfY2RjbGsgPQorCQkJdmFsbGV5dmlld19tb2Rlc2V0X2NvbW1pdF9jZGNsazsKKwkJ ZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0KKwkJCXZhbGxleXZpZXdfbW9k ZXNldF9jYWxjX2NkY2xrOwogCX0gZWxzZSBpZiAoSVNfQlJPWFRPTihkZXYpKSB7Ci0JCWRldl9w cml2LT5kaXNwbGF5Lm1vZGVzZXRfZ2xvYmFsX3Jlc291cmNlcyA9Ci0JCQlicm94dG9uX21vZGVz ZXRfZ2xvYmFsX3Jlc291cmNlczsKKwkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jb21taXRf Y2RjbGsgPQorCQkJYnJveHRvbl9tb2Rlc2V0X2NvbW1pdF9jZGNsazsKKwkJZGV2X3ByaXYtPmRp c3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0KKwkJCWJyb3h0b25fbW9kZXNldF9jYWxjX2NkY2xr OwogCX0KIAogCXN3aXRjaCAoSU5URUxfSU5GTyhkZXYpLT5nZW4pIHsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKaW5kZXggM2EyYWM4MmIwOTcwLi5lNDI3NDYxNzk3OGYgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCkBAIC0yNDQsNiArMjQ0LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgZHBsbCB7CiBz dHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlIHsKIAlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSBiYXNl OwogCisJdW5zaWduZWQgaW50IGNkY2xrOwogCWJvb2wgZHBsbF9zZXQ7CiAJc3RydWN0IGludGVs X3NoYXJlZF9kcGxsX2NvbmZpZyBzaGFyZWRfZHBsbFtJOTE1X05VTV9QTExTXTsKIH07Ci0tIAoy LjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK