From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 15/19] drm/i915: Make IS_G4X only take dev_priv Date: Tue, 11 Oct 2016 14:21:48 +0100 Message-ID: <1476192112-25336-16-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1476192112-25336-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-lf0-x241.google.com (mail-lf0-x241.google.com [IPv6:2a00:1450:4010:c07::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 25A036E668 for ; Tue, 11 Oct 2016 13:22:24 +0000 (UTC) Received: by mail-lf0-x241.google.com with SMTP id l131so1045526lfl.0 for ; Tue, 11 Oct 2016 06:22:23 -0700 (PDT) In-Reply-To: <1476192112-25336-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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClNhdmVzIDQ3 MiBieXRlcyBvZiAucm9kYXRhIHN0cmluZ3MuCgp2MjogQWRkIHBhcmFudGhlc2VzIGFyb3VuZCBk ZXZfcHJpdi4gKFZpbGxlIFN5cmphbGEpCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8 dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmggICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xl bi5jIHwgIDUgKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3VzcGVuZC5jICAgIHwg IDQgKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMgICAgICAgfCAgMiArLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgfCA0MCArKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAg ICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgICAgICB8ICA0 ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgICAgIHwgIDQgKystLQog OCBmaWxlcyBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAppbmRleCBjMjY0ZTcwM2I2ODYuLmY1NDQ2NWVhMmY0NCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yNjQ5LDcgKzI2NDksNyBAQCBzdHJ1Y3QgZHJtX2k5MTVf Y21kX3RhYmxlIHsKICNkZWZpbmUgSVNfQlJPQURXQVRFUihkZXYpCShJTlRFTF9JTkZPKGRldikt PmlzX2Jyb2Fkd2F0ZXIpCiAjZGVmaW5lIElTX0NSRVNUTElORShkZXYpCShJTlRFTF9JTkZPKGRl diktPmlzX2NyZXN0bGluZSkKICNkZWZpbmUgSVNfR000NShkZXZfcHJpdikJKElOVEVMX0RFVklE KGRldl9wcml2KSA9PSAweDJBNDIpCi0jZGVmaW5lIElTX0c0WChkZXYpCQkoSU5URUxfSU5GTyhk ZXYpLT5pc19nNHgpCisjZGVmaW5lIElTX0c0WChkZXZfcHJpdikJKChkZXZfcHJpdiktPmluZm8u aXNfZzR4KQogI2RlZmluZSBJU19QSU5FVklFV19HKGRldl9wcml2KQkoSU5URUxfREVWSUQoZGV2 X3ByaXYpID09IDB4YTAwMSkKICNkZWZpbmUgSVNfUElORVZJRVdfTShkZXZfcHJpdikJKElOVEVM X0RFVklEKGRldl9wcml2KSA9PSAweGEwMTEpCiAjZGVmaW5lIElTX1BJTkVWSUVXKGRldikJKElO VEVMX0lORk8oZGV2KS0+aXNfcGluZXZpZXcpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9zdG9sZW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0 b2xlbi5jCmluZGV4IDM1MDgxMjBiOGM5MC4uZDFiNDBiY2UwMjQ5IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9zdG9sZW4uYwpAQCAtMjA0LDcgKzIwNCw4IEBAIHN0YXRpYyB1bnNpZ25l ZCBsb25nIGk5MTVfc3RvbGVuX3RvX3BoeXNpY2FsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJ CXJldHVybiAwOwogCiAJLyogbWFrZSBzdXJlIHdlIGRvbid0IGNsb2JiZXIgdGhlIEdUVCBpZiBp dCdzIHdpdGhpbiBzdG9sZW4gbWVtb3J5ICovCi0JaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuIDw9 IDQgJiYgIUlTX0czMyhkZXYpICYmICFJU19HNFgoZGV2KSkgeworCWlmIChJTlRFTF9HRU4oZGV2 X3ByaXYpIDw9IDQgJiYgIUlTX0czMyhkZXZfcHJpdikgJiYKKwkgICAgIUlTX0c0WChkZXZfcHJp dikpIHsKIAkJc3RydWN0IHsKIAkJCXUzMiBzdGFydCwgZW5kOwogCQl9IHN0b2xlblsyXSA9IHsK QEAgLTQzNyw3ICs0MzgsNyBAQCBpbnQgaTkxNV9nZW1faW5pdF9zdG9sZW4oc3RydWN0IGRybV9k ZXZpY2UgKmRldikKIAljYXNlIDM6CiAJCWJyZWFrOwogCWNhc2UgNDoKLQkJaWYgKElTX0c0WChk ZXYpKQorCQlpZiAoSVNfRzRYKGRldl9wcml2KSkKIAkJCWc0eF9nZXRfc3RvbGVuX3Jlc2VydmVk KGRldl9wcml2LCAmcmVzZXJ2ZWRfYmFzZSwKIAkJCQkJCSZyZXNlcnZlZF9zaXplKTsKIAkJYnJl YWs7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N1c3BlbmQuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3VzcGVuZC5jCmluZGV4IGEwYWYxNzAwNjJiMS4uNzg3 MDg1NmZjY2QwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N1c3BlbmQu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N1c3BlbmQuYwpAQCAtMzgsNyArMzgs NyBAQCBzdGF0aWMgdm9pZCBpOTE1X3NhdmVfZGlzcGxheShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQogCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlRFNQQVJCID0gSTkxNV9SRUFEKERTUEFSQik7CiAK IAkvKiBzYXZlIEZCQyBpbnRlcnZhbCAqLwotCWlmIChIQVNfRkJDKGRldikgJiYgSU5URUxfSU5G TyhkZXYpLT5nZW4gPD0gNCAmJiAhSVNfRzRYKGRldikpCisJaWYgKEhBU19GQkMoZGV2X3ByaXYp ICYmIElOVEVMX0dFTihkZXZfcHJpdikgPD0gNCAmJiAhSVNfRzRYKGRldl9wcml2KSkKIAkJZGV2 X3ByaXYtPnJlZ2ZpbGUuc2F2ZUZCQ19DT05UUk9MID0gSTkxNV9SRUFEKEZCQ19DT05UUk9MKTsK IH0KIApAQCAtNTQsNyArNTQsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X3Jlc3RvcmVfZGlzcGxheShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWludGVsX2ZiY19nbG9iYWxfZGlzYWJsZShkZXZfcHJp dik7CiAKIAkvKiByZXN0b3JlIEZCQyBpbnRlcnZhbCAqLwotCWlmIChIQVNfRkJDKGRldikgJiYg SU5URUxfSU5GTyhkZXYpLT5nZW4gPD0gNCAmJiAhSVNfRzRYKGRldikpCisJaWYgKEhBU19GQkMo ZGV2X3ByaXYpICYmIElOVEVMX0dFTihkZXZfcHJpdikgPD0gNCAmJiAhSVNfRzRYKGRldl9wcml2 KSkKIAkJSTkxNV9XUklURShGQkNfQ09OVFJPTCwgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZUZCQ19D T05UUk9MKTsKIAogCWk5MTVfcmVkaXNhYmxlX3ZnYShkZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9j cnQuYwppbmRleCBkNDM4OGMwM2I0ZGEuLmQ0NTY3ODZmNTgxMyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfY3J0LmMKQEAgLTc3MSw3ICs3NzEsNyBAQCBzdGF0aWMgaW50IGludGVsX2NydF9nZXRfbW9k ZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAogCWkyYyA9IGludGVsX2dtYnVz X2dldF9hZGFwdGVyKGRldl9wcml2LCBkZXZfcHJpdi0+dmJ0LmNydF9kZGNfcGluKTsKIAlyZXQg PSBpbnRlbF9jcnRfZGRjX2dldF9tb2Rlcyhjb25uZWN0b3IsIGkyYyk7Ci0JaWYgKHJldCB8fCAh SVNfRzRYKGRldikpCisJaWYgKHJldCB8fCAhSVNfRzRYKGRldl9wcml2KSkKIAkJZ290byBvdXQ7 CiAKIAkvKiBUcnkgdG8gcHJvYmUgZGlnaXRhbCBwb3J0IGZvciBvdXRwdXQgaW4gRFZJLUkgLT4g VkdBIG1vZGUuICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggNjM2ZTU1 NzJiOTk2Li5iZjg3MWI1NjU1NDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK QEAgLTMwNzEsNyArMzA3MSw3IEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX3ByaW1hcnlfcGxh bmUoc3RydWN0IGRybV9wbGFuZSAqcHJpbWFyeSwKIAkgICAgZmItPm1vZGlmaWVyWzBdID09IEk5 MTVfRk9STUFUX01PRF9YX1RJTEVEKQogCQlkc3BjbnRyIHw9IERJU1BQTEFORV9USUxFRDsKIAot CWlmIChJU19HNFgoZGV2KSkKKwlpZiAoSVNfRzRYKGRldl9wcml2KSkKIAkJZHNwY250ciB8PSBE SVNQUExBTkVfVFJJQ0tMRV9GRUVEX0RJU0FCTEU7CiAKIAlpbnRlbF9hZGRfZmJfb2Zmc2V0cygm eCwgJnksIHBsYW5lX3N0YXRlLCAwKTsKQEAgLTcyMjYsNyArNzIyNiw3IEBAIHN0YXRpYyBpbnQg aW50ZWxfY3J0Y19jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAkvKiBD YW50aWdhKyBjYW5ub3QgaGFuZGxlIG1vZGVzIHdpdGggYSBoc3luYyBmcm9udCBwb3JjaCBvZiAw LgogCSAqIFdhUHJ1bmVNb2RlV2l0aEluY29ycmVjdEhzeW5jT2Zmc2V0OmN0ZyxlbGssaWxrLHNu YixpdmIsdmx2LGhzdy4KIAkgKi8KLQlpZiAoKElOVEVMX0lORk8oZGV2KS0+Z2VuID4gNCB8fCBJ U19HNFgoZGV2KSkgJiYKKwlpZiAoKElOVEVMX0dFTihkZXZfcHJpdikgPiA0IHx8IElTX0c0WChk ZXZfcHJpdikpICYmCiAJCWFkanVzdGVkX21vZGUtPmNydGNfaHN5bmNfc3RhcnQgPT0gYWRqdXN0 ZWRfbW9kZS0+Y3J0Y19oZGlzcGxheSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKQEAgLTc1NDAsNyAr NzU0MCw3IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgaW50ZWxfaHBsbF92Y28oc3RydWN0IGRybV9k ZXZpY2UgKmRldikKIAkvKiBGSVhNRSBvdGhlciBjaGlwc2V0cz8gKi8KIAlpZiAoSVNfR000NShk ZXZfcHJpdikpCiAJCXZjb190YWJsZSA9IGN0Z192Y287Ci0JZWxzZSBpZiAoSVNfRzRYKGRldikp CisJZWxzZSBpZiAoSVNfRzRYKGRldl9wcml2KSkKIAkJdmNvX3RhYmxlID0gZWxrX3ZjbzsKIAll bHNlIGlmIChJU19DUkVTVExJTkUoZGV2KSkKIAkJdmNvX3RhYmxlID0gY2xfdmNvOwpAQCAtODE3 NCw3ICs4MTc0LDcgQEAgc3RhdGljIHZvaWQgaTl4eF9jb21wdXRlX2RwbGwoc3RydWN0IGludGVs X2NydGMgKmNydGMsCiAJCWRwbGwgfD0gKDEgPDwgKGNsb2NrLT5wMSAtIDEpKSA8PCBEUExMX0ZQ QTAxX1AxX1BPU1RfRElWX1NISUZUX1BJTkVWSUVXOwogCWVsc2UgewogCQlkcGxsIHw9ICgxIDw8 IChjbG9jay0+cDEgLSAxKSkgPDwgRFBMTF9GUEEwMV9QMV9QT1NUX0RJVl9TSElGVDsKLQkJaWYg KElTX0c0WChkZXYpICYmIHJlZHVjZWRfY2xvY2spCisJCWlmIChJU19HNFgoZGV2X3ByaXYpICYm IHJlZHVjZWRfY2xvY2spCiAJCQlkcGxsIHw9ICgxIDw8IChyZWR1Y2VkX2Nsb2NrLT5wMSAtIDEp KSA8PCBEUExMX0ZQQTFfUDFfUE9TVF9ESVZfU0hJRlQ7CiAJfQogCXN3aXRjaCAoY2xvY2stPnAy KSB7CkBAIC04NDE2LDcgKzg0MTYsOCBAQCBzdGF0aWMgdm9pZCBpOXh4X3NldF9waXBlY29uZihz dHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YykKIAkJcGlwZWNvbmYgfD0gUElQRUNPTkZfRE9V QkxFX1dJREU7CiAKIAkvKiBvbmx5IGc0eCBhbmQgbGF0ZXIgaGF2ZSBmYW5jeSBicGMvZGl0aGVy IGNvbnRyb2xzICovCi0JaWYgKElTX0c0WChkZXYpIHx8IElTX1ZBTExFWVZJRVcoZGV2KSB8fCBJ U19DSEVSUllWSUVXKGRldikpIHsKKwlpZiAoSVNfRzRYKGRldl9wcml2KSB8fCBJU19WQUxMRVlW SUVXKGRldl9wcml2KSB8fAorCSAgICBJU19DSEVSUllWSUVXKGRldl9wcml2KSkgewogCQkvKiBC c3BlYyBjbGFpbXMgdGhhdCB3ZSBjYW4ndCB1c2UgZGl0aGVyaW5nIGZvciAzMGJwcCBwaXBlcy4g Ki8KIAkJaWYgKGludGVsX2NydGMtPmNvbmZpZy0+ZGl0aGVyICYmIGludGVsX2NydGMtPmNvbmZp Zy0+cGlwZV9icHAgIT0gMzApCiAJCQlwaXBlY29uZiB8PSBQSVBFQ09ORl9ESVRIRVJfRU4gfApA QCAtODgzMyw3ICs4ODM0LDggQEAgc3RhdGljIGJvb2wgaTl4eF9nZXRfcGlwZV9jb25maWcoc3Ry dWN0IGludGVsX2NydGMgKmNydGMsCiAJaWYgKCEodG1wICYgUElQRUNPTkZfRU5BQkxFKSkKIAkJ Z290byBvdXQ7CiAKLQlpZiAoSVNfRzRYKGRldikgfHwgSVNfVkFMTEVZVklFVyhkZXYpIHx8IElT X0NIRVJSWVZJRVcoZGV2KSkgeworCWlmIChJU19HNFgoZGV2X3ByaXYpIHx8IElTX1ZBTExFWVZJ RVcoZGV2X3ByaXYpIHx8CisJICAgIElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKSB7CiAJCXN3aXRj aCAodG1wICYgUElQRUNPTkZfQlBDX01BU0spIHsKIAkJY2FzZSBQSVBFQ09ORl82QlBDOgogCQkJ cGlwZV9jb25maWctPnBpcGVfYnBwID0gMTg7CkBAIC0xMTU4Miw3ICsxMTU4NCw3IEBAIHN0YXRp YyBib29sIF9fcGFnZWZsaXBfZmluaXNoZWRfY3Moc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJ ICogcmVhbGx5IG5lZWRlZCB0aGVyZS4gQnV0IHNpbmNlIGN0ZyBoYXMgdGhlIHJlZ2lzdGVycywK IAkgKiBpbmNsdWRlIGl0IGluIHRoZSBjaGVjayBhbnl3YXkuCiAJICovCi0JaWYgKElOVEVMX0lO Rk8oZGV2KS0+Z2VuIDwgNSAmJiAhSVNfRzRYKGRldikpCisJaWYgKElOVEVMX0dFTihkZXZfcHJp dikgPCA1ICYmICFJU19HNFgoZGV2X3ByaXYpKQogCQlyZXR1cm4gdHJ1ZTsKIAogCS8qCkBAIC0x MjI0NSw3ICsxMjI0Nyw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfY3J0Y19wYWdlX2ZsaXAoc3RydWN0 IGRybV9jcnRjICpjcnRjLAogCiAJYXRvbWljX2luYygmaW50ZWxfY3J0Yy0+dW5waW5fd29ya19j b3VudCk7CiAKLQlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gNSB8fCBJU19HNFgoZGV2KSkK KwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA1IHx8IElTX0c0WChkZXZfcHJpdikpCiAJCXdv cmstPmZsaXBfY291bnQgPSBJOTE1X1JFQUQoUElQRV9GTElQQ09VTlRfRzRYKHBpcGUpKSArIDE7 CiAKIAlpZiAoSVNfVkFMTEVZVklFVyhkZXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2KSkgewpAQCAt MTI3MDUsMTUgKzEyNzA3LDE2IEBAIHN0YXRpYyBpbnQKIGNvbXB1dGVfYmFzZWxpbmVfcGlwZV9i cHAoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJCQkgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpwaXBlX2NvbmZpZykKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5k ZXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5i YXNlLmRldik7CiAJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOwogCXN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3I7CiAJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5l Y3Rvcl9zdGF0ZTsKIAlpbnQgYnBwLCBpOwogCi0JaWYgKChJU19HNFgoZGV2KSB8fCBJU19WQUxM RVlWSUVXKGRldikgfHwgSVNfQ0hFUlJZVklFVyhkZXYpKSkKKwlpZiAoKElTX0c0WChkZXZfcHJp dikgfHwgSVNfVkFMTEVZVklFVyhkZXZfcHJpdikgfHwKKwkgICAgSVNfQ0hFUlJZVklFVyhkZXZf cHJpdikpKQogCQlicHAgPSAxMCozOwotCWVsc2UgaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49 IDUpCisJZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA1KQogCQlicHAgPSAxMiozOwog CWVsc2UKIAkJYnBwID0gOCozOwpAQCAtMTM0MDQsNyArMTM0MDcsNyBAQCBpbnRlbF9waXBlX2Nv bmZpZ19jb21wYXJlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJUElQRV9DT05GX0NIRUNLX1go ZHNpX3BsbC5jdHJsKTsKIAlQSVBFX0NPTkZfQ0hFQ0tfWChkc2lfcGxsLmRpdik7CiAKLQlpZiAo SVNfRzRYKGRldikgfHwgSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gNSkKKwlpZiAoSVNfRzRYKGRl dl9wcml2KSB8fCBJTlRFTF9HRU4oZGV2X3ByaXYpID49IDUpCiAJCVBJUEVfQ09ORl9DSEVDS19J KHBpcGVfYnBwKTsKIAogCVBJUEVfQ09ORl9DSEVDS19DTE9DS19GVVpaWShiYXNlLmFkanVzdGVk X21vZGUuY3J0Y19jbG9jayk7CkBAIC0xNDk2Niw3ICsxNDk2OSw3IEBAIHN0YXRpYyBzdHJ1Y3Qg ZHJtX3BsYW5lICppbnRlbF9wcmltYXJ5X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAogCQkJCQkgICAgICAgaW50ZWxfcHJpbWFyeV9mb3JtYXRzLCBudW1fZm9ybWF0cywKIAkJ CQkJICAgICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlksCiAJCQkJCSAgICAgICAicGxhbmUgMSVj IiwgcGlwZV9uYW1lKHBpcGUpKTsKLQllbHNlIGlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA1 IHx8IElTX0c0WChkZXYpKQorCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gNSB8fCBJ U19HNFgoZGV2X3ByaXYpKQogCQlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCAm cHJpbWFyeS0+YmFzZSwgMCwKIAkJCQkJICAgICAgICZpbnRlbF9wbGFuZV9mdW5jcywKIAkJCQkJ ICAgICAgIGludGVsX3ByaW1hcnlfZm9ybWF0cywgbnVtX2Zvcm1hdHMsCkBAIC0xNTUyNywxMiAr MTU1MzAsMTIgQEAgc3RhdGljIHZvaWQgaW50ZWxfc2V0dXBfb3V0cHV0cyhzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogCQlpZiAoSTkxNV9SRUFEKEdFTjNfU0RWT0IpICYgU0RWT19ERVRFQ1RFRCkg ewogCQkJRFJNX0RFQlVHX0tNUygicHJvYmluZyBTRFZPQlxuIik7CiAJCQlmb3VuZCA9IGludGVs X3Nkdm9faW5pdChkZXYsIEdFTjNfU0RWT0IsIFBPUlRfQik7Ci0JCQlpZiAoIWZvdW5kICYmIElT X0c0WChkZXYpKSB7CisJCQlpZiAoIWZvdW5kICYmIElTX0c0WChkZXZfcHJpdikpIHsKIAkJCQlE Uk1fREVCVUdfS01TKCJwcm9iaW5nIEhETUkgb24gU0RWT0JcbiIpOwogCQkJCWludGVsX2hkbWlf aW5pdChkZXYsIEdFTjRfSERNSUIsIFBPUlRfQik7CiAJCQl9CiAKLQkJCWlmICghZm91bmQgJiYg SVNfRzRYKGRldikpCisJCQlpZiAoIWZvdW5kICYmIElTX0c0WChkZXZfcHJpdikpCiAJCQkJaW50 ZWxfZHBfaW5pdChkZXYsIERQX0IsIFBPUlRfQik7CiAJCX0KIApAQCAtMTU1NDUsMTYgKzE1NTQ4 LDE1IEBAIHN0YXRpYyB2b2lkIGludGVsX3NldHVwX291dHB1dHMoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKIAogCQlpZiAoIWZvdW5kICYmIChJOTE1X1JFQUQoR0VOM19TRFZPQykgJiBTRFZPX0RF VEVDVEVEKSkgewogCi0JCQlpZiAoSVNfRzRYKGRldikpIHsKKwkJCWlmIChJU19HNFgoZGV2X3By aXYpKSB7CiAJCQkJRFJNX0RFQlVHX0tNUygicHJvYmluZyBIRE1JIG9uIFNEVk9DXG4iKTsKIAkJ CQlpbnRlbF9oZG1pX2luaXQoZGV2LCBHRU40X0hETUlDLCBQT1JUX0MpOwogCQkJfQotCQkJaWYg KElTX0c0WChkZXYpKQorCQkJaWYgKElTX0c0WChkZXZfcHJpdikpCiAJCQkJaW50ZWxfZHBfaW5p dChkZXYsIERQX0MsIFBPUlRfQyk7CiAJCX0KIAotCQlpZiAoSVNfRzRYKGRldikgJiYKLQkJICAg IChJOTE1X1JFQUQoRFBfRCkgJiBEUF9ERVRFQ1RFRCkpCisJCWlmIChJU19HNFgoZGV2X3ByaXYp ICYmIChJOTE1X1JFQUQoRFBfRCkgJiBEUF9ERVRFQ1RFRCkpCiAJCQlpbnRlbF9kcF9pbml0KGRl diwgRFBfRCwgUE9SVF9EKTsKIAl9IGVsc2UgaWYgKElTX0dFTjIoZGV2KSkKIAkJaW50ZWxfZHZv X2luaXQoZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCmluZGV4IGI2YzhiMjVlZTFkNC4uZGZj OTNjYzExYTEzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKQEAgLTEzNDEsNyArMTM0MSw3IEBA IGludGVsX2RwX3NldF9jbG9jayhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAljb25z dCBzdHJ1Y3QgZHBfbGlua19kcGxsICpkaXZpc29yID0gTlVMTDsKIAlpbnQgaSwgY291bnQgPSAw OwogCi0JaWYgKElTX0c0WChkZXYpKSB7CisJaWYgKElTX0c0WChkZXZfcHJpdikpIHsKIAkJZGl2 aXNvciA9IGdlbjRfZHBsbDsKIAkJY291bnQgPSBBUlJBWV9TSVpFKGdlbjRfZHBsbCk7CiAJfSBl bHNlIGlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRt aS5jCmluZGV4IGY2NTYyNDUxYzQ3ZS4uYzdkOWNkZGY0ZTNlIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfaGRtaS5jCkBAIC0xODg5LDcgKzE4ODksNyBAQCB2b2lkIGludGVsX2hkbWlfaW5pdF9jb25u ZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAJCWludGVs X2hkbWktPndyaXRlX2luZm9mcmFtZSA9IHZsdl93cml0ZV9pbmZvZnJhbWU7CiAJCWludGVsX2hk bWktPnNldF9pbmZvZnJhbWVzID0gdmx2X3NldF9pbmZvZnJhbWVzOwogCQlpbnRlbF9oZG1pLT5p bmZvZnJhbWVfZW5hYmxlZCA9IHZsdl9pbmZvZnJhbWVfZW5hYmxlZDsKLQl9IGVsc2UgaWYgKElT X0c0WChkZXYpKSB7CisJfSBlbHNlIGlmIChJU19HNFgoZGV2X3ByaXYpKSB7CiAJCWludGVsX2hk bWktPndyaXRlX2luZm9mcmFtZSA9IGc0eF93cml0ZV9pbmZvZnJhbWU7CiAJCWludGVsX2hkbWkt PnNldF9pbmZvZnJhbWVzID0gZzR4X3NldF9pbmZvZnJhbWVzOwogCQlpbnRlbF9oZG1pLT5pbmZv ZnJhbWVfZW5hYmxlZCA9IGc0eF9pbmZvZnJhbWVfZW5hYmxlZDsKQEAgLTE5OTYsNyArMTk5Niw3 IEBAIHZvaWQgaW50ZWxfaGRtaV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJICogdG8g d29yayBvbiByZWFsIGhhcmR3YXJlLiBBbmQgc2luY2UgZzR4IGNhbiBzZW5kIGluZm9mcmFtZXMg dG8KIAkgKiBvbmx5IG9uZSBwb3J0IGFueXdheSwgbm90aGluZyBpcyBsb3N0IGJ5IGFsbG93aW5n IGl0LgogCSAqLwotCWlmIChJU19HNFgoZGV2KSkKKwlpZiAoSVNfRzRYKGRldl9wcml2KSkKIAkJ aW50ZWxfZW5jb2Rlci0+Y2xvbmVhYmxlIHw9IDEgPDwgSU5URUxfT1VUUFVUX0hETUk7CiAKIAlp bnRlbF9kaWdfcG9ydC0+cG9ydCA9IHBvcnQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwppbmRleCAz YmE5NTAyY2YyYzIuLjJjNWRjZDNiYTJjMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCkBAIC0z MjYsNyArMzI2LDcgQEAgdm9pZCBpbnRlbF9zZXRfbWVtb3J5X2N4c3Ioc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LCBib29sIGVuYWJsZSkKIAkJSTkxNV9XUklURShGV19CTENfU0VM Rl9WTFYsIGVuYWJsZSA/IEZXX0NTUFdSRFdORU4gOiAwKTsKIAkJUE9TVElOR19SRUFEKEZXX0JM Q19TRUxGX1ZMVik7CiAJCWRldl9wcml2LT53bS52bHYuY3hzciA9IGVuYWJsZTsKLQl9IGVsc2Ug aWYgKElTX0c0WChkZXYpIHx8IElTX0NSRVNUTElORShkZXYpKSB7CisJfSBlbHNlIGlmIChJU19H NFgoZGV2X3ByaXYpIHx8IElTX0NSRVNUTElORShkZXZfcHJpdikpIHsKIAkJSTkxNV9XUklURShG V19CTENfU0VMRiwgZW5hYmxlID8gRldfQkxDX1NFTEZfRU4gOiAwKTsKIAkJUE9TVElOR19SRUFE KEZXX0JMQ19TRUxGKTsKIAl9IGVsc2UgaWYgKElTX1BJTkVWSUVXKGRldikpIHsKQEAgLTc3NzYs NyArNzc3Niw3IEBAIHZvaWQgaW50ZWxfaW5pdF9wbShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQog CQkJZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX3dtID0gTlVMTDsKIAkJfSBlbHNlCiAJCQlkZXZf cHJpdi0+ZGlzcGxheS51cGRhdGVfd20gPSBwaW5ldmlld191cGRhdGVfd207Ci0JfSBlbHNlIGlm IChJU19HNFgoZGV2KSkgeworCX0gZWxzZSBpZiAoSVNfRzRYKGRldl9wcml2KSkgewogCQlkZXZf cHJpdi0+ZGlzcGxheS51cGRhdGVfd20gPSBnNHhfdXBkYXRlX3dtOwogCX0gZWxzZSBpZiAoSVNf R0VONChkZXYpKSB7CiAJCWRldl9wcml2LT5kaXNwbGF5LnVwZGF0ZV93bSA9IGk5NjVfdXBkYXRl X3dtOwotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=