From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: [PATCH 54/60] drm/omap: dpi: Register a drm_bridge Date: Sun, 7 Jul 2019 21:19:31 +0300 Message-ID: <20190707181937.6250-51-laurent.pinchart@ideasonboard.com> References: <20190707180852.5512-1-laurent.pinchart@ideasonboard.com> <20190707181937.6250-1-laurent.pinchart@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1B6EA89B98 for ; Sun, 7 Jul 2019 18:39:47 +0000 (UTC) In-Reply-To: <20190707181937.6250-1-laurent.pinchart@ideasonboard.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 Cc: Maxime Ripard , Sebastian Reichel , Tomi Valkeinen , Sean Paul List-Id: dri-devel@lists.freedesktop.org SW4gb3JkZXIgdG8gaW50ZWdyYXRlIHdpdGggYSBjaGFpbiBvZiBkcm1fYnJpZGdlLCB0aGUgaW50 ZXJuYWwgRFBJCm91dHB1dCBoYXMgdG8gZXhwb3NlIGl0cyBvcGVyYXRpb25zIHRocm91Z2ggdGhl IGRybV9icmlkZ2UgQVBJLgpSZWdpc3RlciBhIGJyaWRnZSBhdCBpbml0aWFsaXNhdGlvbiB0aW1l IHRvIGRvIHNvIGFuZCByZW1vdmUgdGhlCm9tYXBfZHNzX2RldmljZSBvcGVyYXRpb25zIHRoYXQg YXJlIG5vdyB1bnVzZWQuCgpTaWduZWQtb2ZmLWJ5OiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50 LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0v ZHNzL2RwaS5jIHwgMjA0ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDEyMSBpbnNlcnRpb25zKCspLCA4MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHBpLmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRy bS9kc3MvZHBpLmMKaW5kZXggYTgzYmNmZTU4OGRmLi5lYmMyNThiZjU2YWEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9kcGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v b21hcGRybS9kc3MvZHBpLmMKQEAgLTMyLDYgKzMyLDggQEAKICNpbmNsdWRlIDxsaW51eC9zdHJp bmcuaD4KICNpbmNsdWRlIDxsaW51eC9zeXNfc29jLmg+CiAKKyNpbmNsdWRlIDxkcm0vZHJtX2Jy aWRnZS5oPgorCiAjaW5jbHVkZSAiZHNzLmgiCiAjaW5jbHVkZSAib21hcGRzcy5oIgogCkBAIC01 MiwxMiArNTQsMTAgQEAgc3RydWN0IGRwaV9kYXRhIHsKIAlpbnQgZGF0YV9saW5lczsKIAogCXN0 cnVjdCBvbWFwX2Rzc19kZXZpY2Ugb3V0cHV0OworCXN0cnVjdCBkcm1fYnJpZGdlIGJyaWRnZTsK IH07CiAKLXN0YXRpYyBzdHJ1Y3QgZHBpX2RhdGEgKmRwaV9nZXRfZGF0YV9mcm9tX2Rzc2Rldihz dHJ1Y3Qgb21hcF9kc3NfZGV2aWNlICpkc3NkZXYpCi17Ci0JcmV0dXJuIGNvbnRhaW5lcl9vZihk c3NkZXYsIHN0cnVjdCBkcGlfZGF0YSwgb3V0cHV0KTsKLX0KKyNkZWZpbmUgZHJtX2JyaWRnZV90 b19kcGkoYnJpZGdlKSBjb250YWluZXJfb2YoYnJpZGdlLCBzdHJ1Y3QgZHBpX2RhdGEsIGJyaWRn ZSkKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqIENsb2NrIEhhbmRsaW5nIGFuZCBQTEwK QEAgLTM2NSw2ICszNjUsMzIgQEAgc3RhdGljIHZvaWQgZHBpX2NvbmZpZ19sY2RfbWFuYWdlcihz dHJ1Y3QgZHBpX2RhdGEgKmRwaSkKIAlkc3NfbWdyX3NldF9sY2RfY29uZmlnKCZkcGktPm91dHB1 dCwgJmRwaS0+bWdyX2NvbmZpZyk7CiB9CiAKK3N0YXRpYyBpbnQgZHBpX2Nsb2NrX3VwZGF0ZShz dHJ1Y3QgZHBpX2RhdGEgKmRwaSwgdW5zaWduZWQgbG9uZyAqY2xvY2spCit7CisJaW50IGxja19k aXYsIHBja19kaXY7CisJdW5zaWduZWQgbG9uZyBmY2s7CisJc3RydWN0IGRwaV9jbGtfY2FsY19j dHggY3R4OworCisJaWYgKGRwaS0+cGxsKSB7CisJCWlmICghZHBpX3BsbF9jbGtfY2FsYyhkcGks ICpjbG9jaywgJmN0eCkpCisJCQlyZXR1cm4gLUVJTlZBTDsKKworCQlmY2sgPSBjdHgucGxsX2Np bmZvLmNsa291dFtjdHguY2xrb3V0X2lkeF07CisJfSBlbHNlIHsKKwkJaWYgKCFkcGlfZHNzX2Ns a19jYWxjKGRwaSwgKmNsb2NrLCAmY3R4KSkKKwkJCXJldHVybiAtRUlOVkFMOworCisJCWZjayA9 IGN0eC5mY2s7CisJfQorCisJbGNrX2RpdiA9IGN0eC5kaXNwY19jaW5mby5sY2tfZGl2OworCXBj a19kaXYgPSBjdHguZGlzcGNfY2luZm8ucGNrX2RpdjsKKworCSpjbG9jayA9IGZjayAvIGxja19k aXYgLyBwY2tfZGl2OworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgZHBpX3ZlcmlmeV9w bGwoc3RydWN0IGRzc19wbGwgKnBsbCkKIHsKIAlpbnQgcjsKQEAgLTQwMiwyOSArNDI4LDc1IEBA IHN0YXRpYyB2b2lkIGRwaV9pbml0X3BsbChzdHJ1Y3QgZHBpX2RhdGEgKmRwaSkKIH0KIAogLyog LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAqIG9tYXBfZHNzX2RldmljZSBPcGVyYXRpb25zCisgKiBE Uk0gQnJpZGdlIE9wZXJhdGlvbnMKICAqLwogCi1zdGF0aWMgaW50IGRwaV9jb25uZWN0KHN0cnVj dCBvbWFwX2Rzc19kZXZpY2UgKnNyYywKLQkJICAgICAgIHN0cnVjdCBvbWFwX2Rzc19kZXZpY2Ug KmRzdCkKK3N0YXRpYyBpbnQgZHBpX2JyaWRnZV9hdHRhY2goc3RydWN0IGRybV9icmlkZ2UgKmJy aWRnZSwgYm9vbCBjcmVhdGVfY29ubmVjdG9yKQogewotCXN0cnVjdCBkcGlfZGF0YSAqZHBpID0g ZHBpX2dldF9kYXRhX2Zyb21fZHNzZGV2KGRzdCk7CisJc3RydWN0IGRwaV9kYXRhICpkcGkgPSBk cm1fYnJpZGdlX3RvX2RwaShicmlkZ2UpOworCisJaWYgKGNyZWF0ZV9jb25uZWN0b3IpCisJCXJl dHVybiAtRUlOVkFMOwogCiAJZHBpX2luaXRfcGxsKGRwaSk7CiAKLQlyZXR1cm4gb21hcGRzc19k ZXZpY2VfY29ubmVjdChkc3QtPmRzcywgZHN0LCBkc3QtPm5leHQpOworCXJldHVybiBkcm1fYnJp ZGdlX2F0dGFjaChicmlkZ2UtPmVuY29kZXIsIGRwaS0+b3V0cHV0Lm5leHRfYnJpZGdlLAorCQkJ CSBicmlkZ2UsIGZhbHNlKTsKIH0KIAotc3RhdGljIHZvaWQgZHBpX2Rpc2Nvbm5lY3Qoc3RydWN0 IG9tYXBfZHNzX2RldmljZSAqc3JjLAotCQkJICAgc3RydWN0IG9tYXBfZHNzX2RldmljZSAqZHN0 KQorc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzCitkcGlfYnJpZGdlX21vZGVfdmFsaWQoc3Ry dWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICptb2RlKQogewotCW9tYXBkc3NfZGV2aWNlX2Rpc2Nvbm5lY3QoZHN0LCBkc3QtPm5l eHQpOworCXN0cnVjdCBkcGlfZGF0YSAqZHBpID0gZHJtX2JyaWRnZV90b19kcGkoYnJpZGdlKTsK Kwl1bnNpZ25lZCBsb25nIGNsb2NrID0gbW9kZS0+Y2xvY2sgKiAxMDAwOworCWludCByZXQ7CisK KwlpZiAobW9kZS0+aGRpc3BsYXkgJSA4ICE9IDApCisJCXJldHVybiBNT0RFX0JBRF9XSURUSDsK KworCWlmIChtb2RlLT5jbG9jayA9PSAwKQorCQlyZXR1cm4gTU9ERV9OT0NMT0NLOworCisJcmV0 ID0gZHBpX2Nsb2NrX3VwZGF0ZShkcGksICZjbG9jayk7CisJaWYgKHJldCA8IDApCisJCXJldHVy biBNT0RFX0NMT0NLX1JBTkdFOworCisJcmV0dXJuIE1PREVfT0s7Cit9CisKK3N0YXRpYyBib29s IGRwaV9icmlkZ2VfbW9kZV9maXh1cChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAorCQkJCSAg IGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAorCQkJCSAgIHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlKQoreworCXN0cnVjdCBkcGlfZGF0YSAqZHBpID0g ZHJtX2JyaWRnZV90b19kcGkoYnJpZGdlKTsKKwl1bnNpZ25lZCBsb25nIGNsb2NrID0gbW9kZS0+ Y2xvY2sgKiAxMDAwOworCWludCByZXQ7CisKKwlyZXQgPSBkcGlfY2xvY2tfdXBkYXRlKGRwaSwg JmNsb2NrKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIGZhbHNlOworCisJYWRqdXN0ZWRfbW9k ZS0+Y2xvY2sgPSBjbG9jayAvIDEwMDA7CisKKwlyZXR1cm4gdHJ1ZTsKK30KKworc3RhdGljIHZv aWQgZHBpX2JyaWRnZV9tb2RlX3NldChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAorCQkJCSBj b25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKKwkJCQkgY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpCit7CisJc3RydWN0IGRwaV9kYXRhICpkcGkg PSBkcm1fYnJpZGdlX3RvX2RwaShicmlkZ2UpOworCisJbXV0ZXhfbG9jaygmZHBpLT5sb2NrKTsK KwlkcGktPnBpeGVsY2xvY2sgPSBhZGp1c3RlZF9tb2RlLT5jbG9jayAqIDEwMDA7CisJbXV0ZXhf dW5sb2NrKCZkcGktPmxvY2spOwogfQogCi1zdGF0aWMgdm9pZCBkcGlfZGlzcGxheV9lbmFibGUo c3RydWN0IG9tYXBfZHNzX2RldmljZSAqZHNzZGV2KQorc3RhdGljIHZvaWQgZHBpX2JyaWRnZV9l bmFibGUoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKKwkJCSAgICAgICBzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqc3RhdGUpCiB7Ci0Jc3RydWN0IGRwaV9kYXRhICpkcGkgPSBkcGlfZ2V0X2Rh dGFfZnJvbV9kc3NkZXYoZHNzZGV2KTsKLQlzdHJ1Y3Qgb21hcF9kc3NfZGV2aWNlICpvdXQgPSAm ZHBpLT5vdXRwdXQ7CisJc3RydWN0IGRwaV9kYXRhICpkcGkgPSBkcm1fYnJpZGdlX3RvX2RwaShi cmlkZ2UpOwogCWludCByOwogCiAJbXV0ZXhfbG9jaygmZHBpLT5sb2NrKTsKQEAgLTQzOSw3ICs1 MTEsNyBAQCBzdGF0aWMgdm9pZCBkcGlfZGlzcGxheV9lbmFibGUoc3RydWN0IG9tYXBfZHNzX2Rl dmljZSAqZHNzZGV2KQogCWlmIChyKQogCQlnb3RvIGVycl9nZXRfZGlzcGM7CiAKLQlyID0gZHNz X2RwaV9zZWxlY3Rfc291cmNlKGRwaS0+ZHNzLCBkcGktPmlkLCBvdXQtPmRpc3BjX2NoYW5uZWwp OworCXIgPSBkc3NfZHBpX3NlbGVjdF9zb3VyY2UoZHBpLT5kc3MsIGRwaS0+aWQsIGRwaS0+b3V0 cHV0LmRpc3BjX2NoYW5uZWwpOwogCWlmIChyKQogCQlnb3RvIGVycl9zcmNfc2VsOwogCkBAIC00 NzksOSArNTUxLDEwIEBAIHN0YXRpYyB2b2lkIGRwaV9kaXNwbGF5X2VuYWJsZShzdHJ1Y3Qgb21h cF9kc3NfZGV2aWNlICpkc3NkZXYpCiAJbXV0ZXhfdW5sb2NrKCZkcGktPmxvY2spOwogfQogCi1z dGF0aWMgdm9pZCBkcGlfZGlzcGxheV9kaXNhYmxlKHN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKmRz c2RldikKK3N0YXRpYyB2b2lkIGRwaV9icmlkZ2VfZGlzYWJsZShzdHJ1Y3QgZHJtX2JyaWRnZSAq YnJpZGdlLAorCQkJCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIHsKLQlzdHJ1Y3Qg ZHBpX2RhdGEgKmRwaSA9IGRwaV9nZXRfZGF0YV9mcm9tX2Rzc2Rldihkc3NkZXYpOworCXN0cnVj dCBkcGlfZGF0YSAqZHBpID0gZHJtX2JyaWRnZV90b19kcGkoYnJpZGdlKTsKIAogCW11dGV4X2xv Y2soJmRwaS0+bG9jayk7CiAKQEAgLTUwMSw3MSArNTc0LDMzIEBAIHN0YXRpYyB2b2lkIGRwaV9k aXNwbGF5X2Rpc2FibGUoc3RydWN0IG9tYXBfZHNzX2RldmljZSAqZHNzZGV2KQogCW11dGV4X3Vu bG9jaygmZHBpLT5sb2NrKTsKIH0KIAotc3RhdGljIGludCBkcGlfY2hlY2tfdGltaW5ncyhzdHJ1 Y3Qgb21hcF9kc3NfZGV2aWNlICpkc3NkZXYsCi0JCQkgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlKQotewotCXN0cnVjdCBkcGlfZGF0YSAqZHBpID0gZHBpX2dldF9kYXRhX2Zyb21f ZHNzZGV2KGRzc2Rldik7Ci0JaW50IGxja19kaXYsIHBja19kaXY7Ci0JdW5zaWduZWQgbG9uZyBm Y2s7Ci0JdW5zaWduZWQgbG9uZyBwY2s7Ci0Jc3RydWN0IGRwaV9jbGtfY2FsY19jdHggY3R4Owot CWJvb2wgb2s7Ci0KLQlpZiAobW9kZS0+aGRpc3BsYXkgJSA4ICE9IDApCi0JCXJldHVybiAtRUlO VkFMOwotCi0JaWYgKG1vZGUtPmNsb2NrID09IDApCi0JCXJldHVybiAtRUlOVkFMOwotCi0JaWYg KGRwaS0+cGxsKSB7Ci0JCW9rID0gZHBpX3BsbF9jbGtfY2FsYyhkcGksIG1vZGUtPmNsb2NrICog MTAwMCwgJmN0eCk7Ci0JCWlmICghb2spCi0JCQlyZXR1cm4gLUVJTlZBTDsKLQotCQlmY2sgPSBj dHgucGxsX2NpbmZvLmNsa291dFtjdHguY2xrb3V0X2lkeF07Ci0JfSBlbHNlIHsKLQkJb2sgPSBk cGlfZHNzX2Nsa19jYWxjKGRwaSwgbW9kZS0+Y2xvY2sgKiAxMDAwLCAmY3R4KTsKLQkJaWYgKCFv aykKLQkJCXJldHVybiAtRUlOVkFMOwotCi0JCWZjayA9IGN0eC5mY2s7Ci0JfQotCi0JbGNrX2Rp diA9IGN0eC5kaXNwY19jaW5mby5sY2tfZGl2OwotCXBja19kaXYgPSBjdHguZGlzcGNfY2luZm8u cGNrX2RpdjsKLQotCXBjayA9IGZjayAvIGxja19kaXYgLyBwY2tfZGl2OwotCi0JbW9kZS0+Y2xv Y2sgPSBwY2sgLyAxMDAwOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGRwaV9zZXRf dGltaW5ncyhzdHJ1Y3Qgb21hcF9kc3NfZGV2aWNlICpkc3NkZXYsCi0JCQkgICAgY29uc3Qgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCi17Ci0Jc3RydWN0IGRwaV9kYXRhICpkcGkgPSBk cGlfZ2V0X2RhdGFfZnJvbV9kc3NkZXYoZHNzZGV2KTsKLQotCURTU0RCRygiZHBpX3NldF90aW1p bmdzXG4iKTsKLQotCW11dGV4X2xvY2soJmRwaS0+bG9jayk7Ci0KLQlkcGktPnBpeGVsY2xvY2sg PSBtb2RlLT5jbG9jayAqIDEwMDA7Ci0KLQltdXRleF91bmxvY2soJmRwaS0+bG9jayk7Ci19Ci0K LXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb21hcF9kc3NfZGV2aWNlX29wcyBkcGlfb3BzID0gewotCS5j b25uZWN0ID0gZHBpX2Nvbm5lY3QsCi0JLmRpc2Nvbm5lY3QgPSBkcGlfZGlzY29ubmVjdCwKLQot CS5lbmFibGUgPSBkcGlfZGlzcGxheV9lbmFibGUsCi0JLmRpc2FibGUgPSBkcGlfZGlzcGxheV9k aXNhYmxlLAotCi0JLmNoZWNrX3RpbWluZ3MgPSBkcGlfY2hlY2tfdGltaW5ncywKLQkuc2V0X3Rp bWluZ3MgPSBkcGlfc2V0X3RpbWluZ3MsCitzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9icmlkZ2Vf ZnVuY3MgZHBpX2JyaWRnZV9mdW5jcyA9IHsKKwkuYXR0YWNoID0gZHBpX2JyaWRnZV9hdHRhY2gs CisJLm1vZGVfdmFsaWQgPSBkcGlfYnJpZGdlX21vZGVfdmFsaWQsCisJLm1vZGVfZml4dXAgPSBk cGlfYnJpZGdlX21vZGVfZml4dXAsCisJLm1vZGVfc2V0ID0gZHBpX2JyaWRnZV9tb2RlX3NldCwK KwkuYXRvbWljX2VuYWJsZSA9IGRwaV9icmlkZ2VfZW5hYmxlLAorCS5hdG9taWNfZGlzYWJsZSA9 IGRwaV9icmlkZ2VfZGlzYWJsZSwKIH07CiAKK3N0YXRpYyB2b2lkIGRwaV9icmlkZ2VfaW5pdChz dHJ1Y3QgZHBpX2RhdGEgKmRwaSkKK3sKKwlkcGktPmJyaWRnZS5mdW5jcyA9ICZkcGlfYnJpZGdl X2Z1bmNzOworCWRwaS0+YnJpZGdlLm9mX25vZGUgPSBkcGktPnBkZXYtPmRldi5vZl9ub2RlOwor CWRwaS0+YnJpZGdlLnR5cGUgPSBEUk1fTU9ERV9DT05ORUNUT1JfRFBJOworCisJZHJtX2JyaWRn ZV9hZGQoJmRwaS0+YnJpZGdlKTsKK30KKworc3RhdGljIHZvaWQgZHBpX2JyaWRnZV9jbGVhbnVw KHN0cnVjdCBkcGlfZGF0YSAqZHBpKQoreworCWRybV9icmlkZ2VfcmVtb3ZlKCZkcGktPmJyaWRn ZSk7Cit9CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBJbml0aWFsaXNhdGlvbiBhbmQg Q2xlYW51cAorICovCisKIC8qCiAgKiBSZXR1cm4gYSBoYXJkY29kZWQgY2hhbm5lbCBmb3IgdGhl IERQSSBvdXRwdXQuIFRoaXMgc2hvdWxkIHdvcmsgZm9yCiAgKiBjdXJyZW50IHVzZSBjYXNlcywg YnV0IHRoaXMgY2FuIGJlIGxhdGVyIGV4cGFuZGVkIHRvIGVpdGhlciByZXNvbHZlCkBAIC02MDgs NiArNjQzLDggQEAgc3RhdGljIGludCBkcGlfaW5pdF9vdXRwdXRfcG9ydChzdHJ1Y3QgZHBpX2Rh dGEgKmRwaSwgc3RydWN0IGRldmljZV9ub2RlICpwb3J0KQogCXUzMiBwb3J0X251bSA9IDA7CiAJ aW50IHI7CiAKKwlkcGlfYnJpZGdlX2luaXQoZHBpKTsKKwogCW9mX3Byb3BlcnR5X3JlYWRfdTMy KHBvcnQsICJyZWciLCAmcG9ydF9udW0pOwogCWRwaS0+aWQgPSBwb3J0X251bSA8PSAyID8gcG9y dF9udW0gOiAwOwogCkBAIC02MjksMTAgKzY2Niw5IEBAIHN0YXRpYyBpbnQgZHBpX2luaXRfb3V0 cHV0X3BvcnQoc3RydWN0IGRwaV9kYXRhICpkcGksIHN0cnVjdCBkZXZpY2Vfbm9kZSAqcG9ydCkK IAlvdXQtPnR5cGUgPSBPTUFQX0RJU1BMQVlfVFlQRV9EUEk7CiAJb3V0LT5kaXNwY19jaGFubmVs ID0gZHBpX2dldF9jaGFubmVsKGRwaSk7CiAJb3V0LT5vZl9wb3J0ID0gcG9ydF9udW07Ci0Jb3V0 LT5vcHMgPSAmZHBpX29wczsKIAlvdXQtPm93bmVyID0gVEhJU19NT0RVTEU7CiAKLQlyID0gb21h cGRzc19kZXZpY2VfaW5pdF9vdXRwdXQob3V0LCBOVUxMKTsKKwlyID0gb21hcGRzc19kZXZpY2Vf aW5pdF9vdXRwdXQob3V0LCAmZHBpLT5icmlkZ2UpOwogCWlmIChyIDwgMCkKIAkJcmV0dXJuIHI7 CiAKQEAgLTY0OCw2ICs2ODQsOCBAQCBzdGF0aWMgdm9pZCBkcGlfdW5pbml0X291dHB1dF9wb3J0 KHN0cnVjdCBkZXZpY2Vfbm9kZSAqcG9ydCkKIAogCW9tYXBkc3NfZGV2aWNlX3VucmVnaXN0ZXIo b3V0KTsKIAlvbWFwZHNzX2RldmljZV9jbGVhbnVwX291dHB1dChvdXQpOworCisJZHBpX2JyaWRn ZV9jbGVhbnVwKGRwaSk7CiB9CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tIApSZWdhcmRz LAoKTGF1cmVudCBQaW5jaGFydAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVs