From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 3/5] drm/radeon: split page flip and pending callback Date: Tue, 27 May 2014 16:49:20 +0200 Message-ID: <1401202162-1925-3-git-send-email-deathsimple@vodafone.de> References: <1401202162-1925-1-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from pegasos-out.vodafone.de (pegasos-out.vodafone.de [80.84.1.38]) by gabe.freedesktop.org (Postfix) with ESMTP id 5F8B26E6FE for ; Tue, 27 May 2014 07:49:36 -0700 (PDT) Received: from localhost (localhost.localdomain [127.0.0.1]) by pegasos-out.vodafone.de (Rohrpostix1 Daemon) with ESMTP id CDC6A261406 for ; Tue, 27 May 2014 16:49:35 +0200 (CEST) Received: from pegasos-out.vodafone.de ([127.0.0.1]) by localhost (rohrpostix1.prod.vfnet.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Gjc2CZIdlh8F for ; Tue, 27 May 2014 16:49:30 +0200 (CEST) Received: from smtp-03.vodafone.de (smtp-03.vodafone.de [10.215.254.38]) by pegasos-out.vodafone.de (Rohrpostix1 Daemon) with ESMTP id 44889261412 for ; Tue, 27 May 2014 16:49:30 +0200 (CEST) Received: from smtp-03.vodafone.de ([127.0.0.1]) by localhost (xsmail-dmz7.prod.vfnet.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nlYE46xJhAjH for ; Tue, 27 May 2014 16:49:23 +0200 (CEST) In-Reply-To: <1401202162-1925-1-git-send-email-deathsimple@vodafone.de> 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 List-Id: dri-devel@lists.freedesktop.org RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKU2lnbmVk LW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuLmMgICAgICB8IDE4ICsrKysrKysrKysr KysrKystLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMTAwLmMgICAgICAgICAgIHwgMjEgKysr KysrKysrKysrKysrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oICAgICAg ICAgfCAgNCArKystCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hc2ljLmMgICAgfCAy MiArKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9h c2ljLmggICAgfCAxNSArKysrKysrKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2Rpc3BsYXkuYyB8ICAzICsrLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yczYwMC5jICAg ICAgICAgIHwgMTAgKysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ydjc3MC5jICAg ICAgICAgIHwgMTAgKysrKysrKystLQogOCBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCsp LCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2 ZXJncmVlbi5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4uYwppbmRleCBlYzMx YTgyLi4zMzZmMGE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVl bi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuLmMKQEAgLTEzMTMsNyAr MTMxMyw3IEBAIHZvaWQgZGNlNF93YWl0X2Zvcl92Ymxhbmsoc3RydWN0IHJhZGVvbl9kZXZpY2Ug KnJkZXYsIGludCBjcnRjKQogICogZG91YmxlIGJ1ZmZlcmVkIHVwZGF0ZSB0byB0YWtlIHBsYWNl LgogICogUmV0dXJucyB0aGUgY3VycmVudCB1cGRhdGUgcGVuZGluZyBzdGF0dXMuCiAgKi8KLXUz MiBldmVyZ3JlZW5fcGFnZV9mbGlwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0 Y19pZCwgdTY0IGNydGNfYmFzZSkKK3ZvaWQgZXZlcmdyZWVuX3BhZ2VfZmxpcChzdHJ1Y3QgcmFk ZW9uX2RldmljZSAqcmRldiwgaW50IGNydGNfaWQsIHU2NCBjcnRjX2Jhc2UpCiB7CiAJc3RydWN0 IHJhZGVvbl9jcnRjICpyYWRlb25fY3J0YyA9IHJkZXYtPm1vZGVfaW5mby5jcnRjc1tjcnRjX2lk XTsKIAl1MzIgdG1wID0gUlJFRzMyKEVWRVJHUkVFTl9HUlBIX1VQREFURSArIHJhZGVvbl9jcnRj LT5jcnRjX29mZnNldCk7CkBAIC0xMzQ1LDkgKzEzNDUsMjMgQEAgdTMyIGV2ZXJncmVlbl9wYWdl X2ZsaXAoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBjcnRjX2lkLCB1NjQgY3J0Y19i YXNlKQogCS8qIFVubG9jayB0aGUgbG9jaywgc28gZG91YmxlLWJ1ZmZlcmluZyBjYW4gdGFrZSBw bGFjZSBpbnNpZGUgdmJsYW5rICovCiAJdG1wICY9IH5FVkVSR1JFRU5fR1JQSF9VUERBVEVfTE9D SzsKIAlXUkVHMzIoRVZFUkdSRUVOX0dSUEhfVVBEQVRFICsgcmFkZW9uX2NydGMtPmNydGNfb2Zm c2V0LCB0bXApOworfQorCisvKioKKyAqIGV2ZXJncmVlbl9wYWdlX2ZsaXBfcGVuZGluZyAtIGNo ZWNrIGlmIHBhZ2UgZmxpcCBpcyBzdGlsbCBwZW5kaW5nCisgKgorICogQHJkZXY6IHJhZGVvbl9k ZXZpY2UgcG9pbnRlcgorICogQGNydGNfaWQ6IGNydGMgdG8gY2hlY2sKKyAqCisgKiBSZXR1cm5z IHRoZSBjdXJyZW50IHVwZGF0ZSBwZW5kaW5nIHN0YXR1cy4KKyAqLworYm9vbCBldmVyZ3JlZW5f cGFnZV9mbGlwX3BlbmRpbmcoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBjcnRjX2lk KQoreworCXN0cnVjdCByYWRlb25fY3J0YyAqcmFkZW9uX2NydGMgPSByZGV2LT5tb2RlX2luZm8u Y3J0Y3NbY3J0Y19pZF07CiAKIAkvKiBSZXR1cm4gY3VycmVudCB1cGRhdGVfcGVuZGluZyBzdGF0 dXM6ICovCi0JcmV0dXJuIFJSRUczMihFVkVSR1JFRU5fR1JQSF9VUERBVEUgKyByYWRlb25fY3J0 Yy0+Y3J0Y19vZmZzZXQpICYgRVZFUkdSRUVOX0dSUEhfU1VSRkFDRV9VUERBVEVfUEVORElORzsK KwlyZXR1cm4gISEoUlJFRzMyKEVWRVJHUkVFTl9HUlBIX1VQREFURSArIHJhZGVvbl9jcnRjLT5j cnRjX29mZnNldCkgJgorCQlFVkVSR1JFRU5fR1JQSF9TVVJGQUNFX1VQREFURV9QRU5ESU5HKTsK IH0KIAogLyogZ2V0IHRlbXBlcmF0dXJlIGluIG1pbGxpZGVncmVlcyAqLwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMTAwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Ix MDAuYwppbmRleCA4NDA2NTFmLi41MjU0OGY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3IxMDAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IxMDAuYwpAQCAtMTUy LDkgKzE1Miw4IEBAIHZvaWQgcjEwMF93YWl0X2Zvcl92Ymxhbmsoc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYsIGludCBjcnRjKQogICogRHVyaW5nIHZibGFuayB3ZSB0YWtlIHRoZSBjcnRjIGxv Y2sgYW5kIHdhaXQgZm9yIHRoZSB1cGRhdGVfcGVuZGluZwogICogYml0IHRvIGdvIGhpZ2gsIHdo ZW4gaXQgZG9lcywgd2UgcmVsZWFzZSB0aGUgbG9jaywgYW5kIGFsbG93IHRoZQogICogZG91Ymxl IGJ1ZmZlcmVkIHVwZGF0ZSB0byB0YWtlIHBsYWNlLgotICogUmV0dXJucyB0aGUgY3VycmVudCB1 cGRhdGUgcGVuZGluZyBzdGF0dXMuCiAgKi8KLXUzMiByMTAwX3BhZ2VfZmxpcChzdHJ1Y3QgcmFk ZW9uX2RldmljZSAqcmRldiwgaW50IGNydGNfaWQsIHU2NCBjcnRjX2Jhc2UpCit2b2lkIHIxMDBf cGFnZV9mbGlwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0Y19pZCwgdTY0IGNy dGNfYmFzZSkKIHsKIAlzdHJ1Y3QgcmFkZW9uX2NydGMgKnJhZGVvbl9jcnRjID0gcmRldi0+bW9k ZV9pbmZvLmNydGNzW2NydGNfaWRdOwogCXUzMiB0bXAgPSAoKHUzMiljcnRjX2Jhc2UpIHwgUkFE RU9OX0NSVENfT0ZGU0VUX19PRkZTRVRfTE9DSzsKQEAgLTE3Niw4ICsxNzUsMjQgQEAgdTMyIHIx MDBfcGFnZV9mbGlwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0Y19pZCwgdTY0 IGNydGNfYmFzZSkKIAl0bXAgJj0gflJBREVPTl9DUlRDX09GRlNFVF9fT0ZGU0VUX0xPQ0s7CiAJ V1JFRzMyKFJBREVPTl9DUlRDX09GRlNFVCArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNldCwgdG1w KTsKIAorfQorCisvKioKKyAqIHIxMDBfcGFnZV9mbGlwX3BlbmRpbmcgLSBjaGVjayBpZiBwYWdl IGZsaXAgaXMgc3RpbGwgcGVuZGluZworICoKKyAqIEByZGV2OiByYWRlb25fZGV2aWNlIHBvaW50 ZXIKKyAqIEBjcnRjX2lkOiBjcnRjIHRvIGNoZWNrCisgKgorICogQ2hlY2sgaWYgdGhlIGxhc3Qg cGFnZWZpbHAgaXMgc3RpbGwgcGVuZGluZyAocjF4eC1yNHh4KS4KKyAqIFJldHVybnMgdGhlIGN1 cnJlbnQgdXBkYXRlIHBlbmRpbmcgc3RhdHVzLgorICovCitib29sIHIxMDBfcGFnZV9mbGlwX3Bl bmRpbmcoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBjcnRjX2lkKQoreworCXN0cnVj dCByYWRlb25fY3J0YyAqcmFkZW9uX2NydGMgPSByZGV2LT5tb2RlX2luZm8uY3J0Y3NbY3J0Y19p ZF07CisKIAkvKiBSZXR1cm4gY3VycmVudCB1cGRhdGVfcGVuZGluZyBzdGF0dXM6ICovCi0JcmV0 dXJuIFJSRUczMihSQURFT05fQ1JUQ19PRkZTRVQgKyByYWRlb25fY3J0Yy0+Y3J0Y19vZmZzZXQp ICYgUkFERU9OX0NSVENfT0ZGU0VUX19HVUlfVFJJR19PRkZTRVQ7CisJcmV0dXJuICEhKFJSRUcz MihSQURFT05fQ1JUQ19PRkZTRVQgKyByYWRlb25fY3J0Yy0+Y3J0Y19vZmZzZXQpICYKKwkJUkFE RU9OX0NSVENfT0ZGU0VUX19HVUlfVFJJR19PRkZTRVQpOwogfQogCiAvKioKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmggYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbi5oCmluZGV4IDJiOTE5YWYuLjRhZTMwNGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24u aApAQCAtMTg4MSw3ICsxODgxLDggQEAgc3RydWN0IHJhZGVvbl9hc2ljIHsKIAl9IGRwbTsKIAkv KiBwYWdlZmxpcHBpbmcgKi8KIAlzdHJ1Y3QgewotCQl1MzIgKCpwYWdlX2ZsaXApKHN0cnVjdCBy YWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0YywgdTY0IGNydGNfYmFzZSk7CisJCXZvaWQgKCpw YWdlX2ZsaXApKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0YywgdTY0IGNydGNf YmFzZSk7CisJCWJvb2wgKCpwYWdlX2ZsaXBfcGVuZGluZykoc3RydWN0IHJhZGVvbl9kZXZpY2Ug KnJkZXYsIGludCBjcnRjKTsKIAl9IHBmbGlwOwogfTsKIApAQCAtMjc0MSw2ICsyNzQyLDcgQEAg dm9pZCByYWRlb25fcmluZ193cml0ZShzdHJ1Y3QgcmFkZW9uX3JpbmcgKnJpbmcsIHVpbnQzMl90 IHYpOwogI2RlZmluZSByYWRlb25fcG1faW5pdF9wcm9maWxlKHJkZXYpIChyZGV2KS0+YXNpYy0+ cG0uaW5pdF9wcm9maWxlKChyZGV2KSkKICNkZWZpbmUgcmFkZW9uX3BtX2dldF9keW5wbV9zdGF0 ZShyZGV2KSAocmRldiktPmFzaWMtPnBtLmdldF9keW5wbV9zdGF0ZSgocmRldikpCiAjZGVmaW5l IHJhZGVvbl9wYWdlX2ZsaXAocmRldiwgY3J0YywgYmFzZSkgKHJkZXYpLT5hc2ljLT5wZmxpcC5w YWdlX2ZsaXAoKHJkZXYpLCAoY3J0YyksIChiYXNlKSkKKyNkZWZpbmUgcmFkZW9uX3BhZ2VfZmxp cF9wZW5kaW5nKHJkZXYsIGNydGMpIChyZGV2KS0+YXNpYy0+cGZsaXAucGFnZV9mbGlwX3BlbmRp bmcoKHJkZXYpLCAoY3J0YykpCiAjZGVmaW5lIHJhZGVvbl93YWl0X2Zvcl92YmxhbmsocmRldiwg Y3J0YykgKHJkZXYpLT5hc2ljLT5kaXNwbGF5LndhaXRfZm9yX3ZibGFuaygocmRldiksIChjcnRj KSkKICNkZWZpbmUgcmFkZW9uX21jX3dhaXRfZm9yX2lkbGUocmRldikgKHJkZXYpLT5hc2ljLT5t Y193YWl0X2Zvcl9pZGxlKChyZGV2KSkKICNkZWZpbmUgcmFkZW9uX2dldF94Y2xrKHJkZXYpIChy ZGV2KS0+YXNpYy0+Z2V0X3hjbGsoKHJkZXYpKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb25fYXNpYy5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXNp Yy5jCmluZGV4IGNiN2EwZWEuLmQ4ZTE1ODcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vcmFkZW9uX2FzaWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9h c2ljLmMKQEAgLTI0OSw2ICsyNDksNyBAQCBzdGF0aWMgc3RydWN0IHJhZGVvbl9hc2ljIHIxMDBf YXNpYyA9IHsKIAl9LAogCS5wZmxpcCA9IHsKIAkJLnBhZ2VfZmxpcCA9ICZyMTAwX3BhZ2VfZmxp cCwKKwkJLnBhZ2VfZmxpcF9wZW5kaW5nID0gJnIxMDBfcGFnZV9mbGlwX3BlbmRpbmcsCiAJfSwK IH07CiAKQEAgLTMxNCw2ICszMTUsNyBAQCBzdGF0aWMgc3RydWN0IHJhZGVvbl9hc2ljIHIyMDBf YXNpYyA9IHsKIAl9LAogCS5wZmxpcCA9IHsKIAkJLnBhZ2VfZmxpcCA9ICZyMTAwX3BhZ2VfZmxp cCwKKwkJLnBhZ2VfZmxpcF9wZW5kaW5nID0gJnIxMDBfcGFnZV9mbGlwX3BlbmRpbmcsCiAJfSwK IH07CiAKQEAgLTM5Myw2ICszOTUsNyBAQCBzdGF0aWMgc3RydWN0IHJhZGVvbl9hc2ljIHIzMDBf YXNpYyA9IHsKIAl9LAogCS5wZmxpcCA9IHsKIAkJLnBhZ2VfZmxpcCA9ICZyMTAwX3BhZ2VfZmxp cCwKKwkJLnBhZ2VfZmxpcF9wZW5kaW5nID0gJnIxMDBfcGFnZV9mbGlwX3BlbmRpbmcsCiAJfSwK IH07CiAKQEAgLTQ1OCw2ICs0NjEsNyBAQCBzdGF0aWMgc3RydWN0IHJhZGVvbl9hc2ljIHIzMDBf YXNpY19wY2llID0gewogCX0sCiAJLnBmbGlwID0gewogCQkucGFnZV9mbGlwID0gJnIxMDBfcGFn ZV9mbGlwLAorCQkucGFnZV9mbGlwX3BlbmRpbmcgPSAmcjEwMF9wYWdlX2ZsaXBfcGVuZGluZywK IAl9LAogfTsKIApAQCAtNTIzLDYgKzUyNyw3IEBAIHN0YXRpYyBzdHJ1Y3QgcmFkZW9uX2FzaWMg cjQyMF9hc2ljID0gewogCX0sCiAJLnBmbGlwID0gewogCQkucGFnZV9mbGlwID0gJnIxMDBfcGFn ZV9mbGlwLAorCQkucGFnZV9mbGlwX3BlbmRpbmcgPSAmcjEwMF9wYWdlX2ZsaXBfcGVuZGluZywK IAl9LAogfTsKIApAQCAtNTg4LDYgKzU5Myw3IEBAIHN0YXRpYyBzdHJ1Y3QgcmFkZW9uX2FzaWMg cnM0MDBfYXNpYyA9IHsKIAl9LAogCS5wZmxpcCA9IHsKIAkJLnBhZ2VfZmxpcCA9ICZyMTAwX3Bh Z2VfZmxpcCwKKwkJLnBhZ2VfZmxpcF9wZW5kaW5nID0gJnIxMDBfcGFnZV9mbGlwX3BlbmRpbmcs CiAJfSwKIH07CiAKQEAgLTY1NSw2ICs2NjEsNyBAQCBzdGF0aWMgc3RydWN0IHJhZGVvbl9hc2lj IHJzNjAwX2FzaWMgPSB7CiAJfSwKIAkucGZsaXAgPSB7CiAJCS5wYWdlX2ZsaXAgPSAmcnM2MDBf cGFnZV9mbGlwLAorCQkucGFnZV9mbGlwX3BlbmRpbmcgPSAmcnM2MDBfcGFnZV9mbGlwX3BlbmRp bmcsCiAJfSwKIH07CiAKQEAgLTcyMiw2ICs3MjksNyBAQCBzdGF0aWMgc3RydWN0IHJhZGVvbl9h c2ljIHJzNjkwX2FzaWMgPSB7CiAJfSwKIAkucGZsaXAgPSB7CiAJCS5wYWdlX2ZsaXAgPSAmcnM2 MDBfcGFnZV9mbGlwLAorCQkucGFnZV9mbGlwX3BlbmRpbmcgPSAmcnM2MDBfcGFnZV9mbGlwX3Bl bmRpbmcsCiAJfSwKIH07CiAKQEAgLTc4Nyw2ICs3OTUsNyBAQCBzdGF0aWMgc3RydWN0IHJhZGVv bl9hc2ljIHJ2NTE1X2FzaWMgPSB7CiAJfSwKIAkucGZsaXAgPSB7CiAJCS5wYWdlX2ZsaXAgPSAm cnM2MDBfcGFnZV9mbGlwLAorCQkucGFnZV9mbGlwX3BlbmRpbmcgPSAmcnM2MDBfcGFnZV9mbGlw X3BlbmRpbmcsCiAJfSwKIH07CiAKQEAgLTg1Miw2ICs4NjEsNyBAQCBzdGF0aWMgc3RydWN0IHJh ZGVvbl9hc2ljIHI1MjBfYXNpYyA9IHsKIAl9LAogCS5wZmxpcCA9IHsKIAkJLnBhZ2VfZmxpcCA9 ICZyczYwMF9wYWdlX2ZsaXAsCisJCS5wYWdlX2ZsaXBfcGVuZGluZyA9ICZyczYwMF9wYWdlX2Zs aXBfcGVuZGluZywKIAl9LAogfTsKIApAQCAtOTQ5LDYgKzk1OSw3IEBAIHN0YXRpYyBzdHJ1Y3Qg cmFkZW9uX2FzaWMgcjYwMF9hc2ljID0gewogCX0sCiAJLnBmbGlwID0gewogCQkucGFnZV9mbGlw ID0gJnJzNjAwX3BhZ2VfZmxpcCwKKwkJLnBhZ2VfZmxpcF9wZW5kaW5nID0gJnJzNjAwX3BhZ2Vf ZmxpcF9wZW5kaW5nLAogCX0sCiB9OwogCkBAIC0xMDM4LDYgKzEwNDksNyBAQCBzdGF0aWMgc3Ry dWN0IHJhZGVvbl9hc2ljIHJ2Nnh4X2FzaWMgPSB7CiAJfSwKIAkucGZsaXAgPSB7CiAJCS5wYWdl X2ZsaXAgPSAmcnM2MDBfcGFnZV9mbGlwLAorCQkucGFnZV9mbGlwX3BlbmRpbmcgPSAmcnM2MDBf cGFnZV9mbGlwX3BlbmRpbmcsCiAJfSwKIH07CiAKQEAgLTExMjcsNiArMTEzOSw3IEBAIHN0YXRp YyBzdHJ1Y3QgcmFkZW9uX2FzaWMgcnM3ODBfYXNpYyA9IHsKIAl9LAogCS5wZmxpcCA9IHsKIAkJ LnBhZ2VfZmxpcCA9ICZyczYwMF9wYWdlX2ZsaXAsCisJCS5wYWdlX2ZsaXBfcGVuZGluZyA9ICZy czYwMF9wYWdlX2ZsaXBfcGVuZGluZywKIAl9LAogfTsKIApAQCAtMTIzMSw2ICsxMjQ0LDcgQEAg c3RhdGljIHN0cnVjdCByYWRlb25fYXNpYyBydjc3MF9hc2ljID0gewogCX0sCiAJLnBmbGlwID0g ewogCQkucGFnZV9mbGlwID0gJnJ2NzcwX3BhZ2VfZmxpcCwKKwkJLnBhZ2VfZmxpcF9wZW5kaW5n ID0gJnJ2NzcwX3BhZ2VfZmxpcF9wZW5kaW5nLAogCX0sCiB9OwogCkBAIC0xMzQ4LDYgKzEzNjIs NyBAQCBzdGF0aWMgc3RydWN0IHJhZGVvbl9hc2ljIGV2ZXJncmVlbl9hc2ljID0gewogCX0sCiAJ LnBmbGlwID0gewogCQkucGFnZV9mbGlwID0gJmV2ZXJncmVlbl9wYWdlX2ZsaXAsCisJCS5wYWdl X2ZsaXBfcGVuZGluZyA9ICZldmVyZ3JlZW5fcGFnZV9mbGlwX3BlbmRpbmcsCiAJfSwKIH07CiAK QEAgLTE0MzgsNiArMTQ1Myw3IEBAIHN0YXRpYyBzdHJ1Y3QgcmFkZW9uX2FzaWMgc3Vtb19hc2lj ID0gewogCX0sCiAJLnBmbGlwID0gewogCQkucGFnZV9mbGlwID0gJmV2ZXJncmVlbl9wYWdlX2Zs aXAsCisJCS5wYWdlX2ZsaXBfcGVuZGluZyA9ICZldmVyZ3JlZW5fcGFnZV9mbGlwX3BlbmRpbmcs CiAJfSwKIH07CiAKQEAgLTE1MjksNiArMTU0NSw3IEBAIHN0YXRpYyBzdHJ1Y3QgcmFkZW9uX2Fz aWMgYnRjX2FzaWMgPSB7CiAJfSwKIAkucGZsaXAgPSB7CiAJCS5wYWdlX2ZsaXAgPSAmZXZlcmdy ZWVuX3BhZ2VfZmxpcCwKKwkJLnBhZ2VfZmxpcF9wZW5kaW5nID0gJmV2ZXJncmVlbl9wYWdlX2Zs aXBfcGVuZGluZywKIAl9LAogfTsKIApAQCAtMTY3MSw2ICsxNjg4LDcgQEAgc3RhdGljIHN0cnVj dCByYWRlb25fYXNpYyBjYXltYW5fYXNpYyA9IHsKIAl9LAogCS5wZmxpcCA9IHsKIAkJLnBhZ2Vf ZmxpcCA9ICZldmVyZ3JlZW5fcGFnZV9mbGlwLAorCQkucGFnZV9mbGlwX3BlbmRpbmcgPSAmZXZl cmdyZWVuX3BhZ2VfZmxpcF9wZW5kaW5nLAogCX0sCiB9OwogCkBAIC0xNzcwLDYgKzE3ODgsNyBA QCBzdGF0aWMgc3RydWN0IHJhZGVvbl9hc2ljIHRyaW5pdHlfYXNpYyA9IHsKIAl9LAogCS5wZmxp cCA9IHsKIAkJLnBhZ2VfZmxpcCA9ICZldmVyZ3JlZW5fcGFnZV9mbGlwLAorCQkucGFnZV9mbGlw X3BlbmRpbmcgPSAmZXZlcmdyZWVuX3BhZ2VfZmxpcF9wZW5kaW5nLAogCX0sCiB9OwogCkBAIC0x ODk5LDYgKzE5MTgsNyBAQCBzdGF0aWMgc3RydWN0IHJhZGVvbl9hc2ljIHNpX2FzaWMgPSB7CiAJ fSwKIAkucGZsaXAgPSB7CiAJCS5wYWdlX2ZsaXAgPSAmZXZlcmdyZWVuX3BhZ2VfZmxpcCwKKwkJ LnBhZ2VfZmxpcF9wZW5kaW5nID0gJmV2ZXJncmVlbl9wYWdlX2ZsaXBfcGVuZGluZywKIAl9LAog fTsKIApAQCAtMjA2MCw2ICsyMDgwLDcgQEAgc3RhdGljIHN0cnVjdCByYWRlb25fYXNpYyBjaV9h c2ljID0gewogCX0sCiAJLnBmbGlwID0gewogCQkucGFnZV9mbGlwID0gJmV2ZXJncmVlbl9wYWdl X2ZsaXAsCisJCS5wYWdlX2ZsaXBfcGVuZGluZyA9ICZldmVyZ3JlZW5fcGFnZV9mbGlwX3BlbmRp bmcsCiAJfSwKIH07CiAKQEAgLTIxNjMsNiArMjE4NCw3IEBAIHN0YXRpYyBzdHJ1Y3QgcmFkZW9u X2FzaWMga3ZfYXNpYyA9IHsKIAl9LAogCS5wZmxpcCA9IHsKIAkJLnBhZ2VfZmxpcCA9ICZldmVy Z3JlZW5fcGFnZV9mbGlwLAorCQkucGFnZV9mbGlwX3BlbmRpbmcgPSAmZXZlcmdyZWVuX3BhZ2Vf ZmxpcF9wZW5kaW5nLAogCX0sCiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9hc2ljLmggYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hc2ljLmgK aW5kZXggOTUzNjA3ZC4uMGVhYjAxNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25fYXNpYy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2FzaWMu aApAQCAtMTM1LDcgKzEzNSw5IEBAIGV4dGVybiB2b2lkIHIxMDBfcG1fcHJlcGFyZShzdHJ1Y3Qg cmFkZW9uX2RldmljZSAqcmRldik7CiBleHRlcm4gdm9pZCByMTAwX3BtX2ZpbmlzaChzdHJ1Y3Qg cmFkZW9uX2RldmljZSAqcmRldik7CiBleHRlcm4gdm9pZCByMTAwX3BtX2luaXRfcHJvZmlsZShz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7CiBleHRlcm4gdm9pZCByMTAwX3BtX2dldF9keW5w bV9zdGF0ZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7Ci1leHRlcm4gdTMyIHIxMDBfcGFn ZV9mbGlwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0YywgdTY0IGNydGNfYmFz ZSk7CitleHRlcm4gdm9pZCByMTAwX3BhZ2VfZmxpcChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRl diwgaW50IGNydGMsCisJCQkgICB1NjQgY3J0Y19iYXNlKTsKK2V4dGVybiBib29sIHIxMDBfcGFn ZV9mbGlwX3BlbmRpbmcoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBjcnRjKTsKIGV4 dGVybiB2b2lkIHIxMDBfd2FpdF9mb3JfdmJsYW5rKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2 LCBpbnQgY3J0Yyk7CiBleHRlcm4gaW50IHIxMDBfbWNfd2FpdF9mb3JfaWRsZShzdHJ1Y3QgcmFk ZW9uX2RldmljZSAqcmRldik7CiAKQEAgLTIzOSw3ICsyNDEsOSBAQCB2b2lkIHJzNjAwX2hwZF9z ZXRfcG9sYXJpdHkoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCiBleHRlcm4gdm9pZCByczYw MF9wbV9taXNjKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KTsKIGV4dGVybiB2b2lkIHJzNjAw X3BtX3ByZXBhcmUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwogZXh0ZXJuIHZvaWQgcnM2 MDBfcG1fZmluaXNoKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KTsKLWV4dGVybiB1MzIgcnM2 MDBfcGFnZV9mbGlwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0YywgdTY0IGNy dGNfYmFzZSk7CitleHRlcm4gdm9pZCByczYwMF9wYWdlX2ZsaXAoc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYsIGludCBjcnRjLAorCQkJICAgIHU2NCBjcnRjX2Jhc2UpOworZXh0ZXJuIGJvb2wg cnM2MDBfcGFnZV9mbGlwX3BlbmRpbmcoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBj cnRjKTsKIHZvaWQgcnM2MDBfc2V0X3NhZmVfcmVnaXN0ZXJzKHN0cnVjdCByYWRlb25fZGV2aWNl ICpyZGV2KTsKIGV4dGVybiB2b2lkIGF2aXZvX3dhaXRfZm9yX3ZibGFuayhzdHJ1Y3QgcmFkZW9u X2RldmljZSAqcmRldiwgaW50IGNydGMpOwogZXh0ZXJuIGludCByczYwMF9tY193YWl0X2Zvcl9p ZGxlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KTsKQEAgLTQ0OCw3ICs0NTIsOCBAQCB2b2lk IHJ2NzcwX2Zpbmkoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwogaW50IHJ2NzcwX3N1c3Bl bmQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwogaW50IHJ2NzcwX3Jlc3VtZShzdHJ1Y3Qg cmFkZW9uX2RldmljZSAqcmRldik7CiB2b2lkIHJ2NzcwX3BtX21pc2Moc3RydWN0IHJhZGVvbl9k ZXZpY2UgKnJkZXYpOwotdTMyIHJ2NzcwX3BhZ2VfZmxpcChzdHJ1Y3QgcmFkZW9uX2RldmljZSAq cmRldiwgaW50IGNydGMsIHU2NCBjcnRjX2Jhc2UpOwordm9pZCBydjc3MF9wYWdlX2ZsaXAoc3Ry dWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBjcnRjLCB1NjQgY3J0Y19iYXNlKTsKK2Jvb2wg cnY3NzBfcGFnZV9mbGlwX3BlbmRpbmcoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBj cnRjKTsKIHZvaWQgcjcwMF92cmFtX2d0dF9sb2NhdGlvbihzdHJ1Y3QgcmFkZW9uX2RldmljZSAq cmRldiwgc3RydWN0IHJhZGVvbl9tYyAqbWMpOwogdm9pZCByNzAwX2NwX3N0b3Aoc3RydWN0IHJh ZGVvbl9kZXZpY2UgKnJkZXYpOwogdm9pZCByNzAwX2NwX2Zpbmkoc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYpOwpAQCAtNTE2LDcgKzUyMSw5IEBAIGV4dGVybiB2b2lkIHN1bW9fcG1faW5pdF9w cm9maWxlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KTsKIGV4dGVybiB2b2lkIGJ0Y19wbV9p bml0X3Byb2ZpbGUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwogaW50IHN1bW9fc2V0X3V2 ZF9jbG9ja3Moc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHUzMiB2Y2xrLCB1MzIgZGNsayk7 CiBpbnQgZXZlcmdyZWVuX3NldF91dmRfY2xvY2tzKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2 LCB1MzIgdmNsaywgdTMyIGRjbGspOwotZXh0ZXJuIHUzMiBldmVyZ3JlZW5fcGFnZV9mbGlwKHN0 cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0YywgdTY0IGNydGNfYmFzZSk7CitleHRl cm4gdm9pZCBldmVyZ3JlZW5fcGFnZV9mbGlwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBp bnQgY3J0YywKKwkJCQl1NjQgY3J0Y19iYXNlKTsKK2V4dGVybiBib29sIGV2ZXJncmVlbl9wYWdl X2ZsaXBfcGVuZGluZyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IGNydGMpOwogZXh0 ZXJuIHZvaWQgZGNlNF93YWl0X2Zvcl92Ymxhbmsoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYs IGludCBjcnRjKTsKIHZvaWQgZXZlcmdyZWVuX2Rpc2FibGVfaW50ZXJydXB0X3N0YXRlKHN0cnVj dCByYWRlb25fZGV2aWNlICpyZGV2KTsKIGludCBldmVyZ3JlZW5fbWNfd2FpdF9mb3JfaWRsZShz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9k aXNwbGF5LmMKaW5kZXggZDU5N2QwOC4uYzUyYzE4MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yYWRlb25fZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX2Rpc3BsYXkuYwpAQCAtMjk0LDcgKzI5NCw4IEBAIHZvaWQgcmFkZW9uX2NydGNfaGFu ZGxlX2ZsaXAoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBjcnRjX2lkKQogCS8qIE5l dyBwYWdlZmxpcCwgb3IganVzdCBjb21wbGV0aW9uIG9mIGEgcHJldmlvdXMgb25lPyAqLwogCWlm ICghcmFkZW9uX2NydGMtPmRlZmVycmVkX2ZsaXBfY29tcGxldGlvbikgewogCQkvKiBkbyB0aGUg ZmxpcCAobW1pbykgKi8KLQkJdXBkYXRlX3BlbmRpbmcgPSByYWRlb25fcGFnZV9mbGlwKHJkZXYs IGNydGNfaWQsIHdvcmstPm5ld19jcnRjX2Jhc2UpOworCQlyYWRlb25fcGFnZV9mbGlwKHJkZXYs IGNydGNfaWQsIHdvcmstPm5ld19jcnRjX2Jhc2UpOworCQl1cGRhdGVfcGVuZGluZyA9IHJhZGVv bl9wYWdlX2ZsaXBfcGVuZGluZyhyZGV2LCBjcnRjX2lkKTsKIAl9IGVsc2UgewogCQkvKiBUaGlz IGlzIGp1c3QgYSBjb21wbGV0aW9uIG9mIGEgZmxpcCBxdWV1ZWQgaW4gY3J0YwogCQkgKiBhdCBs YXN0IGludm9jYXRpb24uIE1ha2Ugc3VyZSB3ZSBnbyBkaXJlY3RseSB0bwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yczYwMC5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y czYwMC5jCmluZGV4IGUwMDViZDcuLjk5MjJlZTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcnM2MDAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JzNjAwLmMKQEAg LTEwOSw3ICsxMDksNyBAQCB2b2lkIGF2aXZvX3dhaXRfZm9yX3ZibGFuayhzdHJ1Y3QgcmFkZW9u X2RldmljZSAqcmRldiwgaW50IGNydGMpCiAJfQogfQogCi11MzIgcnM2MDBfcGFnZV9mbGlwKHN0 cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0Y19pZCwgdTY0IGNydGNfYmFzZSkKK3Zv aWQgcnM2MDBfcGFnZV9mbGlwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0Y19p ZCwgdTY0IGNydGNfYmFzZSkKIHsKIAlzdHJ1Y3QgcmFkZW9uX2NydGMgKnJhZGVvbl9jcnRjID0g cmRldi0+bW9kZV9pbmZvLmNydGNzW2NydGNfaWRdOwogCXUzMiB0bXAgPSBSUkVHMzIoQVZJVk9f RDFHUlBIX1VQREFURSArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNldCk7CkBAIC0xMzYsOSArMTM2 LDE1IEBAIHUzMiByczYwMF9wYWdlX2ZsaXAoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGlu dCBjcnRjX2lkLCB1NjQgY3J0Y19iYXNlKQogCS8qIFVubG9jayB0aGUgbG9jaywgc28gZG91Ymxl LWJ1ZmZlcmluZyBjYW4gdGFrZSBwbGFjZSBpbnNpZGUgdmJsYW5rICovCiAJdG1wICY9IH5BVklW T19EMUdSUEhfVVBEQVRFX0xPQ0s7CiAJV1JFRzMyKEFWSVZPX0QxR1JQSF9VUERBVEUgKyByYWRl b25fY3J0Yy0+Y3J0Y19vZmZzZXQsIHRtcCk7Cit9CisKK2Jvb2wgcnM2MDBfcGFnZV9mbGlwX3Bl bmRpbmcoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBjcnRjX2lkKQoreworCXN0cnVj dCByYWRlb25fY3J0YyAqcmFkZW9uX2NydGMgPSByZGV2LT5tb2RlX2luZm8uY3J0Y3NbY3J0Y19p ZF07CiAKIAkvKiBSZXR1cm4gY3VycmVudCB1cGRhdGVfcGVuZGluZyBzdGF0dXM6ICovCi0JcmV0 dXJuIFJSRUczMihBVklWT19EMUdSUEhfVVBEQVRFICsgcmFkZW9uX2NydGMtPmNydGNfb2Zmc2V0 KSAmIEFWSVZPX0QxR1JQSF9TVVJGQUNFX1VQREFURV9QRU5ESU5HOworCXJldHVybiAhIShSUkVH MzIoQVZJVk9fRDFHUlBIX1VQREFURSArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNldCkgJgorCQlB VklWT19EMUdSUEhfU1VSRkFDRV9VUERBVEVfUEVORElORyk7CiB9CiAKIHZvaWQgYXZpdm9fcHJv Z3JhbV9mbXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9ydjc3MC5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ydjc3MC5j CmluZGV4IGZlZjMxMDcuLjk3Yjc3NjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vcnY3NzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3J2NzcwLmMKQEAgLTgwMSw3 ICs4MDEsNyBAQCB1MzIgcnY3NzBfZ2V0X3hjbGsoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYp CiAJcmV0dXJuIHJlZmVyZW5jZV9jbG9jazsKIH0KIAotdTMyIHJ2NzcwX3BhZ2VfZmxpcChzdHJ1 Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IGNydGNfaWQsIHU2NCBjcnRjX2Jhc2UpCit2b2lk IHJ2NzcwX3BhZ2VfZmxpcChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IGNydGNfaWQs IHU2NCBjcnRjX2Jhc2UpCiB7CiAJc3RydWN0IHJhZGVvbl9jcnRjICpyYWRlb25fY3J0YyA9IHJk ZXYtPm1vZGVfaW5mby5jcnRjc1tjcnRjX2lkXTsKIAl1MzIgdG1wID0gUlJFRzMyKEFWSVZPX0Qx R1JQSF9VUERBVEUgKyByYWRlb25fY3J0Yy0+Y3J0Y19vZmZzZXQpOwpAQCAtODM1LDkgKzgzNSwx NSBAQCB1MzIgcnY3NzBfcGFnZV9mbGlwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQg Y3J0Y19pZCwgdTY0IGNydGNfYmFzZSkKIAkvKiBVbmxvY2sgdGhlIGxvY2ssIHNvIGRvdWJsZS1i dWZmZXJpbmcgY2FuIHRha2UgcGxhY2UgaW5zaWRlIHZibGFuayAqLwogCXRtcCAmPSB+QVZJVk9f RDFHUlBIX1VQREFURV9MT0NLOwogCVdSRUczMihBVklWT19EMUdSUEhfVVBEQVRFICsgcmFkZW9u X2NydGMtPmNydGNfb2Zmc2V0LCB0bXApOworfQorCitib29sIHJ2NzcwX3BhZ2VfZmxpcF9wZW5k aW5nKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0Y19pZCkKK3sKKwlzdHJ1Y3Qg cmFkZW9uX2NydGMgKnJhZGVvbl9jcnRjID0gcmRldi0+bW9kZV9pbmZvLmNydGNzW2NydGNfaWRd OwogCiAJLyogUmV0dXJuIGN1cnJlbnQgdXBkYXRlX3BlbmRpbmcgc3RhdHVzOiAqLwotCXJldHVy biBSUkVHMzIoQVZJVk9fRDFHUlBIX1VQREFURSArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNldCkg JiBBVklWT19EMUdSUEhfU1VSRkFDRV9VUERBVEVfUEVORElORzsKKwlyZXR1cm4gISEoUlJFRzMy KEFWSVZPX0QxR1JQSF9VUERBVEUgKyByYWRlb25fY3J0Yy0+Y3J0Y19vZmZzZXQpICYKKwkJQVZJ Vk9fRDFHUlBIX1NVUkZBQ0VfVVBEQVRFX1BFTkRJTkcpOwogfQogCiAvKiBnZXQgdGVtcGVyYXR1 cmUgaW4gbWlsbGlkZWdyZWVzICovCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK