From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 12/15] drm/i915: dev_priv cleanup in intel_pm.c Date: Wed, 16 Nov 2016 08:55:42 +0000 Message-ID: <1479286545-15020-13-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1479286545-15020-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id DFA3B6E66A for ; Wed, 16 Nov 2016 08:56:03 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id a20so8783094wme.2 for ; Wed, 16 Nov 2016 00:56:03 -0800 (PST) In-Reply-To: <1479286545-15020-1-git-send-email-tvrtko.ursulin@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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClBsdXMgYSB0 cmlja2xlIG9mIGZ1bmN0aW9uIHByb3RvdHlwZSBjaGFuZ2VzLgoKU2lnbmVkLW9mZi1ieTogVHZy dGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wbS5jIHwgNjcgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwppbmRleCAxMzMxYmNjNDE4NjguLjE0YzNhZTUwMmNi MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCkBAIC0xODYzLDIzICsxODYzLDI1IEBAIHN0YXRp YyB1aW50MzJfdCBpbGtfY29tcHV0ZV9mYmNfd20oY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNzdGF0ZSwKIAlyZXR1cm4gaWxrX3dtX2ZiYyhwcmlfdmFsLCBkcm1fcmVjdF93aWR0aCgm cHN0YXRlLT5iYXNlLmRzdCksIGNwcCk7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBpbnQgaWxrX2Rp c3BsYXlfZmlmb19zaXplKGNvbnN0IHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCitzdGF0aWMgdW5z aWduZWQgaW50CitpbGtfZGlzcGxheV9maWZvX3NpemUoY29uc3Qgc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQogewotCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA4KQorCWlm IChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDgpCiAJCXJldHVybiAzMDcyOwotCWVsc2UgaWYgKElO VEVMX0lORk8oZGV2KS0+Z2VuID49IDcpCisJZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+ PSA3KQogCQlyZXR1cm4gNzY4OwogCWVsc2UKIAkJcmV0dXJuIDUxMjsKIH0KIAotc3RhdGljIHVu c2lnbmVkIGludCBpbGtfcGxhbmVfd21fcmVnX21heChjb25zdCBzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAotCQkJCQkgaW50IGxldmVsLCBib29sIGlzX3Nwcml0ZSkKK3N0YXRpYyB1bnNpZ25lZCBp bnQKK2lsa19wbGFuZV93bV9yZWdfbWF4KGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKKwkJICAgICBpbnQgbGV2ZWwsIGJvb2wgaXNfc3ByaXRlKQogewotCWlmIChJTlRF TF9JTkZPKGRldiktPmdlbiA+PSA4KQorCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDgpCiAJ CS8qIEJEVyBwcmltYXJ5L3Nwcml0ZSBwbGFuZSB3YXRlcm1hcmtzICovCiAJCXJldHVybiBsZXZl bCA9PSAwID8gMjU1IDogMjA0NzsKLQllbHNlIGlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA3 KQorCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gNykKIAkJLyogSVZCL0hTVyBwcmlt YXJ5L3Nwcml0ZSBwbGFuZSB3YXRlcm1hcmtzICovCiAJCXJldHVybiBsZXZlbCA9PSAwID8gMTI3 IDogMTAyMzsKIAllbHNlIGlmICghaXNfc3ByaXRlKQpAQCAtMTg5MCwxOCArMTg5MiwxOCBAQCBz dGF0aWMgdW5zaWduZWQgaW50IGlsa19wbGFuZV93bV9yZWdfbWF4KGNvbnN0IHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCiAJCXJldHVybiBsZXZlbCA9PSAwID8gNjMgOiAyNTU7CiB9CiAKLXN0YXRp YyB1bnNpZ25lZCBpbnQgaWxrX2N1cnNvcl93bV9yZWdfbWF4KGNvbnN0IHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCi0JCQkJCSAgaW50IGxldmVsKQorc3RhdGljIHVuc2lnbmVkIGludAoraWxrX2N1 cnNvcl93bV9yZWdfbWF4KGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwg aW50IGxldmVsKQogewotCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA3KQorCWlmIChJTlRF TF9HRU4oZGV2X3ByaXYpID49IDcpCiAJCXJldHVybiBsZXZlbCA9PSAwID8gNjMgOiAyNTU7CiAJ ZWxzZQogCQlyZXR1cm4gbGV2ZWwgPT0gMCA/IDMxIDogNjM7CiB9CiAKLXN0YXRpYyB1bnNpZ25l ZCBpbnQgaWxrX2ZiY193bV9yZWdfbWF4KGNvbnN0IHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCitz dGF0aWMgdW5zaWduZWQgaW50IGlsa19mYmNfd21fcmVnX21heChjb25zdCBzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0JaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDgp CisJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOCkKIAkJcmV0dXJuIDMxOwogCWVsc2UKIAkJ cmV0dXJuIDE1OwpAQCAtMTkxNCw3ICsxOTE2LDggQEAgc3RhdGljIHVuc2lnbmVkIGludCBpbGtf cGxhbmVfd21fbWF4KGNvbnN0IHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJICAgICBlbnVt IGludGVsX2RkYl9wYXJ0aXRpb25pbmcgZGRiX3BhcnRpdGlvbmluZywKIAkJCQkgICAgIGJvb2wg aXNfc3ByaXRlKQogewotCXVuc2lnbmVkIGludCBmaWZvX3NpemUgPSBpbGtfZGlzcGxheV9maWZv X3NpemUoZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGRldik7CisJdW5zaWduZWQgaW50IGZpZm9fc2l6ZSA9IGlsa19kaXNwbGF5X2ZpZm9fc2l6ZShk ZXZfcHJpdik7CiAKIAkvKiBpZiBzcHJpdGVzIGFyZW4ndCBlbmFibGVkLCBzcHJpdGVzIGdldCBu b3RoaW5nICovCiAJaWYgKGlzX3Nwcml0ZSAmJiAhY29uZmlnLT5zcHJpdGVzX2VuYWJsZWQpCkBA IC0xOTIyLDE0ICsxOTI1LDE0IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgaWxrX3BsYW5lX3dtX21h eChjb25zdCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCiAJLyogSFNXIGFsbG93cyBMUDErIHdh dGVybWFya3MgZXZlbiB3aXRoIG11bHRpcGxlIHBpcGVzICovCiAJaWYgKGxldmVsID09IDAgfHwg Y29uZmlnLT5udW1fcGlwZXNfYWN0aXZlID4gMSkgewotCQlmaWZvX3NpemUgLz0gSU5URUxfSU5G Tyh0b19pOTE1KGRldikpLT5udW1fcGlwZXM7CisJCWZpZm9fc2l6ZSAvPSBJTlRFTF9JTkZPKGRl dl9wcml2KS0+bnVtX3BpcGVzOwogCiAJCS8qCiAJCSAqIEZvciBzb21lIHJlYXNvbiB0aGUgbm9u IHNlbGYgcmVmcmVzaAogCQkgKiBGSUZPIHNpemUgaXMgb25seSBoYWxmIG9mIHRoZSBzZWxmCiAJ CSAqIHJlZnJlc2ggRklGTyBzaXplIG9uIElMSy9TTkIuCiAJCSAqLwotCQlpZiAoSU5URUxfSU5G TyhkZXYpLT5nZW4gPD0gNikKKwkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPD0gNikKIAkJCWZp Zm9fc2l6ZSAvPSAyOwogCX0KIApAQCAtMTk0NSw3ICsxOTQ4LDcgQEAgc3RhdGljIHVuc2lnbmVk IGludCBpbGtfcGxhbmVfd21fbWF4KGNvbnN0IHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJfQog CiAJLyogY2xhbXAgdG8gbWF4IHRoYXQgdGhlIHJlZ2lzdGVycyBjYW4gaG9sZCAqLwotCXJldHVy biBtaW4oZmlmb19zaXplLCBpbGtfcGxhbmVfd21fcmVnX21heChkZXYsIGxldmVsLCBpc19zcHJp dGUpKTsKKwlyZXR1cm4gbWluKGZpZm9fc2l6ZSwgaWxrX3BsYW5lX3dtX3JlZ19tYXgoZGV2X3By aXYsIGxldmVsLCBpc19zcHJpdGUpKTsKIH0KIAogLyogQ2FsY3VsYXRlIHRoZSBtYXhpbXVtIGN1 cnNvciBwbGFuZSB3YXRlcm1hcmsgKi8KQEAgLTE5NTgsNyArMTk2MSw3IEBAIHN0YXRpYyB1bnNp Z25lZCBpbnQgaWxrX2N1cnNvcl93bV9tYXgoY29uc3Qgc3RydWN0IGRybV9kZXZpY2UgKmRldiwK IAkJcmV0dXJuIDY0OwogCiAJLyogb3RoZXJ3aXNlIGp1c3QgcmVwb3J0IG1heCB0aGF0IHJlZ2lz dGVycyBjYW4gaG9sZCAqLwotCXJldHVybiBpbGtfY3Vyc29yX3dtX3JlZ19tYXgoZGV2LCBsZXZl bCk7CisJcmV0dXJuIGlsa19jdXJzb3Jfd21fcmVnX21heCh0b19pOTE1KGRldiksIGxldmVsKTsK IH0KIAogc3RhdGljIHZvaWQgaWxrX2NvbXB1dGVfd21fbWF4aW11bXMoY29uc3Qgc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKQEAgLTE5NzAsMTcgKzE5NzMsMTcgQEAgc3RhdGljIHZvaWQgaWxrX2Nv bXB1dGVfd21fbWF4aW11bXMoY29uc3Qgc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAltYXgtPnBy aSA9IGlsa19wbGFuZV93bV9tYXgoZGV2LCBsZXZlbCwgY29uZmlnLCBkZGJfcGFydGl0aW9uaW5n LCBmYWxzZSk7CiAJbWF4LT5zcHIgPSBpbGtfcGxhbmVfd21fbWF4KGRldiwgbGV2ZWwsIGNvbmZp ZywgZGRiX3BhcnRpdGlvbmluZywgdHJ1ZSk7CiAJbWF4LT5jdXIgPSBpbGtfY3Vyc29yX3dtX21h eChkZXYsIGxldmVsLCBjb25maWcpOwotCW1heC0+ZmJjID0gaWxrX2ZiY193bV9yZWdfbWF4KGRl dik7CisJbWF4LT5mYmMgPSBpbGtfZmJjX3dtX3JlZ19tYXgodG9faTkxNShkZXYpKTsKIH0KIAot c3RhdGljIHZvaWQgaWxrX2NvbXB1dGVfd21fcmVnX21heGltdW1zKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCitzdGF0aWMgdm9pZCBpbGtfY29tcHV0ZV93bV9yZWdfbWF4aW11bXMoY29uc3Qgc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCQlpbnQgbGV2ZWwsCiAJCQkJCXN0 cnVjdCBpbGtfd21fbWF4aW11bXMgKm1heCkKIHsKLQltYXgtPnByaSA9IGlsa19wbGFuZV93bV9y ZWdfbWF4KGRldiwgbGV2ZWwsIGZhbHNlKTsKLQltYXgtPnNwciA9IGlsa19wbGFuZV93bV9yZWdf bWF4KGRldiwgbGV2ZWwsIHRydWUpOwotCW1heC0+Y3VyID0gaWxrX2N1cnNvcl93bV9yZWdfbWF4 KGRldiwgbGV2ZWwpOwotCW1heC0+ZmJjID0gaWxrX2ZiY193bV9yZWdfbWF4KGRldik7CisJbWF4 LT5wcmkgPSBpbGtfcGxhbmVfd21fcmVnX21heChkZXZfcHJpdiwgbGV2ZWwsIGZhbHNlKTsKKwlt YXgtPnNwciA9IGlsa19wbGFuZV93bV9yZWdfbWF4KGRldl9wcml2LCBsZXZlbCwgdHJ1ZSk7CisJ bWF4LT5jdXIgPSBpbGtfY3Vyc29yX3dtX3JlZ19tYXgoZGV2X3ByaXYsIGxldmVsKTsKKwltYXgt PmZiYyA9IGlsa19mYmNfd21fcmVnX21heChkZXZfcHJpdik7CiB9CiAKIHN0YXRpYyBib29sIGls a192YWxpZGF0ZV93bV9sZXZlbChpbnQgbGV2ZWwsCkBAIC0yMzg0LDcgKzIzODcsNyBAQCBzdGF0 aWMgaW50IGlsa19jb21wdXRlX3BpcGVfd20oc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0 ZSkKIAl1c2FibGVfbGV2ZWwgPSBtYXhfbGV2ZWw7CiAKIAkvKiBJTEsvU05COiBMUDIrIHdhdGVy bWFya3Mgb25seSB3L28gc3ByaXRlcyAqLwotCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA8PSA2 ICYmIHBpcGVfd20tPnNwcml0ZXNfZW5hYmxlZCkKKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8 PSA2ICYmIHBpcGVfd20tPnNwcml0ZXNfZW5hYmxlZCkKIAkJdXNhYmxlX2xldmVsID0gMTsKIAog CS8qIElMSy9TTkIvSVZCOiBMUDErIHdhdGVybWFya3Mgb25seSB3L28gc2NhbGluZyAqLwpAQCAt MjQwMyw3ICsyNDA2LDcgQEAgc3RhdGljIGludCBpbGtfY29tcHV0ZV9waXBlX3dtKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpCiAJaWYgKCFpbGtfdmFsaWRhdGVfcGlwZV93bShkZXYs IHBpcGVfd20pKQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCWlsa19jb21wdXRlX3dtX3JlZ19tYXhp bXVtcyhkZXYsIDEsICZtYXgpOworCWlsa19jb21wdXRlX3dtX3JlZ19tYXhpbXVtcyhkZXZfcHJp diwgMSwgJm1heCk7CiAKIAlmb3IgKGxldmVsID0gMTsgbGV2ZWwgPD0gbWF4X2xldmVsOyBsZXZl bCsrKSB7CiAJCXN0cnVjdCBpbnRlbF93bV9sZXZlbCAqd20gPSAmcGlwZV93bS0+cmF3X3dtW2xl dmVsXTsKQEAgLTI1MzIsNyArMjUzNSw3IEBAIHN0YXRpYyB2b2lkIGlsa193bV9tZXJnZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAogCQlsYXN0X2VuYWJsZWRfbGV2ZWwgPSAwOwogCiAJLyogSUxL OiBGQkMgV00gbXVzdCBiZSBkaXNhYmxlZCBhbHdheXMgKi8KLQltZXJnZWQtPmZiY193bV9lbmFi bGVkID0gSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gNjsKKwltZXJnZWQtPmZiY193bV9lbmFibGVk ID0gSU5URUxfR0VOKGRldl9wcml2KSA+PSA2OwogCiAJLyogbWVyZ2UgZWFjaCBXTTErIGxldmVs ICovCiAJZm9yIChsZXZlbCA9IDE7IGxldmVsIDw9IG1heF9sZXZlbDsgbGV2ZWwrKykgewpAQCAt MjU5NSw2ICsyNTk4LDcgQEAgc3RhdGljIHZvaWQgaWxrX2NvbXB1dGVfd21fcmVzdWx0cyhzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCSAgIGVudW0gaW50ZWxfZGRiX3BhcnRpdGlvbmluZyBw YXJ0aXRpb25pbmcsCiAJCQkJICAgc3RydWN0IGlsa193bV92YWx1ZXMgKnJlc3VsdHMpCiB7CisJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCXN0cnVj dCBpbnRlbF9jcnRjICppbnRlbF9jcnRjOwogCWludCBsZXZlbCwgd21fbHA7CiAKQEAgLTI2MjEs NyArMjYyNSw3IEBAIHN0YXRpYyB2b2lkIGlsa19jb21wdXRlX3dtX3Jlc3VsdHMoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKIAkJaWYgKHItPmVuYWJsZSkKIAkJCXJlc3VsdHMtPndtX2xwW3dtX2xw IC0gMV0gfD0gV00xX0xQX1NSX0VOOwogCi0JCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA4 KQorCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA4KQogCQkJcmVzdWx0cy0+d21fbHBbd21f bHAgLSAxXSB8PQogCQkJCXItPmZiY192YWwgPDwgV00xX0xQX0ZCQ19TSElGVF9CRFc7CiAJCWVs c2UKQEAgLTI2MzIsNyArMjYzNiw3IEBAIHN0YXRpYyB2b2lkIGlsa19jb21wdXRlX3dtX3Jlc3Vs dHMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJICogQWx3YXlzIHNldCBXTTFTX0xQX0VOIHdo ZW4gc3ByX3ZhbCAhPSAwLCBldmVuIGlmIHRoZQogCQkgKiBsZXZlbCBpcyBkaXNhYmxlZC4gRG9p bmcgb3RoZXJ3aXNlIGNvdWxkIGNhdXNlIHVuZGVycnVucy4KIAkJICovCi0JCWlmIChJTlRFTF9J TkZPKGRldiktPmdlbiA8PSA2ICYmIHItPnNwcl92YWwpIHsKKwkJaWYgKElOVEVMX0dFTihkZXZf cHJpdikgPD0gNiAmJiByLT5zcHJfdmFsKSB7CiAJCQlXQVJOX09OKHdtX2xwICE9IDEpOwogCQkJ cmVzdWx0cy0+d21fbHBfc3ByW3dtX2xwIC0gMV0gPSBXTTFTX0xQX0VOIHwgci0+c3ByX3ZhbDsK IAkJfSBlbHNlCkBAIC0yNzgyLDcgKzI3ODYsNiBAQCBzdGF0aWMgYm9vbCBfaWxrX2Rpc2FibGVf bHBfd20oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogc3RhdGljIHZvaWQgaWxr X3dyaXRlX3dtX3ZhbHVlcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJ c3RydWN0IGlsa193bV92YWx1ZXMgKnJlc3VsdHMpCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRl diA9ICZkZXZfcHJpdi0+ZHJtOwogCXN0cnVjdCBpbGtfd21fdmFsdWVzICpwcmV2aW91cyA9ICZk ZXZfcHJpdi0+d20uaHc7CiAJdW5zaWduZWQgaW50IGRpcnR5OwogCXVpbnQzMl90IHZhbDsKQEAg LTI4MzgsNyArMjg0MSw3IEBAIHN0YXRpYyB2b2lkIGlsa193cml0ZV93bV92YWx1ZXMoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCSAgICBwcmV2aW91cy0+d21fbHBfc3ByWzBd ICE9IHJlc3VsdHMtPndtX2xwX3NwclswXSkKIAkJSTkxNV9XUklURShXTTFTX0xQX0lMSywgcmVz dWx0cy0+d21fbHBfc3ByWzBdKTsKIAotCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA3KSB7 CisJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gNykgewogCQlpZiAoZGlydHkgJiBXTV9ESVJU WV9MUCgyKSAmJiBwcmV2aW91cy0+d21fbHBfc3ByWzFdICE9IHJlc3VsdHMtPndtX2xwX3Nwclsx XSkKIAkJCUk5MTVfV1JJVEUoV00yU19MUF9JVkIsIHJlc3VsdHMtPndtX2xwX3NwclsxXSk7CiAJ CWlmIChkaXJ0eSAmIFdNX0RJUlRZX0xQKDMpICYmIHByZXZpb3VzLT53bV9scF9zcHJbMl0gIT0g cmVzdWx0cy0+d21fbHBfc3ByWzJdKQpAQCAtNDI2OCw3ICs0MjcxLDcgQEAgc3RhdGljIHZvaWQg aWxrX3Byb2dyYW1fd2F0ZXJtYXJrcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp CiAJaWxrX3dtX21lcmdlKGRldiwgJmNvbmZpZywgJm1heCwgJmxwX3dtXzFfMik7CiAKIAkvKiA1 LzYgc3BsaXQgb25seSBpbiBzaW5nbGUgcGlwZSBjb25maWcgb24gSVZCKyAqLwotCWlmIChJTlRF TF9JTkZPKGRldiktPmdlbiA+PSA3ICYmCisJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gNyAm JgogCSAgICBjb25maWcubnVtX3BpcGVzX2FjdGl2ZSA9PSAxICYmIGNvbmZpZy5zcHJpdGVzX2Vu YWJsZWQpIHsKIAkJaWxrX2NvbXB1dGVfd21fbWF4aW11bXMoZGV2LCAxLCAmY29uZmlnLCBJTlRF TF9EREJfUEFSVF81XzYsICZtYXgpOwogCQlpbGtfd21fbWVyZ2UoZGV2LCAmY29uZmlnLCAmbWF4 LCAmbHBfd21fNV82KTsKQEAgLTQ2MTAsNyArNDYxMyw3IEBAIHZvaWQgaWxrX3dtX2dldF9od19z dGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWh3LT53bV9scFsyXSA9IEk5MTVfUkVBRChX TTNfTFBfSUxLKTsKIAogCWh3LT53bV9scF9zcHJbMF0gPSBJOTE1X1JFQUQoV00xU19MUF9JTEsp OwotCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA3KSB7CisJaWYgKElOVEVMX0dFTihkZXZf cHJpdikgPj0gNykgewogCQlody0+d21fbHBfc3ByWzFdID0gSTkxNV9SRUFEKFdNMlNfTFBfSVZC KTsKIAkJaHctPndtX2xwX3NwclsyXSA9IEk5MTVfUkVBRChXTTNTX0xQX0lWQik7CiAJfQotLSAK Mi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=