From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2 6/6] drm/i915: Add a cursor hack to allow converting legacy page flip to atomic, v3. Date: Mon, 12 Dec 2016 11:34:55 +0100 Message-ID: References: <1481204729-9058-1-git-send-email-maarten.lankhorst@linux.intel.com> <1481204729-9058-7-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Matthew Auld Cc: Intel Graphics Development , ML dri-devel List-Id: intel-gfx@lists.freedesktop.org RG8gc29tZXRoaW5nIHNpbWlsYXIgdG8gdmM0LCBvbmx5IGFsbG93IHVwZGF0aW5nIHRoZSBjdXJz b3Igc3RhdGUKaW4tcGxhY2UgdGhyb3VnaCBhIGZhc3RwYXRoIHdoZW4gdGhlIHdhdGVybWFya3Mg YXJlIHVuYWZmZWN0ZWQuIFRoaXMKd2lsbCBhbGxvdyBjdXJzb3IgbW92ZW1lbnQgdG8gYmUgc21v b3RoLCBidXQgY2hhbmdpbmcgY3Vyc29yIHNpemUgb3IKc2hvd2luZy9oaWRpbmcgY3Vyc29yIHdp bGwgc3RpbGwgZmFsbCBiYWNrIHNvIHdhdGVybWFya3MgY2FuIGJlIHVwZGF0ZWQuCgpPbmx5IG1v dmluZyBhbmQgY2hhbmdpbmcgZmIgaXMgYWxsb3dlZC4KCkNoYW5nZXMgc2luY2UgdjE6Ci0gU2V0 IHBhZ2UgZmxpcCB0byBhbHdheXNfdW51c2VkIGZvciB0cnlib3QuCi0gQ29weSBmZW5jZSBjb3Jy ZWN0bHksIGlnbm9yZSBwbGFuZV9zdGF0ZS0+c3RhdGUsIHNob3VsZCBiZSBOVUxMLgotIENoZWNr IGNydGNfc3RhdGUgZm9yICFhY3RpdmUgYW5kIG1vZGVzZXQsIGdvIHRvIHNsb3dwYXRoIGlmIHRo ZSBjYXNlLgpDaGFuZ2VzIHNpbmNlIHYyOgotIE1ha2UgZXJyb3IgaGFuZGxpbmcgd29yayBjb3Jy ZWN0bHkuIChNYXR0aGV3IEF1bGQpCgpTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8 bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2F0b21pY19wbGFuZS5jIHwgIDQ3ICsrKysrKystLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgICAgICB8IDEzMiArKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAgICAgIHwgICAy ICsKIDMgZmlsZXMgY2hhbmdlZCwgMTYzIGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pY19wbGFuZS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljX3BsYW5lLmMKaW5kZXggZGJlOWZiNDFh ZTUzLi42MGQ3NWNlOGE5ODkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2F0b21pY19wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pY19w bGFuZS5jCkBAIC0xMDMsMzYgKzEwMywyNCBAQCBpbnRlbF9wbGFuZV9kZXN0cm95X3N0YXRlKHN0 cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCWRybV9hdG9taWNfaGVscGVyX3BsYW5lX2Rlc3Ryb3lf c3RhdGUocGxhbmUsIHN0YXRlKTsKIH0KIAotc3RhdGljIGludCBpbnRlbF9wbGFuZV9hdG9taWNf Y2hlY2soc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCi0JCQkJICAgIHN0cnVjdCBkcm1fcGxhbmVf c3RhdGUgKnN0YXRlKQoraW50IGludGVsX3BsYW5lX2F0b21pY19jaGVja193aXRoX3N0YXRlKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAorCQkJCQlzdHJ1Y3QgaW50ZWxfcGxh bmVfc3RhdGUgKmludGVsX3N0YXRlKQogeworCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lID0gaW50 ZWxfc3RhdGUtPmJhc2UucGxhbmU7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShwbGFuZS0+ZGV2KTsKLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBzdGF0ZS0+ Y3J0YzsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YzsKLQlzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKKwlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSA9ICZp bnRlbF9zdGF0ZS0+YmFzZTsKIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lID0gdG9f aW50ZWxfcGxhbmUocGxhbmUpOwotCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqaW50ZWxfc3Rh dGUgPSB0b19pbnRlbF9wbGFuZV9zdGF0ZShzdGF0ZSk7Ci0Jc3RydWN0IGRybV9jcnRjX3N0YXRl ICpkcm1fY3J0Y19zdGF0ZTsKIAlpbnQgcmV0OwogCi0JY3J0YyA9IGNydGMgPyBjcnRjIDogcGxh bmUtPnN0YXRlLT5jcnRjOwotCWludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwotCiAJ LyoKIAkgKiBCb3RoIGNydGMgYW5kIHBsYW5lLT5jcnRjIGNvdWxkIGJlIE5VTEwgaWYgd2UncmUg dXBkYXRpbmcgYQogCSAqIHByb3BlcnR5IHdoaWxlIHRoZSBwbGFuZSBpcyBkaXNhYmxlZC4gIFdl IGRvbid0IGFjdHVhbGx5IGhhdmUKIAkgKiBhbnl0aGluZyBkcml2ZXItc3BlY2lmaWMgd2UgbmVl ZCB0byB0ZXN0IGluIHRoYXQgY2FzZSwgc28KIAkgKiBqdXN0IHJldHVybiBzdWNjZXNzLgogCSAq LwotCWlmICghY3J0YykKKwlpZiAoIWludGVsX3N0YXRlLT5iYXNlLmNydGMgJiYgIXBsYW5lLT5z dGF0ZS0+Y3J0YykKIAkJcmV0dXJuIDA7CiAKLQlkcm1fY3J0Y19zdGF0ZSA9IGRybV9hdG9taWNf Z2V0X2V4aXN0aW5nX2NydGNfc3RhdGUoc3RhdGUtPnN0YXRlLCBjcnRjKTsKLQlpZiAoV0FSTl9P TighZHJtX2NydGNfc3RhdGUpKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWNydGNfc3RhdGUgPSB0 b19pbnRlbF9jcnRjX3N0YXRlKGRybV9jcnRjX3N0YXRlKTsKLQogCS8qIENsaXAgYWxsIHBsYW5l cyB0byBDUlRDIHNpemUsIG9yIDB4MCBpZiBDUlRDIGlzIGRpc2FibGVkICovCiAJaW50ZWxfc3Rh dGUtPmNsaXAueDEgPSAwOwogCWludGVsX3N0YXRlLT5jbGlwLnkxID0gMDsKQEAgLTE4NCw2ICsx NzIsMzEgQEAgc3RhdGljIGludCBpbnRlbF9wbGFuZV9hdG9taWNfY2hlY2soc3RydWN0IGRybV9w bGFuZSAqcGxhbmUsCiAJcmV0dXJuIGludGVsX3BsYW5lX2F0b21pY19jYWxjX2NoYW5nZXMoJmNy dGNfc3RhdGUtPmJhc2UsIHN0YXRlKTsKIH0KIAorc3RhdGljIGludCBpbnRlbF9wbGFuZV9hdG9t aWNfY2hlY2soc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCisJCQkJICAgIHN0cnVjdCBkcm1fcGxh bmVfc3RhdGUgKnN0YXRlKQoreworCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IHN0YXRlLT5jcnRj OworCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqZHJtX2NydGNfc3RhdGU7CisKKwljcnRjID0gY3J0 YyA/IGNydGMgOiBwbGFuZS0+c3RhdGUtPmNydGM7CisKKwkvKgorCSAqIEJvdGggY3J0YyBhbmQg cGxhbmUtPmNydGMgY291bGQgYmUgTlVMTCBpZiB3ZSdyZSB1cGRhdGluZyBhCisJICogcHJvcGVy dHkgd2hpbGUgdGhlIHBsYW5lIGlzIGRpc2FibGVkLiAgV2UgZG9uJ3QgYWN0dWFsbHkgaGF2ZQor CSAqIGFueXRoaW5nIGRyaXZlci1zcGVjaWZpYyB3ZSBuZWVkIHRvIHRlc3QgaW4gdGhhdCBjYXNl LCBzbworCSAqIGp1c3QgcmV0dXJuIHN1Y2Nlc3MuCisJICovCisJaWYgKCFjcnRjKQorCQlyZXR1 cm4gMDsKKworCWRybV9jcnRjX3N0YXRlID0gZHJtX2F0b21pY19nZXRfZXhpc3RpbmdfY3J0Y19z dGF0ZShzdGF0ZS0+c3RhdGUsIGNydGMpOworCWlmIChXQVJOX09OKCFkcm1fY3J0Y19zdGF0ZSkp CisJCXJldHVybiAtRUlOVkFMOworCisJcmV0dXJuIGludGVsX3BsYW5lX2F0b21pY19jaGVja193 aXRoX3N0YXRlKHRvX2ludGVsX2NydGNfc3RhdGUoZHJtX2NydGNfc3RhdGUpLAorCQkJCQkJICAg dG9faW50ZWxfcGxhbmVfc3RhdGUoc3RhdGUpKTsKK30KKwogc3RhdGljIHZvaWQgaW50ZWxfcGxh bmVfYXRvbWljX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCQkgICAgICBzdHJ1 Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfc3RhdGUpCiB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKaW5kZXggOWVhZjFlNWJkYWU5Li41NTY4ZWNhYzJlZGMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTE1MDI4LDYgKzE1MDI4LDEzNiBAQCBjb25zdCBzdHJ1 Y3QgZHJtX3BsYW5lX2Z1bmNzIGludGVsX3BsYW5lX2Z1bmNzID0gewogCS5hdG9taWNfZGVzdHJv eV9zdGF0ZSA9IGludGVsX3BsYW5lX2Rlc3Ryb3lfc3RhdGUsCiB9OwogCitzdGF0aWMgaW50Citp bnRlbF9sZWdhY3lfY3Vyc29yX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKKwkJCSAg IHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKKwkJCSAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZi LAorCQkJICAgaW50IGNydGNfeCwgaW50IGNydGNfeSwKKwkJCSAgIHVuc2lnbmVkIGludCBjcnRj X3csIHVuc2lnbmVkIGludCBjcnRjX2gsCisJCQkgICB1aW50MzJfdCBzcmNfeCwgdWludDMyX3Qg c3JjX3ksCisJCQkgICB1aW50MzJfdCBzcmNfdywgdWludDMyX3Qgc3JjX2gpCit7CisJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5kZXYpOworCWludCBy ZXQ7CisJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xkX3BsYW5lX3N0YXRlLCAqbmV3X3BsYW5l X3N0YXRlOworCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFu ZShwbGFuZSk7CisJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqb2xkX2ZiOworCXN0cnVjdCBkcm1f Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9IGNydGMtPnN0YXRlOworCisJLyoKKwkgKiBXaGVuIGNy dGMgaXMgaW5hY3RpdmUgb3IgdGhlcmUgaXMgYSBtb2Rlc2V0IHBlbmRpbmcsCisJICogd2FpdCBm b3IgaXQgdG8gY29tcGxldGUgaW4gdGhlIHNsb3dwYXRoCisJICovCisJaWYgKCFjcnRjX3N0YXRl LT5hY3RpdmUgfHwgbmVlZHNfbW9kZXNldChjcnRjX3N0YXRlKSB8fAorCSAgICB0b19pbnRlbF9j cnRjX3N0YXRlKGNydGNfc3RhdGUpLT51cGRhdGVfcGlwZSkKKwkJZ290byBzbG93OworCisJb2xk X3BsYW5lX3N0YXRlID0gcGxhbmUtPnN0YXRlOworCisJLyoKKwkgKiBJZiBhbnkgcGFyYW1ldGVy cyBjaGFuZ2UgdGhhdCBtYXkgYWZmZWN0IHdhdGVybWFya3MsCisJICogdGFrZSB0aGUgc2xvd3Bh dGguIE9ubHkgY2hhbmdpbmcgZmIgb3IgcG9zaXRpb24gc2hvdWxkIGJlCisJICogaW4gdGhlIGZh c3RwYXRoLgorCSAqLworCWlmIChvbGRfcGxhbmVfc3RhdGUtPmNydGMgIT0gY3J0YyB8fAorCSAg ICBvbGRfcGxhbmVfc3RhdGUtPnNyY193ICE9IHNyY193IHx8CisJICAgIG9sZF9wbGFuZV9zdGF0 ZS0+c3JjX2ggIT0gc3JjX2ggfHwKKwkgICAgb2xkX3BsYW5lX3N0YXRlLT5jcnRjX3cgIT0gY3J0 Y193IHx8CisJICAgIG9sZF9wbGFuZV9zdGF0ZS0+Y3J0Y19oICE9IGNydGNfaCB8fAorCSAgICAh b2xkX3BsYW5lX3N0YXRlLT52aXNpYmxlIHx8CisJICAgIG9sZF9wbGFuZV9zdGF0ZS0+ZmItPm1v ZGlmaWVyICE9IGZiLT5tb2RpZmllcikKKwkJZ290byBzbG93OworCisJbmV3X3BsYW5lX3N0YXRl ID0gaW50ZWxfcGxhbmVfZHVwbGljYXRlX3N0YXRlKHBsYW5lKTsKKwlpZiAoIW5ld19wbGFuZV9z dGF0ZSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlkcm1fYXRvbWljX3NldF9mYl9mb3JfcGxhbmUo bmV3X3BsYW5lX3N0YXRlLCBmYik7CisKKwluZXdfcGxhbmVfc3RhdGUtPnNyY194ID0gc3JjX3g7 CisJbmV3X3BsYW5lX3N0YXRlLT5zcmNfeSA9IHNyY195OworCW5ld19wbGFuZV9zdGF0ZS0+c3Jj X3cgPSBzcmNfdzsKKwluZXdfcGxhbmVfc3RhdGUtPnNyY19oID0gc3JjX2g7CisJbmV3X3BsYW5l X3N0YXRlLT5jcnRjX3ggPSBjcnRjX3g7CisJbmV3X3BsYW5lX3N0YXRlLT5jcnRjX3kgPSBjcnRj X3k7CisJbmV3X3BsYW5lX3N0YXRlLT5jcnRjX3cgPSBjcnRjX3c7CisJbmV3X3BsYW5lX3N0YXRl LT5jcnRjX2ggPSBjcnRjX2g7CisKKwlyZXQgPSBpbnRlbF9wbGFuZV9hdG9taWNfY2hlY2tfd2l0 aF9zdGF0ZSh0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKSwKKwkJCQkJCSAgdG9faW50 ZWxfcGxhbmVfc3RhdGUobmV3X3BsYW5lX3N0YXRlKSk7CisJaWYgKHJldCkKKwkJZ290byBvdXRf ZnJlZTsKKworCS8qIFZpc2liaWxpdHkgY2hhbmdlZCwgbXVzdCB0YWtlIHNsb3dwYXRoLiAqLwor CWlmICghbmV3X3BsYW5lX3N0YXRlLT52aXNpYmxlKQorCQlnb3RvIHNsb3dfZnJlZTsKKworCXJl dCA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgp OworCWlmIChyZXQpCisJCWdvdG8gb3V0X2ZyZWU7CisKKwlpZiAoSU5URUxfSU5GTyhkZXZfcHJp diktPmN1cnNvcl9uZWVkc19waHlzaWNhbCkgeworCQlpbnQgYWxpZ24gPSBJU19JODMwKGRldl9w cml2KSA/IDE2ICogMTAyNCA6IDI1NjsKKworCQlyZXQgPSBpOTE1X2dlbV9vYmplY3RfYXR0YWNo X3BoeXMoaW50ZWxfZmJfb2JqKGZiKSwgYWxpZ24pOworCQlpZiAocmV0KSB7CisJCQlEUk1fREVC VUdfS01TKCJmYWlsZWQgdG8gYXR0YWNoIHBoeXMgb2JqZWN0XG4iKTsKKwkJCWdvdG8gb3V0X3Vu bG9jazsKKwkJfQorCX0gZWxzZSB7CisJCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOworCisJCXZtYSA9 IGludGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2JqKGZiLCBuZXdfcGxhbmVfc3RhdGUtPnJvdGF0aW9u KTsKKwkJaWYgKElTX0VSUih2bWEpKSB7CisJCQlEUk1fREVCVUdfS01TKCJmYWlsZWQgdG8gcGlu IG9iamVjdFxuIik7CisKKwkJCXJldCA9IFBUUl9FUlIodm1hKTsKKwkJCWdvdG8gb3V0X3VubG9j azsKKwkJfQorCX0KKworCW9sZF9mYiA9IG9sZF9wbGFuZV9zdGF0ZS0+ZmI7CisKKwlpOTE1X2dl bV90cmFja19mYihpbnRlbF9mYl9vYmoob2xkX2ZiKSwgaW50ZWxfZmJfb2JqKGZiKSwKKwkJCSAg aW50ZWxfcGxhbmUtPmZyb250YnVmZmVyX2JpdCk7CisKKwkvKiBTd2FwIHBsYW5lIHN0YXRlICov CisJbmV3X3BsYW5lX3N0YXRlLT5mZW5jZSA9IG9sZF9wbGFuZV9zdGF0ZS0+ZmVuY2U7CisJKnRv X2ludGVsX3BsYW5lX3N0YXRlKG9sZF9wbGFuZV9zdGF0ZSkgPSAqdG9faW50ZWxfcGxhbmVfc3Rh dGUobmV3X3BsYW5lX3N0YXRlKTsKKwluZXdfcGxhbmVfc3RhdGUtPmZlbmNlID0gTlVMTDsKKwlu ZXdfcGxhbmVfc3RhdGUtPmZiID0gb2xkX2ZiOworCisJaW50ZWxfcGxhbmUtPnVwZGF0ZV9wbGFu ZShwbGFuZSwKKwkJCQkgIHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpLAorCQkJCSAg dG9faW50ZWxfcGxhbmVfc3RhdGUocGxhbmUtPnN0YXRlKSk7CisKKwlpbnRlbF9jbGVhbnVwX3Bs YW5lX2ZiKHBsYW5lLCBuZXdfcGxhbmVfc3RhdGUpOworCitvdXRfdW5sb2NrOgorCW11dGV4X3Vu bG9jaygmZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOworb3V0X2ZyZWU6CisJaW50ZWxfcGxh bmVfZGVzdHJveV9zdGF0ZShwbGFuZSwgbmV3X3BsYW5lX3N0YXRlKTsKKwlyZXR1cm4gcmV0Owor CitzbG93X2ZyZWU6CisJaW50ZWxfcGxhbmVfZGVzdHJveV9zdGF0ZShwbGFuZSwgbmV3X3BsYW5l X3N0YXRlKTsKK3Nsb3c6CisJcmV0dXJuIGRybV9hdG9taWNfaGVscGVyX3VwZGF0ZV9wbGFuZShw bGFuZSwgY3J0YywgZmIsCisJCQkJCSAgICAgIGNydGNfeCwgY3J0Y195LCBjcnRjX3csIGNydGNf aCwKKwkJCQkJICAgICAgc3JjX3gsIHNyY195LCBzcmNfdywgc3JjX2gpOworfQorCitzdGF0aWMg Y29uc3Qgc3RydWN0IGRybV9wbGFuZV9mdW5jcyBpbnRlbF9jdXJzb3JfcGxhbmVfZnVuY3MgPSB7 CisJLnVwZGF0ZV9wbGFuZSA9IGludGVsX2xlZ2FjeV9jdXJzb3JfdXBkYXRlLAorCS5kaXNhYmxl X3BsYW5lID0gZHJtX2F0b21pY19oZWxwZXJfZGlzYWJsZV9wbGFuZSwKKwkuZGVzdHJveSA9IGlu dGVsX3BsYW5lX2Rlc3Ryb3ksCisJLnNldF9wcm9wZXJ0eSA9IGRybV9hdG9taWNfaGVscGVyX3Bs YW5lX3NldF9wcm9wZXJ0eSwKKwkuYXRvbWljX2dldF9wcm9wZXJ0eSA9IGludGVsX3BsYW5lX2F0 b21pY19nZXRfcHJvcGVydHksCisJLmF0b21pY19zZXRfcHJvcGVydHkgPSBpbnRlbF9wbGFuZV9h dG9taWNfc2V0X3Byb3BlcnR5LAorCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlID0gaW50ZWxfcGxh bmVfZHVwbGljYXRlX3N0YXRlLAorCS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9IGludGVsX3BsYW5l X2Rlc3Ryb3lfc3RhdGUsCit9OworCiBzdGF0aWMgc3RydWN0IGludGVsX3BsYW5lICoKIGludGVs X3ByaW1hcnlfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwg ZW51bSBwaXBlIHBpcGUpCiB7CkBAIC0xNTI3NCw3ICsxNTQwNCw3IEBAIGludGVsX2N1cnNvcl9w bGFuZV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBpcGUg cGlwZSkKIAljdXJzb3ItPmRpc2FibGVfcGxhbmUgPSBpbnRlbF9kaXNhYmxlX2N1cnNvcl9wbGFu ZTsKIAogCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdCgmZGV2X3ByaXYtPmRybSwgJmN1 cnNvci0+YmFzZSwKLQkJCQkgICAgICAgMCwgJmludGVsX3BsYW5lX2Z1bmNzLAorCQkJCSAgICAg ICAwLCAmaW50ZWxfY3Vyc29yX3BsYW5lX2Z1bmNzLAogCQkJCSAgICAgICBpbnRlbF9jdXJzb3Jf Zm9ybWF0cywKIAkJCQkgICAgICAgQVJSQVlfU0laRShpbnRlbF9jdXJzb3JfZm9ybWF0cyksCiAJ CQkJICAgICAgIERSTV9QTEFORV9UWVBFX0NVUlNPUiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK aW5kZXggOGY0ZGRjYTBmNTIxLi44YjZmMzk1MDZkNDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oCkBAIC0xODQ0LDYgKzE4NDQsOCBAQCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICppbnRlbF9w bGFuZV9kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOwogdm9pZCBpbnRl bF9wbGFuZV9kZXN0cm95X3N0YXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJICAgICAg IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKTsKIGV4dGVybiBjb25zdCBzdHJ1Y3QgZHJt X3BsYW5lX2hlbHBlcl9mdW5jcyBpbnRlbF9wbGFuZV9oZWxwZXJfZnVuY3M7CitpbnQgaW50ZWxf cGxhbmVfYXRvbWljX2NoZWNrX3dpdGhfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUsCisJCQkJCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqaW50ZWxfc3RhdGUpOwog CiAvKiBpbnRlbF9jb2xvci5jICovCiB2b2lkIGludGVsX2NvbG9yX2luaXQoc3RydWN0IGRybV9j cnRjICpjcnRjKTsKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWwK