From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH v2 04/17] drm/i915: Move load time init of display/audio hooks earlier Date: Fri, 11 Mar 2016 18:31:29 +0200 Message-ID: <1457713902-2425-5-git-send-email-imre.deak@intel.com> References: <1457713902-2425-1-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 0D0406EB18 for ; Fri, 11 Mar 2016 16:31:51 +0000 (UTC) In-Reply-To: <1457713902-2425-1-git-send-email-imre.deak@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: Jani Nikula List-Id: intel-gfx@lists.freedesktop.org QWxsIG9mIHRoaXMgaXMgU1cgb25seSBpbml0aWFsaXphdGlvbiBzbyB3ZSBjYW4gbW92ZSB0aGVt IGVhcmxpZXIuIE1vdmUKdGhlIG11dGV4IGluaXQgd2hlcmUgdGhlIHJlc3Qgb2YgdGhlIGxvY2tz IGFyZSBpbml0ZWQuIFdoaWxlIGF0IGl0IGFsc28KY29udmVydCBkZXYgdG8gZGV2X3ByaXYuCgp2 MjoKLSB1c2UgdGhlIHRlcm0gaG9vayBpbnN0ZWFkIG9mIGNhbGxiYWNrIGZvciB0aGVzZSBmdW5j dGlvbnMgKEphbmkpCgpDQzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KU2ln bmVkLW9mZi1ieTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZG1hLmMgICAgICB8ICAzICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9hdWRpby5jICAgfCAxNiArKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMgfCA4MiArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAzICstCiA0IGZpbGVzIGNoYW5n ZWQsIDUxIGluc2VydGlvbnMoKyksIDUzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rt YS5jCmluZGV4IDRjZjdiZDQuLjQ0ZjE1ZGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZG1hLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwpAQCAt MTAxNSw2ICsxMDE1LDcgQEAgaW50IGk5MTVfZHJpdmVyX2xvYWQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdW5zaWduZWQgbG9uZyBmbGFncykKIAltdXRleF9pbml0KCZkZXZfcHJpdi0+bW9kZXNl dF9yZXN0b3JlX2xvY2spOwogCW11dGV4X2luaXQoJmRldl9wcml2LT5hdl9tdXRleCk7CiAJbXV0 ZXhfaW5pdCgmZGV2X3ByaXYtPndtLndtX211dGV4KTsKKwltdXRleF9pbml0KCZkZXZfcHJpdi0+ cHBzX211dGV4KTsKIAogCXJldCA9IGk5MTVfd29ya3F1ZXVlc19pbml0KGRldl9wcml2KTsKIAlp ZiAocmV0IDwgMCkKQEAgLTEwMjcsNiArMTAyOCw4IEBAIGludCBpOTE1X2RyaXZlcl9sb2FkKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCiAJaW50ZWxfaW5pdF9k cGlvKGRldl9wcml2KTsKIAlpbnRlbF9wb3dlcl9kb21haW5zX2luaXQoZGV2X3ByaXYpOwogCWlu dGVsX2lycV9pbml0KGRldl9wcml2KTsKKwlpbnRlbF9pbml0X2Rpc3BsYXlfaG9va3MoZGV2X3By aXYpOworCWludGVsX2luaXRfYXVkaW9faG9va3MoZGV2X3ByaXYpOwogCiAJaW50ZWxfcnVudGlt ZV9wbV9nZXQoZGV2X3ByaXYpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9hdWRpby5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYwppbmRleCAz MGY5MjE0Li5mZGM4YjJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9h dWRpby5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKQEAgLTU2NCwy MyArNTY0LDIxIEBAIHZvaWQgaW50ZWxfYXVkaW9fY29kZWNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKIH0KIAogLyoqCi0gKiBpbnRlbF9pbml0X2F1ZGlvIC0g U2V0IHVwIGNoaXAgc3BlY2lmaWMgYXVkaW8gZnVuY3Rpb25zCi0gKiBAZGV2OiBkcm0gZGV2aWNl CisgKiBpbnRlbF9pbml0X2F1ZGlvX2hvb2tzIC0gU2V0IHVwIGNoaXAgc3BlY2lmaWMgYXVkaW8g aG9va3MKKyAqIEBkZXZfcHJpdjogZGV2aWNlIHByaXZhdGUKICAqLwotdm9pZCBpbnRlbF9pbml0 X2F1ZGlvKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCit2b2lkIGludGVsX2luaXRfYXVkaW9faG9v a3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewotCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0KLQlpZiAoSVNfRzRYKGRl dikpIHsKKwlpZiAoSVNfRzRYKGRldl9wcml2KSkgewogCQlkZXZfcHJpdi0+ZGlzcGxheS5hdWRp b19jb2RlY19lbmFibGUgPSBnNHhfYXVkaW9fY29kZWNfZW5hYmxlOwogCQlkZXZfcHJpdi0+ZGlz cGxheS5hdWRpb19jb2RlY19kaXNhYmxlID0gZzR4X2F1ZGlvX2NvZGVjX2Rpc2FibGU7Ci0JfSBl bHNlIGlmIChJU19WQUxMRVlWSUVXKGRldikgfHwgSVNfQ0hFUlJZVklFVyhkZXYpKSB7CisJfSBl bHNlIGlmIChJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2 KSkgewogCQlkZXZfcHJpdi0+ZGlzcGxheS5hdWRpb19jb2RlY19lbmFibGUgPSBpbGtfYXVkaW9f Y29kZWNfZW5hYmxlOwogCQlkZXZfcHJpdi0+ZGlzcGxheS5hdWRpb19jb2RlY19kaXNhYmxlID0g aWxrX2F1ZGlvX2NvZGVjX2Rpc2FibGU7Ci0JfSBlbHNlIGlmIChJU19IQVNXRUxMKGRldikgfHwg SU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOCkgeworCX0gZWxzZSBpZiAoSVNfSEFTV0VMTChkZXZf cHJpdikgfHwgSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA+PSA4KSB7CiAJCWRldl9wcml2LT5k aXNwbGF5LmF1ZGlvX2NvZGVjX2VuYWJsZSA9IGhzd19hdWRpb19jb2RlY19lbmFibGU7CiAJCWRl dl9wcml2LT5kaXNwbGF5LmF1ZGlvX2NvZGVjX2Rpc2FibGUgPSBoc3dfYXVkaW9fY29kZWNfZGlz YWJsZTsKLQl9IGVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgeworCX0gZWxzZSBpZiAoSEFT X1BDSF9TUExJVChkZXZfcHJpdikpIHsKIAkJZGV2X3ByaXYtPmRpc3BsYXkuYXVkaW9fY29kZWNf ZW5hYmxlID0gaWxrX2F1ZGlvX2NvZGVjX2VuYWJsZTsKIAkJZGV2X3ByaXYtPmRpc3BsYXkuYXVk aW9fY29kZWNfZGlzYWJsZSA9IGlsa19hdWRpb19jb2RlY19kaXNhYmxlOwogCX0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCAyZDE1MWFkLi5iN2QxNDVjIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0xNDgyOSwyMyArMTQ4MjksMjQgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9jb25maWdfZnVuY3MgaW50ZWxfbW9kZV9mdW5jcyA9IHsK IAkuYXRvbWljX3N0YXRlX2NsZWFyID0gaW50ZWxfYXRvbWljX3N0YXRlX2NsZWFyLAogfTsKIAot LyogU2V0IHVwIGNoaXAgc3BlY2lmaWMgZGlzcGxheSBmdW5jdGlvbnMgKi8KLXN0YXRpYyB2b2lk IGludGVsX2luaXRfZGlzcGxheShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQorLyoqCisgKiBpbnRl bF9pbml0X2Rpc3BsYXlfaG9va3MgLSBpbml0aWFsaXplIHRoZSBkaXNwbGF5IG1vZGVzZXR0aW5n IGhvb2tzCisgKiBAZGV2X3ByaXY6IGRldmljZSBwcml2YXRlCisgKi8KK3ZvaWQgaW50ZWxfaW5p dF9kaXNwbGF5X2hvb2tzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKLQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwotCi0J aWYgKEhBU19QQ0hfU1BMSVQoZGV2KSB8fCBJU19HNFgoZGV2KSkKKwlpZiAoSEFTX1BDSF9TUExJ VChkZXZfcHJpdikgfHwgSVNfRzRYKGRldl9wcml2KSkKIAkJZGV2X3ByaXYtPmRpc3BsYXkuZmlu ZF9kcGxsID0gZzR4X2ZpbmRfYmVzdF9kcGxsOwotCWVsc2UgaWYgKElTX0NIRVJSWVZJRVcoZGV2 KSkKKwllbHNlIGlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSkKIAkJZGV2X3ByaXYtPmRpc3Bs YXkuZmluZF9kcGxsID0gY2h2X2ZpbmRfYmVzdF9kcGxsOwotCWVsc2UgaWYgKElTX1ZBTExFWVZJ RVcoZGV2KSkKKwllbHNlIGlmIChJU19WQUxMRVlWSUVXKGRldl9wcml2KSkKIAkJZGV2X3ByaXYt PmRpc3BsYXkuZmluZF9kcGxsID0gdmx2X2ZpbmRfYmVzdF9kcGxsOwotCWVsc2UgaWYgKElTX1BJ TkVWSUVXKGRldikpCisJZWxzZSBpZiAoSVNfUElORVZJRVcoZGV2X3ByaXYpKQogCQlkZXZfcHJp di0+ZGlzcGxheS5maW5kX2RwbGwgPSBwbnZfZmluZF9iZXN0X2RwbGw7CiAJZWxzZQogCQlkZXZf cHJpdi0+ZGlzcGxheS5maW5kX2RwbGwgPSBpOXh4X2ZpbmRfYmVzdF9kcGxsOwogCi0JaWYgKElO VEVMX0lORk8oZGV2KS0+Z2VuID49IDkpIHsKKwlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdl biA+PSA5KSB7CiAJCWRldl9wcml2LT5kaXNwbGF5LmdldF9waXBlX2NvbmZpZyA9IGhhc3dlbGxf Z2V0X3BpcGVfY29uZmlnOwogCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfaW5pdGlhbF9wbGFuZV9j b25maWcgPQogCQkJc2t5bGFrZV9nZXRfaW5pdGlhbF9wbGFuZV9jb25maWc7CkBAIC0xNDg1Myw3 ICsxNDg1NCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2luaXRfZGlzcGxheShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogCQkJaGFzd2VsbF9jcnRjX2NvbXB1dGVfY2xvY2s7CiAJCWRldl9wcml2LT5k aXNwbGF5LmNydGNfZW5hYmxlID0gaGFzd2VsbF9jcnRjX2VuYWJsZTsKIAkJZGV2X3ByaXYtPmRp c3BsYXkuY3J0Y19kaXNhYmxlID0gaGFzd2VsbF9jcnRjX2Rpc2FibGU7Ci0JfSBlbHNlIGlmIChI QVNfRERJKGRldikpIHsKKwl9IGVsc2UgaWYgKEhBU19EREkoZGV2X3ByaXYpKSB7CiAJCWRldl9w cml2LT5kaXNwbGF5LmdldF9waXBlX2NvbmZpZyA9IGhhc3dlbGxfZ2V0X3BpcGVfY29uZmlnOwog CQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfaW5pdGlhbF9wbGFuZV9jb25maWcgPQogCQkJaXJvbmxh a2VfZ2V0X2luaXRpYWxfcGxhbmVfY29uZmlnOwpAQCAtMTQ4NjEsNyArMTQ4NjIsNyBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9pbml0X2Rpc3BsYXkoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJCWhh c3dlbGxfY3J0Y19jb21wdXRlX2Nsb2NrOwogCQlkZXZfcHJpdi0+ZGlzcGxheS5jcnRjX2VuYWJs ZSA9IGhhc3dlbGxfY3J0Y19lbmFibGU7CiAJCWRldl9wcml2LT5kaXNwbGF5LmNydGNfZGlzYWJs ZSA9IGhhc3dlbGxfY3J0Y19kaXNhYmxlOwotCX0gZWxzZSBpZiAoSEFTX1BDSF9TUExJVChkZXYp KSB7CisJfSBlbHNlIGlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSkgewogCQlkZXZfcHJpdi0+ ZGlzcGxheS5nZXRfcGlwZV9jb25maWcgPSBpcm9ubGFrZV9nZXRfcGlwZV9jb25maWc7CiAJCWRl dl9wcml2LT5kaXNwbGF5LmdldF9pbml0aWFsX3BsYW5lX2NvbmZpZyA9CiAJCQlpcm9ubGFrZV9n ZXRfaW5pdGlhbF9wbGFuZV9jb25maWc7CkBAIC0xNDg2OSw3ICsxNDg3MCw3IEBAIHN0YXRpYyB2 b2lkIGludGVsX2luaXRfZGlzcGxheShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQkJaXJvbmxh a2VfY3J0Y19jb21wdXRlX2Nsb2NrOwogCQlkZXZfcHJpdi0+ZGlzcGxheS5jcnRjX2VuYWJsZSA9 IGlyb25sYWtlX2NydGNfZW5hYmxlOwogCQlkZXZfcHJpdi0+ZGlzcGxheS5jcnRjX2Rpc2FibGUg PSBpcm9ubGFrZV9jcnRjX2Rpc2FibGU7Ci0JfSBlbHNlIGlmIChJU19WQUxMRVlWSUVXKGRldikg fHwgSVNfQ0hFUlJZVklFVyhkZXYpKSB7CisJfSBlbHNlIGlmIChJU19WQUxMRVlWSUVXKGRldl9w cml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkgewogCQlkZXZfcHJpdi0+ZGlzcGxheS5n ZXRfcGlwZV9jb25maWcgPSBpOXh4X2dldF9waXBlX2NvbmZpZzsKIAkJZGV2X3ByaXYtPmRpc3Bs YXkuZ2V0X2luaXRpYWxfcGxhbmVfY29uZmlnID0KIAkJCWk5eHhfZ2V0X2luaXRpYWxfcGxhbmVf Y29uZmlnOwpAQCAtMTQ4ODYsODkgKzE0ODg3LDg5IEBAIHN0YXRpYyB2b2lkIGludGVsX2luaXRf ZGlzcGxheShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCX0KIAogCS8qIFJldHVybnMgdGhlIGNv cmUgZGlzcGxheSBjbG9jayBzcGVlZCAqLwotCWlmIChJU19TS1lMQUtFKGRldikgfHwgSVNfS0FC WUxBS0UoZGV2KSkKKwlpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikgfHwgSVNfS0FCWUxBS0UoZGV2 X3ByaXYpKQogCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfZGlzcGxheV9jbG9ja19zcGVlZCA9CiAJ CQlza3lsYWtlX2dldF9kaXNwbGF5X2Nsb2NrX3NwZWVkOwotCWVsc2UgaWYgKElTX0JST1hUT04o ZGV2KSkKKwllbHNlIGlmIChJU19CUk9YVE9OKGRldl9wcml2KSkKIAkJZGV2X3ByaXYtPmRpc3Bs YXkuZ2V0X2Rpc3BsYXlfY2xvY2tfc3BlZWQgPQogCQkJYnJveHRvbl9nZXRfZGlzcGxheV9jbG9j a19zcGVlZDsKLQllbHNlIGlmIChJU19CUk9BRFdFTEwoZGV2KSkKKwllbHNlIGlmIChJU19CUk9B RFdFTEwoZGV2X3ByaXYpKQogCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfZGlzcGxheV9jbG9ja19z cGVlZCA9CiAJCQlicm9hZHdlbGxfZ2V0X2Rpc3BsYXlfY2xvY2tfc3BlZWQ7Ci0JZWxzZSBpZiAo SVNfSEFTV0VMTChkZXYpKQorCWVsc2UgaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpKQogCQlkZXZf cHJpdi0+ZGlzcGxheS5nZXRfZGlzcGxheV9jbG9ja19zcGVlZCA9CiAJCQloYXN3ZWxsX2dldF9k aXNwbGF5X2Nsb2NrX3NwZWVkOwotCWVsc2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2KSB8fCBJU19D SEVSUllWSUVXKGRldikpCisJZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikgfHwgSVNf Q0hFUlJZVklFVyhkZXZfcHJpdikpCiAJCWRldl9wcml2LT5kaXNwbGF5LmdldF9kaXNwbGF5X2Ns b2NrX3NwZWVkID0KIAkJCXZhbGxleXZpZXdfZ2V0X2Rpc3BsYXlfY2xvY2tfc3BlZWQ7Ci0JZWxz ZSBpZiAoSVNfR0VONShkZXYpKQorCWVsc2UgaWYgKElTX0dFTjUoZGV2X3ByaXYpKQogCQlkZXZf cHJpdi0+ZGlzcGxheS5nZXRfZGlzcGxheV9jbG9ja19zcGVlZCA9CiAJCQlpbGtfZ2V0X2Rpc3Bs YXlfY2xvY2tfc3BlZWQ7Ci0JZWxzZSBpZiAoSVNfSTk0NUcoZGV2KSB8fCBJU19CUk9BRFdBVEVS KGRldikgfHwKLQkJIElTX0dFTjYoZGV2KSB8fCBJU19JVllCUklER0UoZGV2KSkKKwllbHNlIGlm IChJU19JOTQ1RyhkZXZfcHJpdikgfHwgSVNfQlJPQURXQVRFUihkZXZfcHJpdikgfHwKKwkJIElT X0dFTjYoZGV2X3ByaXYpIHx8IElTX0lWWUJSSURHRShkZXZfcHJpdikpCiAJCWRldl9wcml2LT5k aXNwbGF5LmdldF9kaXNwbGF5X2Nsb2NrX3NwZWVkID0KIAkJCWk5NDVfZ2V0X2Rpc3BsYXlfY2xv Y2tfc3BlZWQ7Ci0JZWxzZSBpZiAoSVNfR000NShkZXYpKQorCWVsc2UgaWYgKElTX0dNNDUoZGV2 X3ByaXYpKQogCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfZGlzcGxheV9jbG9ja19zcGVlZCA9CiAJ CQlnbTQ1X2dldF9kaXNwbGF5X2Nsb2NrX3NwZWVkOwotCWVsc2UgaWYgKElTX0NSRVNUTElORShk ZXYpKQorCWVsc2UgaWYgKElTX0NSRVNUTElORShkZXZfcHJpdikpCiAJCWRldl9wcml2LT5kaXNw bGF5LmdldF9kaXNwbGF5X2Nsb2NrX3NwZWVkID0KIAkJCWk5NjVnbV9nZXRfZGlzcGxheV9jbG9j a19zcGVlZDsKLQllbHNlIGlmIChJU19QSU5FVklFVyhkZXYpKQorCWVsc2UgaWYgKElTX1BJTkVW SUVXKGRldl9wcml2KSkKIAkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2Rpc3BsYXlfY2xvY2tfc3Bl ZWQgPQogCQkJcG52X2dldF9kaXNwbGF5X2Nsb2NrX3NwZWVkOwotCWVsc2UgaWYgKElTX0czMyhk ZXYpIHx8IElTX0c0WChkZXYpKQorCWVsc2UgaWYgKElTX0czMyhkZXZfcHJpdikgfHwgSVNfRzRY KGRldl9wcml2KSkKIAkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2Rpc3BsYXlfY2xvY2tfc3BlZWQg PQogCQkJZzMzX2dldF9kaXNwbGF5X2Nsb2NrX3NwZWVkOwotCWVsc2UgaWYgKElTX0k5MTVHKGRl dikpCisJZWxzZSBpZiAoSVNfSTkxNUcoZGV2X3ByaXYpKQogCQlkZXZfcHJpdi0+ZGlzcGxheS5n ZXRfZGlzcGxheV9jbG9ja19zcGVlZCA9CiAJCQlpOTE1X2dldF9kaXNwbGF5X2Nsb2NrX3NwZWVk OwotCWVsc2UgaWYgKElTX0k5NDVHTShkZXYpIHx8IElTXzg0NUcoZGV2KSkKKwllbHNlIGlmIChJ U19JOTQ1R00oZGV2X3ByaXYpIHx8IElTXzg0NUcoZGV2X3ByaXYpKQogCQlkZXZfcHJpdi0+ZGlz cGxheS5nZXRfZGlzcGxheV9jbG9ja19zcGVlZCA9CiAJCQlpOXh4X21pc2NfZ2V0X2Rpc3BsYXlf Y2xvY2tfc3BlZWQ7Ci0JZWxzZSBpZiAoSVNfSTkxNUdNKGRldikpCisJZWxzZSBpZiAoSVNfSTkx NUdNKGRldl9wcml2KSkKIAkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2Rpc3BsYXlfY2xvY2tfc3Bl ZWQgPQogCQkJaTkxNWdtX2dldF9kaXNwbGF5X2Nsb2NrX3NwZWVkOwotCWVsc2UgaWYgKElTX0k4 NjVHKGRldikpCisJZWxzZSBpZiAoSVNfSTg2NUcoZGV2X3ByaXYpKQogCQlkZXZfcHJpdi0+ZGlz cGxheS5nZXRfZGlzcGxheV9jbG9ja19zcGVlZCA9CiAJCQlpODY1X2dldF9kaXNwbGF5X2Nsb2Nr X3NwZWVkOwotCWVsc2UgaWYgKElTX0k4NVgoZGV2KSkKKwllbHNlIGlmIChJU19JODVYKGRldl9w cml2KSkKIAkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2Rpc3BsYXlfY2xvY2tfc3BlZWQgPQogCQkJ aTg1eF9nZXRfZGlzcGxheV9jbG9ja19zcGVlZDsKIAllbHNlIHsgLyogODMwICovCi0JCVdBUk4o IUlTX0k4MzAoZGV2KSwgIlVua25vd24gcGxhdGZvcm0uIEFzc3VtaW5nIDEzMyBNSHogQ0RDTEtc biIpOworCQlXQVJOKCFJU19JODMwKGRldl9wcml2KSwgIlVua25vd24gcGxhdGZvcm0uIEFzc3Vt aW5nIDEzMyBNSHogQ0RDTEtcbiIpOwogCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfZGlzcGxheV9j bG9ja19zcGVlZCA9CiAJCQlpODMwX2dldF9kaXNwbGF5X2Nsb2NrX3NwZWVkOwogCX0KIAotCWlm IChJU19HRU41KGRldikpIHsKKwlpZiAoSVNfR0VONShkZXZfcHJpdikpIHsKIAkJZGV2X3ByaXYt PmRpc3BsYXkuZmRpX2xpbmtfdHJhaW4gPSBpcm9ubGFrZV9mZGlfbGlua190cmFpbjsKLQl9IGVs c2UgaWYgKElTX0dFTjYoZGV2KSkgeworCX0gZWxzZSBpZiAoSVNfR0VONihkZXZfcHJpdikpIHsK IAkJZGV2X3ByaXYtPmRpc3BsYXkuZmRpX2xpbmtfdHJhaW4gPSBnZW42X2ZkaV9saW5rX3RyYWlu OwotCX0gZWxzZSBpZiAoSVNfSVZZQlJJREdFKGRldikpIHsKKwl9IGVsc2UgaWYgKElTX0lWWUJS SURHRShkZXZfcHJpdikpIHsKIAkJLyogRklYTUU6IGRldGVjdCBCMCsgc3RlcHBpbmcgYW5kIHVz ZSBhdXRvIHRyYWluaW5nICovCiAJCWRldl9wcml2LT5kaXNwbGF5LmZkaV9saW5rX3RyYWluID0g aXZiX21hbnVhbF9mZGlfbGlua190cmFpbjsKLQl9IGVsc2UgaWYgKElTX0hBU1dFTEwoZGV2KSB8 fCBJU19CUk9BRFdFTEwoZGV2KSkgeworCX0gZWxzZSBpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikg fHwgSVNfQlJPQURXRUxMKGRldl9wcml2KSkgewogCQlkZXZfcHJpdi0+ZGlzcGxheS5mZGlfbGlu a190cmFpbiA9IGhzd19mZGlfbGlua190cmFpbjsKLQkJaWYgKElTX0JST0FEV0VMTChkZXYpKSB7 CisJCWlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpKSB7CiAJCQlkZXZfcHJpdi0+ZGlzcGxheS5t b2Rlc2V0X2NvbW1pdF9jZGNsayA9CiAJCQkJYnJvYWR3ZWxsX21vZGVzZXRfY29tbWl0X2NkY2xr OwogCQkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0KIAkJCQlicm9hZHdl bGxfbW9kZXNldF9jYWxjX2NkY2xrOwogCQl9Ci0JfSBlbHNlIGlmIChJU19WQUxMRVlWSUVXKGRl dikgfHwgSVNfQ0hFUlJZVklFVyhkZXYpKSB7CisJfSBlbHNlIGlmIChJU19WQUxMRVlWSUVXKGRl dl9wcml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkgewogCQlkZXZfcHJpdi0+ZGlzcGxh eS5tb2Rlc2V0X2NvbW1pdF9jZGNsayA9CiAJCQl2YWxsZXl2aWV3X21vZGVzZXRfY29tbWl0X2Nk Y2xrOwogCQlkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NhbGNfY2RjbGsgPQogCQkJdmFsbGV5 dmlld19tb2Rlc2V0X2NhbGNfY2RjbGs7Ci0JfSBlbHNlIGlmIChJU19CUk9YVE9OKGRldikpIHsK Kwl9IGVsc2UgaWYgKElTX0JST1hUT04oZGV2X3ByaXYpKSB7CiAJCWRldl9wcml2LT5kaXNwbGF5 Lm1vZGVzZXRfY29tbWl0X2NkY2xrID0KIAkJCWJyb3h0b25fbW9kZXNldF9jb21taXRfY2RjbGs7 CiAJCWRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsayA9CiAJCQlicm94dG9uX21v ZGVzZXRfY2FsY19jZGNsazsKIAl9CiAKLQlzd2l0Y2ggKElOVEVMX0lORk8oZGV2KS0+Z2VuKSB7 CisJc3dpdGNoIChJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuKSB7CiAJY2FzZSAyOgogCQlkZXZf cHJpdi0+ZGlzcGxheS5xdWV1ZV9mbGlwID0gaW50ZWxfZ2VuMl9xdWV1ZV9mbGlwOwogCQlicmVh azsKQEAgLTE0OTk1LDggKzE0OTk2LDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfaW5pdF9kaXNwbGF5 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCS8qIERlZmF1bHQganVzdCByZXR1cm5zIC1FTk9E RVYgdG8gaW5kaWNhdGUgdW5zdXBwb3J0ZWQgKi8KIAkJZGV2X3ByaXYtPmRpc3BsYXkucXVldWVf ZmxpcCA9IGludGVsX2RlZmF1bHRfcXVldWVfZmxpcDsKIAl9Ci0KLQltdXRleF9pbml0KCZkZXZf cHJpdi0+cHBzX211dGV4KTsKIH0KIAogLyoKQEAgLTE1MzIzLDkgKzE1MzIyLDYgQEAgdm9pZCBp bnRlbF9tb2Rlc2V0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJfQogCX0KIAotCWlu dGVsX2luaXRfZGlzcGxheShkZXYpOwotCWludGVsX2luaXRfYXVkaW8oZGV2KTsKLQogCWlmIChJ U19HRU4yKGRldikpIHsKIAkJZGV2LT5tb2RlX2NvbmZpZy5tYXhfd2lkdGggPSAyMDQ4OwogCQlk ZXYtPm1vZGVfY29uZmlnLm1heF9oZWlnaHQgPSAyMDQ4OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aAppbmRleCAwMmIzZDIyLi5kMGYwNWE4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAt MTEwOSw3ICsxMTA5LDcgQEAgdTMyIGludGVsX2ZiX3N0cmlkZV9hbGlnbm1lbnQoY29uc3Qgc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJICAgICAgdWludDY0X3QgZmJfbW9k aWZpZXIsIHVpbnQzMl90IHBpeGVsX2Zvcm1hdCk7CiAKIC8qIGludGVsX2F1ZGlvLmMgKi8KLXZv aWQgaW50ZWxfaW5pdF9hdWRpbyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKK3ZvaWQgaW50ZWxf aW5pdF9hdWRpb19ob29rcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogdm9p ZCBpbnRlbF9hdWRpb19jb2RlY19lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIp Owogdm9pZCBpbnRlbF9hdWRpb19jb2RlY19kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyKTsKIHZvaWQgaTkxNV9hdWRpb19jb21wb25lbnRfaW5pdChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpOwpAQCAtMTExNyw2ICsxMTE3LDcgQEAgdm9pZCBpOTE1X2F1ZGlv X2NvbXBvbmVudF9jbGVhbnVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiAK IC8qIGludGVsX2Rpc3BsYXkuYyAqLwogZXh0ZXJuIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVu Y3MgaW50ZWxfcGxhbmVfZnVuY3M7Cit2b2lkIGludGVsX2luaXRfZGlzcGxheV9ob29rcyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogdW5zaWduZWQgaW50IGludGVsX3JvdGF0 aW9uX2luZm9fc2l6ZShjb25zdCBzdHJ1Y3QgaW50ZWxfcm90YXRpb25faW5mbyAqcm90X2luZm8p OwogYm9vbCBpbnRlbF9oYXNfcGVuZGluZ19mYl91bnBpbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KTsKIHZvaWQgaW50ZWxfbWFya19idXN5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwotLSAKMi41 LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=