From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 14/14] drm/i915: Remove special case slave handling during hw programming, v2. Date: Thu, 17 Oct 2019 15:21:05 +0200 Message-ID: <20191017132105.15528-14-maarten.lankhorst@linux.intel.com> References: <20191017132105.15528-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 [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9126F6EA87 for ; Thu, 17 Oct 2019 13:21:11 +0000 (UTC) In-Reply-To: <20191017132105.15528-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 Tm93IHRoYXQgd2Ugc3BsaXQgcGxhbmVfc3RhdGUgd2hpY2ggSSBkaWRuJ3Qgd2FudCB0byBkbyB5 ZXQsIHdlIGNhbgpwcm9ncmFtIHRoZSBzbGF2ZSBwbGFuZSB3aXRob3V0IHJlcXVpcmluZyB0aGUg bWFzdGVyIHBsYW5lLgoKVGhpcyBpcyB1c2VmdWwgZm9yIHByb2dyYW1taW5nIGJpZ2pvaW5lciBz bGF2ZSBwbGFuZXMgYXMgd2VsbC4gV2UKd2lsbCBubyBsb25nZXIgbmVlZCB0aGUgbWFzdGVyJ3Mg cGxhbmVfc3RhdGUuCgpDaGFuZ2VzIHNpbmNlIHYxOgotIHNldCBzcmMvZHN0IHJlY3RhbmdsZXMg YWZ0ZXIgY29weV91YXBpX3RvX2h3X3N0YXRlLgoKU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5r aG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KLS0tCiAuLi4vZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMgfCAzMCArLS0tLS0tLS0tCiAuLi4v Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmggfCAgMyAtCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyAgfCAxOCArKysrKysKIC4uLi9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaCAgICB8ICA2ICstCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jICAgfCA1NSArKysrKystLS0tLS0t LS0tLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDczIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWlj X3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFu ZS5jCmluZGV4IGQ5YjY1ZTljNDVmYy4uNTRkMTEyNDA4NzE2IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMKQEAgLTMwOSwxNiArMzA5 LDYgQEAgdm9pZCBpbnRlbF91cGRhdGVfcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwK IAlwbGFuZS0+dXBkYXRlX3BsYW5lKHBsYW5lLCBjcnRjX3N0YXRlLCBwbGFuZV9zdGF0ZSk7CiB9 CiAKLXZvaWQgaW50ZWxfdXBkYXRlX3NsYXZlKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCi0J CQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKLQkJCWNvbnN0IHN0 cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCi17Ci0Jc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7Ci0KLQl0cmFj ZV9pbnRlbF91cGRhdGVfcGxhbmUoJnBsYW5lLT5iYXNlLCBjcnRjKTsKLQlwbGFuZS0+dXBkYXRl X3NsYXZlKHBsYW5lLCBjcnRjX3N0YXRlLCBwbGFuZV9zdGF0ZSk7Ci19Ci0KIHZvaWQgaW50ZWxf ZGlzYWJsZV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAogCQkJIGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewpAQCAtMzUxLDI1ICszNDEsOSBAQCB2 b2lkIHNrbF91cGRhdGVfcGxhbmVzX29uX2NydGMoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq c3RhdGUsCiAJCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqbmV3X3BsYW5lX3N0YXRlID0KIAkJ CWludGVsX2F0b21pY19nZXRfbmV3X3BsYW5lX3N0YXRlKHN0YXRlLCBwbGFuZSk7CiAKLQkJaWYg KG5ld19wbGFuZV9zdGF0ZS0+dWFwaS52aXNpYmxlKSB7CisJCWlmIChuZXdfcGxhbmVfc3RhdGUt PnVhcGkudmlzaWJsZSB8fAorCQkgICAgbmV3X3BsYW5lX3N0YXRlLT5wbGFuYXJfc2xhdmUpIHsK IAkJCWludGVsX3VwZGF0ZV9wbGFuZShwbGFuZSwgbmV3X2NydGNfc3RhdGUsIG5ld19wbGFuZV9z dGF0ZSk7Ci0JCX0gZWxzZSBpZiAobmV3X3BsYW5lX3N0YXRlLT5wbGFuYXJfc2xhdmUpIHsKLQkJ CXN0cnVjdCBpbnRlbF9wbGFuZSAqbWFzdGVyID0KLQkJCQluZXdfcGxhbmVfc3RhdGUtPnBsYW5h cl9saW5rZWRfcGxhbmU7Ci0KLQkJCS8qCi0JCQkgKiBXZSB1cGRhdGUgdGhlIHNsYXZlIHBsYW5l IGZyb20gdGhpcyBmdW5jdGlvbiBiZWNhdXNlCi0JCQkgKiBwcm9ncmFtbWluZyBpdCBmcm9tIHRo ZSBtYXN0ZXIgcGxhbmUncyB1cGRhdGVfcGxhbmUKLQkJCSAqIGNhbGxiYWNrIHJ1bnMgaW50byBp c3N1ZXMgd2hlbiB0aGUgWSBwbGFuZSBpcwotCQkJICogcmVhc3NpZ25lZCwgZGlzYWJsZWQgb3Ig dXNlZCBieSBhIGRpZmZlcmVudCBwbGFuZS4KLQkJCSAqCi0JCQkgKiBUaGUgc2xhdmUgcGxhbmUg aXMgdXBkYXRlZCB3aXRoIHRoZSBtYXN0ZXIgcGxhbmUncwotCQkJICogcGxhbmVfc3RhdGUuCi0J CQkgKi8KLQkJCW5ld19wbGFuZV9zdGF0ZSA9Ci0JCQkJaW50ZWxfYXRvbWljX2dldF9uZXdfcGxh bmVfc3RhdGUoc3RhdGUsIG1hc3Rlcik7Ci0KLQkJCWludGVsX3VwZGF0ZV9zbGF2ZShwbGFuZSwg bmV3X2NydGNfc3RhdGUsIG5ld19wbGFuZV9zdGF0ZSk7CiAJCX0gZWxzZSB7CiAJCQlpbnRlbF9k aXNhYmxlX3BsYW5lKHBsYW5lLCBuZXdfY3J0Y19zdGF0ZSk7CiAJCX0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5oCmluZGV4IDEyMzQwNGE5 Y2YyMy4uNzI2ZWNlY2Q2YWJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2F0b21pY19wbGFuZS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfYXRvbWljX3BsYW5lLmgKQEAgLTI1LDkgKzI1LDYgQEAgdm9pZCBpbnRlbF9wbGFu ZV9jb3B5X3VhcGlfdG9faHdfc3RhdGUoc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9z dGF0ZSwKIHZvaWQgaW50ZWxfdXBkYXRlX3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUs CiAJCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCWNvbnN0 IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpOwotdm9pZCBpbnRlbF91cGRh dGVfc2xhdmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKLQkJCWNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAotCQkJY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0 YXRlICpwbGFuZV9zdGF0ZSk7CiB2b2lkIGludGVsX2Rpc2FibGVfcGxhbmUoc3RydWN0IGludGVs X3BsYW5lICpwbGFuZSwKIAkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSk7CiBzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lX2FsbG9jKHZvaWQpOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwppbmRleCBkZTUyMGQ1 ZjEzNzQuLjg4ZjE0OWNhYzE5OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kaXNwbGF5LmMKQEAgLTExNzY4LDYgKzExNzY4LDI0IEBAIHN0YXRpYyBpbnQgaWNsX2No ZWNrX252MTJfcGxhbmVzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCQlj cnRjX3N0YXRlLT5hY3RpdmVfcGxhbmVzIHw9IEJJVChsaW5rZWQtPmlkKTsKIAkJY3J0Y19zdGF0 ZS0+dXBkYXRlX3BsYW5lcyB8PSBCSVQobGlua2VkLT5pZCk7CiAJCURSTV9ERUJVR19LTVMoIlVz aW5nICVzIGFzIFkgcGxhbmUgZm9yICVzXG4iLCBsaW5rZWQtPmJhc2UubmFtZSwgcGxhbmUtPmJh c2UubmFtZSk7CisKKwkJLyogQ29weSBwYXJhbWV0ZXJzIHRvIHNsYXZlIHBsYW5lICovCisJCWxp bmtlZF9zdGF0ZS0+Y3RsID0gcGxhbmVfc3RhdGUtPmN0bCB8IFBMQU5FX0NUTF9ZVVY0MjBfWV9Q TEFORTsKKwkJbGlua2VkX3N0YXRlLT5jb2xvcl9jdGwgPSBwbGFuZV9zdGF0ZS0+Y29sb3JfY3Rs OworCQlsaW5rZWRfc3RhdGUtPmNvbG9yX3BsYW5lWzBdID0gcGxhbmVfc3RhdGUtPmNvbG9yX3Bs YW5lWzBdOworCisJCWludGVsX3BsYW5lX2NvcHlfdWFwaV90b19od19zdGF0ZShsaW5rZWRfc3Rh dGUsIHBsYW5lX3N0YXRlKTsKKwkJbGlua2VkX3N0YXRlLT51YXBpLnNyYyA9IHBsYW5lX3N0YXRl LT51YXBpLnNyYzsKKwkJbGlua2VkX3N0YXRlLT51YXBpLmRzdCA9IHBsYW5lX3N0YXRlLT51YXBp LmRzdDsKKworCQlpZiAoaWNsX2lzX2hkcl9wbGFuZShkZXZfcHJpdiwgcGxhbmUtPmlkKSkgewor CQkJaWYgKGxpbmtlZC0+aWQgPT0gUExBTkVfU1BSSVRFNSkKKwkJCQlwbGFuZV9zdGF0ZS0+Y3Vz X2N0bCB8PSBQTEFORV9DVVNfUExBTkVfNzsKKwkJCWVsc2UgaWYgKGxpbmtlZC0+aWQgPT0gUExB TkVfU1BSSVRFNCkKKwkJCQlwbGFuZV9zdGF0ZS0+Y3VzX2N0bCB8PSBQTEFORV9DVVNfUExBTkVf NjsKKwkJCWVsc2UKKwkJCQlNSVNTSU5HX0NBU0UobGlua2VkLT5pZCk7CisJCX0KIAl9CiAKIAly ZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGlzcGxheV90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNw bGF5X3R5cGVzLmgKaW5kZXggNTM3OWI5M2MyZmFiLi5kYmNhMWIzYzVjNjcgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oCkBAIC01 NTUsNiArNTU1LDkgQEAgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlIHsKIAkvKiBwbGFuZSBjb2xv ciBjb250cm9sIHJlZ2lzdGVyICovCiAJdTMyIGNvbG9yX2N0bDsKIAorCS8qIGNocm9tYSB1cHNh bXBsZXIgY29udHJvbCByZWdpc3RlciAqLworCXUzMiBjdXNfY3RsOworCiAJLyoKIAkgKiBzY2Fs ZXJfaWQKIAkgKiAgICA9IC0xIDogbm90IHVzaW5nIGEgc2NhbGVyCkBAIC0xMTA2LDkgKzExMDks NiBAQCBzdHJ1Y3QgaW50ZWxfcGxhbmUgewogCXZvaWQgKCp1cGRhdGVfcGxhbmUpKHN0cnVjdCBp bnRlbF9wbGFuZSAqcGxhbmUsCiAJCQkgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlLAogCQkJICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBs YW5lX3N0YXRlKTsKLQl2b2lkICgqdXBkYXRlX3NsYXZlKShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBs YW5lLAotCQkJICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwK LQkJCSAgICAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSk7CiAJ dm9pZCAoKmRpc2FibGVfcGxhbmUpKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJCQkgICAg ICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7CiAJYm9vbCAoKmdl dF9od19zdGF0ZSkoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwgZW51bSBwaXBlICpwaXBlKTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jCmluZGV4IDAwZjgz ZDM3YWJjZi4uMjAxMjNmY2NkMDgxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX3Nwcml0ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfc3ByaXRlLmMKQEAgLTUyNiw3ICs1MjYsNyBAQCBzdGF0aWMgdm9pZAogc2tsX3Byb2dy YW1fcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKIAkJICBjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVf c3RhdGUgKnBsYW5lX3N0YXRlLAotCQkgIGludCBjb2xvcl9wbGFuZSwgYm9vbCBzbGF2ZSwgdTMy IHBsYW5lX2N0bCkKKwkJICBpbnQgY29sb3JfcGxhbmUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShwbGFuZS0+YmFzZS5kZXYpOwogCWVudW0gcGxhbmVf aWQgcGxhbmVfaWQgPSBwbGFuZS0+aWQ7CkBAIC01NDEsMTIgKzU0MSwxMiBAQCBza2xfcHJvZ3Jh bV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAogCXUzMiB5ID0gcGxhbmVfc3RhdGUt PmNvbG9yX3BsYW5lW2NvbG9yX3BsYW5lXS55OwogCXUzMiBzcmNfdyA9IGRybV9yZWN0X3dpZHRo KCZwbGFuZV9zdGF0ZS0+dWFwaS5zcmMpID4+IDE2OwogCXUzMiBzcmNfaCA9IGRybV9yZWN0X2hl aWdodCgmcGxhbmVfc3RhdGUtPnVhcGkuc3JjKSA+PiAxNjsKLQlzdHJ1Y3QgaW50ZWxfcGxhbmUg KmxpbmtlZCA9IHBsYW5lX3N0YXRlLT5wbGFuYXJfbGlua2VkX3BsYW5lOwogCWNvbnN0IHN0cnVj dCBkcm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmVfc3RhdGUtPmh3LmZiOwogCXU4IGFscGhhID0g cGxhbmVfc3RhdGUtPmh3LmFscGhhID4+IDg7CiAJdTMyIHBsYW5lX2NvbG9yX2N0bCA9IDA7CiAJ dW5zaWduZWQgbG9uZyBpcnFmbGFnczsKIAl1MzIga2V5bXNrLCBrZXltYXg7CisJdTMyIHBsYW5l X2N0bCA9IHBsYW5lX3N0YXRlLT5jdGw7CiAKIAlwbGFuZV9jdGwgfD0gc2tsX3BsYW5lX2N0bF9j cnRjKGNydGNfc3RhdGUpOwogCkBAIC01NzgsMjYgKzU3OCw4IEBAIHNrbF9wcm9ncmFtX3BsYW5l KHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJSTkxNV9XUklURV9GVyhQTEFORV9BVVhfRElT VChwaXBlLCBwbGFuZV9pZCksCiAJCSAgICAgIChwbGFuZV9zdGF0ZS0+Y29sb3JfcGxhbmVbMV0u b2Zmc2V0IC0gc3VyZl9hZGRyKSB8IGF1eF9zdHJpZGUpOwogCi0JaWYgKGljbF9pc19oZHJfcGxh bmUoZGV2X3ByaXYsIHBsYW5lX2lkKSkgewotCQl1MzIgY3VzX2N0bCA9IDA7Ci0KLQkJaWYgKGxp bmtlZCkgewotCQkJLyogRW5hYmxlIGFuZCB1c2UgTVBFRy0yIGNocm9tYSBzaXRpbmcgKi8KLQkJ CWN1c19jdGwgPSBQTEFORV9DVVNfRU5BQkxFIHwKLQkJCQlQTEFORV9DVVNfSFBIQVNFXzAgfAot CQkJCVBMQU5FX0NVU19WUEhBU0VfU0lHTl9ORUdBVElWRSB8Ci0JCQkJUExBTkVfQ1VTX1ZQSEFT RV8wXzI1OwotCi0JCQlpZiAobGlua2VkLT5pZCA9PSBQTEFORV9TUFJJVEU1KQotCQkJCWN1c19j dGwgfD0gUExBTkVfQ1VTX1BMQU5FXzc7Ci0JCQllbHNlIGlmIChsaW5rZWQtPmlkID09IFBMQU5F X1NQUklURTQpCi0JCQkJY3VzX2N0bCB8PSBQTEFORV9DVVNfUExBTkVfNjsKLQkJCWVsc2UKLQkJ CQlNSVNTSU5HX0NBU0UobGlua2VkLT5pZCk7Ci0JCX0KLQotCQlJOTE1X1dSSVRFX0ZXKFBMQU5F X0NVU19DVEwocGlwZSwgcGxhbmVfaWQpLCBjdXNfY3RsKTsKLQl9CisJaWYgKGljbF9pc19oZHJf cGxhbmUoZGV2X3ByaXYsIHBsYW5lX2lkKSkKKwkJSTkxNV9XUklURV9GVyhQTEFORV9DVVNfQ1RM KHBpcGUsIHBsYW5lX2lkKSwgcGxhbmVfc3RhdGUtPmN1c19jdGwpOwogCiAJaWYgKElOVEVMX0dF TihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCiAJCUk5MTVfV1JJ VEVfRlcoUExBTkVfQ09MT1JfQ1RMKHBpcGUsIHBsYW5lX2lkKSwgcGxhbmVfY29sb3JfY3RsKTsK QEAgLTYyNyw3ICs2MDksNyBAQCBza2xfcHJvZ3JhbV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUg KnBsYW5lLAogCUk5MTVfV1JJVEVfRlcoUExBTkVfU1VSRihwaXBlLCBwbGFuZV9pZCksCiAJCSAg ICAgIGludGVsX3BsYW5lX2dndHRfb2Zmc2V0KHBsYW5lX3N0YXRlKSArIHN1cmZfYWRkcik7CiAK LQlpZiAoIXNsYXZlICYmIHBsYW5lX3N0YXRlLT5zY2FsZXJfaWQgPj0gMCkKKwlpZiAocGxhbmVf c3RhdGUtPnNjYWxlcl9pZCA+PSAwKQogCQlza2xfcHJvZ3JhbV9zY2FsZXIocGxhbmUsIGNydGNf c3RhdGUsIHBsYW5lX3N0YXRlKTsKIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRldl9wcml2 LT51bmNvcmUubG9jaywgaXJxZmxhZ3MpOwpAQCAtNjQwLDI0ICs2MjIsMTMgQEAgc2tsX3VwZGF0 ZV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAogewogCWludCBjb2xvcl9wbGFuZSA9 IDA7CiAKLQlpZiAocGxhbmVfc3RhdGUtPnBsYW5hcl9saW5rZWRfcGxhbmUpIHsKKwlpZiAoZHJt X2Zvcm1hdF9pbmZvX2lzX3l1dl9zZW1pcGxhbmFyKHBsYW5lX3N0YXRlLT5ody5mYi0+Zm9ybWF0 KSAmJgorCSAgICAhcGxhbmVfc3RhdGUtPnBsYW5hcl9zbGF2ZSkKIAkJLyogUHJvZ3JhbSB0aGUg VVYgcGxhbmUgKi8KIAkJY29sb3JfcGxhbmUgPSAxOwotCX0KIAotCXNrbF9wcm9ncmFtX3BsYW5l KHBsYW5lLCBjcnRjX3N0YXRlLCBwbGFuZV9zdGF0ZSwKLQkJCSAgY29sb3JfcGxhbmUsIGZhbHNl LCBwbGFuZV9zdGF0ZS0+Y3RsKTsKKwlza2xfcHJvZ3JhbV9wbGFuZShwbGFuZSwgY3J0Y19zdGF0 ZSwgcGxhbmVfc3RhdGUsIGNvbG9yX3BsYW5lKTsKIH0KLQotc3RhdGljIHZvaWQKLWljbF91cGRh dGVfc2xhdmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKLQkJIGNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAotCQkgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0 YXRlICpwbGFuZV9zdGF0ZSkKLXsKLQlza2xfcHJvZ3JhbV9wbGFuZShwbGFuZSwgY3J0Y19zdGF0 ZSwgcGxhbmVfc3RhdGUsIDAsIHRydWUsCi0JCQkgIHBsYW5lX3N0YXRlLT5jdGwgfCBQTEFORV9D VExfWVVWNDIwX1lfUExBTkUpOwotfQotCiBzdGF0aWMgdm9pZAogc2tsX2Rpc2FibGVfcGxhbmUo c3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKIAkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSkKQEAgLTE4NDQsNiArMTgxNSwxNCBAQCBzdGF0aWMgaW50IHNrbF9w bGFuZV9jaGVjayhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJcGxhbmVf c3RhdGUtPmNvbG9yX2N0bCA9IGdsa19wbGFuZV9jb2xvcl9jdGwoY3J0Y19zdGF0ZSwKIAkJCQkJ CQkgICAgIHBsYW5lX3N0YXRlKTsKIAorCWlmIChpY2xfaXNfaGRyX3BsYW5lKGRldl9wcml2LCBw bGFuZS0+aWQpICYmIGZiLT5mb3JtYXQtPmlzX3l1dikKKwkJLyogRW5hYmxlIGFuZCB1c2UgTVBF Ry0yIGNocm9tYSBzaXRpbmcgKi8KKwkJcGxhbmVfc3RhdGUtPmN1c19jdGwgPSBQTEFORV9DVVNf RU5BQkxFIHwKKwkJCVBMQU5FX0NVU19IUEhBU0VfMCB8CisJCQlQTEFORV9DVVNfVlBIQVNFX1NJ R05fTkVHQVRJVkUgfCBQTEFORV9DVVNfVlBIQVNFXzBfMjU7CisJZWxzZQorCQlwbGFuZV9zdGF0 ZS0+Y3VzX2N0bCA9IDA7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjUxMiw4ICsyNDkxLDYgQEAg c2tsX3VuaXZlcnNhbF9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAogCXBsYW5lLT5kaXNhYmxlX3BsYW5lID0gc2tsX2Rpc2FibGVfcGxhbmU7CiAJcGxhbmUt PmdldF9od19zdGF0ZSA9IHNrbF9wbGFuZV9nZXRfaHdfc3RhdGU7CiAJcGxhbmUtPmNoZWNrX3Bs YW5lID0gc2tsX3BsYW5lX2NoZWNrOwotCWlmIChpY2xfaXNfbnYxMl95X3BsYW5lKHBsYW5lX2lk KSkKLQkJcGxhbmUtPnVwZGF0ZV9zbGF2ZSA9IGljbF91cGRhdGVfc2xhdmU7CiAKIAlpZiAoSU5U RUxfR0VOKGRldl9wcml2KSA+PSAxMSkKIAkJZm9ybWF0cyA9IGljbF9nZXRfcGxhbmVfZm9ybWF0 cyhkZXZfcHJpdiwgcGlwZSwKLS0gCjIuMjMuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4