From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 05/18] drm/i915: Allow fuzzy matching in pipe_config_compare. Date: Thu, 2 Jul 2015 16:36:49 +0200 Message-ID: <1435847822-5318-6-git-send-email-maarten.lankhorst@linux.intel.com> References: <1435847822-5318-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 ESMTPS id B2DA36EC9D for ; Thu, 2 Jul 2015 07:37:25 -0700 (PDT) In-Reply-To: <1435847822-5318-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 SW5zdGVhZCBvZiBkb2luZyBhZC1ob2MgY2hlY2tzIHdlIGFscmVhZHkgaGF2ZSBhIHdheSBvZiBj aGVja2luZwppZiB0aGUgc3RhdGUgaXMgY29tcGF0aWJsZSBvciBub3QuIFVzZSB0aGlzIHRvIGZv cmNlIGEgbW9kZXNldC4KCk9ubHkgZHVyaW5nIG1vZGVzZXRzLCBvciB3aXRoIFBJUEVfQ09ORklH X1FVSVJLX0lOSEVSSVRFRF9NT0RFCndlIHNob3VsZCBjaGVjayBpZiBhIGZ1bGwgbW9kZXNldCBp cyByZWFsbHkgbmVlZGVkLgoKRmFzdGJvb3Qgd2lsbCBhbGxvdyB0aGUgYWRqdXN0IHBhcmFtZXRl ciB0byBpZ25vcmUgc29tZSBzdHVmZgp0b28sIGFuZCBpdCB3aWxsIGZpeCB1cCBkaWZmZXJlbmNl cyBpbiBzdGF0ZSB0aGF0IGFyZSBpZ25vcmVkCmJ5IHRoZSBjb21wYXJlIGZ1bmN0aW9uLgoKU2ln bmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4Lmlu dGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAxOTgg KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMzkg aW5zZXJ0aW9ucygrKSwgNTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCmluZGV4IGE5N2VkZTMwZGFkMC4uYTNmOTA4MDgyOGJkIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0xMjI4NSwxOSArMTIyODUsNiBAQCBlbmNvZGVyX3JldHJ5 OgogCURSTV9ERUJVR19LTVMoInBsYW5lIGJwcDogJWksIHBpcGUgYnBwOiAlaSwgZGl0aGVyaW5n OiAlaVxuIiwKIAkJICAgICAgYmFzZV9icHAsIHBpcGVfY29uZmlnLT5waXBlX2JwcCwgcGlwZV9j b25maWctPmRpdGhlcik7CiAKLQkvKiBDaGVjayBpZiB3ZSBuZWVkIHRvIGZvcmNlIGEgbW9kZXNl dCAqLwotCWlmIChwaXBlX2NvbmZpZy0+aGFzX2F1ZGlvICE9Ci0JICAgIHRvX2ludGVsX2NydGNf c3RhdGUoY3J0Yy0+c3RhdGUpLT5oYXNfYXVkaW8pIHsKLQkJcGlwZV9jb25maWctPmJhc2UubW9k ZV9jaGFuZ2VkID0gdHJ1ZTsKLQkJcmV0ID0gZHJtX2F0b21pY19hZGRfYWZmZWN0ZWRfcGxhbmVz KHN0YXRlLCBjcnRjKTsKLQl9Ci0KLQkvKgotCSAqIE5vdGUgd2UgaGF2ZSBhbiBpc3N1ZSBoZXJl IHdpdGggaW5mb2ZyYW1lczogY3VycmVudCBjb2RlCi0JICogb25seSB1cGRhdGVzIHRoZW0gb24g dGhlIGZ1bGwgbW9kZSBzZXQgcGF0aCBwZXIgaHcKLQkgKiByZXF1aXJlbWVudHMuICBTbyBoZXJl IHdlIHNob3VsZCBiZSBjaGVja2luZyBmb3IgYW55Ci0JICogcmVxdWlyZWQgY2hhbmdlcyBhbmQg Zm9yY2luZyBhIG1vZGUgc2V0LgotCSAqLwogZmFpbDoKIAlyZXR1cm4gcmV0OwogfQpAQCAtMTI0 MDAsMjcgKzEyMzg3LDEyNCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9mdXp6eV9jbG9ja19jaGVjayhp bnQgY2xvY2sxLCBpbnQgY2xvY2syKQogCQkJICAgIGJhc2UuaGVhZCkgXAogCQlpZiAobWFzayAm ICgxIDw8KGludGVsX2NydGMpLT5waXBlKSkKIAorCitzdGF0aWMgYm9vbAoraW50ZWxfY29tcGFy ZV9tX24odW5zaWduZWQgaW50IG0sIHVuc2lnbmVkIGludCBuLAorCQkgIHVuc2lnbmVkIGludCBt MiwgdW5zaWduZWQgaW50IG4yKQoreworCWlmIChtID09IG0yICYmIG4gPT0gbjIpCisJCXJldHVy biB0cnVlOworCisJaWYgKCFtIHx8ICFuIHx8ICFtMiB8fCAhbjIpCisJCXJldHVybiBmYWxzZTsK KworCWlmIChtID4gbTIpIHsKKwkJd2hpbGUgKG0gPiBtMikgeworCQkJbSA+Pj0gMTsKKwkJCW4g Pj49IDE7CisJCX0KKwl9IGVsc2UgaWYgKG0gPCBtMikgeworCQl3aGlsZSAobSA8IG0yKSB7CisJ CQltMiA+Pj0gMTsKKwkJCW4yID4+PSAxOworCQl9CisJfQorCisJcmV0dXJuIG0gPT0gbTIgJiYg biA9PSBuMjsKK30KKworc3RhdGljIGJvb2wKK2ludGVsX2NvbXBhcmVfbGlua19tX24oY29uc3Qg c3RydWN0IGludGVsX2xpbmtfbV9uICptX24sCisJCSAgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxf bGlua19tX24gKm0yX24yKQoreworCWlmIChtX24tPnR1ID09IG0yX24yLT50dSAmJgorCSAgICBp bnRlbF9jb21wYXJlX21fbihtX24tPmdtY2hfbSwgbV9uLT5nbWNoX24sCisJCQkgICAgICBtMl9u Mi0+Z21jaF9tLCBtMl9uMi0+Z21jaF9uKSAmJgorCSAgICBpbnRlbF9jb21wYXJlX21fbihtX24t PmxpbmtfbSwgbV9uLT5saW5rX24sCisJCQkgICAgICBtMl9uMi0+bGlua19tLCBtMl9uMi0+bGlu a19uKSkKKwkJcmV0dXJuIHRydWU7CisKKwlyZXR1cm4gZmFsc2U7Cit9CisKIHN0YXRpYyBib29s CiBpbnRlbF9waXBlX2NvbmZpZ19jb21wYXJlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkg IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjdXJyZW50X2NvbmZpZywKLQkJCSAgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQorCQkJICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqcGlwZV9jb25maWcsCisJCQkgIGJvb2wgYWRqdXN0KQogeworCWJvb2wgcmV0ID0gdHJ1ZTsK KworI2RlZmluZSBJTlRFTF9FUlJfT1JfREJHX0tNUyhmbXQsIC4uLikgXAorCWRvIHsgXAorCQlp ZiAoIWFkanVzdCkgXAorCQkJRFJNX0VSUk9SKGZtdCwgIyNfX1ZBX0FSR1NfXyk7IFwKKwkJZWxz ZSBcCisJCQlEUk1fREVCVUdfS01TKGZtdCwgIyNfX1ZBX0FSR1NfXyk7IFwKKwl9IHdoaWxlICgw KQorCiAjZGVmaW5lIFBJUEVfQ09ORl9DSEVDS19YKG5hbWUpCVwKIAlpZiAoY3VycmVudF9jb25m aWctPm5hbWUgIT0gcGlwZV9jb25maWctPm5hbWUpIHsgXAotCQlEUk1fRVJST1IoIm1pc21hdGNo IGluICIgI25hbWUgIiAiIFwKKwkJSU5URUxfRVJSX09SX0RCR19LTVMoIm1pc21hdGNoIGluICIg I25hbWUgIiAiIFwKIAkJCSAgIihleHBlY3RlZCAweCUwOHgsIGZvdW5kIDB4JTA4eClcbiIsIFwK IAkJCSAgY3VycmVudF9jb25maWctPm5hbWUsIFwKIAkJCSAgcGlwZV9jb25maWctPm5hbWUpOyBc Ci0JCXJldHVybiBmYWxzZTsgXAorCQlyZXQgPSBmYWxzZTsgXAogCX0KIAogI2RlZmluZSBQSVBF X0NPTkZfQ0hFQ0tfSShuYW1lKQlcCiAJaWYgKGN1cnJlbnRfY29uZmlnLT5uYW1lICE9IHBpcGVf Y29uZmlnLT5uYW1lKSB7IFwKLQkJRFJNX0VSUk9SKCJtaXNtYXRjaCBpbiAiICNuYW1lICIgIiBc CisJCUlOVEVMX0VSUl9PUl9EQkdfS01TKCJtaXNtYXRjaCBpbiAiICNuYW1lICIgIiBcCiAJCQkg ICIoZXhwZWN0ZWQgJWksIGZvdW5kICVpKVxuIiwgXAogCQkJICBjdXJyZW50X2NvbmZpZy0+bmFt ZSwgXAogCQkJICBwaXBlX2NvbmZpZy0+bmFtZSk7IFwKLQkJcmV0dXJuIGZhbHNlOyBcCisJCXJl dCA9IGZhbHNlOyBcCisJfQorCisjZGVmaW5lIFBJUEVfQ09ORl9DSEVDS19NX04obmFtZSkgXAor CWlmICghaW50ZWxfY29tcGFyZV9saW5rX21fbigmY3VycmVudF9jb25maWctPm5hbWUsIFwKKwkJ CQkgICAgJnBpcGVfY29uZmlnLT5uYW1lKSkgeyBcCisJCUlOVEVMX0VSUl9PUl9EQkdfS01TKCJt aXNtYXRjaCBpbiAiICNuYW1lICIgIiBcCisJCQkgICIoZXhwZWN0ZWQgdHUgJWkgZ21jaCAlaS8l aSBsaW5rICVpLyVpLCAiIFwKKwkJCSAgImZvdW5kIHR1ICVpLCBnbWNoICVpLyVpIGxpbmsgJWkv JWkpXG4iLCBcCisJCQkgIGN1cnJlbnRfY29uZmlnLT5uYW1lLnR1LCBcCisJCQkgIGN1cnJlbnRf Y29uZmlnLT5uYW1lLmdtY2hfbSwgXAorCQkJICBjdXJyZW50X2NvbmZpZy0+bmFtZS5nbWNoX24s IFwKKwkJCSAgY3VycmVudF9jb25maWctPm5hbWUubGlua19tLCBcCisJCQkgIGN1cnJlbnRfY29u ZmlnLT5uYW1lLmxpbmtfbiwgXAorCQkJICBwaXBlX2NvbmZpZy0+bmFtZS50dSwgXAorCQkJICBw aXBlX2NvbmZpZy0+bmFtZS5nbWNoX20sIFwKKwkJCSAgcGlwZV9jb25maWctPm5hbWUuZ21jaF9u LCBcCisJCQkgIHBpcGVfY29uZmlnLT5uYW1lLmxpbmtfbSwgXAorCQkJICBwaXBlX2NvbmZpZy0+ bmFtZS5saW5rX24pOyBcCisJCXJldCA9IGZhbHNlOyBcCisJfQorCisjZGVmaW5lIFBJUEVfQ09O Rl9DSEVDS19NX05fQUxUKG5hbWUsIGFsdF9uYW1lKSBcCisJaWYgKCFpbnRlbF9jb21wYXJlX2xp bmtfbV9uKCZjdXJyZW50X2NvbmZpZy0+bmFtZSwgXAorCQkJCSAgICAmcGlwZV9jb25maWctPm5h bWUpICYmIFwKKwkgICAgIWludGVsX2NvbXBhcmVfbGlua19tX24oJmN1cnJlbnRfY29uZmlnLT5h bHRfbmFtZSwgXAorCQkJCSAgICAmcGlwZV9jb25maWctPm5hbWUpKSB7IFwKKwkJSU5URUxfRVJS X09SX0RCR19LTVMoIm1pc21hdGNoIGluICIgI25hbWUgIiAiIFwKKwkJCSAgIihleHBlY3RlZCB0 dSAlaSBnbWNoICVpLyVpIGxpbmsgJWkvJWksICIgXAorCQkJICAib3IgdHUgJWkgZ21jaCAlaS8l aSBsaW5rICVpLyVpLCAiIFwKKwkJCSAgImZvdW5kIHR1ICVpLCBnbWNoICVpLyVpIGxpbmsgJWkv JWkpXG4iLCBcCisJCQkgIGN1cnJlbnRfY29uZmlnLT5uYW1lLnR1LCBcCisJCQkgIGN1cnJlbnRf Y29uZmlnLT5uYW1lLmdtY2hfbSwgXAorCQkJICBjdXJyZW50X2NvbmZpZy0+bmFtZS5nbWNoX24s IFwKKwkJCSAgY3VycmVudF9jb25maWctPm5hbWUubGlua19tLCBcCisJCQkgIGN1cnJlbnRfY29u ZmlnLT5uYW1lLmxpbmtfbiwgXAorCQkJICBjdXJyZW50X2NvbmZpZy0+YWx0X25hbWUudHUsIFwK KwkJCSAgY3VycmVudF9jb25maWctPmFsdF9uYW1lLmdtY2hfbSwgXAorCQkJICBjdXJyZW50X2Nv bmZpZy0+YWx0X25hbWUuZ21jaF9uLCBcCisJCQkgIGN1cnJlbnRfY29uZmlnLT5hbHRfbmFtZS5s aW5rX20sIFwKKwkJCSAgY3VycmVudF9jb25maWctPmFsdF9uYW1lLmxpbmtfbiwgXAorCQkJICBw aXBlX2NvbmZpZy0+bmFtZS50dSwgXAorCQkJICBwaXBlX2NvbmZpZy0+bmFtZS5nbWNoX20sIFwK KwkJCSAgcGlwZV9jb25maWctPm5hbWUuZ21jaF9uLCBcCisJCQkgIHBpcGVfY29uZmlnLT5uYW1l LmxpbmtfbSwgXAorCQkJICBwaXBlX2NvbmZpZy0+bmFtZS5saW5rX24pOyBcCisJCXJldCA9IGZh bHNlOyBcCiAJfQogCiAvKiBUaGlzIGlzIHJlcXVpcmVkIGZvciBCRFcrIHdoZXJlIHRoZXJlIGlz IG9ubHkgb25lIHNldCBvZiByZWdpc3RlcnMgZm9yCkBAIC0xMjQzMSwzMCArMTI1MTUsMzAgQEAg aW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogI2RlZmlu ZSBQSVBFX0NPTkZfQ0hFQ0tfSV9BTFQobmFtZSwgYWx0X25hbWUpIFwKIAlpZiAoKGN1cnJlbnRf Y29uZmlnLT5uYW1lICE9IHBpcGVfY29uZmlnLT5uYW1lKSAmJiBcCiAJCShjdXJyZW50X2NvbmZp Zy0+YWx0X25hbWUgIT0gcGlwZV9jb25maWctPm5hbWUpKSB7IFwKLQkJCURSTV9FUlJPUigibWlz bWF0Y2ggaW4gIiAjbmFtZSAiICIgXAorCQkJSU5URUxfRVJSX09SX0RCR19LTVMoIm1pc21hdGNo IGluICIgI25hbWUgIiAiIFwKIAkJCQkgICIoZXhwZWN0ZWQgJWkgb3IgJWksIGZvdW5kICVpKVxu IiwgXAogCQkJCSAgY3VycmVudF9jb25maWctPm5hbWUsIFwKIAkJCQkgIGN1cnJlbnRfY29uZmln LT5hbHRfbmFtZSwgXAogCQkJCSAgcGlwZV9jb25maWctPm5hbWUpOyBcCi0JCQlyZXR1cm4gZmFs c2U7IFwKKwkJCXJldCA9IGZhbHNlOyBcCiAJfQogCiAjZGVmaW5lIFBJUEVfQ09ORl9DSEVDS19G TEFHUyhuYW1lLCBtYXNrKQlcCiAJaWYgKChjdXJyZW50X2NvbmZpZy0+bmFtZSBeIHBpcGVfY29u ZmlnLT5uYW1lKSAmIChtYXNrKSkgeyBcCi0JCURSTV9FUlJPUigibWlzbWF0Y2ggaW4gIiAjbmFt ZSAiKCIgI21hc2sgIikgIgkgICBcCisJCUlOVEVMX0VSUl9PUl9EQkdfS01TKCJtaXNtYXRjaCBp biAiICNuYW1lICIoIiAjbWFzayAiKSAiIFwKIAkJCSAgIihleHBlY3RlZCAlaSwgZm91bmQgJWkp XG4iLCBcCiAJCQkgIGN1cnJlbnRfY29uZmlnLT5uYW1lICYgKG1hc2spLCBcCiAJCQkgIHBpcGVf Y29uZmlnLT5uYW1lICYgKG1hc2spKTsgXAotCQlyZXR1cm4gZmFsc2U7IFwKKwkJcmV0ID0gZmFs c2U7IFwKIAl9CiAKICNkZWZpbmUgUElQRV9DT05GX0NIRUNLX0NMT0NLX0ZVWlpZKG5hbWUpIFwK IAlpZiAoIWludGVsX2Z1enp5X2Nsb2NrX2NoZWNrKGN1cnJlbnRfY29uZmlnLT5uYW1lLCBwaXBl X2NvbmZpZy0+bmFtZSkpIHsgXAotCQlEUk1fRVJST1IoIm1pc21hdGNoIGluICIgI25hbWUgIiAi IFwKKwkJSU5URUxfRVJSX09SX0RCR19LTVMoIm1pc21hdGNoIGluICIgI25hbWUgIiAiIFwKIAkJ CSAgIihleHBlY3RlZCAlaSwgZm91bmQgJWkpXG4iLCBcCiAJCQkgIGN1cnJlbnRfY29uZmlnLT5u YW1lLCBcCiAJCQkgIHBpcGVfY29uZmlnLT5uYW1lKTsgXAotCQlyZXR1cm4gZmFsc2U7IFwKKwkJ cmV0ID0gZmFsc2U7IFwKIAl9CiAKICNkZWZpbmUgUElQRV9DT05GX1FVSVJLKHF1aXJrKQlcCkBA IC0xMjQ2NCwzNSArMTI1NDgsMTggQEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAogCiAJUElQRV9DT05GX0NIRUNLX0koaGFzX3BjaF9lbmNvZGVyKTsK IAlQSVBFX0NPTkZfQ0hFQ0tfSShmZGlfbGFuZXMpOwotCVBJUEVfQ09ORl9DSEVDS19JKGZkaV9t X24uZ21jaF9tKTsKLQlQSVBFX0NPTkZfQ0hFQ0tfSShmZGlfbV9uLmdtY2hfbik7Ci0JUElQRV9D T05GX0NIRUNLX0koZmRpX21fbi5saW5rX20pOwotCVBJUEVfQ09ORl9DSEVDS19JKGZkaV9tX24u bGlua19uKTsKLQlQSVBFX0NPTkZfQ0hFQ0tfSShmZGlfbV9uLnR1KTsKKwlQSVBFX0NPTkZfQ0hF Q0tfTV9OKGZkaV9tX24pOwogCiAJUElQRV9DT05GX0NIRUNLX0koaGFzX2RwX2VuY29kZXIpOwog CiAJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuIDwgOCkgewotCQlQSVBFX0NPTkZfQ0hFQ0tfSShk cF9tX24uZ21jaF9tKTsKLQkJUElQRV9DT05GX0NIRUNLX0koZHBfbV9uLmdtY2hfbik7Ci0JCVBJ UEVfQ09ORl9DSEVDS19JKGRwX21fbi5saW5rX20pOwotCQlQSVBFX0NPTkZfQ0hFQ0tfSShkcF9t X24ubGlua19uKTsKLQkJUElQRV9DT05GX0NIRUNLX0koZHBfbV9uLnR1KTsKLQotCQlpZiAoY3Vy cmVudF9jb25maWctPmhhc19kcnJzKSB7Ci0JCQlQSVBFX0NPTkZfQ0hFQ0tfSShkcF9tMl9uMi5n bWNoX20pOwotCQkJUElQRV9DT05GX0NIRUNLX0koZHBfbTJfbjIuZ21jaF9uKTsKLQkJCVBJUEVf Q09ORl9DSEVDS19JKGRwX20yX24yLmxpbmtfbSk7Ci0JCQlQSVBFX0NPTkZfQ0hFQ0tfSShkcF9t Ml9uMi5saW5rX24pOwotCQkJUElQRV9DT05GX0NIRUNLX0koZHBfbTJfbjIudHUpOwotCQl9Ci0J fSBlbHNlIHsKLQkJUElQRV9DT05GX0NIRUNLX0lfQUxUKGRwX21fbi5nbWNoX20sIGRwX20yX24y LmdtY2hfbSk7Ci0JCVBJUEVfQ09ORl9DSEVDS19JX0FMVChkcF9tX24uZ21jaF9uLCBkcF9tMl9u Mi5nbWNoX24pOwotCQlQSVBFX0NPTkZfQ0hFQ0tfSV9BTFQoZHBfbV9uLmxpbmtfbSwgZHBfbTJf bjIubGlua19tKTsKLQkJUElQRV9DT05GX0NIRUNLX0lfQUxUKGRwX21fbi5saW5rX24sIGRwX20y X24yLmxpbmtfbik7Ci0JCVBJUEVfQ09ORl9DSEVDS19JX0FMVChkcF9tX24udHUsIGRwX20yX24y LnR1KTsKLQl9CisJCVBJUEVfQ09ORl9DSEVDS19NX04oZHBfbV9uKTsKKworCQlQSVBFX0NPTkZf Q0hFQ0tfSShoYXNfZHJycyk7CisJCWlmIChjdXJyZW50X2NvbmZpZy0+aGFzX2RycnMpCisJCQlQ SVBFX0NPTkZfQ0hFQ0tfTV9OKGRwX20yX24yKTsKKwl9IGVsc2UKKwkJUElQRV9DT05GX0NIRUNL X01fTl9BTFQoZHBfbV9uLCBkcF9tMl9uMik7CiAKIAlQSVBFX0NPTkZfQ0hFQ0tfSShiYXNlLmFk anVzdGVkX21vZGUuY3J0Y19oZGlzcGxheSk7CiAJUElQRV9DT05GX0NIRUNLX0koYmFzZS5hZGp1 c3RlZF9tb2RlLmNydGNfaHRvdGFsKTsKQEAgLTEyNTg4LDggKzEyNjU1LDkgQEAgaW50ZWxfcGlw ZV9jb25maWdfY29tcGFyZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogI3VuZGVmIFBJUEVfQ09O Rl9DSEVDS19GTEFHUwogI3VuZGVmIFBJUEVfQ09ORl9DSEVDS19DTE9DS19GVVpaWQogI3VuZGVm IFBJUEVfQ09ORl9RVUlSSworI3VuZGVmIElOVEVMX0VSUl9PUl9EQkdfS01TCiAKLQlyZXR1cm4g dHJ1ZTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgdm9pZCBjaGVja193bV9zdGF0ZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQpAQCAtMTI3ODEsOCArMTI4NDksMTEgQEAgY2hlY2tfY3J0Y19z dGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQkgICAgICJ0cmFuc2l0aW9uYWwgYWN0aXZl IHN0YXRlIGRvZXMgbm90IG1hdGNoIGF0b21pYyBodyBzdGF0ZSAiCiAJCSAgICAgIihleHBlY3Rl ZCAlaSwgZm91bmQgJWkpXG4iLCBjcnRjLT5iYXNlLnN0YXRlLT5hY3RpdmUsIGNydGMtPmFjdGl2 ZSk7CiAKLQkJaWYgKGFjdGl2ZSAmJgotCQkgICAgIWludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUo ZGV2LCBjcnRjLT5jb25maWcsICZwaXBlX2NvbmZpZykpIHsKKwkJaWYgKCFhY3RpdmUpCisJCQlj b250aW51ZTsKKworCQlpZiAoIWludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoZGV2LCBjcnRjLT5j b25maWcsCisJCQkJCSAgICAgICAmcGlwZV9jb25maWcsIGZhbHNlKSkgewogCQkJSTkxNV9TVEFU RV9XQVJOKDEsICJwaXBlIHN0YXRlIGRvZXNuJ3QgbWF0Y2ghXG4iKTsKIAkJCWludGVsX2R1bXBf cGlwZV9jb25maWcoY3J0YywgJnBpcGVfY29uZmlnLAogCQkJCQkgICAgICAgIltodyBzdGF0ZV0i KTsKQEAgLTEzMDgzLDE0ICsxMzE1NCwxNiBAQCBpbnRlbF9tb2Rlc2V0X2NvbXB1dGVfY29uZmln KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIAkJcmV0dXJuIHJldDsKIAogCWZvcl9l YWNoX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIGNydGNfc3RhdGUsIGkpIHsKKwkJc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnID0KKwkJCXRvX2ludGVsX2NydGNfc3RhdGUo Y3J0Y19zdGF0ZSk7CisKIAkJaWYgKCFjcnRjX3N0YXRlLT5lbmFibGUpIHsKIAkJCWlmIChuZWVk c19tb2Rlc2V0KGNydGNfc3RhdGUpKQogCQkJCWFueV9tcyA9IHRydWU7CiAJCQljb250aW51ZTsK IAkJfQogCi0JCWlmICh0b19pbnRlbF9jcnRjX3N0YXRlKGNydGNfc3RhdGUpLT5xdWlya3MgJgot CQkgICAgUElQRV9DT05GSUdfUVVJUktfSU5JVElBTF9QTEFORVMpIHsKKwkJaWYgKHBpcGVfY29u ZmlnLT5xdWlya3MgJiBQSVBFX0NPTkZJR19RVUlSS19JTklUSUFMX1BMQU5FUykgewogCQkJcmV0 ID0gZHJtX2F0b21pY19hZGRfYWZmZWN0ZWRfcGxhbmVzKHN0YXRlLCBjcnRjKTsKIAkJCWlmIChy ZXQpCiAJCQkJcmV0dXJuIHJldDsKQEAgLTEzMTA0LDIxICsxMzE3NywyOCBAQCBpbnRlbF9tb2Rl c2V0X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIAkJfQog CiAJCWlmICghbmVlZHNfbW9kZXNldChjcnRjX3N0YXRlKSkgeworCQkJaWYgKCEocGlwZV9jb25m aWctPnF1aXJrcyAmIFBJUEVfQ09ORklHX1FVSVJLX0lOSEVSSVRFRF9NT0RFKSkKKwkJCQljb250 aW51ZTsKKwogCQkJcmV0ID0gZHJtX2F0b21pY19hZGRfYWZmZWN0ZWRfY29ubmVjdG9ycyhzdGF0 ZSwgY3J0Yyk7CiAJCQlpZiAocmV0KQogCQkJCXJldHVybiByZXQ7CiAJCX0KIAotCQlyZXQgPSBp bnRlbF9tb2Rlc2V0X3BpcGVfY29uZmlnKGNydGMsCi0JCQkJCXRvX2ludGVsX2NydGNfc3RhdGUo Y3J0Y19zdGF0ZSkpOworCQlyZXQgPSBpbnRlbF9tb2Rlc2V0X3BpcGVfY29uZmlnKGNydGMsIHBp cGVfY29uZmlnKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CiAKLQkJaWYgKG5lZWRzX21v ZGVzZXQoY3J0Y19zdGF0ZSkpCi0JCQlhbnlfbXMgPSB0cnVlOworCQlpZiAoIWludGVsX3BpcGVf Y29uZmlnX2NvbXBhcmUoc3RhdGUtPmRldiwKKwkJCQkJICAgICAgIHRvX2ludGVsX2NydGNfc3Rh dGUoY3J0Yy0+c3RhdGUpLAorCQkJCQkgICAgICAgcGlwZV9jb25maWcsIHRydWUpKQorCQkJY3J0 Y19zdGF0ZS0+bW9kZV9jaGFuZ2VkID0gdHJ1ZTsKKwkJZWxzZSBpZiAoIW5lZWRzX21vZGVzZXQo Y3J0Y19zdGF0ZSkpCisJCQljb250aW51ZTsKIAorCQlhbnlfbXMgPSB0cnVlOwogCQlpbnRlbF9k dW1wX3BpcGVfY29uZmlnKHRvX2ludGVsX2NydGMoY3J0YyksCi0JCQkJICAgICAgIHRvX2ludGVs X2NydGNfc3RhdGUoY3J0Y19zdGF0ZSksCisJCQkJICAgICAgIHBpcGVfY29uZmlnLAogCQkJCSAg ICAgICAiW21vZGVzZXRdIik7CiAJfQogCi0tIAoyLjEuMAoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK