From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Subject: [PATCH 4/6] drm/cma-helper: Support DRM_MODE_DUMB_KERNEL_MAP flag Date: Mon, 21 Oct 2019 16:45:48 -0500 Message-ID: <20191021214550.1461-5-robh@kernel.org> References: <20191021214550.1461-1-robh@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191021214550.1461-1-robh@kernel.org> 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: Neil Armstrong , David Airlie , Liviu Dudau , Laurent Pinchart , linux-amlogic@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, Yannick Fertre , Kevin Hilman , Xinwei Kong , Xinliang Liu , linux-rockchip@lists.infradead.org, Chen-Yu Tsai , Kieran Bingham , "James (Qian) Wang" , Alexandre Torgue , Chen Feng , linux-renesas-soc@vger.kernel.org, linux-mediatek@lists.infradead.org, Matthias Brugger , Sean Paul , linux-arm-kernel@lists.infradead.org, Philippe Cornu List-Id: linux-rockchip.vger.kernel.org QWRkIHN1cHBvcnQgaW4gQ01BIGhlbHBlcnMgdG8gaGFuZGxlIGNhbGxlcnMgc3BlY2lmeWluZwpE Uk1fTU9ERV9EVU1CX0tFUk5FTF9NQVAgZmxhZy4gRXhpc3RpbmcgYmVoYXZpb3IgaXMgbWFpbnRh aW5lZCB3aXRoIHRoaXMKY2hhbmdlLiBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0ZSgpIGFsd2F5cyBj cmVhdGVzIGEga2VybmVsIG1hcHBpbmcgYXMKYmVmb3JlLiBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0 ZV9pbnRlcm5hbCgpIGxldHMgdGhlIGNhbGxlciBzZXQgdGhlIGZsYWdzCmFzIGRlc2lyZWQuIFRo ZXJlZm9yZSwgdXBkYXRlIGFsbCB0aGUgZXhpc3RpbmcgY2FsbGVycyBvZgpkcm1fZ2VtX2NtYV9k dW1iX2NyZWF0ZV9pbnRlcm5hbCgpIHRvIGFsc28gc2V0IHRoZQpEUk1fTU9ERV9EVU1CX0tFUk5F TF9NQVAgZmxhZy4KCkNjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGlu dXguaW50ZWwuY29tPgpDYzogTWF4aW1lIFJpcGFyZCA8bXJpcGFyZEBrZXJuZWwub3JnPgpDYzog U2VhbiBQYXVsIDxzZWFuQHBvb3JseS5ydW4+CkNjOiBEYXZpZCBBaXJsaWUgPGFpcmxpZWRAbGlu dXguaWU+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+CkNjOiAiSmFtZXMgKFFp YW4pIFdhbmciIDxqYW1lcy5xaWFuLndhbmdAYXJtLmNvbT4KQ2M6IExpdml1IER1ZGF1IDxsaXZp dS5kdWRhdUBhcm0uY29tPgpDYzogQnJpYW4gU3RhcmtleSA8YnJpYW4uc3RhcmtleUBhcm0uY29t PgpDYzogTmVpbCBBcm1zdHJvbmcgPG5hcm1zdHJvbmdAYmF5bGlicmUuY29tPgpDYzogS2V2aW4g SGlsbWFuIDxraGlsbWFuQGJheWxpYnJlLmNvbT4KQ2M6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJl bnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KQ2M6IEtpZXJhbiBCaW5naGFtIDxraWVyYW4u YmluZ2hhbStyZW5lc2FzQGlkZWFzb25ib2FyZC5jb20+CkNjOiBTYW5keSBIdWFuZyA8aGpjQHJv Y2stY2hpcHMuY29tPgpDYzogIkhlaWtvIFN0w7xibmVyIiA8aGVpa29Ac250ZWNoLmRlPgpDYzog WWFubmljayBGZXJ0cmUgPHlhbm5pY2suZmVydHJlQHN0LmNvbT4KQ2M6IFBoaWxpcHBlIENvcm51 IDxwaGlsaXBwZS5jb3JudUBzdC5jb20+CkNjOiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4u Z2FpZ25hcmRAbGluYXJvLm9yZz4KQ2M6IFZpbmNlbnQgQWJyaW91IDx2aW5jZW50LmFicmlvdUBz dC5jb20+CkNjOiBNYXhpbWUgQ29xdWVsaW4gPG1jb3F1ZWxpbi5zdG0zMkBnbWFpbC5jb20+CkNj OiBBbGV4YW5kcmUgVG9yZ3VlIDxhbGV4YW5kcmUudG9yZ3VlQHN0LmNvbT4KQ2M6IENoZW4tWXUg VHNhaSA8d2Vuc0Bjc2llLm9yZz4KQ2M6IGxpbnV4LWFtbG9naWNAbGlzdHMuaW5mcmFkZWFkLm9y ZwpDYzogbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1yZW5l c2FzLXNvY0B2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXJvY2tjaGlwQGxpc3RzLmluZnJhZGVh ZC5vcmcKQ2M6IGxpbnV4LXN0bTMyQHN0LW1kLW1haWxtYW4uc3Rvcm1yZXBseS5jb20KU2lnbmVk LW9mZi1ieTogUm9iIEhlcnJpbmcgPHJvYmhAa2VybmVsLm9yZz4KLS0tCiAuLi4vZ3B1L2RybS9h cm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5jICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0v YXJtL21hbGlkcF9kcnYuYyAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vZHJt X2dlbV9jbWFfaGVscGVyLmMgICAgICAgICAgfCA0OCArKysrKysrKysrKy0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJz L2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2ttcy5jICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2dlbS5jICAgfCAgMSArCiBkcml2ZXJzL2dwdS9k cm0vc3RtL2Rydi5jICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0v c3VuNGkvc3VuNGlfZHJ2LmMgICAgICAgICAgICAgfCAgMSArCiA4IGZpbGVzIGNoYW5nZWQsIDM2 IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL2Fy bS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfa21zLmMKaW5kZXggZDQ5NzcyZGU5M2UwLi43Y2YwZGM0 Y2JmYzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29t ZWRhX2ttcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRh X2ttcy5jCkBAIC0zMSw2ICszMSw3IEBAIHN0YXRpYyBpbnQga29tZWRhX2dlbV9jbWFfZHVtYl9j cmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlLAogCXUzMiBwaXRjaCA9IERJVl9ST1VORF9VUChh cmdzLT53aWR0aCAqIGFyZ3MtPmJwcCwgOCk7CiAKIAlhcmdzLT5waXRjaCA9IEFMSUdOKHBpdGNo LCBtZGV2LT5jaGlwLmJ1c193aWR0aCk7CisJYXJncy0+ZmxhZ3MgPSBEUk1fTU9ERV9EVU1CX0tF Uk5FTF9NQVA7CiAKIAlyZXR1cm4gZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGVfaW50ZXJuYWwoZmls ZSwgZGV2LCBhcmdzKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRw X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfZHJ2LmMKaW5kZXggOGE3NjMxNWFh YTBmLi5hZWIxYTc3OWVjYzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRw X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2Rydi5jCkBAIC00NjUsNiAr NDY1LDcgQEAgc3RhdGljIGludCBtYWxpZHBfZHVtYl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpm aWxlX3ByaXYsCiAJdTggYWxpZ25tZW50ID0gbWFsaWRwX2h3X2dldF9waXRjaF9hbGlnbihtYWxp ZHAtPmRldiwgMSk7CiAKIAlhcmdzLT5waXRjaCA9IEFMSUdOKERJVl9ST1VORF9VUChhcmdzLT53 aWR0aCAqIGFyZ3MtPmJwcCwgOCksIGFsaWdubWVudCk7CisJYXJncy0+ZmxhZ3MgPSBEUk1fTU9E RV9EVU1CX0tFUk5FTF9NQVA7CiAKIAlyZXR1cm4gZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGVfaW50 ZXJuYWwoZmlsZV9wcml2LCBkcm0sIGFyZ3MpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2RybV9nZW1fY21hX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fY21hX2hl bHBlci5jCmluZGV4IDRjZWJmZTAxZTZlYS4uZjkxZTllOGFkZWFmIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2dlbV9jbWFfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9nZW1fY21hX2hlbHBlci5jCkBAIC03OCwyMSArNzgsOCBAQCBfX2RybV9nZW1fY21hX2NyZWF0 ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLCBzaXplX3Qgc2l6ZSkKIAlyZXR1cm4gRVJSX1BUUihy ZXQpOwogfQogCi0vKioKLSAqIGRybV9nZW1fY21hX2NyZWF0ZSAtIGFsbG9jYXRlIGFuIG9iamVj dCB3aXRoIHRoZSBnaXZlbiBzaXplCi0gKiBAZHJtOiBEUk0gZGV2aWNlCi0gKiBAc2l6ZTogc2l6 ZSBvZiB0aGUgb2JqZWN0IHRvIGFsbG9jYXRlCi0gKgotICogVGhpcyBmdW5jdGlvbiBjcmVhdGVz IGEgQ01BIEdFTSBvYmplY3QgYW5kIGFsbG9jYXRlcyBhIGNvbnRpZ3VvdXMgY2h1bmsgb2YKLSAq IG1lbW9yeSBhcyBiYWNraW5nIHN0b3JlLiBUaGUgYmFja2luZyBtZW1vcnkgaGFzIHRoZSB3cml0 ZWNvbWJpbmUgYXR0cmlidXRlCi0gKiBzZXQuCi0gKgotICogUmV0dXJuczoKLSAqIEEgc3RydWN0 IGRybV9nZW1fY21hX29iamVjdCAqIG9uIHN1Y2Nlc3Mgb3IgYW4gRVJSX1BUUigpLWVuY29kZWQg bmVnYXRpdmUKLSAqIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KLSAqLwotc3RydWN0IGRybV9nZW1f Y21hX29iamVjdCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCi0J CQkJCSAgICAgIHNpemVfdCBzaXplKQorc3RhdGljIHN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3Qg KgorZHJtX2dlbV9jbWFfY3JlYXRlX2ZsYWdzKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHNpemVf dCBzaXplLCB1MzIgZmxhZ3MpCiB7CiAJc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqY21hX29i ajsKIAlpbnQgcmV0OwpAQCAtMTAzLDYgKzkwLDkgQEAgc3RydWN0IGRybV9nZW1fY21hX29iamVj dCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCiAJaWYgKElTX0VS UihjbWFfb2JqKSkKIAkJcmV0dXJuIGNtYV9vYmo7CiAKKwlpZiAoIShmbGFncyAmIERSTV9NT0RF X0RVTUJfS0VSTkVMX01BUCkpCisJCWNtYV9vYmotPmRtYV9hdHRycyB8PSBETUFfQVRUUl9OT19L RVJORUxfTUFQUElORzsKKwogCWNtYV9vYmotPnZhZGRyID0gZG1hX2FsbG9jX2F0dHJzKGRybS0+ ZGV2LCBzaXplLCAmY21hX29iai0+cGFkZHIsCiAJCQkJCSBHRlBfS0VSTkVMIHwgX19HRlBfTk9X QVJOLAogCQkJCQkgY21hX29iai0+ZG1hX2F0dHJzKTsKQEAgLTExOSw2ICsxMDksMjUgQEAgc3Ry dWN0IGRybV9nZW1fY21hX29iamVjdCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBkcm1fZGV2 aWNlICpkcm0sCiAJZHJtX2dlbV9vYmplY3RfcHV0X3VubG9ja2VkKCZjbWFfb2JqLT5iYXNlKTsK IAlyZXR1cm4gRVJSX1BUUihyZXQpOwogfQorCisvKioKKyAqIGRybV9nZW1fY21hX2NyZWF0ZSAt IGFsbG9jYXRlIGFuIG9iamVjdCB3aXRoIHRoZSBnaXZlbiBzaXplCisgKiBAZHJtOiBEUk0gZGV2 aWNlCisgKiBAc2l6ZTogc2l6ZSBvZiB0aGUgb2JqZWN0IHRvIGFsbG9jYXRlCisgKgorICogVGhp cyBmdW5jdGlvbiBjcmVhdGVzIGEgQ01BIEdFTSBvYmplY3QgYW5kIGFsbG9jYXRlcyBhIGNvbnRp Z3VvdXMgY2h1bmsgb2YKKyAqIG1lbW9yeSBhcyBiYWNraW5nIHN0b3JlLiBUaGUgYmFja2luZyBt ZW1vcnkgaGFzIHRoZSB3cml0ZWNvbWJpbmUgYXR0cmlidXRlCisgKiBzZXQuCisgKgorICogUmV0 dXJuczoKKyAqIEEgc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqIG9uIHN1Y2Nlc3Mgb3IgYW4g RVJSX1BUUigpLWVuY29kZWQgbmVnYXRpdmUKKyAqIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KKyAq Lworc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBk cm1fZGV2aWNlICpkcm0sCisJCQkJCSAgICAgIHNpemVfdCBzaXplKQoreworCXJldHVybiBkcm1f Z2VtX2NtYV9jcmVhdGVfZmxhZ3MoZHJtLCBzaXplLCBEUk1fTU9ERV9EVU1CX0tFUk5FTF9NQVAp OworfQogRVhQT1JUX1NZTUJPTF9HUEwoZHJtX2dlbV9jbWFfY3JlYXRlKTsKIAogLyoqCkBAIC0x MzksMTQgKzE0OCwxNCBAQCBFWFBPUlRfU1lNQk9MX0dQTChkcm1fZ2VtX2NtYV9jcmVhdGUpOwog ICovCiBzdGF0aWMgc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqCiBkcm1fZ2VtX2NtYV9jcmVh dGVfd2l0aF9oYW5kbGUoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCi0JCQkgICAgICAgc3Ry dWN0IGRybV9kZXZpY2UgKmRybSwgc2l6ZV90IHNpemUsCisJCQkgICAgICAgc3RydWN0IGRybV9k ZXZpY2UgKmRybSwgc2l6ZV90IHNpemUsIHUzMiBmbGFncywKIAkJCSAgICAgICB1aW50MzJfdCAq aGFuZGxlKQogewogCXN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3QgKmNtYV9vYmo7CiAJc3RydWN0 IGRybV9nZW1fb2JqZWN0ICpnZW1fb2JqOwogCWludCByZXQ7CiAKLQljbWFfb2JqID0gZHJtX2dl bV9jbWFfY3JlYXRlKGRybSwgc2l6ZSk7CisJY21hX29iaiA9IGRybV9nZW1fY21hX2NyZWF0ZV9m bGFncyhkcm0sIHNpemUsIGZsYWdzKTsKIAlpZiAoSVNfRVJSKGNtYV9vYmopKQogCQlyZXR1cm4g Y21hX29iajsKIApAQCAtMjI1LDcgKzIzNCw3IEBAIGludCBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0 ZV9pbnRlcm5hbChzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKIAkJYXJncy0+c2l6ZSA9IGFy Z3MtPnBpdGNoICogYXJncy0+aGVpZ2h0OwogCiAJY21hX29iaiA9IGRybV9nZW1fY21hX2NyZWF0 ZV93aXRoX2hhbmRsZShmaWxlX3ByaXYsIGRybSwgYXJncy0+c2l6ZSwKLQkJCQkJCSAmYXJncy0+ aGFuZGxlKTsKKwkJCQkJCSBhcmdzLT5mbGFncywgJmFyZ3MtPmhhbmRsZSk7CiAJcmV0dXJuIFBU Ul9FUlJfT1JfWkVSTyhjbWFfb2JqKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGRybV9nZW1fY21h X2R1bWJfY3JlYXRlX2ludGVybmFsKTsKQEAgLTI1Niw5ICsyNjUsMTAgQEAgaW50IGRybV9nZW1f Y21hX2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAogCiAJYXJncy0+cGl0 Y2ggPSBESVZfUk9VTkRfVVAoYXJncy0+d2lkdGggKiBhcmdzLT5icHAsIDgpOwogCWFyZ3MtPnNp emUgPSBhcmdzLT5waXRjaCAqIGFyZ3MtPmhlaWdodDsKKwlhcmdzLT5mbGFncyA9IERSTV9NT0RF X0RVTUJfS0VSTkVMX01BUDsKIAogCWNtYV9vYmogPSBkcm1fZ2VtX2NtYV9jcmVhdGVfd2l0aF9o YW5kbGUoZmlsZV9wcml2LCBkcm0sIGFyZ3MtPnNpemUsCi0JCQkJCQkgJmFyZ3MtPmhhbmRsZSk7 CisJCQkJCQkgYXJncy0+ZmxhZ3MsICZhcmdzLT5oYW5kbGUpOwogCXJldHVybiBQVFJfRVJSX09S X1pFUk8oY21hX29iaik7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChkcm1fZ2VtX2NtYV9kdW1iX2Ny ZWF0ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMgYi9k cml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMKaW5kZXggMzk3YzMzMTgyZjRmLi4xNTkz NTE4ZGNiZTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9kcnYuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMKQEAgLTgxLDYgKzgxLDcgQEAg c3RhdGljIGludCBtZXNvbl9kdW1iX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsIHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCiAJICovCiAJYXJncy0+cGl0Y2ggPSBBTElHTihESVZfUk9VTkRf VVAoYXJncy0+d2lkdGggKiBhcmdzLT5icHAsIDgpLCBTWl82NCk7CiAJYXJncy0+c2l6ZSA9IFBB R0VfQUxJR04oYXJncy0+cGl0Y2ggKiBhcmdzLT5oZWlnaHQpOworCWFyZ3MtPmZsYWdzID0gRFJN X01PREVfRFVNQl9LRVJORUxfTUFQOwogCiAJcmV0dXJuIGRybV9nZW1fY21hX2R1bWJfY3JlYXRl X2ludGVybmFsKGZpbGUsIGRldiwgYXJncyk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcmNhci1kdS9yY2FyX2R1X2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9k dV9rbXMuYwppbmRleCAyZGM5Y2FlZTg3NjcuLmM5YjFmMjk4Y2U3ZSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9rbXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v cmNhci1kdS9yY2FyX2R1X2ttcy5jCkBAIC0yOTksNiArMjk5LDcgQEAgaW50IHJjYXJfZHVfZHVt Yl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAog CQlhbGlnbiA9IDE2ICogYXJncy0+YnBwIC8gODsKIAogCWFyZ3MtPnBpdGNoID0gcm91bmR1cCht aW5fcGl0Y2gsIGFsaWduKTsKKwlhcmdzLT5mbGFncyA9IERSTV9NT0RFX0RVTUJfS0VSTkVMX01B UDsKIAogCXJldHVybiBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0ZV9pbnRlcm5hbChmaWxlLCBkZXYs IGFyZ3MpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlw X2RybV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZ2VtLmMK aW5kZXggNzU4MmQwZTZhNjBhLi5mMDliOWEwMzUzNzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL3JvY2tjaGlwX2RybV9nZW0uYwpAQCAtNDE5LDYgKzQxOSw3IEBAIGludCByb2NrY2hp cF9nZW1fZHVtYl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCiAJICogYWxpZ24g dG8gNjQgYnl0ZXMgc2luY2UgTWFsaSByZXF1aXJlcyBpdC4KIAkgKi8KIAlhcmdzLT5waXRjaCA9 IEFMSUdOKG1pbl9waXRjaCwgNjQpOworCWFyZ3MtPmZsYWdzID0gRFJNX01PREVfRFVNQl9LRVJO RUxfTUFQOwogCWFyZ3MtPnNpemUgPSBhcmdzLT5waXRjaCAqIGFyZ3MtPmhlaWdodDsKIAogCXJr X29iaiA9IHJvY2tjaGlwX2dlbV9jcmVhdGVfd2l0aF9oYW5kbGUoZmlsZV9wcml2LCBkZXYsIGFy Z3MtPnNpemUsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RtL2Rydi5jIGIvZHJpdmVy cy9ncHUvZHJtL3N0bS9kcnYuYwppbmRleCA1YTlmOWFjYThiYzIuLjBmNzZhNGFjOTViMyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0bS9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v c3RtL2Rydi5jCkBAIC00Nyw2ICs0Nyw3IEBAIHN0YXRpYyBpbnQgc3RtX2dlbV9jbWFfZHVtYl9j cmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlLAogCSAqLwogCWFyZ3MtPnBpdGNoID0gcm91bmR1 cChtaW5fcGl0Y2gsIDEyOCk7CiAJYXJncy0+aGVpZ2h0ID0gcm91bmR1cChhcmdzLT5oZWlnaHQs IDQpOworCWFyZ3MtPmZsYWdzID0gRFJNX01PREVfRFVNQl9LRVJORUxfTUFQOwogCiAJcmV0dXJu IGRybV9nZW1fY21hX2R1bWJfY3JlYXRlX2ludGVybmFsKGZpbGUsIGRldiwgYXJncyk7CiB9CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMgYi9kcml2ZXJzL2dw dS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMKaW5kZXggYTU3NTdiMTFiNzMwLi5mNjUzYTVkMWUyZDYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9kcnYuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMKQEAgLTM0LDYgKzM0LDcgQEAgc3RhdGljIGlu dCBkcm1fc3VuNGlfZ2VtX2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAog ewogCS8qIFRoZSBoYXJkd2FyZSBvbmx5IGFsbG93cyBldmVuIHBpdGNoZXMgZm9yIFlVViBidWZm ZXJzLiAqLwogCWFyZ3MtPnBpdGNoID0gQUxJR04oRElWX1JPVU5EX1VQKGFyZ3MtPndpZHRoICog YXJncy0+YnBwLCA4KSwgMik7CisJYXJncy0+ZmxhZ3MgPSBEUk1fTU9ERV9EVU1CX0tFUk5FTF9N QVA7CiAKIAlyZXR1cm4gZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGVfaW50ZXJuYWwoZmlsZV9wcml2 LCBkcm0sIGFyZ3MpOwogfQotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWw=