From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH] drm/i915/gen11: Link nv12 Y and UV planes in the atomic state, v5. Date: Mon, 22 Oct 2018 15:51:52 +0200 Message-ID: <20181022135152.15324-1-maarten.lankhorst@linux.intel.com> References: <20181019171403.GU9144@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 6EDC4892DE for ; Mon, 22 Oct 2018 13:51:56 +0000 (UTC) In-Reply-To: <20181019171403.GU9144@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 VG8gbWFrZSBOVjEyIHdvcmtpbmcgb24gaWNsLCB3ZSBuZWVkIHRvIHVwZGF0ZSAyIHBsYW5lcyBz aW11bHRhbmVvdXNseS4KSSd2ZSBjaG9zZW4gdG8gZG8gdGhpcyBpbiB0aGUgQ1JUQyBzdGVwIGFm dGVyIHBsYW5lIHZhbGlkYXRpb24gaXMgZG9uZSwKc28gd2Uga25vdyB3aGF0IHBsYW5lcyBhcmUg KGluKXZpc2libGUuIFRoZSBsaW5rZWQgWSBwbGFuZSB3aWxsIGdldAp1cGRhdGVkIGluIGludGVs X3BsYW5lX3VwZGF0ZV9wbGFuZXNfb25fY3J0YygpLCBieSB0aGUgY2FsbCB0bwp1cGRhdGVfc2xh dmUsIHdoaWNoIGdldHMgdGhlIG1hc3RlcidzIHBsYW5lX3N0YXRlIGFzIGFyZ3VtZW50LgoKVGhl IGxpbmsgcmVxdWlyZXMgYm90aCBwbGFuZXMgZm9yIGF0b21pY191cGRhdGUgdG8gd29yaywKc28g bWFrZSBzdXJlIHNrbF9kZGJfYWRkX2FmZmVjdGVkX3BsYW5lcygpIGFkZHMgYm90aCBzdGF0ZXMu CgpDaGFuZ2VzIHNpbmNlIHYxOgotIEludHJvZHVjZSBpY2xfaXNfbnYxMl95X3BsYW5lKCksIGlu c3RlYWQgb2YgaGFyZGNvZGluZyBzcHJpdGUgbnVtYmVycy4KLSBQdXQgYWxsIHRoZSBzdGF0ZSB1 cGRhdGluZyBsb2dpbiBpbiBpbnRlbF9wbGFuZV9hdG9taWNfY2hlY2tfd2l0aF9zdGF0ZSgpLgot IENsZWFuIHVwIGNoYW5nZXMgaW4gaW50ZWxfcGxhbmVfYXRvbWljX2NoZWNrKCkuCkNoYW5nZXMg c2luY2UgdjI6Ci0gRml4IGludGVsX2F0b21pY19nZXRfb2xkX3BsYW5lX3N0YXRlKCkgdG8gYWN0 dWFsbHkgcmV0dXJuIG9sZCBzdGF0ZS4KLSBNb3ZlIHZpc2liaWxpdHkgY2hhbmdlcyB0byBwcmVw YXJhdGlvbiBwYXRjaC4KLSBPbmx5IHRyeSB0byBmaW5kIGEgWSBwbGFuZSBvbiBnZW4xMSwgZWFy bGllciBwbGF0Zm9ybXMgb25seSByZXF1aXJlCiAgYSBzaW5nbGUgcGxhbmUuCkNoYW5nZXMgc2lu Y2UgdjM6Ci0gRml4IGNoZWNrcGF0Y2ggd2FybmluZyBhYm91dCB0b19pbnRlbF9jcnRjKCkgdXNh Z2UuCi0gQWRkIGFmZmVjdGVkIHBsYW5lcyBmcm9tIGljbF9hZGRfbGlua2VkX3BsYW5lcygpIGJl Zm9yZSBjaGVja19wbGFuZXMoKSwKICBpdCdzIGEgY2xlYW5lciB3YXkgdG8gZG8gdGhpcy4gKFZp bGxlKQpDaGFuZ2VzIHNpbmNlIHY0OgotIENsZWFyIHBsYW5lIGxpbmtzIGluIGljbF9jaGVja19u djEyX3BsYW5lcygpIGZvciBjbGFyaXR5LgotIE9ubHkgcGFzcyBjcnRjX3N0YXRlIHRvIGljbF9j aGVja19udjEyX3BsYW5lcygpLgotIFVzZSBmb3JfZWFjaF9uZXdfaW50ZWxfcGxhbmVfaW5fc3Rh dGUoKSBpbiBpY2xfY2hlY2tfbnYxMl9wbGFuZXMuCi0gUmVuYW1lIGF1eCB0byBsaW5rZWQuIChW aWxsZSkKClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3Jz dEBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWlj X3BsYW5lLmMgfCAxOSArKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j ICAgICAgfCA5NSArKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmggICAgICAgICAgfCA1MyArKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wbS5jICAgICAgICAgICB8IDEyICsrLQogNCBmaWxlcyBjaGFuZ2VkLCAxNzgg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2F0b21pY19wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf YXRvbWljX3BsYW5lLmMKaW5kZXggYjk1N2FkNjNjZDg3Li43ZDM2ODUwNzUyMDEgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pY19wbGFuZS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pY19wbGFuZS5jCkBAIC0xODgsNiArMTg4LDI1IEBA IHZvaWQgaW50ZWxfdXBkYXRlX3BsYW5lc19vbl9jcnRjKHN0cnVjdCBpbnRlbF9hdG9taWNfc3Rh dGUgKm9sZF9zdGF0ZSwKIAkJCXRyYWNlX2ludGVsX3VwZGF0ZV9wbGFuZSgmcGxhbmUtPmJhc2Us IGNydGMpOwogCiAJCQlwbGFuZS0+dXBkYXRlX3BsYW5lKHBsYW5lLCBuZXdfY3J0Y19zdGF0ZSwg bmV3X3BsYW5lX3N0YXRlKTsKKwkJfSBlbHNlIGlmIChuZXdfcGxhbmVfc3RhdGUtPnNsYXZlKSB7 CisJCQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKm1hc3RlciA9CisJCQkJbmV3X3BsYW5lX3N0YXRlLT5s aW5rZWRfcGxhbmU7CisKKwkJCS8qCisJCQkgKiBXZSB1cGRhdGUgdGhlIHNsYXZlIHBsYW5lIGZy b20gdGhpcyBmdW5jdGlvbiBiZWNhdXNlCisJCQkgKiBwcm9ncmFtbWluZyBpdCBmcm9tIHRoZSBt YXN0ZXIgcGxhbmUncyB1cGRhdGVfcGxhbmUKKwkJCSAqIGNhbGxiYWNrIHJ1bnMgaW50byBpc3N1 ZXMgd2hlbiB0aGUgWSBwbGFuZSBpcworCQkJICogcmVhc3NpZ25lZCwgZGlzYWJsZWQgb3IgdXNl ZCBieSBhIGRpZmZlcmVudCBwbGFuZS4KKwkJCSAqCisJCQkgKiBUaGUgc2xhdmUgcGxhbmUgaXMg dXBkYXRlZCB3aXRoIHRoZSBtYXN0ZXIgcGxhbmUncworCQkJICogcGxhbmVfc3RhdGUuCisJCQkg Ki8KKwkJCW5ld19wbGFuZV9zdGF0ZSA9CisJCQkJaW50ZWxfYXRvbWljX2dldF9uZXdfcGxhbmVf c3RhdGUob2xkX3N0YXRlLCBtYXN0ZXIpOworCisJCQl0cmFjZV9pbnRlbF91cGRhdGVfcGxhbmUo JnBsYW5lLT5iYXNlLCBjcnRjKTsKKworCQkJcGxhbmUtPnVwZGF0ZV9zbGF2ZShwbGFuZSwgbmV3 X2NydGNfc3RhdGUsIG5ld19wbGFuZV9zdGF0ZSk7CiAJCX0gZWxzZSB7CiAJCQl0cmFjZV9pbnRl bF9kaXNhYmxlX3BsYW5lKCZwbGFuZS0+YmFzZSwgY3J0Yyk7CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwppbmRleCA2OGM5YWVlZWUwNWMuLjY4MDg5NTk4MmU0ZiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTA3MjMsNiArMTA3MjMsOTUgQEAgc3RhdGlj IGJvb2wgY2hlY2tfc2luZ2xlX2VuY29kZXJfY2xvbmluZyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUsCiAJcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBpbnQgaWNsX2FkZF9saW5rZWRf cGxhbmVzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQoreworCXN0cnVjdCBpbnRl bF9wbGFuZSAqcGxhbmUsICpsaW5rZWQ7CisJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFu ZV9zdGF0ZSwgKmxpbmtlZF9wbGFuZV9zdGF0ZTsKKwlpbnQgaTsKKworCWZvcl9lYWNoX25ld19p bnRlbF9wbGFuZV9pbl9zdGF0ZShzdGF0ZSwgcGxhbmUsIHBsYW5lX3N0YXRlLCBpKSB7CisJCWxp bmtlZCA9IHBsYW5lX3N0YXRlLT5saW5rZWRfcGxhbmU7CisKKwkJaWYgKCFsaW5rZWQpCisJCQlj b250aW51ZTsKKworCQlsaW5rZWRfcGxhbmVfc3RhdGUgPSBpbnRlbF9hdG9taWNfZ2V0X3BsYW5l X3N0YXRlKHN0YXRlLCBsaW5rZWQpOworCQlpZiAoSVNfRVJSKGxpbmtlZF9wbGFuZV9zdGF0ZSkp CisJCQlyZXR1cm4gUFRSX0VSUihsaW5rZWRfcGxhbmVfc3RhdGUpOworCX0KKworCXJldHVybiAw OworfQorCitzdGF0aWMgaW50IGljbF9jaGVja19udjEyX3BsYW5lcyhzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKK3sKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfYXRv bWljX3N0YXRlICpzdGF0ZSA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShjcnRjX3N0YXRlLT5iYXNl LnN0YXRlKTsKKwlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLCAqbGlua2VkOworCXN0cnVjdCBp bnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7CisJaW50IGk7CisKKwlpZiAoSU5URUxfR0VO KGRldl9wcml2KSA8IDExKQorCQlyZXR1cm4gMDsKKworCS8qCisJICogRGVzdHJveSBhbGwgb2xk IHBsYW5lIGxpbmtzIGFuZCBtYWtlIHRoZSBzbGF2ZSBwbGFuZSBpbnZpc2libGUKKwkgKiBpbiB0 aGUgY3J0Y19zdGF0ZS0+YWN0aXZlX3BsYW5lcyBtYXNrLgorCSAqLworCWZvcl9lYWNoX25ld19p bnRlbF9wbGFuZV9pbl9zdGF0ZShzdGF0ZSwgcGxhbmUsIHBsYW5lX3N0YXRlLCBpKSB7CisJCWlm IChwbGFuZS0+cGlwZSAhPSBjcnRjLT5waXBlIHx8ICFwbGFuZV9zdGF0ZS0+bGlua2VkX3BsYW5l KQorCQkJY29udGludWU7CisKKwkJcGxhbmVfc3RhdGUtPmxpbmtlZF9wbGFuZSA9IE5VTEw7CisJ CWlmIChwbGFuZV9zdGF0ZS0+c2xhdmUgJiYgIXBsYW5lX3N0YXRlLT5iYXNlLnZpc2libGUpCisJ CQljcnRjX3N0YXRlLT5hY3RpdmVfcGxhbmVzICY9IH5CSVQocGxhbmUtPmlkKTsKKworCQlwbGFu ZV9zdGF0ZS0+c2xhdmUgPSBmYWxzZTsKKwl9CisKKwlpZiAoIWNydGNfc3RhdGUtPm52MTJfcGxh bmVzKQorCQlyZXR1cm4gMDsKKworCWZvcl9lYWNoX25ld19pbnRlbF9wbGFuZV9pbl9zdGF0ZShz dGF0ZSwgcGxhbmUsIHBsYW5lX3N0YXRlLCBpKSB7CisJCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0 ZSAqbGlua2VkX3N0YXRlID0gTlVMTDsKKworCQlpZiAocGxhbmUtPnBpcGUgIT0gY3J0Yy0+cGlw ZSB8fAorCQkgICAgIShjcnRjX3N0YXRlLT5udjEyX3BsYW5lcyAmIEJJVChwbGFuZS0+aWQpKSkK KwkJCWNvbnRpbnVlOworCisJCWZvcl9lYWNoX2ludGVsX3BsYW5lX29uX2NydGMoJmRldl9wcml2 LT5kcm0sIGNydGMsIGxpbmtlZCkgeworCQkJaWYgKCFpY2xfaXNfbnYxMl95X3BsYW5lKGxpbmtl ZC0+aWQpKQorCQkJCWNvbnRpbnVlOworCisJCQlpZiAoY3J0Y19zdGF0ZS0+YWN0aXZlX3BsYW5l cyAmIEJJVChsaW5rZWQtPmlkKSkKKwkJCQljb250aW51ZTsKKworCQkJbGlua2VkX3N0YXRlID0g aW50ZWxfYXRvbWljX2dldF9wbGFuZV9zdGF0ZShzdGF0ZSwgbGlua2VkKTsKKwkJCWlmIChJU19F UlIobGlua2VkX3N0YXRlKSkKKwkJCQlyZXR1cm4gUFRSX0VSUihsaW5rZWRfc3RhdGUpOworCisJ CQlicmVhazsKKwkJfQorCisJCWlmICghbGlua2VkX3N0YXRlKSB7CisJCQlEUk1fREVCVUdfS01T KCJOZWVkICVkIGZyZWUgWSBwbGFuZXMgZm9yIE5WMTJcbiIsCisJCQkJICAgICAgaHdlaWdodDgo Y3J0Y19zdGF0ZS0+bnYxMl9wbGFuZXMpKTsKKworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwor CQlwbGFuZV9zdGF0ZS0+bGlua2VkX3BsYW5lID0gbGlua2VkOworCisJCWxpbmtlZF9zdGF0ZS0+ c2xhdmUgPSB0cnVlOworCQlsaW5rZWRfc3RhdGUtPmxpbmtlZF9wbGFuZSA9IHBsYW5lOworCQlj cnRjX3N0YXRlLT5hY3RpdmVfcGxhbmVzIHw9IEJJVChsaW5rZWQtPmlkKTsKKwkJRFJNX0RFQlVH X0tNUygiVXNpbmcgJXMgYXMgWSBwbGFuZSBmb3IgJXNcbiIsIGxpbmtlZC0+YmFzZS5uYW1lLCBw bGFuZS0+YmFzZS5uYW1lKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBpbnRl bF9jcnRjX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCQkJICAgc3RydWN0 IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewpAQCAtMTA3OTQsNiArMTA4ODMsOCBAQCBz dGF0aWMgaW50IGludGVsX2NydGNfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK IAkJaWYgKG1vZGVfY2hhbmdlZCkKIAkJCXJldCA9IHNrbF91cGRhdGVfc2NhbGVyX2NydGMocGlw ZV9jb25maWcpOwogCisJCWlmICghcmV0KQorCQkJcmV0ID0gaWNsX2NoZWNrX252MTJfcGxhbmVz KHBpcGVfY29uZmlnKTsKIAkJaWYgKCFyZXQpCiAJCQlyZXQgPSBza2xfY2hlY2tfcGlwZV9tYXhf cGl4ZWxfcmF0ZShpbnRlbF9jcnRjLAogCQkJCQkJCSAgICBwaXBlX2NvbmZpZyk7CkBAIC0xMjQ2 MCw2ICsxMjU1MSwxMCBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAogCQlpbnRlbF9zdGF0ZS0+Y2RjbGsubG9naWNhbCA9IGRldl9wcml2LT5j ZGNsay5sb2dpY2FsOwogCX0KIAorCXJldCA9IGljbF9hZGRfbGlua2VkX3BsYW5lcyhpbnRlbF9z dGF0ZSk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKwogCXJldCA9IGRybV9hdG9taWNfaGVs cGVyX2NoZWNrX3BsYW5lcyhkZXYsIHN0YXRlKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0Owpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCAwZTlhOTI2ZmNhMDQuLjU5YjM1MjkzYTVmNiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTUzOSw2ICs1MzksMjYgQEAgc3RydWN0IGlu dGVsX3BsYW5lX3N0YXRlIHsKIAkgKi8KIAlpbnQgc2NhbGVyX2lkOwogCisJLyoKKwkgKiBsaW5r ZWRfcGxhbmU6CisJICoKKwkgKiBJQ0wgcGxhbmFyIGZvcm1hdHMgcmVxdWlyZSAyIHBsYW5lcyB0 aGF0IGFyZSB1cGRhdGVkIGFzIHBhaXJzLgorCSAqIFRoaXMgbWVtYmVyIGlzIHVzZWQgdG8gbWFr ZSBzdXJlIHRoZSBvdGhlciBwbGFuZSBpcyBhbHNvIHVwZGF0ZWQKKwkgKiB3aGVuIHJlcXVpcmVk LCBhbmQgZm9yIHVwZGF0ZV9zbGF2ZSgpIHRvIGZpbmQgdGhlIGNvcnJlY3QKKwkgKiBwbGFuZV9z dGF0ZSB0byBwYXNzIGFzIGFyZ3VtZW50LgorCSAqLworCXN0cnVjdCBpbnRlbF9wbGFuZSAqbGlu a2VkX3BsYW5lOworCisJLyoKKwkgKiBzbGF2ZToKKwkgKiBJZiBzZXQgZG9uJ3QgdXBkYXRlIHVz ZSB0aGUgbGlua2VkIHBsYW5lJ3Mgc3RhdGUgZm9yIHVwZGF0aW5nCisJICogdGhpcyBwbGFuZSBk dXJpbmcgYXRvbWljIGNvbW1pdCB3aXRoIHRoZSB1cGRhdGVfc2xhdmUoKSBjYWxsYmFjay4KKwkg KgorCSAqIEl0J3MgYWxzbyB1c2VkIGJ5IHRoZSB3YXRlcm1hcmsgY29kZSB0byBpZ25vcmUgd20g Y2FsY3VsYXRpb25zIG9uCisJICogdGhpcyBwbGFuZS4gVGhleSdyZSBjYWxjdWxhdGVkIGJ5IHRo ZSBsaW5rZWQgcGxhbmUncyB3bSBjb2RlLgorCSAqLworCWJvb2wgc2xhdmU7CisKIAlzdHJ1Y3Qg ZHJtX2ludGVsX3Nwcml0ZV9jb2xvcmtleSBja2V5OwogfTsKIApAQCAtOTgzLDYgKzEwMDMsOSBA QCBzdHJ1Y3QgaW50ZWxfcGxhbmUgewogCXZvaWQgKCp1cGRhdGVfcGxhbmUpKHN0cnVjdCBpbnRl bF9wbGFuZSAqcGxhbmUsCiAJCQkgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlLAogCQkJICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5l X3N0YXRlKTsKKwl2b2lkICgqdXBkYXRlX3NsYXZlKShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5l LAorCQkJICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKKwkJ CSAgICAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSk7CiAJdm9p ZCAoKmRpc2FibGVfcGxhbmUpKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJCQkgICAgICBz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7CiAJYm9vbCAoKmdldF9od19zdGF0ZSkoc3RydWN0IGlu dGVsX3BsYW5lICpwbGFuZSwgZW51bSBwaXBlICpwaXBlKTsKQEAgLTEzNTEsNiArMTM3NCwyNyBA QCBoZG1pX3RvX2RpZ19wb3J0KHN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pKQogCXJldHVy biBjb250YWluZXJfb2YoaW50ZWxfaGRtaSwgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCwgaGRt aSk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICoKK2ludGVs X2F0b21pY19nZXRfcGxhbmVfc3RhdGUoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUs CisJCQkJIHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUpCit7CisJc3RydWN0IGRybV9wbGFuZV9z dGF0ZSAqcmV0ID0KKwkJZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUoJnN0YXRlLT5iYXNlLCAm cGxhbmUtPmJhc2UpOworCisJaWYgKElTX0VSUihyZXQpKQorCQlyZXR1cm4gRVJSX0NBU1QocmV0 KTsKKworCXJldHVybiB0b19pbnRlbF9wbGFuZV9zdGF0ZShyZXQpOworfQorCitzdGF0aWMgaW5s aW5lIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqCitpbnRlbF9hdG9taWNfZ2V0X29sZF9wbGFu ZV9zdGF0ZShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKKwkJCQkgc3RydWN0IGlu dGVsX3BsYW5lICpwbGFuZSkKK3sKKwlyZXR1cm4gdG9faW50ZWxfcGxhbmVfc3RhdGUoZHJtX2F0 b21pY19nZXRfb2xkX3BsYW5lX3N0YXRlKCZzdGF0ZS0+YmFzZSwKKwkJCQkJCQkJICAgJnBsYW5l LT5iYXNlKSk7Cit9CisKIHN0YXRpYyBpbmxpbmUgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICoK IGludGVsX2F0b21pY19nZXRfbmV3X3BsYW5lX3N0YXRlKHN0cnVjdCBpbnRlbF9hdG9taWNfc3Rh dGUgKnN0YXRlLAogCQkJCSBzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lKQpAQCAtMjE1OCw2ICsy MjAyLDE1IEBAIHN0cnVjdCBpbnRlbF9wbGFuZSAqCiBza2xfdW5pdmVyc2FsX3BsYW5lX2NyZWF0 ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkgICBlbnVtIHBpcGUgcGlw ZSwgZW51bSBwbGFuZV9pZCBwbGFuZV9pZCk7CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBpY2xfaXNf bnYxMl95X3BsYW5lKGVudW0gcGxhbmVfaWQgaWQpCit7CisJLyogRG9uJ3QgbmVlZCB0byBkbyBh IGdlbiBjaGVjaywgdGhlc2UgcGxhbmVzIGFyZSBvbmx5IGF2YWlsYWJsZSBvbiBnZW4xMSAqLwor CWlmIChpZCA9PSBQTEFORV9TUFJJVEU0IHx8IGlkID09IFBMQU5FX1NQUklURTUpCisJCXJldHVy biB0cnVlOworCisJcmV0dXJuIGZhbHNlOworfQorCiAvKiBpbnRlbF90di5jICovCiB2b2lkIGlu dGVsX3R2X2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BtLmMKaW5kZXggZjQyYjhjMzE5MDQ2Li45YmEzOWE5YzdkMWMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcG0uYwpAQCAtNTE1MywxMSArNTE1MywxMiBAQCBza2xfZGRiX2FkZF9hZmZl Y3RlZF9wbGFuZXMoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSkKIAlzdHJ1Y3QgaW50 ZWxfYXRvbWljX3N0YXRlICppbnRlbF9zdGF0ZSA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShzdGF0 ZSk7CiAJc3RydWN0IHNrbF9kZGJfYWxsb2NhdGlvbiAqbmV3X2RkYiA9ICZpbnRlbF9zdGF0ZS0+ d21fcmVzdWx0cy5kZGI7CiAJc3RydWN0IHNrbF9kZGJfYWxsb2NhdGlvbiAqY3VyX2RkYiA9ICZk ZXZfcHJpdi0+d20uc2tsX2h3LmRkYjsKLQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9z dGF0ZTsKIAlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKIAllbnVtIHBpcGUgcGlwZSA9IGludGVs X2NydGMtPnBpcGU7CiAKIAlkcm1fZm9yX2VhY2hfcGxhbmVfbWFzayhwbGFuZSwgZGV2LCBjc3Rh dGUtPmJhc2UucGxhbmVfbWFzaykgeworCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9z dGF0ZTsKKwkJc3RydWN0IGludGVsX3BsYW5lICpsaW5rZWQ7CiAJCWVudW0gcGxhbmVfaWQgcGxh bmVfaWQgPSB0b19pbnRlbF9wbGFuZShwbGFuZSktPmlkOwogCiAJCWlmIChza2xfZGRiX2VudHJ5 X2VxdWFsKCZjdXJfZGRiLT5wbGFuZVtwaXBlXVtwbGFuZV9pZF0sCkBAIC01MTY5LDYgKzUxNzAs MTUgQEAgc2tsX2RkYl9hZGRfYWZmZWN0ZWRfcGxhbmVzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjc3RhdGUpCiAJCXBsYW5lX3N0YXRlID0gZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUoc3Rh dGUsIHBsYW5lKTsKIAkJaWYgKElTX0VSUihwbGFuZV9zdGF0ZSkpCiAJCQlyZXR1cm4gUFRSX0VS UihwbGFuZV9zdGF0ZSk7CisKKwkJLyogTWFrZSBzdXJlIGxpbmtlZCBwbGFuZSBpcyB1cGRhdGVk IHRvbyAqLworCQlsaW5rZWQgPSB0b19pbnRlbF9wbGFuZV9zdGF0ZShwbGFuZV9zdGF0ZSktPmxp bmtlZF9wbGFuZTsKKwkJaWYgKCFsaW5rZWQpCisJCQljb250aW51ZTsKKworCQlwbGFuZV9zdGF0 ZSA9IGRybV9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlKHN0YXRlLCAmbGlua2VkLT5iYXNlKTsKKwkJ aWYgKElTX0VSUihwbGFuZV9zdGF0ZSkpCisJCQlyZXR1cm4gUFRSX0VSUihwbGFuZV9zdGF0ZSk7 CiAJfQogCiAJcmV0dXJuIDA7Ci0tIAoyLjE5LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=