From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 07/24] drm/i915: Introduce intel_atomic_get_plane_state_after_check() Date: Fri, 4 Oct 2019 13:34:57 +0200 Message-ID: <20191004113514.17064-8-maarten.lankhorst@linux.intel.com> References: <20191004113514.17064-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 152FF6EB35 for ; Fri, 4 Oct 2019 11:35:22 +0000 (UTC) In-Reply-To: <20191004113514.17064-1-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VXNlIHRoaXMgaW4gYWxsIHRoZSBwbGFjZXMgd2hlcmUgd2UgdHJ5IHRvIGFjcXVpcmUgcGxhbmVz IGFmdGVyIHRoZSBwbGFuZXMKYXRvbWljX2NoZWNrKCkuCgpJbiBjYXNlIG9mIGludGVsX21vZGVz ZXRfYWxsX3BpcGVzKCkgdGhpcyBpcyBub3QgeWV0IGRvbmUgYWZ0ZXIgYXRvbWljX2NoZWNrLApi dXQgc2VlbXMgbGlrZSBpdCB3aWxsIGJlIGluIHRoZSBmdXR1cmUuIFRvIGFkZCBzb21lIHBhcmFu b2lhLCBhZGQgYWxsIHBsYW5lcwpyYXRoZXIgdGhhbiBhY3RpdmUgcGxhbmVzLCBiZWNhdXNlIG9m IGJpZ2pvaW5lciBhbmQgcGxhbmFyIFlVViBzdXBwb3J0IGhhdmluZwpleHRyYSBwbGFuZXMgb3V0 c2lkZSBvZiB0aGUgY29yZSdzIHZpZXcgdGhhdCB3b3VsZG4ndCBiZSBhZGRlZCBvdGhlcndpc2Uu CgpTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGlu dXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRv bWljLmMgICB8IDQxICsrKysrKysrKy0tLS0tLS0tLS0KIC4uLi9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9hdG9taWNfcGxhbmUuYyB8IDE5ICsrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9jZGNsay5jICAgIHwgMTUgKysrKy0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jICAgIHwgIDcgKystLQogLi4uL2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oICAgIHwgIDYgKysrCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wbS5jICAgICAgICAgICAgICAgfCAxNCArKysrLS0tCiA2IGZpbGVzIGNoYW5n ZWQsIDY2IGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jCmluZGV4IGM1YTU1MmE2OTc1Mi4uZTZjYjg1ZDQx YzhkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21p Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMKQEAg LTMxMywxMyArMzEzLDEwIEBAIGludCBpbnRlbF9hdG9taWNfc2V0dXBfc2NhbGVycyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkgICAgICAgc3RydWN0IGludGVsX2NydGMg KmludGVsX2NydGMsCiAJCQkgICAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpCiB7Ci0Jc3RydWN0IGRybV9wbGFuZSAqcGxhbmUgPSBOVUxMOwotCXN0cnVjdCBpbnRlbF9w bGFuZSAqaW50ZWxfcGxhbmU7Ci0Jc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0 ZSA9IE5VTEw7CiAJc3RydWN0IGludGVsX2NydGNfc2NhbGVyX3N0YXRlICpzY2FsZXJfc3RhdGUg PQogCQkmY3J0Y19zdGF0ZS0+c2NhbGVyX3N0YXRlOwogCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpkcm1fc3RhdGUgPSBjcnRjX3N0YXRlLT5iYXNlLnN0YXRlOwotCXN0cnVjdCBpbnRlbF9hdG9t aWNfc3RhdGUgKmludGVsX3N0YXRlID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKGRybV9zdGF0ZSk7 CisJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUgPSB0b19pbnRlbF9hdG9taWNfc3Rh dGUoZHJtX3N0YXRlKTsKIAlpbnQgbnVtX3NjYWxlcnNfbmVlZDsKIAlpbnQgaTsKIApAQCAtMzQ2 LDYgKzM0Myw3IEBAIGludCBpbnRlbF9hdG9taWNfc2V0dXBfc2NhbGVycyhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAkvKiB3YWxrdGhyb3VnaCBzY2FsZXJfdXNlcnMgYml0 cyBhbmQgc3RhcnQgYXNzaWduaW5nIHNjYWxlcnMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9m KHNjYWxlcl9zdGF0ZS0+c2NhbGVyX3VzZXJzKSAqIDg7IGkrKykgeworCQlzdHJ1Y3QgaW50ZWxf cGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlID0gTlVMTDsKIAkJaW50ICpzY2FsZXJfaWQ7CiAJCWNv bnN0IGNoYXIgKm5hbWU7CiAJCWludCBpZHg7CkBAIC0zNjEsMTkgKzM1OSwxNiBAQCBpbnQgaW50 ZWxfYXRvbWljX3NldHVwX3NjYWxlcnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAogCQkJLyogcGFuZWwgZml0dGVyIGNhc2U6IGFzc2lnbiBhcyBhIGNydGMgc2NhbGVyICovCiAJ CQlzY2FsZXJfaWQgPSAmc2NhbGVyX3N0YXRlLT5zY2FsZXJfaWQ7CiAJCX0gZWxzZSB7Ci0JCQlu YW1lID0gIlBMQU5FIjsKKwkJCXN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmU7CiAKIAkJCS8qIHBs YW5lIHNjYWxlciBjYXNlOiBhc3NpZ24gYXMgYSBwbGFuZSBzY2FsZXIgKi8KIAkJCS8qIGZpbmQg dGhlIHBsYW5lIHRoYXQgc2V0IHRoZSBiaXQgYXMgc2NhbGVyX3VzZXIgKi8KLQkJCXBsYW5lID0g ZHJtX3N0YXRlLT5wbGFuZXNbaV0ucHRyOwogCiAJCQkvKgogCQkJICogdG8gZW5hYmxlL2Rpc2Fi bGUgaHEgbW9kZSwgYWRkIHBsYW5lcyB0aGF0IGFyZSB1c2luZyBzY2FsZXIKIAkJCSAqIGludG8g dGhpcyB0cmFuc2FjdGlvbgogCQkJICovCi0JCQlpZiAoIXBsYW5lKSB7Ci0JCQkJc3RydWN0IGRy bV9wbGFuZV9zdGF0ZSAqc3RhdGU7Ci0KKwkJCWlmICghZHJtX3N0YXRlLT5wbGFuZXNbaV0ucHRy KSB7CiAJCQkJLyoKIAkJCQkgKiBHTEsrIHNjYWxlcnMgZG9uJ3QgaGF2ZSBhIEhRIG1vZGUgc28g aXQKIAkJCQkgKiBpc24ndCBuZWNlc3NhcnkgdG8gY2hhbmdlIGJldHdlZW4gSFEgYW5kIGR5biBt b2RlCkBAIC0zODIsMjQgKzM3NywyOCBAQCBpbnQgaW50ZWxfYXRvbWljX3NldHVwX3NjYWxlcnMo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCWlmIChJTlRFTF9HRU4oZGV2 X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQogCQkJCQljb250aW51ZTsK IAotCQkJCXBsYW5lID0gZHJtX3BsYW5lX2Zyb21faW5kZXgoJmRldl9wcml2LT5kcm0sIGkpOwot CQkJCXN0YXRlID0gZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUoZHJtX3N0YXRlLCBwbGFuZSk7 Ci0JCQkJaWYgKElTX0VSUihzdGF0ZSkpIHsKLQkJCQkJRFJNX0RFQlVHX0tNUygiRmFpbGVkIHRv IGFkZCBbUExBTkU6JWRdIHRvIGRybV9zdGF0ZVxuIiwKLQkJCQkJCXBsYW5lLT5iYXNlLmlkKTsK LQkJCQkJcmV0dXJuIFBUUl9FUlIoc3RhdGUpOworCQkJCXBsYW5lID0gdG9faW50ZWxfcGxhbmUo ZHJtX3BsYW5lX2Zyb21faW5kZXgoJmRldl9wcml2LT5kcm0sIGkpKTsKKwkJCQlwbGFuZV9zdGF0 ZSA9CisJCQkJCWludGVsX2F0b21pY19nZXRfcGxhbmVfc3RhdGVfYWZ0ZXJfY2hlY2soc3RhdGUs CisJCQkJCQkJCQkJIGNydGNfc3RhdGUsCisJCQkJCQkJCQkJIHBsYW5lKTsKKwkJCQlpZiAoSVNf RVJSKHBsYW5lX3N0YXRlKSkgeworCQkJCQlEUk1fREVCVUdfS01TKCJGYWlsZWQgdG8gYWRkIFtQ TEFORTolZF0gdG8gZHJtX3N0YXRlOiAlbGlcbiIsCisJCQkJCQlwbGFuZS0+YmFzZS5iYXNlLmlk LCBQVFJfRVJSKHBsYW5lX3N0YXRlKSk7CisJCQkJCXJldHVybiBQVFJfRVJSKHBsYW5lX3N0YXRl KTsKIAkJCQl9CisJCQl9IGVsc2UgeworCQkJCXBsYW5lID0gdG9faW50ZWxfcGxhbmUoZHJtX3N0 YXRlLT5wbGFuZXNbaV0ucHRyKTsKKwkJCQlwbGFuZV9zdGF0ZSA9IGludGVsX2F0b21pY19nZXRf bmV3X3BsYW5lX3N0YXRlKHN0YXRlLAorCQkJCQkJCQkJICAgICAgIHBsYW5lKTsKIAkJCX0KIAot CQkJaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSk7Ci0JCQlpZHggPSBwbGFuZS0+ YmFzZS5pZDsKLQogCQkJLyogcGxhbmUgb24gZGlmZmVyZW50IGNydGMgY2Fubm90IGJlIGEgc2Nh bGVyIHVzZXIgb2YgdGhpcyBjcnRjICovCi0JCQlpZiAoV0FSTl9PTihpbnRlbF9wbGFuZS0+cGlw ZSAhPSBpbnRlbF9jcnRjLT5waXBlKSkKKwkJCWlmIChXQVJOX09OKHBsYW5lLT5waXBlICE9IGlu dGVsX2NydGMtPnBpcGUpKQogCQkJCWNvbnRpbnVlOwogCi0JCQlwbGFuZV9zdGF0ZSA9IGludGVs X2F0b21pY19nZXRfbmV3X3BsYW5lX3N0YXRlKGludGVsX3N0YXRlLAotCQkJCQkJCQkgICAgICAg aW50ZWxfcGxhbmUpOworCQkJbmFtZSA9ICJQTEFORSI7CisJCQlpZHggPSBwbGFuZS0+YmFzZS5i YXNlLmlkOwogCQkJc2NhbGVyX2lkID0gJnBsYW5lX3N0YXRlLT5zY2FsZXJfaWQ7CiAJCX0KIApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWNfcGxh bmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMK aW5kZXggOThiNzc2NmVhYTdhLi40ZWFhYjBkZTk4YmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWNfcGxhbmUuYwpAQCAtMzY2LDYgKzM2NiwyNSBA QCB2b2lkIGk5eHhfdXBkYXRlX3BsYW5lc19vbl9jcnRjKHN0cnVjdCBpbnRlbF9hdG9taWNfc3Rh dGUgKnN0YXRlLAogCX0KIH0KIAorc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICoKK2ludGVsX2F0 b21pY19nZXRfcGxhbmVfc3RhdGVfYWZ0ZXJfY2hlY2soc3RydWN0IGludGVsX2F0b21pY19zdGF0 ZSAqc3RhdGUsCisJCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUs CisJCQkJCSBzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lKQoreworCXN0cnVjdCBpbnRlbF9wbGFu ZV9zdGF0ZSAqcGxhbmVfc3RhdGUgPQorCQlpbnRlbF9hdG9taWNfZ2V0X25ld19wbGFuZV9zdGF0 ZShzdGF0ZSwgcGxhbmUpOworCisJaWYgKHBsYW5lX3N0YXRlKQorCQlyZXR1cm4gcGxhbmVfc3Rh dGU7CisKKwlwbGFuZV9zdGF0ZSA9IGludGVsX2F0b21pY19nZXRfcGxhbmVfc3RhdGUoc3RhdGUs IHBsYW5lKTsKKwlpZiAoSVNfRVJSKHBsYW5lX3N0YXRlKSkKKwkJcmV0dXJuIHBsYW5lX3N0YXRl OworCisJbmV3X2NydGNfc3RhdGUtPnVwZGF0ZV9wbGFuZXMgfD0gQklUKHBsYW5lLT5pZCk7CisJ cmV0dXJuIHBsYW5lX3N0YXRlOworfQorCiBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2hlbHBlcl9m dW5jcyBpbnRlbF9wbGFuZV9oZWxwZXJfZnVuY3MgPSB7CiAJLnByZXBhcmVfZmIgPSBpbnRlbF9w cmVwYXJlX3BsYW5lX2ZiLAogCS5jbGVhbnVwX2ZiID0gaW50ZWxfY2xlYW51cF9wbGFuZV9mYiwK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY2RjbGsuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY2RjbGsuYwppbmRleCA0MzU2NDI5 NWI4NjQuLjQyYmQwMjYzOGQzMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9jZGNsay5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfY2RjbGsuYwpAQCAtMjI0OSw2ICsyMjQ5LDcgQEAgc3RhdGljIGludCBpbnRlbF9tb2Rlc2V0 X2FsbF9waXBlcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKIAkgKi8KIAlmb3Jf ZWFjaF9pbnRlbF9jcnRjKCZkZXZfcHJpdi0+ZHJtLCBjcnRjKSB7CiAJCXN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlOworCQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lOwogCQlp bnQgcmV0OwogCiAJCWNydGNfc3RhdGUgPSBpbnRlbF9hdG9taWNfZ2V0X2NydGNfc3RhdGUoJnN0 YXRlLT5iYXNlLCBjcnRjKTsKQEAgLTIyNjYsMTIgKzIyNjcsMTQgQEAgc3RhdGljIGludCBpbnRl bF9tb2Rlc2V0X2FsbF9waXBlcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKIAkJ aWYgKHJldCkKIAkJCXJldHVybiByZXQ7CiAKLQkJcmV0ID0gZHJtX2F0b21pY19hZGRfYWZmZWN0 ZWRfcGxhbmVzKCZzdGF0ZS0+YmFzZSwKLQkJCQkJCSAgICAgJmNydGMtPmJhc2UpOwotCQlpZiAo cmV0KQotCQkJcmV0dXJuIHJldDsKLQotCQljcnRjX3N0YXRlLT51cGRhdGVfcGxhbmVzIHw9IGNy dGNfc3RhdGUtPmFjdGl2ZV9wbGFuZXM7CisJCWZvcl9lYWNoX2ludGVsX3BsYW5lX29uX2NydGMo JmRldl9wcml2LT5kcm0sIGNydGMsIHBsYW5lKSB7CisJCQlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3Rh dGUgKnBsYW5lX3N0YXRlID0KKwkJCQlpbnRlbF9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlX2FmdGVy X2NoZWNrKHN0YXRlLAorCQkJCQkJCQkJIGNydGNfc3RhdGUsCisJCQkJCQkJCQkgcGxhbmUpOwor CQkJaWYgKElTX0VSUihwbGFuZV9zdGF0ZSkpCisJCQkJcmV0dXJuIFBUUl9FUlIocGxhbmVfc3Rh dGUpOworCQl9CiAJfQogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2NvbG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2NvbG9yLmMKaW5kZXggOWFiMzQ5MDI2NjNlLi4xZTNhNjIzZWFmODIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29sb3IuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NvbG9yLmMKQEAgLTEwNzcsMTEgKzEwNzcs MTIgQEAgaW50ZWxfY29sb3JfYWRkX2FmZmVjdGVkX3BsYW5lcyhzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqbmV3X2NydGNfc3RhdGUpCiAJCWlmICghbmVlZF9wbGFuZV91cGRhdGUocGxhbmUsIG5l d19jcnRjX3N0YXRlKSkKIAkJCWNvbnRpbnVlOwogCi0JCXBsYW5lX3N0YXRlID0gaW50ZWxfYXRv bWljX2dldF9wbGFuZV9zdGF0ZShzdGF0ZSwgcGxhbmUpOworCQlwbGFuZV9zdGF0ZSA9CisJCQlp bnRlbF9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlX2FmdGVyX2NoZWNrKHN0YXRlLAorCQkJCQkJCQkg bmV3X2NydGNfc3RhdGUsCisJCQkJCQkJCSBwbGFuZSk7CiAJCWlmIChJU19FUlIocGxhbmVfc3Rh dGUpKQogCQkJcmV0dXJuIFBUUl9FUlIocGxhbmVfc3RhdGUpOwotCi0JCW5ld19jcnRjX3N0YXRl LT51cGRhdGVfcGxhbmVzIHw9IEJJVChwbGFuZS0+aWQpOwogCX0KIAogCXJldHVybiAwOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVz LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaApp bmRleCA5NzY2NjlmMDFhOGMuLjUyNjQyMzQzN2Y2MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKQEAgLTE1NDEsNCArMTU0MSwx MCBAQCBzdGF0aWMgaW5saW5lIHUzMiBpbnRlbF9wbGFuZV9nZ3R0X29mZnNldChjb25zdCBzdHJ1 Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlKQogCXJldHVybiBpOTE1X2dndHRfb2Zmc2V0KHN0 YXRlLT52bWEpOwogfQogCisvKiBpbnRlbF9hdG9taWNfcGxhbmUuYyAqLworc3RydWN0IGludGVs X3BsYW5lX3N0YXRlICoKK2ludGVsX2F0b21pY19nZXRfcGxhbmVfc3RhdGVfYWZ0ZXJfY2hlY2so c3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCisJCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKKwkJCQkJIHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUpOwor CiAjZW5kaWYgLyogIF9fSU5URUxfRElTUExBWV9UWVBFU19IX18gKi8KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wbS5jCmluZGV4IDUzMzU4ZTMzZGYxYi4uNWU2ZTU0Y2IyMmZlIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3BtLmMKQEAgLTUyNDIsMTEgKzUyNDIsMTIgQEAgc2tsX2RkYl9hZGRfYWZmZWN0ZWRfcGxh bmVzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKIAkJCQkJ Jm5ld19jcnRjX3N0YXRlLT53bS5za2wucGxhbmVfZGRiX3V2W3BsYW5lX2lkXSkpCiAJCQljb250 aW51ZTsKIAotCQlwbGFuZV9zdGF0ZSA9IGludGVsX2F0b21pY19nZXRfcGxhbmVfc3RhdGUoc3Rh dGUsIHBsYW5lKTsKKwkJcGxhbmVfc3RhdGUgPQorCQkJaW50ZWxfYXRvbWljX2dldF9wbGFuZV9z dGF0ZV9hZnRlcl9jaGVjayhzdGF0ZSwKKwkJCQkJCQkJIG5ld19jcnRjX3N0YXRlLAorCQkJCQkJ CQkgcGxhbmUpOwogCQlpZiAoSVNfRVJSKHBsYW5lX3N0YXRlKSkKIAkJCXJldHVybiBQVFJfRVJS KHBsYW5lX3N0YXRlKTsKLQotCQluZXdfY3J0Y19zdGF0ZS0+dXBkYXRlX3BsYW5lcyB8PSBCSVQo cGxhbmVfaWQpOwogCX0KIAogCXJldHVybiAwOwpAQCAtNTUzNCwxMSArNTUzNSwxMiBAQCBzdGF0 aWMgaW50IHNrbF93bV9hZGRfYWZmZWN0ZWRfcGxhbmVzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3Rh dGUgKnN0YXRlLAogCQkJCQkmbmV3X2NydGNfc3RhdGUtPndtLnNrbC5vcHRpbWFsLnBsYW5lc1tw bGFuZV9pZF0pKQogCQkJY29udGludWU7CiAKLQkJcGxhbmVfc3RhdGUgPSBpbnRlbF9hdG9taWNf Z2V0X3BsYW5lX3N0YXRlKHN0YXRlLCBwbGFuZSk7CisJCXBsYW5lX3N0YXRlID0KKwkJCWludGVs X2F0b21pY19nZXRfcGxhbmVfc3RhdGVfYWZ0ZXJfY2hlY2soc3RhdGUsCisJCQkJCQkJCSBuZXdf Y3J0Y19zdGF0ZSwKKwkJCQkJCQkJIHBsYW5lKTsKIAkJaWYgKElTX0VSUihwbGFuZV9zdGF0ZSkp CiAJCQlyZXR1cm4gUFRSX0VSUihwbGFuZV9zdGF0ZSk7Ci0KLQkJbmV3X2NydGNfc3RhdGUtPnVw ZGF0ZV9wbGFuZXMgfD0gQklUKHBsYW5lX2lkKTsKIAl9CiAKIAlyZXR1cm4gMDsKLS0gCjIuMjMu MAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4