From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH] drm/i915: Remove special case slave handling during hw programming, v3. Date: Tue, 22 Oct 2019 12:31:49 +0200 Message-ID: <20191022103149.17236-1-dev@mblankhorst.nl> References: <20191017132105.15528-14-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 8AA946E5BD for ; Tue, 22 Oct 2019 10:31:53 +0000 (UTC) In-Reply-To: <20191017132105.15528-14-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 RnJvbTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bT4KCk5vdyB0aGF0IHdlIHNwbGl0IHBsYW5lX3N0YXRlIHdoaWNoIEkgZGlkbid0IHdhbnQgdG8g ZG8geWV0LCB3ZSBjYW4KcHJvZ3JhbSB0aGUgc2xhdmUgcGxhbmUgd2l0aG91dCByZXF1aXJpbmcg dGhlIG1hc3RlciBwbGFuZS4KClRoaXMgaXMgdXNlZnVsIGZvciBwcm9ncmFtbWluZyBiaWdqb2lu ZXIgc2xhdmUgcGxhbmVzIGFzIHdlbGwuIFdlCndpbGwgbm8gbG9uZ2VyIG5lZWQgdGhlIG1hc3Rl cidzIHBsYW5lX3N0YXRlLgoKQ2hhbmdlcyBzaW5jZSB2MToKLSBzZXQgc3JjL2RzdCByZWN0YW5n bGVzIGFmdGVyIGNvcHlfdWFwaV90b19od19zdGF0ZS4KQ2hhbmdlcyBzaW5jZSB2MjoKLSBVc2Ug dGhlIGNvcnJlY3QgY29sb3JfcGxhbmUgZm9yIHByZS1nZW4xMSBieSB1c2luZyBwbGFuYXJfbGlu a2VkX3BsYW5lICE9IE5VTEwuCi0gVXNlIGRybV9mb3JtYXRfaW5mb19pc195dXZfc2VtaXBsYW5h ciBpbiBza2xfcGxhbmVfY2hlY2soKSB0byBmaXggZ2VuMTErLgoKU2lnbmVkLW9mZi1ieTogTWFh cnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KLS0tCiAu Li4vZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMgfCAzMCArLS0tLS0t LS0tCiAuLi4vZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmggfCAgMyAt CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyAgfCAxOCArKysr KysKIC4uLi9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaCAgICB8ICA2ICst CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jICAgfCA1NyArKysr KystLS0tLS0tLS0tLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyksIDc0IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfYXRvbWljX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0 b21pY19wbGFuZS5jCmluZGV4IGQ5YjY1ZTljNDVmYy4uNTRkMTEyNDA4NzE2IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMKQEAgLTMw OSwxNiArMzA5LDYgQEAgdm9pZCBpbnRlbF91cGRhdGVfcGxhbmUoc3RydWN0IGludGVsX3BsYW5l ICpwbGFuZSwKIAlwbGFuZS0+dXBkYXRlX3BsYW5lKHBsYW5lLCBjcnRjX3N0YXRlLCBwbGFuZV9z dGF0ZSk7CiB9CiAKLXZvaWQgaW50ZWxfdXBkYXRlX3NsYXZlKHN0cnVjdCBpbnRlbF9wbGFuZSAq cGxhbmUsCi0JCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKLQkJ CWNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCi17Ci0Jc3RydWN0 IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7 Ci0KLQl0cmFjZV9pbnRlbF91cGRhdGVfcGxhbmUoJnBsYW5lLT5iYXNlLCBjcnRjKTsKLQlwbGFu ZS0+dXBkYXRlX3NsYXZlKHBsYW5lLCBjcnRjX3N0YXRlLCBwbGFuZV9zdGF0ZSk7Ci19Ci0KIHZv aWQgaW50ZWxfZGlzYWJsZV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAogCQkJIGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewpAQCAtMzUxLDI1ICsz NDEsOSBAQCB2b2lkIHNrbF91cGRhdGVfcGxhbmVzX29uX2NydGMoc3RydWN0IGludGVsX2F0b21p Y19zdGF0ZSAqc3RhdGUsCiAJCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqbmV3X3BsYW5lX3N0 YXRlID0KIAkJCWludGVsX2F0b21pY19nZXRfbmV3X3BsYW5lX3N0YXRlKHN0YXRlLCBwbGFuZSk7 CiAKLQkJaWYgKG5ld19wbGFuZV9zdGF0ZS0+dWFwaS52aXNpYmxlKSB7CisJCWlmIChuZXdfcGxh bmVfc3RhdGUtPnVhcGkudmlzaWJsZSB8fAorCQkgICAgbmV3X3BsYW5lX3N0YXRlLT5wbGFuYXJf c2xhdmUpIHsKIAkJCWludGVsX3VwZGF0ZV9wbGFuZShwbGFuZSwgbmV3X2NydGNfc3RhdGUsIG5l d19wbGFuZV9zdGF0ZSk7Ci0JCX0gZWxzZSBpZiAobmV3X3BsYW5lX3N0YXRlLT5wbGFuYXJfc2xh dmUpIHsKLQkJCXN0cnVjdCBpbnRlbF9wbGFuZSAqbWFzdGVyID0KLQkJCQluZXdfcGxhbmVfc3Rh dGUtPnBsYW5hcl9saW5rZWRfcGxhbmU7Ci0KLQkJCS8qCi0JCQkgKiBXZSB1cGRhdGUgdGhlIHNs YXZlIHBsYW5lIGZyb20gdGhpcyBmdW5jdGlvbiBiZWNhdXNlCi0JCQkgKiBwcm9ncmFtbWluZyBp dCBmcm9tIHRoZSBtYXN0ZXIgcGxhbmUncyB1cGRhdGVfcGxhbmUKLQkJCSAqIGNhbGxiYWNrIHJ1 bnMgaW50byBpc3N1ZXMgd2hlbiB0aGUgWSBwbGFuZSBpcwotCQkJICogcmVhc3NpZ25lZCwgZGlz YWJsZWQgb3IgdXNlZCBieSBhIGRpZmZlcmVudCBwbGFuZS4KLQkJCSAqCi0JCQkgKiBUaGUgc2xh dmUgcGxhbmUgaXMgdXBkYXRlZCB3aXRoIHRoZSBtYXN0ZXIgcGxhbmUncwotCQkJICogcGxhbmVf c3RhdGUuCi0JCQkgKi8KLQkJCW5ld19wbGFuZV9zdGF0ZSA9Ci0JCQkJaW50ZWxfYXRvbWljX2dl dF9uZXdfcGxhbmVfc3RhdGUoc3RhdGUsIG1hc3Rlcik7Ci0KLQkJCWludGVsX3VwZGF0ZV9zbGF2 ZShwbGFuZSwgbmV3X2NydGNfc3RhdGUsIG5ld19wbGFuZV9zdGF0ZSk7CiAJCX0gZWxzZSB7CiAJ CQlpbnRlbF9kaXNhYmxlX3BsYW5lKHBsYW5lLCBuZXdfY3J0Y19zdGF0ZSk7CiAJCX0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5oCmluZGV4 IDEyMzQwNGE5Y2YyMy4uNzI2ZWNlY2Q2YWJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmgKQEAgLTI1LDkgKzI1LDYgQEAgdm9pZCBp bnRlbF9wbGFuZV9jb3B5X3VhcGlfdG9faHdfc3RhdGUoc3RydWN0IGludGVsX3BsYW5lX3N0YXRl ICpwbGFuZV9zdGF0ZSwKIHZvaWQgaW50ZWxfdXBkYXRlX3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFu ZSAqcGxhbmUsCiAJCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwK IAkJCWNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpOwotdm9pZCBp bnRlbF91cGRhdGVfc2xhdmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKLQkJCWNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAotCQkJY29uc3Qgc3RydWN0IGludGVs X3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSk7CiB2b2lkIGludGVsX2Rpc2FibGVfcGxhbmUoc3Ry dWN0IGludGVsX3BsYW5lICpwbGFuZSwKIAkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSk7CiBzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lX2FsbG9jKHZv aWQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNw bGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwppbmRl eCA0OTBmMDkyNjRjN2YuLmU1MWNiZjZiNDE1OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKQEAgLTExOTExLDYgKzExOTExLDI0IEBAIHN0YXRpYyBp bnQgaWNsX2NoZWNrX252MTJfcGxhbmVzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKQogCQljcnRjX3N0YXRlLT5hY3RpdmVfcGxhbmVzIHw9IEJJVChsaW5rZWQtPmlkKTsKIAkJ Y3J0Y19zdGF0ZS0+dXBkYXRlX3BsYW5lcyB8PSBCSVQobGlua2VkLT5pZCk7CiAJCURSTV9ERUJV R19LTVMoIlVzaW5nICVzIGFzIFkgcGxhbmUgZm9yICVzXG4iLCBsaW5rZWQtPmJhc2UubmFtZSwg cGxhbmUtPmJhc2UubmFtZSk7CisKKwkJLyogQ29weSBwYXJhbWV0ZXJzIHRvIHNsYXZlIHBsYW5l ICovCisJCWxpbmtlZF9zdGF0ZS0+Y3RsID0gcGxhbmVfc3RhdGUtPmN0bCB8IFBMQU5FX0NUTF9Z VVY0MjBfWV9QTEFORTsKKwkJbGlua2VkX3N0YXRlLT5jb2xvcl9jdGwgPSBwbGFuZV9zdGF0ZS0+ Y29sb3JfY3RsOworCQlsaW5rZWRfc3RhdGUtPmNvbG9yX3BsYW5lWzBdID0gcGxhbmVfc3RhdGUt PmNvbG9yX3BsYW5lWzBdOworCisJCWludGVsX3BsYW5lX2NvcHlfdWFwaV90b19od19zdGF0ZShs aW5rZWRfc3RhdGUsIHBsYW5lX3N0YXRlKTsKKwkJbGlua2VkX3N0YXRlLT51YXBpLnNyYyA9IHBs YW5lX3N0YXRlLT51YXBpLnNyYzsKKwkJbGlua2VkX3N0YXRlLT51YXBpLmRzdCA9IHBsYW5lX3N0 YXRlLT51YXBpLmRzdDsKKworCQlpZiAoaWNsX2lzX2hkcl9wbGFuZShkZXZfcHJpdiwgcGxhbmUt PmlkKSkgeworCQkJaWYgKGxpbmtlZC0+aWQgPT0gUExBTkVfU1BSSVRFNSkKKwkJCQlwbGFuZV9z dGF0ZS0+Y3VzX2N0bCB8PSBQTEFORV9DVVNfUExBTkVfNzsKKwkJCWVsc2UgaWYgKGxpbmtlZC0+ aWQgPT0gUExBTkVfU1BSSVRFNCkKKwkJCQlwbGFuZV9zdGF0ZS0+Y3VzX2N0bCB8PSBQTEFORV9D VVNfUExBTkVfNjsKKwkJCWVsc2UKKwkJCQlNSVNTSU5HX0NBU0UobGlua2VkLT5pZCk7CisJCX0K IAl9CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGlzcGxheV90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kaXNwbGF5X3R5cGVzLmgKaW5kZXggYTM4ZDBmMjBlZjJiLi5mZjQ4MWFmMmIyNGIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBl cy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBl cy5oCkBAIC01NTUsNiArNTU1LDkgQEAgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlIHsKIAkvKiBw bGFuZSBjb2xvciBjb250cm9sIHJlZ2lzdGVyICovCiAJdTMyIGNvbG9yX2N0bDsKIAorCS8qIGNo cm9tYSB1cHNhbXBsZXIgY29udHJvbCByZWdpc3RlciAqLworCXUzMiBjdXNfY3RsOworCiAJLyoK IAkgKiBzY2FsZXJfaWQKIAkgKiAgICA9IC0xIDogbm90IHVzaW5nIGEgc2NhbGVyCkBAIC0xMTEy LDkgKzExMTUsNiBAQCBzdHJ1Y3QgaW50ZWxfcGxhbmUgewogCXZvaWQgKCp1cGRhdGVfcGxhbmUp KHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJCQkgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVf c3RhdGUgKnBsYW5lX3N0YXRlKTsKLQl2b2lkICgqdXBkYXRlX3NsYXZlKShzdHJ1Y3QgaW50ZWxf cGxhbmUgKnBsYW5lLAotCQkJICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSwKLQkJCSAgICAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9z dGF0ZSk7CiAJdm9pZCAoKmRpc2FibGVfcGxhbmUpKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUs CiAJCQkgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7CiAJ Ym9vbCAoKmdldF9od19zdGF0ZSkoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwgZW51bSBwaXBl ICpwaXBlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf c3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jCmlu ZGV4IDAwZjgzZDM3YWJjZi4uMDAzNmNhNmMxYWJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMKQEAgLTUyNiw3ICs1MjYsNyBAQCBzdGF0aWMgdm9pZAog c2tsX3Byb2dyYW1fcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKIAkJICBjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJICBjb25zdCBzdHJ1Y3QgaW50 ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlLAotCQkgIGludCBjb2xvcl9wbGFuZSwgYm9vbCBz bGF2ZSwgdTMyIHBsYW5lX2N0bCkKKwkJICBpbnQgY29sb3JfcGxhbmUpCiB7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShwbGFuZS0+YmFzZS5kZXYpOwogCWVu dW0gcGxhbmVfaWQgcGxhbmVfaWQgPSBwbGFuZS0+aWQ7CkBAIC01NDEsMTIgKzU0MSwxMiBAQCBz a2xfcHJvZ3JhbV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAogCXUzMiB5ID0gcGxh bmVfc3RhdGUtPmNvbG9yX3BsYW5lW2NvbG9yX3BsYW5lXS55OwogCXUzMiBzcmNfdyA9IGRybV9y ZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+dWFwaS5zcmMpID4+IDE2OwogCXUzMiBzcmNfaCA9IGRy bV9yZWN0X2hlaWdodCgmcGxhbmVfc3RhdGUtPnVhcGkuc3JjKSA+PiAxNjsKLQlzdHJ1Y3QgaW50 ZWxfcGxhbmUgKmxpbmtlZCA9IHBsYW5lX3N0YXRlLT5wbGFuYXJfbGlua2VkX3BsYW5lOwogCWNv bnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmVfc3RhdGUtPmh3LmZiOwogCXU4 IGFscGhhID0gcGxhbmVfc3RhdGUtPmh3LmFscGhhID4+IDg7CiAJdTMyIHBsYW5lX2NvbG9yX2N0 bCA9IDA7CiAJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsKIAl1MzIga2V5bXNrLCBrZXltYXg7CisJ dTMyIHBsYW5lX2N0bCA9IHBsYW5lX3N0YXRlLT5jdGw7CiAKIAlwbGFuZV9jdGwgfD0gc2tsX3Bs YW5lX2N0bF9jcnRjKGNydGNfc3RhdGUpOwogCkBAIC01NzgsMjYgKzU3OCw4IEBAIHNrbF9wcm9n cmFtX3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJSTkxNV9XUklURV9GVyhQTEFO RV9BVVhfRElTVChwaXBlLCBwbGFuZV9pZCksCiAJCSAgICAgIChwbGFuZV9zdGF0ZS0+Y29sb3Jf cGxhbmVbMV0ub2Zmc2V0IC0gc3VyZl9hZGRyKSB8IGF1eF9zdHJpZGUpOwogCi0JaWYgKGljbF9p c19oZHJfcGxhbmUoZGV2X3ByaXYsIHBsYW5lX2lkKSkgewotCQl1MzIgY3VzX2N0bCA9IDA7Ci0K LQkJaWYgKGxpbmtlZCkgewotCQkJLyogRW5hYmxlIGFuZCB1c2UgTVBFRy0yIGNocm9tYSBzaXRp bmcgKi8KLQkJCWN1c19jdGwgPSBQTEFORV9DVVNfRU5BQkxFIHwKLQkJCQlQTEFORV9DVVNfSFBI QVNFXzAgfAotCQkJCVBMQU5FX0NVU19WUEhBU0VfU0lHTl9ORUdBVElWRSB8Ci0JCQkJUExBTkVf Q1VTX1ZQSEFTRV8wXzI1OwotCi0JCQlpZiAobGlua2VkLT5pZCA9PSBQTEFORV9TUFJJVEU1KQot CQkJCWN1c19jdGwgfD0gUExBTkVfQ1VTX1BMQU5FXzc7Ci0JCQllbHNlIGlmIChsaW5rZWQtPmlk ID09IFBMQU5FX1NQUklURTQpCi0JCQkJY3VzX2N0bCB8PSBQTEFORV9DVVNfUExBTkVfNjsKLQkJ CWVsc2UKLQkJCQlNSVNTSU5HX0NBU0UobGlua2VkLT5pZCk7Ci0JCX0KLQotCQlJOTE1X1dSSVRF X0ZXKFBMQU5FX0NVU19DVEwocGlwZSwgcGxhbmVfaWQpLCBjdXNfY3RsKTsKLQl9CisJaWYgKGlj bF9pc19oZHJfcGxhbmUoZGV2X3ByaXYsIHBsYW5lX2lkKSkKKwkJSTkxNV9XUklURV9GVyhQTEFO RV9DVVNfQ1RMKHBpcGUsIHBsYW5lX2lkKSwgcGxhbmVfc3RhdGUtPmN1c19jdGwpOwogCiAJaWYg KElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCiAJ CUk5MTVfV1JJVEVfRlcoUExBTkVfQ09MT1JfQ1RMKHBpcGUsIHBsYW5lX2lkKSwgcGxhbmVfY29s b3JfY3RsKTsKQEAgLTYyNyw3ICs2MDksNyBAQCBza2xfcHJvZ3JhbV9wbGFuZShzdHJ1Y3QgaW50 ZWxfcGxhbmUgKnBsYW5lLAogCUk5MTVfV1JJVEVfRlcoUExBTkVfU1VSRihwaXBlLCBwbGFuZV9p ZCksCiAJCSAgICAgIGludGVsX3BsYW5lX2dndHRfb2Zmc2V0KHBsYW5lX3N0YXRlKSArIHN1cmZf YWRkcik7CiAKLQlpZiAoIXNsYXZlICYmIHBsYW5lX3N0YXRlLT5zY2FsZXJfaWQgPj0gMCkKKwlp ZiAocGxhbmVfc3RhdGUtPnNjYWxlcl9pZCA+PSAwKQogCQlza2xfcHJvZ3JhbV9zY2FsZXIocGxh bmUsIGNydGNfc3RhdGUsIHBsYW5lX3N0YXRlKTsKIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUo JmRldl9wcml2LT51bmNvcmUubG9jaywgaXJxZmxhZ3MpOwpAQCAtNjQwLDI0ICs2MjIsMTIgQEAg c2tsX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAogewogCWludCBjb2xv cl9wbGFuZSA9IDA7CiAKLQlpZiAocGxhbmVfc3RhdGUtPnBsYW5hcl9saW5rZWRfcGxhbmUpIHsK LQkJLyogUHJvZ3JhbSB0aGUgVVYgcGxhbmUgKi8KKwlpZiAocGxhbmVfc3RhdGUtPnBsYW5hcl9s aW5rZWRfcGxhbmUgJiYgIXBsYW5lX3N0YXRlLT5wbGFuYXJfc2xhdmUpCisJCS8qIFByb2dyYW0g dGhlIFVWIHBsYW5lIG9uIHBsYW5hciBtYXN0ZXIgKi8KIAkJY29sb3JfcGxhbmUgPSAxOwotCX0K LQotCXNrbF9wcm9ncmFtX3BsYW5lKHBsYW5lLCBjcnRjX3N0YXRlLCBwbGFuZV9zdGF0ZSwKLQkJ CSAgY29sb3JfcGxhbmUsIGZhbHNlLCBwbGFuZV9zdGF0ZS0+Y3RsKTsKLX0KIAotc3RhdGljIHZv aWQKLWljbF91cGRhdGVfc2xhdmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKLQkJIGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAotCQkgY29uc3Qgc3RydWN0IGlu dGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKLXsKLQlza2xfcHJvZ3JhbV9wbGFuZShwbGFu ZSwgY3J0Y19zdGF0ZSwgcGxhbmVfc3RhdGUsIDAsIHRydWUsCi0JCQkgIHBsYW5lX3N0YXRlLT5j dGwgfCBQTEFORV9DVExfWVVWNDIwX1lfUExBTkUpOworCXNrbF9wcm9ncmFtX3BsYW5lKHBsYW5l LCBjcnRjX3N0YXRlLCBwbGFuZV9zdGF0ZSwgY29sb3JfcGxhbmUpOwogfQotCiBzdGF0aWMgdm9p ZAogc2tsX2Rpc2FibGVfcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKIAkJICBjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKQEAgLTE4NDQsNiArMTgxNCwx NSBAQCBzdGF0aWMgaW50IHNrbF9wbGFuZV9jaGVjayhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSwKIAkJcGxhbmVfc3RhdGUtPmNvbG9yX2N0bCA9IGdsa19wbGFuZV9jb2xvcl9j dGwoY3J0Y19zdGF0ZSwKIAkJCQkJCQkgICAgIHBsYW5lX3N0YXRlKTsKIAorCWlmIChkcm1fZm9y bWF0X2luZm9faXNfeXV2X3NlbWlwbGFuYXIoZmItPmZvcm1hdCkgJiYKKwkgICAgaWNsX2lzX2hk cl9wbGFuZShkZXZfcHJpdiwgcGxhbmUtPmlkKSkKKwkJLyogRW5hYmxlIGFuZCB1c2UgTVBFRy0y IGNocm9tYSBzaXRpbmcgKi8KKwkJcGxhbmVfc3RhdGUtPmN1c19jdGwgPSBQTEFORV9DVVNfRU5B QkxFIHwKKwkJCVBMQU5FX0NVU19IUEhBU0VfMCB8CisJCQlQTEFORV9DVVNfVlBIQVNFX1NJR05f TkVHQVRJVkUgfCBQTEFORV9DVVNfVlBIQVNFXzBfMjU7CisJZWxzZQorCQlwbGFuZV9zdGF0ZS0+ Y3VzX2N0bCA9IDA7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjUxMiw4ICsyNDkxLDYgQEAgc2ts X3VuaXZlcnNhbF9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAogCXBsYW5lLT5kaXNhYmxlX3BsYW5lID0gc2tsX2Rpc2FibGVfcGxhbmU7CiAJcGxhbmUtPmdl dF9od19zdGF0ZSA9IHNrbF9wbGFuZV9nZXRfaHdfc3RhdGU7CiAJcGxhbmUtPmNoZWNrX3BsYW5l ID0gc2tsX3BsYW5lX2NoZWNrOwotCWlmIChpY2xfaXNfbnYxMl95X3BsYW5lKHBsYW5lX2lkKSkK LQkJcGxhbmUtPnVwZGF0ZV9zbGF2ZSA9IGljbF91cGRhdGVfc2xhdmU7CiAKIAlpZiAoSU5URUxf R0VOKGRldl9wcml2KSA+PSAxMSkKIAkJZm9ybWF0cyA9IGljbF9nZXRfcGxhbmVfZm9ybWF0cyhk ZXZfcHJpdiwgcGlwZSwKLS0gCjIuMjMuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4