From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [PATCH 3/4] drm/msm/mdp5: Use the new private_obj state Date: Wed, 21 Feb 2018 09:37:23 -0500 Message-ID: <20180221143730.30285-4-robdclark@gmail.com> References: <20180221143730.30285-1-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180221143730.30285-1-robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Archit Taneja , Neil Armstrong , David Airlie , linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Rob Clark , Sean Paul , Daniel Vetter , freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= List-Id: linux-arm-msm@vger.kernel.org RnJvbTogQXJjaGl0IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KClRoaXMgcmVwbGFj ZXMgdGhlIHVzYWdlIG9mIHRoZSBzdWJjbGFzc2VkIGF0b21pYyBzdGF0ZSAobWRwNV9zdGF0ZSkK d2l0aCBhIHByaXZhdGVfb2JqIHN0YXRlIGVtYmVkZGVkIHdpdGhpbiBkcm1fYXRvbWljX3N0YXRl LiBUaGUgbGF0dGVyCm1ldGhvZCBpcyB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBzaW5jZSBpdCdz IHNpbXBsZXIgdG8gaW1wbGVtZW50CmFuZCBsZXNzIHByb25lIHRvIGVycm9ycy4KClRoZSBuZXcg QVBJIHJlcGxhY2VzIHRoZSBvbGRlciBhbmQgZXF1aXZhbGVudCBtZHA1X3N0YXRlIHVzYWdlIGlu IHRoZQpmb2xsb3dpbmcgcGF0dGVybjoKLSBSZWZlcmVuY2VzIHRvICJtZHA1X2ttcy0+c3RhdGUi IChpLmUsIHRoZSBvbGQvZXhpc3Rpbmcgc3RhdGUpIGlzCiAgcmVwbGFjZWQgd2l0aCBtZHA1X2dl dF9leGlzdGluZ19nbG9iYWxfc3RhdGUoKS4gSW4gdGhlIGF0b21pY19jaGVjawogIHBhdGgsIHRo aXMgc2hvdWxkIGJlIGNhbGxlZCB3aXRoIHRoZSBnbG9iX3N0YXRlX2xvY2sgZHJtX21vZGVzZXRf bG9jawogIGFscmVkeSB0YWtlbi4KLSBSZWZlcmVuY2VzIHRvICJtZHA1X2dldF9zdGF0ZSgpIiBh cmUgcmVwbGFjZWQgd2l0aAogIG1kcDVfZ2V0X2dsb2JhbF9zdGF0ZSgpLiBUaGlzIGFjcXVpcmVz IGdsb2Jfc3RhdGVfbG9jayBhbmQgdXNlcwogIGRybV9hdG9taWNfZ2V0X3ByaXZhdGVfb2JqX3N0 YXRlKCkgdG8gY3JlYXRlIGEgbmV3IGR1cGxpY2F0ZWQgc3RhdGUuCgpTaWduZWQtb2ZmLWJ5OiBB cmNoaXQgVGFuZWphIDxhcmNoaXR0QGNvZGVhdXJvcmEub3JnPgpTaWduZWQtb2ZmLWJ5OiBSb2Ig Q2xhcmsgPHJvYmRjbGFya0BnbWFpbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L21kcDUvbWRwNV9rbXMuYyAgIHwgMTAgKysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL21kcDUvbWRwNV9taXhlci5jIHwgMTIgKysrKysrLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvbWRwNS9tZHA1X3BpcGUuYyAgfCAyMCArKysrKysrKysrKy0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9zbXAuYyAgIHwgMTcgKysrKysrKysrKysr LS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9rbXMuYyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfa21zLmMKaW5kZXggMGYzMTRjMWYz ZThhLi5hN2U4MGViZjAyMDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9t ZHA1L21kcDVfa21zLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9r bXMuYwpAQCAtMTgzLDExICsxODMsMTQgQEAgc3RhdGljIHZvaWQgbWRwNV9wcmVwYXJlX2NvbW1p dChzdHJ1Y3QgbXNtX2ttcyAqa21zLCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3QKIHsKIAlz dHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21zID0gdG9fbWRwNV9rbXModG9fbWRwX2ttcyhrbXMpKTsK IAlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmbWRwNV9rbXMtPnBkZXYtPmRldjsKKwlzdHJ1Y3QgbWRw NV9nbG9iYWxfc3RhdGUgKmdsb2JhbF9zdGF0ZTsKKworCWdsb2JhbF9zdGF0ZSA9IG1kcDVfZ2V0 X2V4aXN0aW5nX2dsb2JhbF9zdGF0ZShtZHA1X2ttcyk7CiAKIAlwbV9ydW50aW1lX2dldF9zeW5j KGRldik7CiAKIAlpZiAobWRwNV9rbXMtPnNtcCkKLQkJbWRwNV9zbXBfcHJlcGFyZV9jb21taXQo bWRwNV9rbXMtPnNtcCwgJm1kcDVfa21zLT5zdGF0ZS0+c21wKTsKKwkJbWRwNV9zbXBfcHJlcGFy ZV9jb21taXQobWRwNV9rbXMtPnNtcCwgJmdsb2JhbF9zdGF0ZS0+c21wKTsKIH0KIAogc3RhdGlj IHZvaWQgbWRwNV9jb21taXQoc3RydWN0IG1zbV9rbXMgKmttcywgc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlKQpAQCAtMjA5LDkgKzIxMiwxMiBAQCBzdGF0aWMgdm9pZCBtZHA1X2NvbXBs ZXRlX2NvbW1pdChzdHJ1Y3QgbXNtX2ttcyAqa21zLCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq cwogewogCXN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXMgPSB0b19tZHA1X2ttcyh0b19tZHBfa21z KGttcykpOwogCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZtZHA1X2ttcy0+cGRldi0+ZGV2OworCXN0 cnVjdCBtZHA1X2dsb2JhbF9zdGF0ZSAqZ2xvYmFsX3N0YXRlOworCisJZ2xvYmFsX3N0YXRlID0g bWRwNV9nZXRfZXhpc3RpbmdfZ2xvYmFsX3N0YXRlKG1kcDVfa21zKTsKIAogCWlmIChtZHA1X2tt cy0+c21wKQotCQltZHA1X3NtcF9jb21wbGV0ZV9jb21taXQobWRwNV9rbXMtPnNtcCwgJm1kcDVf a21zLT5zdGF0ZS0+c21wKTsKKwkJbWRwNV9zbXBfY29tcGxldGVfY29tbWl0KG1kcDVfa21zLT5z bXAsICZnbG9iYWxfc3RhdGUtPnNtcCk7CiAKIAlwbV9ydW50aW1lX3B1dF9zeW5jKGRldik7CiB9 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X21peGVyLmMg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X21peGVyLmMKaW5kZXggOGEwMDk5 MWYwM2M3Li4xMTNlNmI1Njk1NjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9tZHA1L21kcDVfbWl4ZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9t ZHA1X21peGVyLmMKQEAgLTUyLDE0ICs1MiwxNCBAQCBpbnQgbWRwNV9taXhlcl9hc3NpZ24oc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKnMsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIHsKIAlzdHJ1 Y3QgbXNtX2RybV9wcml2YXRlICpwcml2ID0gcy0+ZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3Qg bWRwNV9rbXMgKm1kcDVfa21zID0gdG9fbWRwNV9rbXModG9fbWRwX2ttcyhwcml2LT5rbXMpKTsK LQlzdHJ1Y3QgbWRwNV9zdGF0ZSAqc3RhdGUgPSBtZHA1X2dldF9zdGF0ZShzKTsKKwlzdHJ1Y3Qg bWRwNV9nbG9iYWxfc3RhdGUgKmdsb2JhbF9zdGF0ZSA9IG1kcDVfZ2V0X2dsb2JhbF9zdGF0ZShz KTsKIAlzdHJ1Y3QgbWRwNV9od19taXhlcl9zdGF0ZSAqbmV3X3N0YXRlOwogCWludCBpOwogCi0J aWYgKElTX0VSUihzdGF0ZSkpCi0JCXJldHVybiBQVFJfRVJSKHN0YXRlKTsKKwlpZiAoSVNfRVJS KGdsb2JhbF9zdGF0ZSkpCisJCXJldHVybiBQVFJfRVJSKGdsb2JhbF9zdGF0ZSk7CiAKLQluZXdf c3RhdGUgPSAmc3RhdGUtPmh3bWl4ZXI7CisJbmV3X3N0YXRlID0gJmdsb2JhbF9zdGF0ZS0+aHdt aXhlcjsKIAogCWZvciAoaSA9IDA7IGkgPCBtZHA1X2ttcy0+bnVtX2h3bWl4ZXJzOyBpKyspIHsK IAkJc3RydWN0IG1kcDVfaHdfbWl4ZXIgKmN1ciA9IG1kcDVfa21zLT5od21peGVyc1tpXTsKQEAg LTEyOSw4ICsxMjksOCBAQCBpbnQgbWRwNV9taXhlcl9hc3NpZ24oc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnMsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAogdm9pZCBtZHA1X21peGVyX3JlbGVh c2Uoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnMsIHN0cnVjdCBtZHA1X2h3X21peGVyICptaXhl cikKIHsKLQlzdHJ1Y3QgbWRwNV9zdGF0ZSAqc3RhdGUgPSBtZHA1X2dldF9zdGF0ZShzKTsKLQlz dHJ1Y3QgbWRwNV9od19taXhlcl9zdGF0ZSAqbmV3X3N0YXRlID0gJnN0YXRlLT5od21peGVyOwor CXN0cnVjdCBtZHA1X2dsb2JhbF9zdGF0ZSAqZ2xvYmFsX3N0YXRlID0gbWRwNV9nZXRfZ2xvYmFs X3N0YXRlKHMpOworCXN0cnVjdCBtZHA1X2h3X21peGVyX3N0YXRlICpuZXdfc3RhdGUgPSAmZ2xv YmFsX3N0YXRlLT5od21peGVyOwogCiAJaWYgKCFtaXhlcikKIAkJcmV0dXJuOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9waXBlLmMgYi9kcml2ZXJzL2dw dS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X3BpcGUuYwppbmRleCBmZjUyYzQ5MDk1ZjkuLjFlZjI2 YmM2MzE2MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9w aXBlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9waXBlLmMKQEAg LTI0LDE3ICsyNCwxOSBAQCBpbnQgbWRwNV9waXBlX2Fzc2lnbihzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqcywgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiB7CiAJc3RydWN0IG1zbV9kcm1fcHJp dmF0ZSAqcHJpdiA9IHMtPmRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IG1kcDVfa21zICptZHA1 X2ttcyA9IHRvX21kcDVfa21zKHRvX21kcF9rbXMocHJpdi0+a21zKSk7Ci0Jc3RydWN0IG1kcDVf c3RhdGUgKnN0YXRlOworCXN0cnVjdCBtZHA1X2dsb2JhbF9zdGF0ZSAqbmV3X2dsb2JhbF9zdGF0 ZSwgKm9sZF9nbG9iYWxfc3RhdGU7CiAJc3RydWN0IG1kcDVfaHdfcGlwZV9zdGF0ZSAqb2xkX3N0 YXRlLCAqbmV3X3N0YXRlOwogCWludCBpLCBqOwogCi0Jc3RhdGUgPSBtZHA1X2dldF9zdGF0ZShz KTsKLQlpZiAoSVNfRVJSKHN0YXRlKSkKLQkJcmV0dXJuIFBUUl9FUlIoc3RhdGUpOworCW5ld19n bG9iYWxfc3RhdGUgPSBtZHA1X2dldF9nbG9iYWxfc3RhdGUocyk7CisJaWYgKElTX0VSUihuZXdf Z2xvYmFsX3N0YXRlKSkKKwkJcmV0dXJuIFBUUl9FUlIobmV3X2dsb2JhbF9zdGF0ZSk7CiAKLQkv KiBncmFiIG9sZF9zdGF0ZSBhZnRlciBtZHA1X2dldF9zdGF0ZSgpLCBzaW5jZSBub3cgd2UgaG9s ZCBsb2NrOiAqLwotCW9sZF9zdGF0ZSA9ICZtZHA1X2ttcy0+c3RhdGUtPmh3cGlwZTsKLQluZXdf c3RhdGUgPSAmc3RhdGUtPmh3cGlwZTsKKwkvKiBncmFiIG9sZF9zdGF0ZSBhZnRlciBtZHA1X2dl dF9nbG9iYWxfc3RhdGUoKSwgc2luY2Ugbm93IHdlIGhvbGQgbG9jazogKi8KKwlvbGRfZ2xvYmFs X3N0YXRlID0gbWRwNV9nZXRfZXhpc3RpbmdfZ2xvYmFsX3N0YXRlKG1kcDVfa21zKTsKKworCW9s ZF9zdGF0ZSA9ICZvbGRfZ2xvYmFsX3N0YXRlLT5od3BpcGU7CisJbmV3X3N0YXRlID0gJm5ld19n bG9iYWxfc3RhdGUtPmh3cGlwZTsKIAogCWZvciAoaSA9IDA7IGkgPCBtZHA1X2ttcy0+bnVtX2h3 cGlwZXM7IGkrKykgewogCQlzdHJ1Y3QgbWRwNV9od19waXBlICpjdXIgPSBtZHA1X2ttcy0+aHdw aXBlc1tpXTsKQEAgLTEwNyw3ICsxMDksNyBAQCBpbnQgbWRwNV9waXBlX2Fzc2lnbihzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqcywgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCVdBUk5fT04o cl9od3BpcGUpOwogCiAJCURCRygiJXM6IGFsbG9jIFNNUCBibG9ja3MiLCAoKmh3cGlwZSktPm5h bWUpOwotCQlyZXQgPSBtZHA1X3NtcF9hc3NpZ24obWRwNV9rbXMtPnNtcCwgJnN0YXRlLT5zbXAs CisJCXJldCA9IG1kcDVfc21wX2Fzc2lnbihtZHA1X2ttcy0+c21wLCAmbmV3X2dsb2JhbF9zdGF0 ZS0+c21wLAogCQkJCSgqaHdwaXBlKS0+cGlwZSwgYmxrY2ZnKTsKIAkJaWYgKHJldCkKIAkJCXJl dHVybiAtRU5PTUVNOwpAQCAtMTMyLDcgKzEzNCw3IEBAIHZvaWQgbWRwNV9waXBlX3JlbGVhc2Uo c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnMsIHN0cnVjdCBtZHA1X2h3X3BpcGUgKmh3cGlwZSkK IHsKIAlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2ID0gcy0+ZGV2LT5kZXZfcHJpdmF0ZTsK IAlzdHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21zID0gdG9fbWRwNV9rbXModG9fbWRwX2ttcyhwcml2 LT5rbXMpKTsKLQlzdHJ1Y3QgbWRwNV9zdGF0ZSAqc3RhdGUgPSBtZHA1X2dldF9zdGF0ZShzKTsK KwlzdHJ1Y3QgbWRwNV9nbG9iYWxfc3RhdGUgKnN0YXRlID0gbWRwNV9nZXRfZ2xvYmFsX3N0YXRl KHMpOwogCXN0cnVjdCBtZHA1X2h3X3BpcGVfc3RhdGUgKm5ld19zdGF0ZSA9ICZzdGF0ZS0+aHdw aXBlOwogCiAJaWYgKCFod3BpcGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvbWRwNS9tZHA1X3NtcC5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9z bXAuYwppbmRleCBhZTQ5ODNkOWQwYTUuLjE0MDhlZWM3NTQ0MCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9zbXAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvbWRwNS9tZHA1X3NtcC5jCkBAIC0zNDAsMTcgKzM0MCwyMCBAQCB2b2lkIG1kcDVf c21wX2R1bXAoc3RydWN0IG1kcDVfc21wICpzbXAsIHN0cnVjdCBkcm1fcHJpbnRlciAqcCkKIAlz dHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21zID0gZ2V0X2ttcyhzbXApOwogCXN0cnVjdCBtZHA1X2h3 X3BpcGVfc3RhdGUgKmh3cHN0YXRlOwogCXN0cnVjdCBtZHA1X3NtcF9zdGF0ZSAqc3RhdGU7CisJ c3RydWN0IG1kcDVfZ2xvYmFsX3N0YXRlICpnbG9iYWxfc3RhdGU7CiAJaW50IHRvdGFsID0gMCwg aSwgajsKIAogCWRybV9wcmludGYocCwgIm5hbWVcdGludXNlXHRwbGFuZVxuIik7CiAJZHJtX3By aW50ZihwLCAiLS0tLVx0LS0tLS1cdC0tLS0tXG4iKTsKIAogCWlmIChkcm1fY2FuX3NsZWVwKCkp Ci0JCWRybV9tb2Rlc2V0X2xvY2soJm1kcDVfa21zLT5zdGF0ZV9sb2NrLCBOVUxMKTsKKwkJZHJt X21vZGVzZXRfbG9jaygmbWRwNV9rbXMtPmdsb2Jfc3RhdGUubG9jaywgTlVMTCk7CisKKwlnbG9i YWxfc3RhdGUgPSBtZHA1X2dldF9leGlzdGluZ19nbG9iYWxfc3RhdGUobWRwNV9rbXMpOwogCiAJ LyogZ3JhYiB0aGVzZSAqYWZ0ZXIqIHdlIGhvbGQgdGhlIHN0YXRlX2xvY2sgKi8KLQlod3BzdGF0 ZSA9ICZtZHA1X2ttcy0+c3RhdGUtPmh3cGlwZTsKLQlzdGF0ZSA9ICZtZHA1X2ttcy0+c3RhdGUt PnNtcDsKKwlod3BzdGF0ZSA9ICZnbG9iYWxfc3RhdGUtPmh3cGlwZTsKKwlzdGF0ZSA9ICZnbG9i YWxfc3RhdGUtPnNtcDsKIAogCWZvciAoaSA9IDA7IGkgPCBtZHA1X2ttcy0+bnVtX2h3cGlwZXM7 IGkrKykgewogCQlzdHJ1Y3QgbWRwNV9od19waXBlICpod3BpcGUgPSBtZHA1X2ttcy0+aHdwaXBl c1tpXTsKQEAgLTM3NCw3ICszNzcsNyBAQCB2b2lkIG1kcDVfc21wX2R1bXAoc3RydWN0IG1kcDVf c21wICpzbXAsIHN0cnVjdCBkcm1fcHJpbnRlciAqcCkKIAkJCWJpdG1hcF93ZWlnaHQoc3RhdGUt PnN0YXRlLCBzbXAtPmJsa19jbnQpKTsKIAogCWlmIChkcm1fY2FuX3NsZWVwKCkpCi0JCWRybV9t b2Rlc2V0X3VubG9jaygmbWRwNV9rbXMtPnN0YXRlX2xvY2spOworCQlkcm1fbW9kZXNldF91bmxv Y2soJm1kcDVfa21zLT5nbG9iX3N0YXRlLmxvY2spOwogfQogCiB2b2lkIG1kcDVfc21wX2Rlc3Ry b3koc3RydWN0IG1kcDVfc21wICpzbXApCkBAIC0zODQsNyArMzg3LDggQEAgdm9pZCBtZHA1X3Nt cF9kZXN0cm95KHN0cnVjdCBtZHA1X3NtcCAqc21wKQogCiBzdHJ1Y3QgbWRwNV9zbXAgKm1kcDVf c21wX2luaXQoc3RydWN0IG1kcDVfa21zICptZHA1X2ttcywgY29uc3Qgc3RydWN0IG1kcDVfc21w X2Jsb2NrICpjZmcpCiB7Ci0Jc3RydWN0IG1kcDVfc21wX3N0YXRlICpzdGF0ZSA9ICZtZHA1X2tt cy0+c3RhdGUtPnNtcDsKKwlzdHJ1Y3QgbWRwNV9zbXBfc3RhdGUgKnN0YXRlOworCXN0cnVjdCBt ZHA1X2dsb2JhbF9zdGF0ZSAqZ2xvYmFsX3N0YXRlOwogCXN0cnVjdCBtZHA1X3NtcCAqc21wID0g TlVMTDsKIAlpbnQgcmV0OwogCkBAIC0zOTgsNiArNDAyLDkgQEAgc3RydWN0IG1kcDVfc21wICpt ZHA1X3NtcF9pbml0KHN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXMsIGNvbnN0IHN0cnVjdCBtZHA1 X3NtcF8KIAlzbXAtPmJsa19jbnQgPSBjZmctPm1tYl9jb3VudDsKIAlzbXAtPmJsa19zaXplID0g Y2ZnLT5tbWJfc2l6ZTsKIAorCWdsb2JhbF9zdGF0ZSA9IG1kcDVfZ2V0X2V4aXN0aW5nX2dsb2Jh bF9zdGF0ZShtZHA1X2ttcyk7CisJc3RhdGUgPSAmZ2xvYmFsX3N0YXRlLT5zbXA7CisKIAkvKiBz dGF0aWNhbGx5IHRpZWQgTU1CcyBjYW5ub3QgYmUgcmUtYWxsb2NhdGVkOiAqLwogCWJpdG1hcF9j b3B5KHN0YXRlLT5zdGF0ZSwgY2ZnLT5yZXNlcnZlZF9zdGF0ZSwgc21wLT5ibGtfY250KTsKIAlt ZW1jcHkoc21wLT5yZXNlcnZlZCwgY2ZnLT5yZXNlcnZlZCwgc2l6ZW9mKHNtcC0+cmVzZXJ2ZWQp KTsKLS0gCjIuMTQuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRy ZW5vCg==