From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin Gaignard Subject: [PATCH 1/4] drm: add generic zpos property Date: Thu, 12 May 2016 12:28:19 +0200 Message-ID: <1463048902-9388-1-git-send-email-benjamin.gaignard@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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, linux-samsung-soc@vger.kernel.org, daniel@ffwll.ch Cc: Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , Seung-Woo Kim , fabien.dessenne@st.com, linaro-mm-sig@lists.linaro.org, Andrzej Hajda , Tobias Jakobi , Laurent Pinchart , Benjamin Gaignard , vincent.abriou@st.com, Marek Szyprowski List-Id: linux-samsung-soc@vger.kernel.org RnJvbTogTWFyZWsgU3p5cHJvd3NraSA8bS5zenlwcm93c2tpQHNhbXN1bmcuY29tPgoKVGhpcyBw YXRjaCBhZGRzIHN1cHBvcnQgZm9yIGdlbmVyaWMgcGxhbmUncyB6cG9zIHByb3BlcnR5IHByb3Bl cnR5IHdpdGgKd2VsbC1kZWZpbmVkIHNlbWFudGljczoKLSBhZGRlZCB6cG9zIHByb3BlcnRpZXMg dG8gcGxhbmUgYW5kIHBsYW5lIHN0YXRlIHN0cnVjdHVyZXMKLSBhZGRlZCBoZWxwZXJzIGZvciBu b3JtYWxpemluZyB6cG9zIHByb3BlcnRpZXMgb2YgZ2l2ZW4gc2V0IG9mIHBsYW5lcwotIHdlbGwg ZGVmaW5lZCBzZW1hbnRpY3M6IHBsYW5lcyBhcmUgc29ydGVkIGJ5IHpwb3MgdmFsdWVzIGFuZCB0 aGVuIHBsYW5lCiAgaWQgdmFsdWUgaWYgenBvcyBlcXVhbHMKCk5vcm1hbGl6ZWQgenBvcyB2YWx1 ZXMgYXJlIGNhbGN1bGF0ZWQgYXV0b21hdGljYWxseSB3aGVuIGdlbmVyaWMKbXV0dGFibGUgenBv cyBwcm9wZXJ0eSBoYXMgYmVlbiBpbml0aWFsaXplZC4gRHJpdmVycyBjYW4gc2ltcGx5IHVzZQpw bGFuZV9zdGF0ZS0+bm9ybWFsaXplZF96cG9zIGluIHRoZWlyIGF0b21pY19jaGVjayBhbmQvb3Ig cGxhbmVfdXBkYXRlCmNhbGxiYWNrcyB3aXRob3V0IGFueSBhZGRpdGlvbmFsIGNhbGxzIHRvIERS TSBjb3JlLgoKU2lnbmVkLW9mZi1ieTogTWFyZWsgU3p5cHJvd3NraSA8bS5zenlwcm93c2tpQHNh bXN1bmcuY29tPgoKQ29tcGFyZSB0byBNYXJlaydzIG9yaWdpbmFsIHBhdGNoIHpwb3MgcHJvcGVy dHkgaXMgbm93IHNwZWNpZmljIHRvIGVhY2gKcGxhbmUgYW5kIG5vIG1vcmUgdG8gdGhlIGNvcmUu Ck5vcm1hbGl6ZSBmdW5jdGlvbiB0YWtlIGNhcmUgb2YgdGhlIHJhbmdlIG9mIHBlciBwbGFuZSBk ZWZpbmVkIHJhbmdlCmJlZm9yZSBzZXQgbm9ybWFsaXplZF96cG9zLgoKU2lnbmVkLW9mZi1ieTog QmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgpDYzogSW5r aSBEYWUgPGlua2kuZGFlQHNhbXN1bmcuY29tPgpDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZm d2xsLmNoPgpDYzogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ CkNjOiBKb29ueW91bmcgU2hpbSA8ankwOTIyLnNoaW1Ac2Ftc3VuZy5jb20+CkNjOiBTZXVuZy1X b28gS2ltIDxzdzAzMTIua2ltQHNhbXN1bmcuY29tPgpDYzogQW5kcnplaiBIYWpkYSA8YS5oYWpk YUBzYW1zdW5nLmNvbT4KQ2M6IEtyenlzenRvZiBLb3psb3dza2kgPGsua296bG93c2tpQHNhbXN1 bmcuY29tPgpDYzogQmFydGxvbWllaiBab2xuaWVya2lld2ljeiA8Yi56b2xuaWVya2llQHNhbXN1 bmcuY29tPgpDYzogVG9iaWFzIEpha29iaSA8dGpha29iaUBtYXRoLnVuaS1iaWVsZWZlbGQuZGU+ CkNjOiBHdXN0YXZvIFBhZG92YW4gPGd1c3Rhdm9AcGFkb3Zhbi5vcmc+CkNjOiB2aW5jZW50LmFi cmlvdUBzdC5jb20KQ2M6IGZhYmllbi5kZXNzZW5uZUBzdC5jb20KQ2M6IExhdXJlbnQgUGluY2hh cnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KLS0tCiBEb2N1bWVudGF0aW9u L0RvY0Jvb2svZ3B1LnRtcGwgICAgICB8ICAxMCArKwogZHJpdmVycy9ncHUvZHJtL01ha2VmaWxl ICAgICAgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgICAgICAg IHwgICA0ICsKIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIHwgICA2ICsKIGRy aXZlcnMvZ3B1L2RybS9kcm1fYmxlbmQuYyAgICAgICAgIHwgMjI5ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmgg fCAgIDMgKwogaW5jbHVkZS9kcm0vZHJtX2NydGMuaCAgICAgICAgICAgICAgfCAgMjggKysrKysK IDcgZmlsZXMgY2hhbmdlZCwgMjgxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vZHJtX2JsZW5kLmMKCmRpZmYgLS1naXQgYS9E b2N1bWVudGF0aW9uL0RvY0Jvb2svZ3B1LnRtcGwgYi9Eb2N1bWVudGF0aW9uL0RvY0Jvb2svZ3B1 LnRtcGwKaW5kZXggOWRkNDhmNy4uMGRmNmFiYiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9E b2NCb29rL2dwdS50bXBsCisrKyBiL0RvY3VtZW50YXRpb24vRG9jQm9vay9ncHUudG1wbApAQCAt MjE1MSw2ICsyMTUxLDE2IEBAIHZvaWQgaW50ZWxfY3J0X2luaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKIAkJdGhlIHVuZGVybHlpbmcgaGFyZHdhcmUpLjwvdGQ+CiAJPC90cj4KIAk8dHI+CisJ PHRkIHZhbGlnbj0idG9wIiA+ICJ6cG9zIiA8L3RkPgorCTx0ZCB2YWxpZ249InRvcCIgPlJBTkdF PC90ZD4KKwk8dGQgdmFsaWduPSJ0b3AiID5NaW49IGRyaXZlciBkZXBlbmRlbnQsIE1heD0gZHJp dmVyIGRlcGVuZGVudDwvdGQ+CisJPHRkIHZhbGlnbj0idG9wIiA+UGxhbmU8L3RkPgorCTx0ZCB2 YWxpZ249InRvcCIgPlBsYW5lJ3MgJ3onIHBvc2l0aW9uIGR1cmluZyBibGVuZGluZyBvcGVyYXRp b24gKDAgZm9yIGJhY2tncm91bmQsIGhpZ2hlc3QgZm9yIGZyb250bW9zdCkuCisJCUlmIHR3byBw bGFuZXMgYXNzaWduZWQgdG8gc2FtZSBDUlRDIGhhdmUgZXF1YWwgenBvcyB2YWx1ZXMsIHRoZSBw bGFuZSB3aXRoIGhpZ2hlciBwbGFuZQorCQlpZCBpcyB0cmVhdGVkIGFzIGNsb3NlciB0byBmcm9u dC4gQ2FuIGJlIElNTVVUQUJMRSBpZiBkcml2ZXIgZG9lc24ndCBzdXBwb3J0IGNoYW5naW5nCisJ CXBsYW5lcycgb3JkZXIuIEV4YWN0IHZhbHVlIHJhbmdlIGlzIGRyaXZlciBkZXBlbmRlbnQuPC90 ZD4KKwk8L3RyPgorCTx0cj4KIAk8dGQgcm93c3Bhbj0iMjAiIHZhbGlnbj0idG9wIiA+aTkxNTwv dGQ+CiAJPHRkIHJvd3NwYW49IjIiIHZhbGlnbj0idG9wIiA+R2VuZXJpYzwvdGQ+CiAJPHRkIHZh bGlnbj0idG9wIiA+IkJyb2FkY2FzdCBSR0IiPC90ZD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQppbmRleCAyYmQzZTVhLi5k Zjg4MjUzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vTWFrZWZpbGUKKysrIGIvZHJpdmVy cy9ncHUvZHJtL01ha2VmaWxlCkBAIC0yLDcgKzIsNyBAQAogIyBNYWtlZmlsZSBmb3IgdGhlIGRy bSBkZXZpY2UgZHJpdmVyLiAgVGhpcyBkcml2ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlCiAj IERpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmUgKERSSSkgaW4gWEZyZWU4NiA0LjEuMCBh bmQgaGlnaGVyLgogCi1kcm0teSAgICAgICA6PQlkcm1fYXV0aC5vIGRybV9idWZzLm8gZHJtX2Nh Y2hlLm8gXAorZHJtLXkgICAgICAgOj0JZHJtX2F1dGgubyBkcm1fYnVmcy5vIGRybV9ibGVuZC5v IGRybV9jYWNoZS5vIFwKIAkJZHJtX2NvbnRleHQubyBkcm1fZG1hLm8gXAogCQlkcm1fZm9wcy5v IGRybV9nZW0ubyBkcm1faW9jdGwubyBkcm1faXJxLm8gXAogCQlkcm1fbG9jay5vIGRybV9tZW1v cnkubyBkcm1fZHJ2Lm8gZHJtX3ZtLm8gXApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKaW5kZXggODZlODlkYi4u YmQ0NTdjYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCkBAIC03MDAsNiArNzAwLDggQEAgaW50IGRybV9h dG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQlzdGF0 ZS0+c3JjX2ggPSB2YWw7CiAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPnJvdGF0aW9u X3Byb3BlcnR5KSB7CiAJCXN0YXRlLT5yb3RhdGlvbiA9IHZhbDsKKwl9IGVsc2UgaWYgKHByb3Bl cnR5ID09IHBsYW5lLT56cG9zX3Byb3BlcnR5KSB7CisJCXN0YXRlLT56cG9zID0gdmFsOwogCX0g ZWxzZSBpZiAocGxhbmUtPmZ1bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5KSB7CiAJCXJldHVybiBw bGFuZS0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVydHkocGxhbmUsIHN0YXRlLAogCQkJCXByb3Bl cnR5LCB2YWwpOwpAQCAtNzU2LDYgKzc1OCw4IEBAIGRybV9hdG9taWNfcGxhbmVfZ2V0X3Byb3Bl cnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkqdmFsID0gc3RhdGUtPnNyY19oOwogCX0g ZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5yb3RhdGlvbl9wcm9wZXJ0eSkgewogCQkqdmFs ID0gc3RhdGUtPnJvdGF0aW9uOworCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcGxhbmUtPnpwb3Nf cHJvcGVydHkpIHsKKwkJKnZhbCA9IHN0YXRlLT56cG9zOwogCX0gZWxzZSBpZiAocGxhbmUtPmZ1 bmNzLT5hdG9taWNfZ2V0X3Byb3BlcnR5KSB7CiAJCXJldHVybiBwbGFuZS0+ZnVuY3MtPmF0b21p Y19nZXRfcHJvcGVydHkocGxhbmUsIHN0YXRlLCBwcm9wZXJ0eSwgdmFsKTsKIAl9IGVsc2Ugewpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwppbmRleCA5OTdmZDIxLi5mMTA2NTJmIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwpAQCAtMzIsNiArMzIsOCBAQAogI2luY2x1ZGUg PGRybS9kcm1fYXRvbWljX2hlbHBlci5oPgogI2luY2x1ZGUgPGxpbnV4L2ZlbmNlLmg+CiAKKyNp bmNsdWRlICJkcm1fY3J0Y19pbnRlcm5hbC5oIgorCiAvKioKICAqIERPQzogb3ZlcnZpZXcKICAq CkBAIC01ODcsNiArNTg5LDEwIEBAIGRybV9hdG9taWNfaGVscGVyX2NoZWNrX3BsYW5lcyhzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAogCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRl OwogCWludCBpLCByZXQgPSAwOwogCisJcmV0ID0gZHJtX2F0b21pY19oZWxwZXJfbm9ybWFsaXpl X3pwb3MoZGV2LCBzdGF0ZSk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKwogCWZvcl9lYWNo X3BsYW5lX2luX3N0YXRlKHN0YXRlLCBwbGFuZSwgcGxhbmVfc3RhdGUsIGkpIHsKIAkJY29uc3Qg c3RydWN0IGRybV9wbGFuZV9oZWxwZXJfZnVuY3MgKmZ1bmNzOwogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2JsZW5kLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2JsZW5kLmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWVmNTliYgotLS0gL2Rldi9udWxsCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYmxlbmQuYwpAQCAtMCwwICsxLDIyOSBAQAorLyoKKyAq IENvcHlyaWdodCAoQykgMjAxNiBTYW1zdW5nIEVsZWN0cm9uaWNzIENvLkx0ZAorICogQXV0aG9y czoKKyAqCU1hcmVrIFN6eXByb3dza2kgPG0uc3p5cHJvd3NraUBzYW1zdW5nLmNvbT4KKyAqCisg KiBEUk0gY29yZSBwbGFuZSBibGVuZGluZyByZWxhdGVkIGZ1bmN0aW9ucworICoKKyAqIFBlcm1p c3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGRpc3RyaWJ1dGUsIGFuZCBzZWxsIHRoaXMgc29m dHdhcmUgYW5kIGl0cworICogZG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2UgaXMgaGVyZWJ5 IGdyYW50ZWQgd2l0aG91dCBmZWUsIHByb3ZpZGVkIHRoYXQKKyAqIHRoZSBhYm92ZSBjb3B5cmln aHQgbm90aWNlIGFwcGVhciBpbiBhbGwgY29waWVzIGFuZCB0aGF0IGJvdGggdGhhdCBjb3B5cmln aHQKKyAqIG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gc3VwcG9y dGluZyBkb2N1bWVudGF0aW9uLCBhbmQKKyAqIHRoYXQgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdo dCBob2xkZXJzIG5vdCBiZSB1c2VkIGluIGFkdmVydGlzaW5nIG9yCisgKiBwdWJsaWNpdHkgcGVy dGFpbmluZyB0byBkaXN0cmlidXRpb24gb2YgdGhlIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMs CisgKiB3cml0dGVuIHByaW9yIHBlcm1pc3Npb24uICBUaGUgY29weXJpZ2h0IGhvbGRlcnMgbWFr ZSBubyByZXByZXNlbnRhdGlvbnMKKyAqIGFib3V0IHRoZSBzdWl0YWJpbGl0eSBvZiB0aGlzIHNv ZnR3YXJlIGZvciBhbnkgcHVycG9zZS4gIEl0IGlzIHByb3ZpZGVkICJhcworICogaXMiIHdpdGhv dXQgZXhwcmVzcyBvciBpbXBsaWVkIHdhcnJhbnR5LgorICoKKyAqIFRIRSBDT1BZUklHSFQgSE9M REVSUyBESVNDTEFJTSBBTEwgV0FSUkFOVElFUyBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJF LAorICogSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ IEFORCBGSVRORVNTLCBJTiBOTworICogRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVJT IEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNUIE9SCisgKiBDT05TRVFVRU5USUFM IERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9G IFVTRSwKKyAqIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJB Q1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIKKyAqIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQg T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UKKyAqIE9GIFRI SVMgU09GVFdBUkUuCisgKi8KKyNpbmNsdWRlIDxkcm0vZHJtUC5oPgorI2luY2x1ZGUgPGRybS9k cm1fYXRvbWljLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9jcnRjLmg+CisjaW5jbHVkZSA8bGludXgv ZXhwb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NvcnQu aD4KKworI2luY2x1ZGUgImRybV9pbnRlcm5hbC5oIgorCisvKioKKyAqIGRybV9wbGFuZV9jcmVh dGVfenBvc19wcm9wZXJ0eSAtIGNyZWF0ZSBtdXRhYmxlIHpwb3MgcHJvcGVydHkKKyAqIEBwbGFu ZTogZHJtIHBsYW5lCisgKiBAbWluOiBtaW5pbWFsIHBvc3NpYmxlIHZhbHVlIG9mIHpwb3MgcHJv cGVydHkKKyAqIEBtYXg6IG1heGltYWwgcG9zc2libGUgdmFsdWUgb2YgenBvcyBwcm9wZXJ0eQor ICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgZ2VuZXJpYyBtdXRhYmxlIHpwb3MgcHJv cGVydHkgYW5kIGVuYWJsZXMgc3VwcG9ydAorICogZm9yIGl0IGluIGRybSBjb3JlLiBEcml2ZXJz IGNhbiB0aGVuIGF0dGFjaCB0aGlzIHByb3BlcnR5IHRvIHBsYW5lcyB0byBlbmFibGUKKyAqIHN1 cHBvcnQgZm9yIGNvbmZpZ3VyYWJsZSBwbGFuZXMgYXJyYW5nZW1lbnQgZHVyaW5nIGJsZW5kaW5n IG9wZXJhdGlvbi4KKyAqIE9uY2UgbXV0YWJsZSB6cG9zIHByb3BlcnR5IGhhcyBiZWVuIGVuYWJs ZWQsIHRoZSBEUk0gY29yZSB3aWxsIGF1dG9tYXRpY2FsbHkKKyAqIGNhbGN1bGF0ZSBkcm1fcGxh bmVfc3RhdGUtPm5vcm1hbGl6ZWRfenBvcyB2YWx1ZXMuIFVzdWFsbHkgbWluIHNob3VsZCBiZSBz ZXQKKyAqIHRvIDAgYW5kIG1heCB0byBtYXhpbWFsIG51bWJlciBvZiBwbGFuZXMgZm9yIGdpdmVu IGNydGMgLSAxLgorICoKKyAqIElmIHpwb3Mgb2Ygc29tZSBwbGFuZXMgY2Fubm90IGJlIGNoYW5n ZWQgKGxpa2UgZml4ZWQgYmFja2dyb3VuZCBvcgorICogY3Vyc29yL3RvcG1vc3QgcGxhbmVzKSwg ZHJpdmVyIHNob3VsZCBhZGp1c3QgbWluL21heCB2YWx1ZXMgYW5kIGFzc2lnbiB0aG9zZQorICog cGxhbmVzIGltbXV0YWJsZSB6cG9zIHByb3BlcnR5IHdpdGggbG93ZXIgb3IgaGlnaGVyIHZhbHVl cyAoZm9yIG1vcmUKKyAqIGluZm9ybWF0aW9uLCBzZWUgZHJtX21vZGVfY3JlYXRlX3pwb3NfaW1t dXRhYmxlX3Byb3BlcnR5KCkgZnVuY3Rpb24pLiBJbiBzdWNoCisgKiBjYXNlIGRyaXZlciBzaG91 bGQgYWxzbyBhc3NpZ24gcHJvcGVyIGluaXRpYWwgenBvcyB2YWx1ZXMgZm9yIGFsbCBwbGFuZXMg aW4KKyAqIGl0cyBwbGFuZV9yZXNldCgpIGNhbGxiYWNrLCBzbyB0aGUgcGxhbmVzIHdpbGwgYmUg YWx3YXlzIHNvcnRlZCBwcm9wZXJseS4KKyAqCisgKiBSZXR1cm5zOgorICogWmVybyBvbiBzdWNj ZXNzLCBuZWdhdGl2ZSBlcnJubyBvbiBmYWlsdXJlLgorICovCitpbnQgZHJtX3BsYW5lX2NyZWF0 ZV96cG9zX3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAorCQkJCSAgIHVuc2lnbmVk IGludCBtaW4sIHVuc2lnbmVkIGludCBtYXgpCit7CisJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJv cDsKKworCXByb3AgPSBkcm1fcHJvcGVydHlfY3JlYXRlX3JhbmdlKHBsYW5lLT5kZXYsIDAsICJ6 cG9zIiwgbWluLCBtYXgpOworCWlmICghcHJvcCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlkcm1f b2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmcGxhbmUtPmJhc2UsIHByb3AsIG1pbik7CisKKwlwbGFu ZS0+enBvc19wcm9wZXJ0eSA9IHByb3A7CisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGRy bV9wbGFuZV9jcmVhdGVfenBvc19wcm9wZXJ0eSk7CisKKy8qKgorICogZHJtX3BsYW5lX2NyZWF0 ZV96cG9zX2ltbXV0YWJsZV9wcm9wZXJ0eSAtIGNyZWF0ZSBpbW11dHRhYmxlIHpwb3MgcHJvcGVy dHkKKyAqIEBwbGFuZTogZHJtIHBsYW5lCisgKiBAbWluOiBtaW5pbWFsIHBvc3NpYmxlIHZhbHVl IG9mIHpwb3MgcHJvcGVydHkKKyAqIEBtYXg6IG1heGltYWwgcG9zc2libGUgdmFsdWUgb2YgenBv cyBwcm9wZXJ0eQorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgZ2VuZXJpYyBpbW11 dGFibGUgenBvcyBwcm9wZXJ0eSBhbmQgZW5hYmxlcworICogc3VwcG9ydCBmb3IgaXQgaW4gZHJt IGNvcmUuIFVzaW5nIHRoaXMgcHJvcGVydHkgZHJpdmVyIGxldHMgdXNlcnNwYWNlCisgKiB0byBn ZXQgdGhlIGFycmFuZ2VtZW50IG9mIHRoZSBwbGFuZXMgZm9yIGJsZW5kaW5nIG9wZXJhdGlvbiBh bmQgbm90aWZpZXMKKyAqIGl0IHRoYXQgdGhlIGhhcmR3YXJlIChvciBkcml2ZXIpIGRvZXNuJ3Qg c3VwcG9ydCBjaGFuZ2luZyBvZiB0aGUgcGxhbmVzJworICogb3JkZXIuCisgKgorICogUmV0dXJu czoKKyAqIFplcm8gb24gc3VjY2VzcywgbmVnYXRpdmUgZXJybm8gb24gZmFpbHVyZS4KKyAqLwor aW50IGRybV9wbGFuZV9jcmVhdGVfenBvc19pbW11dGFibGVfcHJvcGVydHkoc3RydWN0IGRybV9w bGFuZSAqcGxhbmUsCisJCQkJCSAgICAgdW5zaWduZWQgaW50IG1pbiwgdW5zaWduZWQgaW50IG1h eCkKK3sKKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wOworCisJcHJvcCA9IGRybV9wcm9wZXJ0 eV9jcmVhdGVfcmFuZ2UocGxhbmUtPmRldiwgRFJNX01PREVfUFJPUF9JTU1VVEFCTEUsCisJCQkJ CSAienBvcyIsIG1pbiwgbWF4KTsKKwlpZiAoIXByb3ApCisJCXJldHVybiAtRU5PTUVNOworCisJ ZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJnBsYW5lLT5iYXNlLCBwcm9wLCBtaW4pOworCisJ cGxhbmUtPnpwb3NfcHJvcGVydHkgPSBwcm9wOworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJP TChkcm1fcGxhbmVfY3JlYXRlX3pwb3NfaW1tdXRhYmxlX3Byb3BlcnR5KTsKKworc3RhdGljIGlu dCBkcm1fYXRvbWljX3N0YXRlX3pwb3NfY21wKGNvbnN0IHZvaWQgKmEsIGNvbnN0IHZvaWQgKmIp Cit7CisJY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc2EgPSAqKHN0cnVjdCBkcm1fcGxh bmVfc3RhdGUgKiopYTsKKwljb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzYiA9ICooc3Ry dWN0IGRybV9wbGFuZV9zdGF0ZSAqKiliOworCisJaWYgKHNhLT56cG9zICE9IHNiLT56cG9zKQor CQlyZXR1cm4gc2EtPnpwb3MgLSBzYi0+enBvczsKKwllbHNlCisJCXJldHVybiBzYS0+cGxhbmUt PmJhc2UuaWQgLSBzYi0+cGxhbmUtPmJhc2UuaWQ7Cit9CisKKy8qKgorICogZHJtX2F0b21pY19o ZWxwZXJfY3J0Y19ub3JtYWxpemVfenBvcyAtIGNhbGN1bGF0ZSBub3JtYWxpemVkIHpwb3MgdmFs dWVzCisgKiBAY3J0YzogY3J0YyB3aXRoIHBsYW5lcywgd2hpY2ggaGF2ZSB0byBiZSBjb25zaWRl cmVkIGZvciBub3JtYWxpemF0aW9uCisgKiBAY3J0Y19zdGF0ZTogbmV3IGF0b21pYyBzdGF0ZSB0 byBhcHBseQorICoKKyAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIG5ldyBzdGF0ZXMgb2YgYWxsIHBs YW5lcyBhc3NpZ25lZCB0byBnaXZlbiBjcnRjIGFuZAorICogY2FsY3VsYXRlcyBub3JtYWxpemVk IHpwb3MgdmFsdWUgZm9yIHRoZW0uIFBsYW5lcyBhcmUgY29tcGFyZWQgZmlyc3QgYnkgdGhlaXIK KyAqIHpwb3MgdmFsdWVzLCB0aGVuIGJ5IHBsYW5lIGlkIChpZiB6cG9zIGVxdWFscykuIFBsYW5l IHdpdGggbG93ZXN0IHpwb3MgdmFsdWUKKyAqIGlzIGF0IHRoZSBib3R0b20uIFRoZSBwbGFuZV9z dGF0ZS0+bm9ybWFsaXplZF96cG9zIGlzIHRoZW4gZmlsbGVkIHdpdGggdW5pcXVlCisgKiB2YWx1 ZXMgZnJvbSAwIHRvIG51bWJlciBvZiBhY3RpdmUgcGxhbmVzIGluIGNydGMgbWludXMgb25lLgor ICoKKyAqIFJFVFVSTlMKKyAqIFplcm8gZm9yIHN1Y2Nlc3Mgb3IgLWVycm5vCisgKi8KK2ludCBk cm1fYXRvbWljX2hlbHBlcl9jcnRjX25vcm1hbGl6ZV96cG9zKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKKwkJCQkJICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCit7CisJc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlID0gY3J0Y19zdGF0ZS0+c3RhdGU7CisJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKKwlpbnQgdG90YWxfcGxhbmVzID0gZGV2LT5tb2Rl X2NvbmZpZy5udW1fdG90YWxfcGxhbmU7CisJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqKnN0YXRl czsKKwlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKKwlpbnQgaSwgenBvcywgbiA9IDA7CisJaW50 IHJldCA9IDA7CisKKwlEUk1fREVCVUdfQVRPTUlDKCJbQ1JUQzolZDolc10gY2FsY3VsYXRpbmcg bm9ybWFsaXplZCB6cG9zIHZhbHVlc1xuIiwKKwkJCSBjcnRjLT5iYXNlLmlkLCBjcnRjLT5uYW1l KTsKKworCXN0YXRlcyA9IGttYWxsb2ModG90YWxfcGxhbmVzICogc2l6ZW9mKCpzdGF0ZXMpLCBH RlBfS0VSTkVMKTsKKwlpZiAoIXN0YXRlcykKKwkJcmV0dXJuIC1FTk9NRU07CisKKwkvKgorCSAq IE5vcm1hbGl6YXRpb24gcHJvY2VzcyBtaWdodCBjcmVhdGUgbmV3IHN0YXRlcyBmb3IgcGxhbmVz IHdoaWNoCisJICogbm9ybWFsaXplZF96cG9zIGhhcyB0byBiZSByZWNhbGN1bGF0ZWQuCisJICov CisJZHJtX2Zvcl9lYWNoX3BsYW5lX21hc2socGxhbmUsIGRldiwgY3J0Y19zdGF0ZS0+cGxhbmVf bWFzaykgeworCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSA9CisJCQlkcm1f YXRvbWljX2dldF9wbGFuZV9zdGF0ZShzdGF0ZSwgcGxhbmUpOworCQlpZiAoSVNfRVJSKHBsYW5l X3N0YXRlKSkgeworCQkJcmV0ID0gUFRSX0VSUihwbGFuZV9zdGF0ZSk7CisJCQlnb3RvIGRvbmU7 CisJCX0KKwkJc3RhdGVzW24rK10gPSBwbGFuZV9zdGF0ZTsKKwkJRFJNX0RFQlVHX0FUT01JQygi W1BMQU5FOiVkOiVzXSBwcm9jZXNzaW5nIHpwb3MgdmFsdWUgJWRcbiIsCisJCQkJIHBsYW5lLT5i YXNlLmlkLCBwbGFuZS0+bmFtZSwKKwkJCQkgcGxhbmVfc3RhdGUtPnpwb3MpOworCX0KKworCXNv cnQoc3RhdGVzLCBuLCBzaXplb2YoKnN0YXRlcyksIGRybV9hdG9taWNfc3RhdGVfenBvc19jbXAs IE5VTEwpOworCisJZm9yIChpID0gMCwgenBvcyA9IDA7IGkgPCBuOyBpKyssIHpwb3MrKykgewor CQlwbGFuZSA9IHN0YXRlc1tpXS0+cGxhbmU7CisKKwkJenBvcyA9IG1heF90KGludCwgenBvcywg c3RhdGVzW2ldLT56cG9zKTsKKworCQlzdGF0ZXNbaV0tPm5vcm1hbGl6ZWRfenBvcyA9IHpwb3M7 CisJCURSTV9ERUJVR19BVE9NSUMoIltQTEFORTolZDolc10gbm9ybWFsaXplZCB6cG9zIHZhbHVl ICVkXG4iLAorCQkJCSBwbGFuZS0+YmFzZS5pZCwgcGxhbmUtPm5hbWUsIHpwb3MpOworCX0KKwlj cnRjX3N0YXRlLT56cG9zX2NoYW5nZWQgPSB0cnVlOworCitkb25lOgorCWtmcmVlKHN0YXRlcyk7 CisJcmV0dXJuIHJldDsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfY3J0Y19u b3JtYWxpemVfenBvcyk7CisKKy8qKgorICogZHJtX2F0b21pY19oZWxwZXJfbm9ybWFsaXplX3pw b3MgLSBjYWxjdWxhdGUgbm9ybWFsaXplZCB6cG9zIHZhbHVlcyBmb3IgYWxsCisgKgkJCQkgICAg ICBjcnRjcworICogQGRldjogRFJNIGRldmljZQorICogQHN0YXRlOiBhdG9taWMgc3RhdGUgb2Yg RFJNIGRldmljZQorICoKKyAqIFRoaXMgZnVuY3Rpb24gY2FsY3VsYXRlcyBub3JtYWxpemVkIHpw b3MgdmFsdWUgZm9yIGFsbCBtb2RpZmllZCBwbGFuZXMgaW4KKyAqIHRoZSBwcm92aWRlZCBhdG9t aWMgc3RhdGUgb2YgRFJNIGRldmljZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZQorICogZHJt X2F0b21pY19oZWxwZXJfY3J0Y19ub3JtYWxpemVfenBvcygpIGZ1bmN0aW9uLgorICoKKyAqIFJF VFVSTlMKKyAqIFplcm8gZm9yIHN1Y2Nlc3Mgb3IgLWVycm5vCisgKi8KK2ludCBkcm1fYXRvbWlj X2hlbHBlcl9ub3JtYWxpemVfenBvcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJCSAgICAg c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQoreworCXN0cnVjdCBkcm1fY3J0YyAqY3J0 YzsKKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7CisJc3RydWN0IGRybV9wbGFu ZSAqcGxhbmU7CisJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7CisJaW50IGks IHJldCA9IDA7CisKKwlmb3JfZWFjaF9wbGFuZV9pbl9zdGF0ZShzdGF0ZSwgcGxhbmUsIHBsYW5l X3N0YXRlLCBpKSB7CisJCWNydGMgPSBwbGFuZV9zdGF0ZS0+Y3J0YzsKKwkJaWYgKCFjcnRjKQor CQkJY29udGludWU7CisJCWlmIChwbGFuZS0+c3RhdGUtPnpwb3MgIT0gcGxhbmVfc3RhdGUtPnpw b3MpIHsKKwkJCWNydGNfc3RhdGUgPQorCQkJCWRybV9hdG9taWNfZ2V0X2V4aXN0aW5nX2NydGNf c3RhdGUoc3RhdGUsIGNydGMpOworCQkJY3J0Y19zdGF0ZS0+enBvc19jaGFuZ2VkID0gdHJ1ZTsK KwkJfQorCX0KKworCWZvcl9lYWNoX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIGNydGNfc3Rh dGUsIGkpIHsKKwkJaWYgKGNydGNfc3RhdGUtPnBsYW5lX21hc2sgIT0gY3J0Yy0+c3RhdGUtPnBs YW5lX21hc2sgfHwKKwkJICAgIGNydGNfc3RhdGUtPnpwb3NfY2hhbmdlZCkgeworCQkJcmV0ID0g ZHJtX2F0b21pY19oZWxwZXJfY3J0Y19ub3JtYWxpemVfenBvcyhjcnRjLAorCQkJCQkJCQkgICAg Y3J0Y19zdGF0ZSk7CisJCQlpZiAocmV0KQorCQkJCXJldHVybiByZXQ7CisJCX0KKwl9CisJcmV0 dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVyX25vcm1hbGl6ZV96cG9z KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19pbnRlcm5hbC5oIGIvZHJp dmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmgKaW5kZXggYTc4YzEzOC4uMzdkOTA2OCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmgKQEAgLTQyLDMgKzQyLDYgQEAgaW50IGRy bV9hdG9taWNfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiwKIGludCBk cm1fbW9kZV9hdG9taWNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCSAgdm9pZCAq ZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwogCisvKiBkcm1fYmxlbmQuYyAqLwor aW50IGRybV9hdG9taWNfaGVscGVyX25vcm1hbGl6ZV96cG9zKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCisJCQkJICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwpkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKaW5kZXgg ZDE1NTljZC4uOTIxYzkzZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAorKysg Yi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCkBAIC0zMDUsNiArMzA1LDcgQEAgc3RydWN0IGRybV9w bGFuZV9oZWxwZXJfZnVuY3M7CiAgKiBAbW9kZV9jaGFuZ2VkOiBjcnRjX3N0YXRlLT5tb2RlIG9y IGNydGNfc3RhdGUtPmVuYWJsZSBoYXMgYmVlbiBjaGFuZ2VkCiAgKiBAYWN0aXZlX2NoYW5nZWQ6 IGNydGNfc3RhdGUtPmFjdGl2ZSBoYXMgYmVlbiB0b2dnbGVkLgogICogQGNvbm5lY3RvcnNfY2hh bmdlZDogY29ubmVjdG9ycyB0byB0aGlzIGNydGMgaGF2ZSBiZWVuIHVwZGF0ZWQKKyAqIEB6cG9z X2NoYW5nZWQ6IHpwb3MgdmFsdWVzIG9mIHBsYW5lcyBvbiB0aGlzIGNydGMgaGF2ZSBiZWVuIHVw ZGF0ZWQKICAqIEBjb2xvcl9tZ210X2NoYW5nZWQ6IGNvbG9yIG1hbmFnZW1lbnQgcHJvcGVydGll cyBoYXZlIGNoYW5nZWQgKGRlZ2FtbWEgb3IKICAqCWdhbW1hIExVVCBvciBDU0MgbWF0cml4KQog ICogQHBsYW5lX21hc2s6IGJpdG1hc2sgb2YgKDEgPDwgZHJtX3BsYW5lX2luZGV4KHBsYW5lKSkg b2YgYXR0YWNoZWQgcGxhbmVzCkBAIC0zNDAsNiArMzQxLDcgQEAgc3RydWN0IGRybV9jcnRjX3N0 YXRlIHsKIAlib29sIG1vZGVfY2hhbmdlZCA6IDE7CiAJYm9vbCBhY3RpdmVfY2hhbmdlZCA6IDE7 CiAJYm9vbCBjb25uZWN0b3JzX2NoYW5nZWQgOiAxOworCWJvb2wgenBvc19jaGFuZ2VkIDogMTsK IAlib29sIGNvbG9yX21nbXRfY2hhbmdlZCA6IDE7CiAKIAkvKiBhdHRhY2hlZCBwbGFuZXMgYml0 bWFzazoKQEAgLTEyNjMsNiArMTI2NSw5IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yIHsKICAqCXBs YW5lIChpbiAxNi4xNikKICAqIEBzcmNfdzogd2lkdGggb2YgdmlzaWJsZSBwb3J0aW9uIG9mIHBs YW5lIChpbiAxNi4xNikKICAqIEBzcmNfaDogaGVpZ2h0IG9mIHZpc2libGUgcG9ydGlvbiBvZiBw bGFuZSAoaW4gMTYuMTYpCisgKiBAenBvczogcHJpb3JpdHkgb2YgdGhlIGdpdmVuIHBsYW5lIG9u IGNydGMgKG9wdGlvbmFsKQorICogQG5vcm1hbGl6ZWRfenBvczogbm9ybWFsaXplZCB2YWx1ZSBv ZiB6cG9zOiB1bmlxdWUsIHJhbmdlIGZyb20gMCB0byBOLTEKKyAqCSBmb3IgZ2l2ZW4gY3J0Ywog ICogQHN0YXRlOiBiYWNrcG9pbnRlciB0byBnbG9iYWwgZHJtX2F0b21pY19zdGF0ZQogICovCiBz dHJ1Y3QgZHJtX3BsYW5lX3N0YXRlIHsKQEAgLTEyODMsNiArMTI4OCwxMCBAQCBzdHJ1Y3QgZHJt X3BsYW5lX3N0YXRlIHsKIAkvKiBQbGFuZSByb3RhdGlvbiAqLwogCXVuc2lnbmVkIGludCByb3Rh dGlvbjsKIAorCS8qIFBsYW5lIHpwb3MgKi8KKwl1bnNpZ25lZCBpbnQgenBvczsKKwl1bnNpZ25l ZCBpbnQgbm9ybWFsaXplZF96cG9zOworCiAJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl OwogfTsKIApAQCAtMTUxNiw2ICsxNTI1LDcgQEAgZW51bSBkcm1fcGxhbmVfdHlwZSB7CiAgKiBA cHJvcGVydGllczogcHJvcGVydHkgdHJhY2tpbmcgZm9yIHRoaXMgcGxhbmUKICAqIEB0eXBlOiB0 eXBlIG9mIHBsYW5lIChvdmVybGF5LCBwcmltYXJ5LCBjdXJzb3IpCiAgKiBAc3RhdGU6IGN1cnJl bnQgYXRvbWljIHN0YXRlIGZvciB0aGlzIHBsYW5lCisgKiBAenBvc19wcm9wZXJ0eTogenBvcyBw cm9wZXJ0eSBmb3IgdGhpcyBwbGFuZQogICovCiBzdHJ1Y3QgZHJtX3BsYW5lIHsKIAlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2OwpAQCAtMTU0Niw2ICsxNTU2LDggQEAgc3RydWN0IGRybV9wbGFuZSB7 CiAJY29uc3Qgc3RydWN0IGRybV9wbGFuZV9oZWxwZXJfZnVuY3MgKmhlbHBlcl9wcml2YXRlOwog CiAJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGU7CisKKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5 ICp6cG9zX3Byb3BlcnR5OwogfTsKIAogLyoqCkBAIC0yNTU0LDYgKzI1NjYsMjIgQEAgZXh0ZXJu IHN0cnVjdCBkcm1fcHJvcGVydHkgKmRybV9tb2RlX2NyZWF0ZV9yb3RhdGlvbl9wcm9wZXJ0eShz dHJ1Y3QgZHJtX2RldmljZQogZXh0ZXJuIHVuc2lnbmVkIGludCBkcm1fcm90YXRpb25fc2ltcGxp ZnkodW5zaWduZWQgaW50IHJvdGF0aW9uLAogCQkJCQkgIHVuc2lnbmVkIGludCBzdXBwb3J0ZWRf cm90YXRpb25zKTsKIAoraW50IGRybV9wbGFuZV9hdG9taWNfc2V0X3pwb3NfcHJvcGVydHkoc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUsCisJCQkJICAgICAgIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUg KnN0YXRlLAorCQkJCSAgICAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKKwkJCQkg ICAgICAgdWludDY0X3QgdmFsKTsKKworaW50IGRybV9wbGFuZV9hdG9taWNfZ2V0X3pwb3NfcHJv cGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCisJCQkJICAgICAgIGNvbnN0IHN0cnVjdCBk cm1fcGxhbmVfc3RhdGUgKnN0YXRlLAorCQkJCSAgICAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpw cm9wZXJ0eSwKKwkJCQkgICAgICAgdWludDY0X3QgKnZhbCk7CisKK2ludCBkcm1fcGxhbmVfY3Jl YXRlX3pwb3NfcHJvcGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCisJCQkJICAgdW5zaWdu ZWQgaW50IG1pbiwgdW5zaWduZWQgaW50IG1heCk7CitpbnQgZHJtX3BsYW5lX2NyZWF0ZV96cG9z X2ltbXV0YWJsZV9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKKwkJCQkJICAgICB1 bnNpZ25lZCBpbnQgbWluLAorCQkJCQkgICAgIHVuc2lnbmVkIGludCBtYXgpOworCiAvKiBIZWxw ZXJzICovCiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IGRybV9wbGFuZSAqZHJtX3BsYW5lX2ZpbmQo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWwK