From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: [PATCH v2 46/49] drm/omap: Add support for drm_panel Date: Fri, 11 Jan 2019 05:51:17 +0200 Message-ID: <20190111035120.20668-47-laurent.pinchart@ideasonboard.com> References: <20190111035120.20668-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 [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5E83F6F52A for ; Fri, 11 Jan 2019 03:52:04 +0000 (UTC) In-Reply-To: <20190111035120.20668-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: Tomi Valkeinen List-Id: dri-devel@lists.freedesktop.org SG9vayB1cCBkcm1fcGFuZWwgc3VwcG9ydCBpbiB0aGUgb21hcGRybSBkcml2ZXIuIFRoZSBjaGFu Z2UgaXMKcmVsYXRpdmVseSBzaW1wbHkgYXMgdGhlIHdheSBoYXMgYmVlbiBwYXZlZCBieSBkcm1f YnJpZGdlIHN1cHBvcnQKYWxyZWFkeS4gSW4gYWRkaXRpb24gdG8gbG9va2luZyB1cCwgYXR0YWNo aW5nIHRvIGFuZCBkZXRhY2hpbmcgZnJvbSB0aGUKcGFuZWwsIHdlIG9ubHkgbmVlZCB0byBhZGQg cGFuZWwgc3VwcG9ydCBpbiB0aGUgY29ubmVjdG9yIC5nZXRfbW9kZXMoKQpoYW5kbGVyLCB0YWtl IGNvbm5lY3RvciBidXMgZmxhZ3MgKHNldCBieSB0aGUgcGFuZWwpIGludG8gYWNjb3VudCwgYW5k CmVuYWJsZS9kaXNhYmxlIHRoZSBwYW5lbCBpbiB0aGUgZW5jb2RlciBlbmFibGUvZGlzYWJsZSBv cGVyYXRpb25zCmhhbmRsZXJzLgoKU2lnbmVkLW9mZi1ieTogTGF1cmVudCBQaW5jaGFydCA8bGF1 cmVudC5waW5jaGFydEBpZGVhc29uYm9hcmQuY29tPgpSZXZpZXdlZC1ieTogU2ViYXN0aWFuIFJl aWNoZWwgPHNlYmFzdGlhbi5yZWljaGVsQGNvbGxhYm9yYS5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL29tYXBkcm0vZHNzL2Jhc2UuYyAgICAgICB8IDEyICsrKystLS0KIGRyaXZlcnMvZ3B1L2Ry bS9vbWFwZHJtL2Rzcy9vbWFwZHNzLmggICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vb21hcGRy bS9kc3Mvb3V0cHV0LmMgICAgIHwgIDcgKysrLQogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21h cF9jb25uZWN0b3IuYyB8ICA5ICsrKysrKwogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9k cnYuYyAgICAgICB8IDE1ICsrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9l bmNvZGVyLmMgICB8IDQxICsrKysrKysrKysrKysrKystLS0tLS0tLQogNiBmaWxlcyBjaGFuZ2Vk LCA2NSBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vb21hcGRybS9kc3MvYmFzZS5jIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNz L2Jhc2UuYwppbmRleCAwOWM5ZjI5NzFhYTIuLjNjMDg4Y2QyY2VhYiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL2Jhc2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21h cGRybS9kc3MvYmFzZS5jCkBAIC0xNTcsNyArMTU3LDggQEAgc3RydWN0IG9tYXBfZHNzX2Rldmlj ZSAqb21hcGRzc19kZXZpY2VfbmV4dF9vdXRwdXQoc3RydWN0IG9tYXBfZHNzX2RldmljZSAqZnJv bSkKIAkJCWdvdG8gZG9uZTsKIAkJfQogCi0JCWlmIChkc3NkZXYtPmlkICYmIChkc3NkZXYtPm5l eHQgfHwgZHNzZGV2LT5icmlkZ2UpKQorCQlpZiAoZHNzZGV2LT5pZCAmJgorCQkgICAgKGRzc2Rl di0+bmV4dCB8fCBkc3NkZXYtPmJyaWRnZSB8fCBkc3NkZXYtPnBhbmVsKSkKIAkJCWdvdG8gZG9u ZTsKIAl9CiAKQEAgLTE5MiwxMCArMTkzLDExIEBAIGludCBvbWFwZHNzX2RldmljZV9jb25uZWN0 KHN0cnVjdCBkc3NfZGV2aWNlICpkc3MsCiAJaWYgKCFkc3QpIHsKIAkJLyoKIAkJICogVGhlIGRl c3RpbmF0aW9uIGlzIE5VTEwgd2hlbiB0aGUgc291cmNlIGlzIGNvbm5lY3RlZCB0byBhCi0JCSAq IGJyaWRnZSBpbnN0ZWFkIG9mIGEgRFNTIGRldmljZS4gU3RvcCBoZXJlLCB3ZSB3aWxsIGF0dGFj aCB0aGUKLQkJICogYnJpZGdlIGxhdGVyIHdoZW4gd2Ugd2lsbCBoYXZlIGEgRFJNIGVuY29kZXIu CisJCSAqIGJyaWRnZSBvciBwYW5lbCBpbnN0ZWFkIG9mIGEgRFNTIGRldmljZS4gU3RvcCBoZXJl LCB3ZSB3aWxsCisJCSAqIGF0dGFjaCB0aGUgYnJpZGdlIG9yIHBhbmVsIGxhdGVyIHdoZW4gd2Ug d2lsbCBoYXZlIGEgRFJNCisJCSAqIGVuY29kZXIuCiAJCSAqLwotCQlyZXR1cm4gc3JjICYmIHNy Yy0+YnJpZGdlID8gMCA6IC1FSU5WQUw7CisJCXJldHVybiBzcmMgJiYgKHNyYy0+YnJpZGdlIHx8 IHNyYy0+cGFuZWwpID8gMCA6IC1FSU5WQUw7CiAJfQogCiAJaWYgKG9tYXBkc3NfZGV2aWNlX2lz X2Nvbm5lY3RlZChkc3QpKQpAQCAtMjIzLDcgKzIyNSw3IEBAIHZvaWQgb21hcGRzc19kZXZpY2Vf ZGlzY29ubmVjdChzdHJ1Y3Qgb21hcF9kc3NfZGV2aWNlICpzcmMsCiAJCWRzdCA/IGRldl9uYW1l KGRzdC0+ZGV2KSA6ICJOVUxMIik7CiAKIAlpZiAoIWRzdCkgewotCQlXQVJOX09OKCFzcmMtPmJy aWRnZSk7CisJCVdBUk5fT04oIXNyYy0+YnJpZGdlICYmICFzcmMtPnBhbmVsKTsKIAkJcmV0dXJu OwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL29tYXBkc3Mu aCBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9vbWFwZHNzLmgKaW5kZXggZjQ3ZTliOTQy ODhmLi4wYzczNGQxZjg5ZTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rz cy9vbWFwZHNzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL29tYXBkc3MuaApA QCAtNDExLDYgKzQxMSw3IEBAIHN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgewogCXN0cnVjdCBkc3Nf ZGV2aWNlICpkc3M7CiAJc3RydWN0IG9tYXBfZHNzX2RldmljZSAqbmV4dDsKIAlzdHJ1Y3QgZHJt X2JyaWRnZSAqYnJpZGdlOworCXN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsOwogCiAJc3RydWN0IGxp c3RfaGVhZCBsaXN0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3Mv b3V0cHV0LmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3Mvb3V0cHV0LmMKaW5kZXggMmE1 MzAyNWMyZmRlLi4xMGE5ZWU1Y2RjNjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFw ZHJtL2Rzcy9vdXRwdXQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3Mvb3V0cHV0 LmMKQEAgLTIyLDYgKzIyLDggQEAKICNpbmNsdWRlIDxsaW51eC9vZi5oPgogI2luY2x1ZGUgPGxp bnV4L29mX2dyYXBoLmg+CiAKKyNpbmNsdWRlIDxkcm0vZHJtX3BhbmVsLmg+CisKICNpbmNsdWRl ICJkc3MuaCIKICNpbmNsdWRlICJvbWFwZHNzLmgiCiAKQEAgLTM3LDYgKzM5LDkgQEAgaW50IG9t YXBkc3NfZGV2aWNlX2luaXRfb3V0cHV0KHN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKm91dCkKIAog CW91dC0+bmV4dCA9IG9tYXBkc3NfZmluZF9kZXZpY2VfYnlfbm9kZShyZW1vdGVfbm9kZSk7CiAJ b3V0LT5icmlkZ2UgPSBvZl9kcm1fZmluZF9icmlkZ2UocmVtb3RlX25vZGUpOworCW91dC0+cGFu ZWwgPSBvZl9kcm1fZmluZF9wYW5lbChyZW1vdGVfbm9kZSk7CisJaWYgKElTX0VSUihvdXQtPnBh bmVsKSkKKwkJb3V0LT5wYW5lbCA9IE5VTEw7CiAKIAlvZl9ub2RlX3B1dChyZW1vdGVfbm9kZSk7 CiAKQEAgLTQ3LDcgKzUyLDcgQEAgaW50IG9tYXBkc3NfZGV2aWNlX2luaXRfb3V0cHV0KHN0cnVj dCBvbWFwX2Rzc19kZXZpY2UgKm91dCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0JcmV0dXJu IG91dC0+bmV4dCB8fCBvdXQtPmJyaWRnZSA/IDAgOiAtRVBST0JFX0RFRkVSOworCXJldHVybiBv dXQtPm5leHQgfHwgb3V0LT5icmlkZ2UgfHwgb3V0LT5wYW5lbCA/IDAgOiAtRVBST0JFX0RFRkVS OwogfQogRVhQT1JUX1NZTUJPTChvbWFwZHNzX2RldmljZV9pbml0X291dHB1dCk7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY29ubmVjdG9yLmMgYi9kcml2ZXJz L2dwdS9kcm0vb21hcGRybS9vbWFwX2Nvbm5lY3Rvci5jCmluZGV4IGY1MjhiYWE4MDExNC4uMmRh MTZmMDBjZmFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Nvbm5l Y3Rvci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY29ubmVjdG9yLmMKQEAg LTE4LDYgKzE4LDcgQEAKICNpbmNsdWRlIDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4KICNpbmNs dWRlIDxkcm0vZHJtX2NydGMuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2NydGNfaGVscGVyLmg+Cisj aW5jbHVkZSA8ZHJtL2RybV9wYW5lbC5oPgogCiAjaW5jbHVkZSAib21hcF9kcnYuaCIKIApAQCAt MjExLDYgKzIxMiw3IEBAIHN0YXRpYyBpbnQgb21hcF9jb25uZWN0b3JfZ2V0X21vZGVzX2VkaWQo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAogc3RhdGljIGludCBvbWFwX2Nvbm5l Y3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKKwlzdHJ1 Y3Qgb21hcF9jb25uZWN0b3IgKm9tYXBfY29ubmVjdG9yID0gdG9fb21hcF9jb25uZWN0b3IoY29u bmVjdG9yKTsKIAlzdHJ1Y3Qgb21hcF9kc3NfZGV2aWNlICpkc3NkZXY7CiAKIAlEQkcoIiVzIiwg Y29ubmVjdG9yLT5uYW1lKTsKQEAgLTIzMyw2ICsyMzUsMTMgQEAgc3RhdGljIGludCBvbWFwX2Nv bm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlpZiAo ZHNzZGV2KQogCQlyZXR1cm4gZHNzZGV2LT5vcHMtPmdldF9tb2Rlcyhkc3NkZXYsIGNvbm5lY3Rv cik7CiAKKwkvKgorCSAqIE90aGVyd2lzZSBpZiB0aGUgZGlzcGxheSBwaXBlbGluZSB1c2VzIGEg ZHJtX3BhbmVsLCB3ZSBkZWxlZ2F0ZSB0aGUKKwkgKiBvcGVyYXRpb24gdG8gdGhlIHBhbmVsIEFQ SS4KKwkgKi8KKwlpZiAob21hcF9jb25uZWN0b3ItPm91dHB1dC0+cGFuZWwpCisJCXJldHVybiBk cm1fcGFuZWxfZ2V0X21vZGVzKG9tYXBfY29ubmVjdG9yLT5vdXRwdXQtPnBhbmVsKTsKKwogCS8q CiAJICogV2UgY2FuJ3QgcmV0cmlldmUgbW9kZXMsIHdoaWNoIGNhbiBoYXBwZW4gZm9yIGluc3Rh bmNlIGZvciBhIERWSSBvcgogCSAqIFZHQSBvdXRwdXQgd2l0aCB0aGUgRERDIGJ1cyB1bmNvbm5l Y3RlZC4gVGhlIEtNUyBjb3JlIHdpbGwgYWRkIHRoZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL29tYXBkcm0vb21hcF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2 LmMKaW5kZXggMzVjNDY2OWRjNjlkLi43M2EyMWNhM2FlNDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0v b21hcF9kcnYuYwpAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgPGRybS9kcm1fYXRvbWljX2hl bHBlci5oPgogI2luY2x1ZGUgPGRybS9kcm1fY3J0Y19oZWxwZXIuaD4KICNpbmNsdWRlIDxkcm0v ZHJtX2ZiX2hlbHBlci5oPgorI2luY2x1ZGUgPGRybS9kcm1fcGFuZWwuaD4KIAogI2luY2x1ZGUg Im9tYXBfZG1tX3RpbGVyLmgiCiAjaW5jbHVkZSAib21hcF9kcnYuaCIKQEAgLTEzNyw2ICsxMzgs OSBAQCBzdGF0aWMgdm9pZCBvbWFwX2Rpc2Nvbm5lY3RfcGlwZWxpbmVzKHN0cnVjdCBkcm1fZGV2 aWNlICpkZGV2KQogCWZvciAoaSA9IDA7IGkgPCBwcml2LT5udW1fcGlwZXM7IGkrKykgewogCQlz dHJ1Y3Qgb21hcF9kcm1fcGlwZWxpbmUgKnBpcGUgPSAmcHJpdi0+cGlwZXNbaV07CiAKKwkJaWYg KHBpcGUtPm91dHB1dC0+cGFuZWwpCisJCQlkcm1fcGFuZWxfZGV0YWNoKHBpcGUtPm91dHB1dC0+ cGFuZWwpOworCiAJCW9tYXBkc3NfZGV2aWNlX2Rpc2Nvbm5lY3QoTlVMTCwgcGlwZS0+b3V0cHV0 KTsKIAogCQlvbWFwZHNzX2RldmljZV9wdXQocGlwZS0+b3V0cHV0KTsKQEAgLTIxNCwxMyArMjE4 LDE1IEBAIHN0YXRpYyBpbnQgb21hcF9kaXNwbGF5X2lkKHN0cnVjdCBvbWFwX2Rzc19kZXZpY2Ug Km91dHB1dCkKIAkJZGlzcGxheSA9IG9tYXBkc3NfZGlzcGxheV9nZXQob3V0cHV0KTsKIAkJbm9k ZSA9IGRpc3BsYXktPmRldi0+b2Zfbm9kZTsKIAkJb21hcGRzc19kZXZpY2VfcHV0KGRpc3BsYXkp OwotCX0gZWxzZSB7CisJfSBlbHNlIGlmIChvdXRwdXQtPmJyaWRnZSkgewogCQlzdHJ1Y3QgZHJt X2JyaWRnZSAqYnJpZGdlID0gb3V0cHV0LT5icmlkZ2U7CiAKIAkJd2hpbGUgKGJyaWRnZS0+bmV4 dCkKIAkJCWJyaWRnZSA9IGJyaWRnZS0+bmV4dDsKIAogCQlub2RlID0gYnJpZGdlLT5vZl9ub2Rl OworCX0gZWxzZSBpZiAob3V0cHV0LT5wYW5lbCkgeworCQlub2RlID0gb3V0cHV0LT5wYW5lbC0+ ZGV2LT5vZl9ub2RlOwogCX0KIAogCXJldHVybiBub2RlID8gb2ZfYWxpYXNfZ2V0X2lkKG5vZGUs ICJkaXNwbGF5IikgOiAtRU5PREVWOwpAQCAtMzM1LDYgKzM0MSwxMyBAQCBzdGF0aWMgaW50IG9t YXBfbW9kZXNldF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCQkJcmV0dXJuIC1FTk9N RU07CiAKIAkJCWRybV9jb25uZWN0b3JfYXR0YWNoX2VuY29kZXIocGlwZS0+Y29ubmVjdG9yLCBl bmNvZGVyKTsKKworCQkJaWYgKHBpcGUtPm91dHB1dC0+cGFuZWwpIHsKKwkJCQlyZXQgPSBkcm1f cGFuZWxfYXR0YWNoKHBpcGUtPm91dHB1dC0+cGFuZWwsCisJCQkJCQkgICAgICAgcGlwZS0+Y29u bmVjdG9yKTsKKwkJCQlpZiAocmV0IDwgMCkKKwkJCQkJcmV0dXJuIHJldDsKKwkJCX0KIAkJfQog CiAJCWNydGMgPSBvbWFwX2NydGNfaW5pdChkZXYsIHBpcGUsIHByaXYtPnBsYW5lc1tpXSk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZW5jb2Rlci5jCmluZGV4IDc2Zjk0Y2MwYzBjZi4uMmIy MWUwNTdiNzhiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29k ZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYwpAQCAtMjAs NiArMjAsNyBAQAogI2luY2x1ZGUgPGRybS9kcm1fY3J0Yy5oPgogI2luY2x1ZGUgPGRybS9kcm1f Y3J0Y19oZWxwZXIuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2VkaWQuaD4KKyNpbmNsdWRlIDxkcm0v ZHJtX3BhbmVsLmg+CiAKICNpbmNsdWRlICJvbWFwX2Rydi5oIgogCkBAIC03OSwyMiArODAsMTUg QEAgc3RhdGljIHZvaWQgb21hcF9lbmNvZGVyX3VwZGF0ZV92aWRlb21vZGVfZmxhZ3Moc3RydWN0 IHZpZGVvbW9kZSAqdm0sCiAJfQogfQogCi1zdGF0aWMgdm9pZCBvbWFwX2VuY29kZXJfaGRtaV9t b2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCitzdGF0aWMgdm9pZCBvbWFwX2Vu Y29kZXJfaGRtaV9tb2RlX3NldChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAorCQkJ CSAgICAgICBzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICAgICAgIHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBlbmNvZGVyLT5kZXY7CiAJc3RydWN0IG9tYXBfZW5jb2RlciAqb21hcF9lbmNvZGVyID0g dG9fb21hcF9lbmNvZGVyKGVuY29kZXIpOwogCXN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKmRzc2Rl diA9IG9tYXBfZW5jb2Rlci0+b3V0cHV0OwotCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3I7CiAJYm9vbCBoZG1pX21vZGU7CiAKLQloZG1pX21vZGUgPSBmYWxzZTsKLQlsaXN0X2Zvcl9l YWNoX2VudHJ5KGNvbm5lY3RvciwgJmRldi0+bW9kZV9jb25maWcuY29ubmVjdG9yX2xpc3QsIGhl YWQpIHsKLQkJaWYgKGNvbm5lY3Rvci0+ZW5jb2RlciA9PSBlbmNvZGVyKSB7Ci0JCQloZG1pX21v ZGUgPSBvbWFwX2Nvbm5lY3Rvcl9nZXRfaGRtaV9tb2RlKGNvbm5lY3Rvcik7Ci0JCQlicmVhazsK LQkJfQotCX0KKwloZG1pX21vZGUgPSBvbWFwX2Nvbm5lY3Rvcl9nZXRfaGRtaV9tb2RlKGNvbm5l Y3Rvcik7CiAKIAlpZiAoZHNzZGV2LT5vcHMtPmhkbWkuc2V0X2hkbWlfbW9kZSkKIAkJZHNzZGV2 LT5vcHMtPmhkbWkuc2V0X2hkbWlfbW9kZShkc3NkZXYsIGhkbWlfbW9kZSk7CkBAIC0xMTcsOCAr MTExLDE2IEBAIHN0YXRpYyB2b2lkIG9tYXBfZW5jb2Rlcl9tb2RlX3NldChzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIsCiAJc3RydWN0IG9tYXBfZW5jb2RlciAqb21hcF9lbmNvZGVyID0gdG9f b21hcF9lbmNvZGVyKGVuY29kZXIpOwogCXN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKm91dHB1dCA9 IG9tYXBfZW5jb2Rlci0+b3V0cHV0OwogCXN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKmRzc2RldjsK KwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+ZGV2OworCXN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3I7CiAJc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZTsKIAlzdHJ1Y3Qg dmlkZW9tb2RlIHZtID0geyAwIH07CisJdTMyIGJ1c19mbGFnczsKKworCWxpc3RfZm9yX2VhY2hf ZW50cnkoY29ubmVjdG9yLCAmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0b3JfbGlzdCwgaGVhZCkg eworCQlpZiAoY29ubmVjdG9yLT5lbmNvZGVyID09IGVuY29kZXIpCisJCQlicmVhazsKKwl9CiAK IAlkcm1fZGlzcGxheV9tb2RlX3RvX3ZpZGVvbW9kZShhZGp1c3RlZF9tb2RlLCAmdm0pOwogCkBA IC0xMzUsOCArMTM3LDYgQEAgc3RhdGljIHZvaWQgb21hcF9lbmNvZGVyX21vZGVfc2V0KHN0cnVj dCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAkJb21hcF9lbmNvZGVyX3VwZGF0ZV92aWRlb21vZGVf ZmxhZ3MoJnZtLCBkc3NkZXYtPmJ1c19mbGFncyk7CiAKIAlmb3IgKGJyaWRnZSA9IG91dHB1dC0+ YnJpZGdlOyBicmlkZ2U7IGJyaWRnZSA9IGJyaWRnZS0+bmV4dCkgewotCQl1MzIgYnVzX2ZsYWdz OwotCiAJCWlmICghYnJpZGdlLT50aW1pbmdzKQogCQkJY29udGludWU7CiAKQEAgLTE0NCw2ICsx NDQsOSBAQCBzdGF0aWMgdm9pZCBvbWFwX2VuY29kZXJfbW9kZV9zZXQoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLAogCQlvbWFwX2VuY29kZXJfdXBkYXRlX3ZpZGVvbW9kZV9mbGFncygmdm0s IGJ1c19mbGFncyk7CiAJfQogCisJYnVzX2ZsYWdzID0gY29ubmVjdG9yLT5kaXNwbGF5X2luZm8u YnVzX2ZsYWdzOworCW9tYXBfZW5jb2Rlcl91cGRhdGVfdmlkZW9tb2RlX2ZsYWdzKCZ2bSwgYnVz X2ZsYWdzKTsKKwogCS8qIFNldCB0aW1pbmdzIGZvciBhbGwgZGV2aWNlcyBpbiB0aGUgZGlzcGxh eSBwaXBlbGluZS4gKi8KIAlkc3NfbWdyX3NldF90aW1pbmdzKG91dHB1dCwgJnZtKTsKIApAQCAt MTU0LDcgKzE1Nyw3IEBAIHN0YXRpYyB2b2lkIG9tYXBfZW5jb2Rlcl9tb2RlX3NldChzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuY29kZXIsCiAKIAkvKiBTZXQgdGhlIEhETUkgbW9kZSBhbmQgSERNSSBp bmZvZnJhbWUgaWYgYXBwbGljYWJsZS4gKi8KIAlpZiAob3V0cHV0LT50eXBlID09IE9NQVBfRElT UExBWV9UWVBFX0hETUkpCi0JCW9tYXBfZW5jb2Rlcl9oZG1pX21vZGVfc2V0KGVuY29kZXIsIGFk anVzdGVkX21vZGUpOworCQlvbWFwX2VuY29kZXJfaGRtaV9tb2RlX3NldChjb25uZWN0b3IsIGVu Y29kZXIsIGFkanVzdGVkX21vZGUpOwogfQogCiBzdGF0aWMgdm9pZCBvbWFwX2VuY29kZXJfZGlz YWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCkBAIC0xNjUsNiArMTY4LDEyIEBAIHN0 YXRpYyB2b2lkIG9tYXBfZW5jb2Rlcl9kaXNhYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl cikKIAogCWRldl9kYmcoZGV2LT5kZXYsICJkaXNhYmxlKCVzKVxuIiwgZHNzZGV2LT5uYW1lKTsK IAorCS8qIERpc2FibGUgdGhlIHBhbmVsIGlmIHByZXNlbnQuICovCisJaWYgKGRzc2Rldi0+cGFu ZWwpIHsKKwkJZHJtX3BhbmVsX2Rpc2FibGUoZHNzZGV2LT5wYW5lbCk7CisJCWRybV9wYW5lbF91 bnByZXBhcmUoZHNzZGV2LT5wYW5lbCk7CisJfQorCiAJLyoKIAkgKiBEaXNhYmxlIHRoZSBjaGFp biBvZiBleHRlcm5hbCBkZXZpY2VzLCBzdGFydGluZyBhdCB0aGUgb25lIGF0IHRoZQogCSAqIGlu dGVybmFsIGVuY29kZXIncyBvdXRwdXQuCkBAIC0yMTQsNiArMjIzLDEyIEBAIHN0YXRpYyB2b2lk IG9tYXBfZW5jb2Rlcl9lbmFibGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogCSAqIGlu dGVybmFsIGVuY29kZXIncyBvdXRwdXQuCiAJICovCiAJb21hcGRzc19kZXZpY2VfZW5hYmxlKGRz c2Rldi0+bmV4dCk7CisKKwkvKiBFbmFibGUgdGhlIHBhbmVsIGlmIHByZXNlbnQuICovCisJaWYg KGRzc2Rldi0+cGFuZWwpIHsKKwkJZHJtX3BhbmVsX3ByZXBhcmUoZHNzZGV2LT5wYW5lbCk7CisJ CWRybV9wYW5lbF9lbmFibGUoZHNzZGV2LT5wYW5lbCk7CisJfQogfQogCiBzdGF0aWMgaW50IG9t YXBfZW5jb2Rlcl9hdG9taWNfY2hlY2soc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAotLSAK UmVnYXJkcywKCkxhdXJlbnQgUGluY2hhcnQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbAo=