From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [PATCH 2/4] drm/fb-helper: atomic restore_fbdev_mode().. Date: Tue, 25 Aug 2015 15:35:58 -0400 Message-ID: <1440531360-20470-3-git-send-email-robdclark@gmail.com> References: <1440531360-20470-1-git-send-email-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qk0-f177.google.com (mail-qk0-f177.google.com [209.85.220.177]) by gabe.freedesktop.org (Postfix) with ESMTPS id DBD886E422 for ; Tue, 25 Aug 2015 12:36:06 -0700 (PDT) Received: by qkda128 with SMTP id a128so56993779qkd.3 for ; Tue, 25 Aug 2015 12:36:06 -0700 (PDT) In-Reply-To: <1440531360-20470-1-git-send-email-robdclark@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org QWRkIHN1cHBvcnQgZm9yIHVzaW5nIGF0b21pYyBjb2RlLXBhdGhzIGZvciByZXN0b3JlX2ZiZGV2 X21vZGUoKS4KClNpZ25lZC1vZmYtYnk6IFJvYiBDbGFyayA8cm9iZGNsYXJrQGdtYWlsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyB8IDEzMSArKysrKysrKysr KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVy LmMgICAgIHwgIDc0ICsrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2RybS9kcm1fYXRvbWlj X2hlbHBlci5oICAgICB8ICAgNiArKwogaW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oICAgICAg ICAgfCAgIDggKysrCiA0IGZpbGVzIGNoYW5nZWQsIDE2NiBpbnNlcnRpb25zKCspLCA1MyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIu YyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCmluZGV4IGQ0MzIzNDguLmRi Y2U1ODIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCkBAIC0xNTAyLDIxICsxNTAy LDkgQEAgcmV0cnk6CiAJCWdvdG8gZmFpbDsKIAl9CiAKLQlyZXQgPSBkcm1fYXRvbWljX3NldF9j cnRjX2Zvcl9wbGFuZShwbGFuZV9zdGF0ZSwgTlVMTCk7CisJcmV0ID0gX19kcm1fYXRvbWljX2hl bHBlcl9kaXNhYmxlX3BsYW5lKHBsYW5lLCBwbGFuZV9zdGF0ZSk7CiAJaWYgKHJldCAhPSAwKQog CQlnb3RvIGZhaWw7Ci0JZHJtX2F0b21pY19zZXRfZmJfZm9yX3BsYW5lKHBsYW5lX3N0YXRlLCBO VUxMKTsKLQlwbGFuZV9zdGF0ZS0+Y3J0Y194ID0gMDsKLQlwbGFuZV9zdGF0ZS0+Y3J0Y195ID0g MDsKLQlwbGFuZV9zdGF0ZS0+Y3J0Y19oID0gMDsKLQlwbGFuZV9zdGF0ZS0+Y3J0Y193ID0gMDsK LQlwbGFuZV9zdGF0ZS0+c3JjX3ggPSAwOwotCXBsYW5lX3N0YXRlLT5zcmNfeSA9IDA7Ci0JcGxh bmVfc3RhdGUtPnNyY19oID0gMDsKLQlwbGFuZV9zdGF0ZS0+c3JjX3cgPSAwOwotCi0JaWYgKHBs YW5lID09IHBsYW5lLT5jcnRjLT5jdXJzb3IpCi0JCXN0YXRlLT5sZWdhY3lfY3Vyc29yX3VwZGF0 ZSA9IHRydWU7CiAKIAlyZXQgPSBkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSk7CiAJaWYgKHJldCAh PSAwKQpAQCAtMTU0Niw2ICsxNTM0LDMyIEBAIGJhY2tvZmY6CiB9CiBFWFBPUlRfU1lNQk9MKGRy bV9hdG9taWNfaGVscGVyX2Rpc2FibGVfcGxhbmUpOwogCisvKiBqdXN0IHVzZWQgZnJvbSBmYi1o ZWxwZXIgYW5kIGF0b21pYy1oZWxwZXI6ICovCitpbnQgX19kcm1fYXRvbWljX2hlbHBlcl9kaXNh YmxlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAorCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0 YXRlICpwbGFuZV9zdGF0ZSkKK3sKKwlpbnQgcmV0OworCisJcmV0ID0gZHJtX2F0b21pY19zZXRf Y3J0Y19mb3JfcGxhbmUocGxhbmVfc3RhdGUsIE5VTEwpOworCWlmIChyZXQgIT0gMCkKKwkJcmV0 dXJuIHJldDsKKworCWRybV9hdG9taWNfc2V0X2ZiX2Zvcl9wbGFuZShwbGFuZV9zdGF0ZSwgTlVM TCk7CisJcGxhbmVfc3RhdGUtPmNydGNfeCA9IDA7CisJcGxhbmVfc3RhdGUtPmNydGNfeSA9IDA7 CisJcGxhbmVfc3RhdGUtPmNydGNfaCA9IDA7CisJcGxhbmVfc3RhdGUtPmNydGNfdyA9IDA7CisJ cGxhbmVfc3RhdGUtPnNyY194ID0gMDsKKwlwbGFuZV9zdGF0ZS0+c3JjX3kgPSAwOworCXBsYW5l X3N0YXRlLT5zcmNfaCA9IDA7CisJcGxhbmVfc3RhdGUtPnNyY193ID0gMDsKKworCWlmIChwbGFu ZS0+Y3J0YyAmJiAocGxhbmUgPT0gcGxhbmUtPmNydGMtPmN1cnNvcikpCisJCXBsYW5lX3N0YXRl LT5zdGF0ZS0+bGVnYWN5X2N1cnNvcl91cGRhdGUgPSB0cnVlOworCisJcmV0dXJuIDA7Cit9CisK IHN0YXRpYyBpbnQgdXBkYXRlX291dHB1dF9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq c3RhdGUsCiAJCQkgICAgICAgc3RydWN0IGRybV9tb2RlX3NldCAqc2V0KQogewpAQCAtMTYyOSw4 ICsxNjQzLDYgQEAgaW50IGRybV9hdG9taWNfaGVscGVyX3NldF9jb25maWcoc3RydWN0IGRybV9t b2RlX3NldCAqc2V0KQogewogCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKIAlzdHJ1 Y3QgZHJtX2NydGMgKmNydGMgPSBzZXQtPmNydGM7Ci0Jc3RydWN0IGRybV9jcnRjX3N0YXRlICpj cnRjX3N0YXRlOwotCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnByaW1hcnlfc3RhdGU7CiAJaW50 IHJldCA9IDA7CiAKIAlzdGF0ZSA9IGRybV9hdG9taWNfc3RhdGVfYWxsb2MoY3J0Yy0+ZGV2KTsK QEAgLTE2MzksMTcgKzE2NTEsNTQgQEAgaW50IGRybV9hdG9taWNfaGVscGVyX3NldF9jb25maWco c3RydWN0IGRybV9tb2RlX3NldCAqc2V0KQogCiAJc3RhdGUtPmFjcXVpcmVfY3R4ID0gZHJtX21v ZGVzZXRfbGVnYWN5X2FjcXVpcmVfY3R4KGNydGMpOwogcmV0cnk6Ci0JY3J0Y19zdGF0ZSA9IGRy bV9hdG9taWNfZ2V0X2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOwotCWlmIChJU19FUlIoY3J0Y19z dGF0ZSkpIHsKLQkJcmV0ID0gUFRSX0VSUihjcnRjX3N0YXRlKTsKKwlyZXQgPSBfX2RybV9hdG9t aWNfaGVscGVyX3NldF9jb25maWcoc2V0LCBzdGF0ZSk7CisJaWYgKHJldCAhPSAwKQogCQlnb3Rv IGZhaWw7Ci0JfQogCi0JcHJpbWFyeV9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X3BsYW5lX3N0YXRl KHN0YXRlLCBjcnRjLT5wcmltYXJ5KTsKLQlpZiAoSVNfRVJSKHByaW1hcnlfc3RhdGUpKSB7Ci0J CXJldCA9IFBUUl9FUlIocHJpbWFyeV9zdGF0ZSk7CisJcmV0ID0gZHJtX2F0b21pY19jb21taXQo c3RhdGUpOworCWlmIChyZXQgIT0gMCkKIAkJZ290byBmYWlsOwotCX0KKworCS8qIERyaXZlciB0 YWtlcyBvd25lcnNoaXAgb2Ygc3RhdGUgb24gc3VjY2Vzc2Z1bCBjb21taXQuICovCisJcmV0dXJu IDA7CitmYWlsOgorCWlmIChyZXQgPT0gLUVERUFETEspCisJCWdvdG8gYmFja29mZjsKKworCWRy bV9hdG9taWNfc3RhdGVfZnJlZShzdGF0ZSk7CisKKwlyZXR1cm4gcmV0OworYmFja29mZjoKKwlk cm1fYXRvbWljX3N0YXRlX2NsZWFyKHN0YXRlKTsKKwlkcm1fYXRvbWljX2xlZ2FjeV9iYWNrb2Zm KHN0YXRlKTsKKworCS8qCisJICogU29tZW9uZSBtaWdodCBoYXZlIGV4Y2hhbmdlZCB0aGUgZnJh bWVidWZmZXIgd2hpbGUgd2UgZHJvcHBlZCBsb2NrcworCSAqIGluIHRoZSBiYWNrb2ZmIGNvZGUu IFdlIG5lZWQgdG8gZml4IHVwIHRoZSBmYiByZWZjb3VudCB0cmFja2luZyB0aGUKKwkgKiBjb3Jl IGRvZXMgZm9yIHVzLgorCSAqLworCWNydGMtPnByaW1hcnktPm9sZF9mYiA9IGNydGMtPnByaW1h cnktPmZiOworCisJZ290byByZXRyeTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxw ZXJfc2V0X2NvbmZpZyk7CisKKy8qIGp1c3QgdXNlZCBmcm9tIGZiLWhlbHBlciBhbmQgYXRvbWlj LWhlbHBlcjogKi8KK2ludCBfX2RybV9hdG9taWNfaGVscGVyX3NldF9jb25maWcoc3RydWN0IGRy bV9tb2RlX3NldCAqc2V0LAorCQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCit7CisJ c3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOworCXN0cnVjdCBkcm1fcGxhbmVfc3Rh dGUgKnByaW1hcnlfc3RhdGU7CisJc3RydWN0IGRybV9jcnRjICpjcnRjID0gc2V0LT5jcnRjOwor CWludCByZXQ7CisKKwljcnRjX3N0YXRlID0gZHJtX2F0b21pY19nZXRfY3J0Y19zdGF0ZShzdGF0 ZSwgY3J0Yyk7CisJaWYgKElTX0VSUihjcnRjX3N0YXRlKSkKKwkJcmV0dXJuIFBUUl9FUlIoY3J0 Y19zdGF0ZSk7CisKKwlwcmltYXJ5X3N0YXRlID0gZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUo c3RhdGUsIGNydGMtPnByaW1hcnkpOworCWlmIChJU19FUlIocHJpbWFyeV9zdGF0ZSkpCisJCXJl dHVybiBQVFJfRVJSKHByaW1hcnlfc3RhdGUpOwogCiAJaWYgKCFzZXQtPm1vZGUpIHsKIAkJV0FS Tl9PTihzZXQtPmZiKTsKQEAgLTE2NTcsMTMgKzE3MDYsMTMgQEAgcmV0cnk6CiAKIAkJcmV0ID0g ZHJtX2F0b21pY19zZXRfbW9kZV9mb3JfY3J0YyhjcnRjX3N0YXRlLCBOVUxMKTsKIAkJaWYgKHJl dCAhPSAwKQotCQkJZ290byBmYWlsOworCQkJcmV0dXJuIHJldDsKIAogCQljcnRjX3N0YXRlLT5h Y3RpdmUgPSBmYWxzZTsKIAogCQlyZXQgPSBkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9wbGFuZShw cmltYXJ5X3N0YXRlLCBOVUxMKTsKIAkJaWYgKHJldCAhPSAwKQotCQkJZ290byBmYWlsOworCQkJ cmV0dXJuIHJldDsKIAogCQlkcm1fYXRvbWljX3NldF9mYl9mb3JfcGxhbmUocHJpbWFyeV9zdGF0 ZSwgTlVMTCk7CiAKQEAgLTE2NzUsMTMgKzE3MjQsMTQgQEAgcmV0cnk6CiAKIAlyZXQgPSBkcm1f YXRvbWljX3NldF9tb2RlX2Zvcl9jcnRjKGNydGNfc3RhdGUsIHNldC0+bW9kZSk7CiAJaWYgKHJl dCAhPSAwKQotCQlnb3RvIGZhaWw7CisJCXJldHVybiByZXQ7CiAKIAljcnRjX3N0YXRlLT5hY3Rp dmUgPSB0cnVlOwogCiAJcmV0ID0gZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfcGxhbmUocHJpbWFy eV9zdGF0ZSwgY3J0Yyk7CiAJaWYgKHJldCAhPSAwKQotCQlnb3RvIGZhaWw7CisJCXJldHVybiBy ZXQ7CisKIAlkcm1fYXRvbWljX3NldF9mYl9mb3JfcGxhbmUocHJpbWFyeV9zdGF0ZSwgc2V0LT5m Yik7CiAJcHJpbWFyeV9zdGF0ZS0+Y3J0Y194ID0gMDsKIAlwcmltYXJ5X3N0YXRlLT5jcnRjX3kg PSAwOwpAQCAtMTY5NSwzNSArMTc0NSwxMCBAQCByZXRyeToKIGNvbW1pdDoKIAlyZXQgPSB1cGRh dGVfb3V0cHV0X3N0YXRlKHN0YXRlLCBzZXQpOwogCWlmIChyZXQpCi0JCWdvdG8gZmFpbDsKLQot CXJldCA9IGRybV9hdG9taWNfY29tbWl0KHN0YXRlKTsKLQlpZiAocmV0ICE9IDApCi0JCWdvdG8g ZmFpbDsKKwkJcmV0dXJuIHJldDsKIAotCS8qIERyaXZlciB0YWtlcyBvd25lcnNoaXAgb2Ygc3Rh dGUgb24gc3VjY2Vzc2Z1bCBjb21taXQuICovCiAJcmV0dXJuIDA7Ci1mYWlsOgotCWlmIChyZXQg PT0gLUVERUFETEspCi0JCWdvdG8gYmFja29mZjsKLQotCWRybV9hdG9taWNfc3RhdGVfZnJlZShz dGF0ZSk7Ci0KLQlyZXR1cm4gcmV0OwotYmFja29mZjoKLQlkcm1fYXRvbWljX3N0YXRlX2NsZWFy KHN0YXRlKTsKLQlkcm1fYXRvbWljX2xlZ2FjeV9iYWNrb2ZmKHN0YXRlKTsKLQotCS8qCi0JICog U29tZW9uZSBtaWdodCBoYXZlIGV4Y2hhbmdlZCB0aGUgZnJhbWVidWZmZXIgd2hpbGUgd2UgZHJv cHBlZCBsb2NrcwotCSAqIGluIHRoZSBiYWNrb2ZmIGNvZGUuIFdlIG5lZWQgdG8gZml4IHVwIHRo ZSBmYiByZWZjb3VudCB0cmFja2luZyB0aGUKLQkgKiBjb3JlIGRvZXMgZm9yIHVzLgotCSAqLwot CWNydGMtPnByaW1hcnktPm9sZF9mYiA9IGNydGMtPnByaW1hcnktPmZiOwotCi0JZ290byByZXRy eTsKIH0KLUVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfc2V0X2NvbmZpZyk7CiAKIC8q KgogICogZHJtX2F0b21pY19oZWxwZXJfY3J0Y19zZXRfcHJvcGVydHkgLSBoZWxwZXIgZm9yIGNy dGMgcHJvcGVydGllcwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIu YyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKaW5kZXggYmExMmY1MS4uOTc0MWQ3 OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCkBAIC0zOCw2ICszOCw4IEBACiAjaW5jbHVkZSA8 ZHJtL2RybV9jcnRjLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9mYl9oZWxwZXIuaD4KICNpbmNsdWRl IDxkcm0vZHJtX2NydGNfaGVscGVyLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9hdG9taWMuaD4KKyNp bmNsdWRlIDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4KIAogc3RhdGljIGJvb2wgZHJtX2ZiZGV2 X2VtdWxhdGlvbiA9IHRydWU7CiBtb2R1bGVfcGFyYW1fbmFtZWQoZmJkZXZfZW11bGF0aW9uLCBk cm1fZmJkZXZfZW11bGF0aW9uLCBib29sLCAwNjAwKTsKQEAgLTMzNCw2ICszMzYsNzMgQEAgaW50 IGRybV9mYl9oZWxwZXJfZGVidWdfbGVhdmUoc3RydWN0IGZiX2luZm8gKmluZm8pCiB9CiBFWFBP UlRfU1lNQk9MKGRybV9mYl9oZWxwZXJfZGVidWdfbGVhdmUpOwogCitzdGF0aWMgaW50IHJlc3Rv cmVfZmJkZXZfbW9kZV9hdG9taWMoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlcikKK3sK KwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZmJfaGVscGVyLT5kZXY7CisJc3RydWN0IGRybV9w bGFuZSAqcGxhbmU7CisJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOworCWludCBpLCBy ZXQ7CisKKwlzdGF0ZSA9IGRybV9hdG9taWNfc3RhdGVfYWxsb2MoZGV2KTsKKwlpZiAoIXN0YXRl KQorCQlyZXR1cm4gLUVOT01FTTsKKworCXN0YXRlLT5hY3F1aXJlX2N0eCA9IGRldi0+bW9kZV9j b25maWcuYWNxdWlyZV9jdHg7CityZXRyeToKKwlkcm1fZm9yX2VhY2hfcGxhbmUocGxhbmUsIGRl dikgeworCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKKworCQlwbGFuZV9z dGF0ZSA9IGRybV9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlKHN0YXRlLCBwbGFuZSk7CisJCWlmIChJ U19FUlIocGxhbmVfc3RhdGUpKSB7CisJCQlyZXQgPSBQVFJfRVJSKHBsYW5lX3N0YXRlKTsKKwkJ CWdvdG8gZmFpbDsKKwkJfQorCisJCS8qIHJlc2V0IHJvdGF0aW9uOiAqLworCQlyZXQgPSBkcm1f YXRvbWljX3BsYW5lX3NldF9wcm9wZXJ0eShwbGFuZSwgcGxhbmVfc3RhdGUsCisJCQkJZGV2LT5t b2RlX2NvbmZpZy5yb3RhdGlvbl9wcm9wZXJ0eSwKKwkJCQlCSVQoRFJNX1JPVEFURV8wKSk7CisJ CWlmIChyZXQgIT0gMCkKKwkJCWdvdG8gZmFpbDsKKworCQkvKiBkaXNhYmxlIG5vbi1wcmltYXJ5 OiAqLworCQlpZiAocGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSkKKwkJCWNv bnRpbnVlOworCisJCXJldCA9IF9fZHJtX2F0b21pY19oZWxwZXJfZGlzYWJsZV9wbGFuZShwbGFu ZSwgcGxhbmVfc3RhdGUpOworCQlpZiAocmV0ICE9IDApCisJCQlnb3RvIGZhaWw7CisJfQorCisJ Zm9yKGkgPSAwOyBpIDwgZmJfaGVscGVyLT5jcnRjX2NvdW50OyBpKyspIHsKKwkJc3RydWN0IGRy bV9tb2RlX3NldCAqbW9kZV9zZXQgPSAmZmJfaGVscGVyLT5jcnRjX2luZm9baV0ubW9kZV9zZXQ7 CisKKwkJcmV0ID0gX19kcm1fYXRvbWljX2hlbHBlcl9zZXRfY29uZmlnKG1vZGVfc2V0LCBzdGF0 ZSk7CisJCWlmIChyZXQgIT0gMCkKKwkJCWdvdG8gZmFpbDsKKwl9CisKKwlyZXQgPSBkcm1fYXRv bWljX2NvbW1pdChzdGF0ZSk7CisJaWYgKHJldCAhPSAwKQorCQlnb3RvIGZhaWw7CisKKwlyZXR1 cm4gMDsKKworZmFpbDoKKwlpZiAocmV0ID09IC1FREVBRExLKQorCQlnb3RvIGJhY2tvZmY7CisK Kwlkcm1fYXRvbWljX3N0YXRlX2ZyZWUoc3RhdGUpOworCisJcmV0dXJuIHJldDsKKworYmFja29m ZjoKKwlkcm1fYXRvbWljX3N0YXRlX2NsZWFyKHN0YXRlKTsKKwlkcm1fYXRvbWljX2xlZ2FjeV9i YWNrb2ZmKHN0YXRlKTsKKworCWdvdG8gcmV0cnk7Cit9CisKIHN0YXRpYyBpbnQgcmVzdG9yZV9m YmRldl9tb2RlKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIpCiB7CiAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGZiX2hlbHBlci0+ZGV2OwpAQCAtMzQyLDYgKzQxMSw5IEBAIHN0YXRp YyBpbnQgcmVzdG9yZV9mYmRldl9tb2RlKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIp CiAKIAlkcm1fd2Fybl9vbl9tb2Rlc2V0X25vdF9hbGxfbG9ja2VkKGRldik7CiAKKwlpZiAoZmJf aGVscGVyLT5hdG9taWMpCisJCXJldHVybiByZXN0b3JlX2ZiZGV2X21vZGVfYXRvbWljKGZiX2hl bHBlcik7CisKIAlkcm1fZm9yX2VhY2hfcGxhbmUocGxhbmUsIGRldikgewogCQlpZiAocGxhbmUt PnR5cGUgIT0gRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSkKIAkJCWRybV9wbGFuZV9mb3JjZV9kaXNh YmxlKHBsYW5lKTsKQEAgLTY0NCw2ICs3MTYsOCBAQCBpbnQgZHJtX2ZiX2hlbHBlcl9pbml0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCWkrKzsKIAl9CiAKKwlmYl9oZWxwZXItPmF0b21pYyA9 ICEhZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9BVE9NSUMpOworCiAJcmV0dXJu IDA7CiBvdXRfZnJlZToKIAlkcm1fZmJfaGVscGVyX2NydGNfZnJlZShmYl9oZWxwZXIpOwpkaWZm IC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pY19oZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2Ry bV9hdG9taWNfaGVscGVyLmgKaW5kZXggMTEyNjZkMTQuLjg4YzBlZjMgMTAwNjQ0Ci0tLSBhL2lu Y2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21p Y19oZWxwZXIuaApAQCAtMzAsNiArMzAsOCBAQAogCiAjaW5jbHVkZSA8ZHJtL2RybV9jcnRjLmg+ CiAKK3N0cnVjdCBkcm1fYXRvbWljX3N0YXRlOworCiBpbnQgZHJtX2F0b21pY19oZWxwZXJfY2hl Y2tfbW9kZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCXN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSk7CiBpbnQgZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfcGxhbmVzKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCkBAIC03Miw3ICs3NCwxMSBAQCBpbnQgZHJtX2F0b21pY19oZWxw ZXJfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJCSAgIHVpbnQzMl90 IHNyY194LCB1aW50MzJfdCBzcmNfeSwKIAkJCQkgICB1aW50MzJfdCBzcmNfdywgdWludDMyX3Qg c3JjX2gpOwogaW50IGRybV9hdG9taWNfaGVscGVyX2Rpc2FibGVfcGxhbmUoc3RydWN0IGRybV9w bGFuZSAqcGxhbmUpOworaW50IF9fZHJtX2F0b21pY19oZWxwZXJfZGlzYWJsZV9wbGFuZShzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSwKKwkJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3Rh dGUpOwogaW50IGRybV9hdG9taWNfaGVscGVyX3NldF9jb25maWcoc3RydWN0IGRybV9tb2RlX3Nl dCAqc2V0KTsKK2ludCBfX2RybV9hdG9taWNfaGVscGVyX3NldF9jb25maWcoc3RydWN0IGRybV9t b2RlX3NldCAqc2V0LAorCQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwogCiBpbnQg ZHJtX2F0b21pY19oZWxwZXJfY3J0Y19zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jcnRjICpjcnRj LAogCQkJCQlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKZGlmZiAtLWdpdCBhL2luY2x1 ZGUvZHJtL2RybV9mYl9oZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaAppbmRl eCA2MjU0MTM2Li5jYzNkODIwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZmJfaGVscGVy LmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oCkBAIC0xMTcsNiArMTE3LDEyIEBA IHN0cnVjdCBkcm1fZmJfaGVscGVyX2Nvbm5lY3RvciB7CiAgKiBAcHNldWRvX3BhbGV0dGU6IGZh a2UgcGFsZXR0ZSBvZiAxNiBjb2xvcnMKICAqIEBrZXJuZWxfZmJfbGlzdDogbGlzdF9oZWFkIGlu IGtlcm5lbF9mYl9oZWxwZXJfbGlzdAogICogQGRlbGF5ZWRfaG90cGx1Zzogd2FzIHRoZXJlIGEg aG90cGx1ZyB3aGlsZSBrbXMgbWFzdGVyIGFjdGl2ZT8KKyAqIEBhdG9taWM6IHVzZSBhdG9taWMg dXBkYXRlcyBmb3IgcmVzdG9yZV9mYmRldl9tb2RlKCksIGV0Yy4gIFRoaXMKKyAqICAgICAgICAg IGRlZmF1bHRzIHRvIHRydWUgaWYgZHJpdmVyIGhhcyBEUklWRVJfQVRPTUlDIGZlYXR1cmUKKyAq ICAgICAgICAgIGZsYWcsIGJ1dCBkcml2ZXJzIGNhbiBvdmVycmlkZSBpdCB0byB0cnVlIGFmdGVy CisgKiAgICAgICAgICBkcm1fZmJfaGVscGVyX2luaXQoKSBpZiB0aGV5IHN1cHBvcnQgYXRvbWlj IG1vZGVzZXQKKyAqICAgICAgICAgIGJ1dCBkbyBub3QgeWV0IGFkdmVydGlzZSBEUklWRVJfQVRP TUlDIChub3RlIHRoYXQKKyAqICAgICAgICAgIGZiLWhlbHBlciBkb2VzIG5vdCByZXF1aXJlIEFT WU5DIGNvbW1pdHMpLgogICovCiBzdHJ1Y3QgZHJtX2ZiX2hlbHBlciB7CiAJc3RydWN0IGRybV9m cmFtZWJ1ZmZlciAqZmI7CkBAIC0xMzQsNiArMTQwLDggQEAgc3RydWN0IGRybV9mYl9oZWxwZXIg ewogCS8qIHdlIGdvdCBhIGhvdHBsdWcgYnV0IGZiZGV2IHdhc24ndCBydW5uaW5nIHRoZSBjb25z b2xlCiAJICAgZGVsYXkgdW50aWwgbmV4dCBzZXRfcGFyICovCiAJYm9vbCBkZWxheWVkX2hvdHBs dWc7CisKKwlib29sIGF0b21pYzsKIH07CiAKICNpZmRlZiBDT05GSUdfRFJNX0ZCREVWX0VNVUxB VElPTgotLSAKMi40LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg==