From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 01/18] drm/i915: Track visible planes in a bitmask Date: Thu, 16 Feb 2017 20:07:34 +0200 Message-ID: <20170216180751.3097-2-ville.syrjala@linux.intel.com> References: <20170216180751.3097-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id B05986EBF0 for ; Thu, 16 Feb 2017 18:07:57 +0000 (UTC) In-Reply-To: <20170216180751.3097-1-ville.syrjala@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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCklu IGEgbG90IG9mIHBsYWNlIHdlIHdpc2ggdG8ga25vdyB3aGljaCBwbGFuZXMgb24gdGhlIGNydGMg YXJlIGFjdHVhbGx5CnZpc2libGUsIG9yIGhvdyBtYW55IG9mIHRoZW0gdGhlcmUgYXJlLiBMZXQn cyBzdGFydCB0cmFja2luZyB0aGF0IGluIGEKYml0bWFzayBpbiB0aGUgY3J0YyBzdGF0ZS4KCldl IGFscmVhZHkgdHJhY2sgZW5hYmxlZCBwbGFuZXMgKGllLiBvbmVzIHdpdGggYW4gZmIgYW5kIGNy dGMgc3BlY2lmaWVkIGJ5CnRoZSB1c2VyKSBidXQgdGhhdCdzIG5vdCBxdWl0ZSB0aGUgc2FtZSB0 aGluZyBhcyBlbmFibGVkIHBsYW5lcyBtYXkKc3RpbGwgZW5kIHVwIGJlaW5nIGludmlzaWJsZSBk dWUgdG8gY2xpcHBpbmcgYW5kIHdoYXRub3QuCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rs w6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2F0b21pY19wbGFuZS5jIHwgIDYgKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgICAgICB8IDc0ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAgICAgIHwgIDMgKysKIDMgZmls ZXMgY2hhbmdlZCwgNjAgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljX3BsYW5lLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9hdG9taWNfcGxhbmUuYwppbmRleCA0MWZkOTRlNjJkM2MuLjFlYWY4 NDBjZjlmZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljX3Bs YW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljX3BsYW5lLmMKQEAg LTE4OSw2ICsxODksMTIgQEAgaW50IGludGVsX3BsYW5lX2F0b21pY19jaGVja193aXRoX3N0YXRl KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCWlmIChyZXQpCiAJCXJldHVy biByZXQ7CiAKKwkvKiBGSVhNRSBwcmUtZzR4IGRvbid0IHdvcmsgbGlrZSB0aGlzICovCisJaWYg KGludGVsX3N0YXRlLT5iYXNlLnZpc2libGUpCisJCWNydGNfc3RhdGUtPmFjdGl2ZV9wbGFuZXMg fD0gQklUKGludGVsX3BsYW5lLT5pZCk7CisJZWxzZQorCQljcnRjX3N0YXRlLT5hY3RpdmVfcGxh bmVzICY9IH5CSVQoaW50ZWxfcGxhbmUtPmlkKTsKKwogCXJldHVybiBpbnRlbF9wbGFuZV9hdG9t aWNfY2FsY19jaGFuZ2VzKCZjcnRjX3N0YXRlLT5iYXNlLCBzdGF0ZSk7CiB9CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCAwZDQ2YThkYjVjNmYuLjBjY2MwNDYwN2I4YSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMjY3NCw2ICsyNjc0LDI5IEBA IHVwZGF0ZV9zdGF0ZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKIH0KIAogc3RhdGljIHZv aWQKK2ludGVsX3NldF9wbGFuZV92aXNpYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlLAorCQkJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSwKKwkJCWJv b2wgdmlzaWJsZSkKK3sKKwlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lID0gdG9faW50ZWxfcGxh bmUocGxhbmVfc3RhdGUtPmJhc2UucGxhbmUpOworCisJcGxhbmVfc3RhdGUtPmJhc2UudmlzaWJs ZSA9IHZpc2libGU7CisKKwkvKiBGSVhNRSBwcmUtZzR4IGRvbid0IHdvcmsgbGlrZSB0aGlzICov CisJaWYgKHZpc2libGUpIHsKKwkJY3J0Y19zdGF0ZS0+YmFzZS5wbGFuZV9tYXNrIHw9IEJJVChk cm1fcGxhbmVfaW5kZXgoJnBsYW5lLT5iYXNlKSk7CisJCWNydGNfc3RhdGUtPmFjdGl2ZV9wbGFu ZXMgfD0gQklUKHBsYW5lLT5pZCk7CisJfSBlbHNlIHsKKwkJY3J0Y19zdGF0ZS0+YmFzZS5wbGFu ZV9tYXNrICY9IH5CSVQoZHJtX3BsYW5lX2luZGV4KCZwbGFuZS0+YmFzZSkpOworCQljcnRjX3N0 YXRlLT5hY3RpdmVfcGxhbmVzICY9IH5CSVQocGxhbmUtPmlkKTsKKwl9CisKKwlEUk1fREVCVUdf S01TKCIlcyBhY3RpdmUgcGxhbmVzIDB4JXhcbiIsCisJCSAgICAgIGNydGNfc3RhdGUtPmJhc2Uu Y3J0Yy0+bmFtZSwKKwkJICAgICAgY3J0Y19zdGF0ZS0+YWN0aXZlX3BsYW5lcyk7Cit9CisKK3N0 YXRpYyB2b2lkCiBpbnRlbF9maW5kX2luaXRpYWxfcGxhbmVfb2JqKHN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjLAogCQkJICAgICBzdHJ1Y3QgaW50ZWxfaW5pdGlhbF9wbGFuZV9jb25maWcg KnBsYW5lX2NvbmZpZykKIHsKQEAgLTI3MzAsOCArMjc1Myw5IEBAIGludGVsX2ZpbmRfaW5pdGlh bF9wbGFuZV9vYmooc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCiAJICogc2ltcGxlc3Qg c29sdXRpb24gaXMgdG8ganVzdCBkaXNhYmxlIHRoZSBwcmltYXJ5IHBsYW5lIG5vdyBhbmQKIAkg KiBwcmV0ZW5kIHRoZSBCSU9TIG5ldmVyIGhhZCBpdCBlbmFibGVkLgogCSAqLwotCXBsYW5lX3N0 YXRlLT52aXNpYmxlID0gZmFsc2U7Ci0JY3J0Y19zdGF0ZS0+cGxhbmVfbWFzayAmPSB+KDEgPDwg ZHJtX3BsYW5lX2luZGV4KHByaW1hcnkpKTsKKwlpbnRlbF9zZXRfcGxhbmVfdmlzaWJsZSh0b19p bnRlbF9jcnRjX3N0YXRlKGNydGNfc3RhdGUpLAorCQkJCXRvX2ludGVsX3BsYW5lX3N0YXRlKHBs YW5lX3N0YXRlKSwKKwkJCQlmYWxzZSk7CiAJaW50ZWxfcHJlX2Rpc2FibGVfcHJpbWFyeV9ub2F0 b21pYygmaW50ZWxfY3J0Yy0+YmFzZSk7CiAJaW50ZWxfcGxhbmUtPmRpc2FibGVfcGxhbmUocHJp bWFyeSwgJmludGVsX2NydGMtPmJhc2UpOwogCkBAIC0yNzcxLDcgKzI3OTUsMTEgQEAgaW50ZWxf ZmluZF9pbml0aWFsX3BsYW5lX29iaihzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKIAlk cm1fZnJhbWVidWZmZXJfcmVmZXJlbmNlKGZiKTsKIAlwcmltYXJ5LT5mYiA9IHByaW1hcnktPnN0 YXRlLT5mYiA9IGZiOwogCXByaW1hcnktPmNydGMgPSBwcmltYXJ5LT5zdGF0ZS0+Y3J0YyA9ICZp bnRlbF9jcnRjLT5iYXNlOwotCWludGVsX2NydGMtPmJhc2Uuc3RhdGUtPnBsYW5lX21hc2sgfD0g KDEgPDwgZHJtX3BsYW5lX2luZGV4KHByaW1hcnkpKTsKKworCWludGVsX3NldF9wbGFuZV92aXNp YmxlKHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Y19zdGF0ZSksCisJCQkJdG9faW50ZWxfcGxhbmVf c3RhdGUocGxhbmVfc3RhdGUpLAorCQkJCXRydWUpOworCiAJYXRvbWljX29yKHRvX2ludGVsX3Bs YW5lKHByaW1hcnkpLT5mcm9udGJ1ZmZlcl9iaXQsCiAJCSAgJm9iai0+ZnJvbnRidWZmZXJfYml0 cyk7CiB9CkBAIC0xMDg1MywxMSArMTA4ODEsMTEgQEAgaW50IGludGVsX3BsYW5lX2F0b21pY19j YWxjX2NoYW5nZXMoc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCXN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyA9IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Y19z dGF0ZSk7CiAJc3RydWN0IGRybV9jcnRjICpjcnRjID0gY3J0Y19zdGF0ZS0+Y3J0YzsKIAlzdHJ1 Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Ci0Jc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUgPSBwbGFuZV9zdGF0ZS0+cGxhbmU7CisJc3RydWN0IGludGVsX3Bs YW5lICpwbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lX3N0YXRlLT5wbGFuZSk7CiAJc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpvbGRf cGxhbmVfc3RhdGUgPQotCQl0b19pbnRlbF9wbGFuZV9zdGF0ZShwbGFuZS0+c3RhdGUpOworCQl0 b19pbnRlbF9wbGFuZV9zdGF0ZShwbGFuZS0+YmFzZS5zdGF0ZSk7CiAJYm9vbCBtb2RlX2NoYW5n ZWQgPSBuZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUpOwogCWJvb2wgd2FzX2NydGNfZW5hYmxlZCA9 IGNydGMtPnN0YXRlLT5hY3RpdmU7CiAJYm9vbCBpc19jcnRjX2VuYWJsZWQgPSBjcnRjX3N0YXRl LT5hY3RpdmU7CkBAIC0xMDg2NSw3ICsxMDg5Myw3IEBAIGludCBpbnRlbF9wbGFuZV9hdG9taWNf Y2FsY19jaGFuZ2VzKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAlzdHJ1Y3Qg ZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5lX3N0YXRlLT5mYjsKIAlpbnQgcmV0OwogCi0JaWYg KElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSAmJiBwbGFuZS0+dHlwZSAhPSBEUk1fUExBTkVfVFlQ RV9DVVJTT1IpIHsKKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5ICYmIHBsYW5lLT5pZCAh PSBQTEFORV9DVVJTT1IpIHsKIAkJcmV0ID0gc2tsX3VwZGF0ZV9zY2FsZXJfcGxhbmUoCiAJCQl0 b19pbnRlbF9jcnRjX3N0YXRlKGNydGNfc3RhdGUpLAogCQkJdG9faW50ZWxfcGxhbmVfc3RhdGUo cGxhbmVfc3RhdGUpKTsKQEAgLTEwODg5LDggKzEwOTE3LDEwIEBAIGludCBpbnRlbF9wbGFuZV9h dG9taWNfY2FsY19jaGFuZ2VzKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkg KiBwZXItcGxhbmUgd20gY29tcHV0YXRpb24gdG8gdGhlIC5jaGVja19wbGFuZSgpIGhvb2ssIGFu ZAogCSAqIG9ubHkgY29tYmluZSB0aGUgcmVzdWx0cyBmcm9tIGFsbCBwbGFuZXMgaW4gdGhlIGN1 cnJlbnQgcGxhY2U/CiAJICovCi0JaWYgKCFpc19jcnRjX2VuYWJsZWQpCisJaWYgKCFpc19jcnRj X2VuYWJsZWQpIHsKIAkJcGxhbmVfc3RhdGUtPnZpc2libGUgPSB2aXNpYmxlID0gZmFsc2U7CisJ CXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Y19zdGF0ZSktPmFjdGl2ZV9wbGFuZXMgJj0gfkJJVChw bGFuZS0+aWQpOworCX0KIAogCWlmICghd2FzX3Zpc2libGUgJiYgIXZpc2libGUpCiAJCXJldHVy biAwOwpAQCAtMTA5MDIsMTMgKzEwOTMyLDEyIEBAIGludCBpbnRlbF9wbGFuZV9hdG9taWNfY2Fs Y19jaGFuZ2VzKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAl0dXJuX29uID0g dmlzaWJsZSAmJiAoIXdhc192aXNpYmxlIHx8IG1vZGVfY2hhbmdlZCk7CiAKIAlEUk1fREVCVUdf QVRPTUlDKCJbQ1JUQzolZDolc10gaGFzIFtQTEFORTolZDolc10gd2l0aCBmYiAlaVxuIiwKLQkJ CSBpbnRlbF9jcnRjLT5iYXNlLmJhc2UuaWQsCi0JCQkgaW50ZWxfY3J0Yy0+YmFzZS5uYW1lLAot CQkJIHBsYW5lLT5iYXNlLmlkLCBwbGFuZS0+bmFtZSwKKwkJCSBpbnRlbF9jcnRjLT5iYXNlLmJh c2UuaWQsIGludGVsX2NydGMtPmJhc2UubmFtZSwKKwkJCSBwbGFuZS0+YmFzZS5iYXNlLmlkLCBw bGFuZS0+YmFzZS5uYW1lLAogCQkJIGZiID8gZmItPmJhc2UuaWQgOiAtMSk7CiAKIAlEUk1fREVC VUdfQVRPTUlDKCJbUExBTkU6JWQ6JXNdIHZpc2libGUgJWkgLT4gJWksIG9mZiAlaSwgb24gJWks IG1zICVpXG4iLAotCQkJIHBsYW5lLT5iYXNlLmlkLCBwbGFuZS0+bmFtZSwKKwkJCSBwbGFuZS0+ YmFzZS5iYXNlLmlkLCBwbGFuZS0+YmFzZS5uYW1lLAogCQkJIHdhc192aXNpYmxlLCB2aXNpYmxl LAogCQkJIHR1cm5fb2ZmLCB0dXJuX29uLCBtb2RlX2NoYW5nZWQpOwogCkBAIC0xMDkxNiwxNSAr MTA5NDUsMTUgQEAgaW50IGludGVsX3BsYW5lX2F0b21pY19jYWxjX2NoYW5nZXMoc3RydWN0IGRy bV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQlwaXBlX2NvbmZpZy0+dXBkYXRlX3dtX3ByZSA9 IHRydWU7CiAKIAkJLyogbXVzdCBkaXNhYmxlIGN4c3IgYXJvdW5kIHBsYW5lIGVuYWJsZS9kaXNh YmxlICovCi0JCWlmIChwbGFuZS0+dHlwZSAhPSBEUk1fUExBTkVfVFlQRV9DVVJTT1IpCisJCWlm IChwbGFuZS0+aWQgIT0gUExBTkVfQ1VSU09SKQogCQkJcGlwZV9jb25maWctPmRpc2FibGVfY3hz ciA9IHRydWU7CiAJfSBlbHNlIGlmICh0dXJuX29mZikgewogCQlwaXBlX2NvbmZpZy0+dXBkYXRl X3dtX3Bvc3QgPSB0cnVlOwogCiAJCS8qIG11c3QgZGlzYWJsZSBjeHNyIGFyb3VuZCBwbGFuZSBl bmFibGUvZGlzYWJsZSAqLwotCQlpZiAocGxhbmUtPnR5cGUgIT0gRFJNX1BMQU5FX1RZUEVfQ1VS U09SKQorCQlpZiAocGxhbmUtPmlkICE9IFBMQU5FX0NVUlNPUikKIAkJCXBpcGVfY29uZmlnLT5k aXNhYmxlX2N4c3IgPSB0cnVlOwotCX0gZWxzZSBpZiAoaW50ZWxfd21fbmVlZF91cGRhdGUocGxh bmUsIHBsYW5lX3N0YXRlKSkgeworCX0gZWxzZSBpZiAoaW50ZWxfd21fbmVlZF91cGRhdGUoJnBs YW5lLT5iYXNlLCBwbGFuZV9zdGF0ZSkpIHsKIAkJLyogRklYTUUgYm9sbG9ja3MgKi8KIAkJcGlw ZV9jb25maWctPnVwZGF0ZV93bV9wcmUgPSB0cnVlOwogCQlwaXBlX2NvbmZpZy0+dXBkYXRlX3dt X3Bvc3QgPSB0cnVlOwpAQCAtMTA5MzYsNyArMTA5NjUsNyBAQCBpbnQgaW50ZWxfcGxhbmVfYXRv bWljX2NhbGNfY2hhbmdlcyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCXRv X2ludGVsX2NydGNfc3RhdGUoY3J0Y19zdGF0ZSktPndtLm5lZWRfcG9zdHZibF91cGRhdGUgPSB0 cnVlOwogCiAJaWYgKHZpc2libGUgfHwgd2FzX3Zpc2libGUpCi0JCXBpcGVfY29uZmlnLT5mYl9i aXRzIHw9IHRvX2ludGVsX3BsYW5lKHBsYW5lKS0+ZnJvbnRidWZmZXJfYml0OworCQlwaXBlX2Nv bmZpZy0+ZmJfYml0cyB8PSBwbGFuZS0+ZnJvbnRidWZmZXJfYml0OwogCiAJLyoKIAkgKiBXYUN4 U1JEaXNhYmxlZEZvclNwcml0ZVNjYWxpbmc6aXZiCkBAIC0xMDk0NCw3ICsxMDk3Myw3IEBAIGlu dCBpbnRlbF9wbGFuZV9hdG9taWNfY2FsY19jaGFuZ2VzKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSwKIAkgKiBjc3RhdGUtPnVwZGF0ZV93bSB3YXMgYWxyZWFkeSBzZXQgYWJvdmUs IHNvIHRoaXMgZmxhZyB3aWxsCiAJICogdGFrZSBlZmZlY3Qgd2hlbiB3ZSBjb21taXQgYW5kIHBy b2dyYW0gd2F0ZXJtYXJrcy4KIAkgKi8KLQlpZiAocGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5FX1RZ UEVfT1ZFUkxBWSAmJiBJU19JVllCUklER0UoZGV2X3ByaXYpICYmCisJaWYgKHBsYW5lLT5pZCA9 PSBQTEFORV9TUFJJVEUwICYmIElTX0lWWUJSSURHRShkZXZfcHJpdikgJiYKIAkgICAgbmVlZHNf c2NhbGluZyh0b19pbnRlbF9wbGFuZV9zdGF0ZShwbGFuZV9zdGF0ZSkpICYmCiAJICAgICFuZWVk c19zY2FsaW5nKG9sZF9wbGFuZV9zdGF0ZSkpCiAJCXBpcGVfY29uZmlnLT5kaXNhYmxlX2xwX3dt ID0gdHJ1ZTsKQEAgLTE1MzM2LDE1ICsxNTM2NSwxNCBAQCBzdGF0aWMgYm9vbCBwcmltYXJ5X2dl dF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lKQogLyogRklYTUUgcmVhZCBvdXQg ZnVsbCBwbGFuZSBzdGF0ZSBmb3IgYWxsIHBsYW5lcyAqLwogc3RhdGljIHZvaWQgcmVhZG91dF9w bGFuZV9zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIHsKLQlzdHJ1Y3QgZHJtX3BsYW5l ICpwcmltYXJ5ID0gY3J0Yy0+YmFzZS5wcmltYXJ5OwotCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0 ZSAqcGxhbmVfc3RhdGUgPQotCQl0b19pbnRlbF9wbGFuZV9zdGF0ZShwcmltYXJ5LT5zdGF0ZSk7 CisJc3RydWN0IGludGVsX3BsYW5lICpwcmltYXJ5ID0gdG9faW50ZWxfcGxhbmUoY3J0Yy0+YmFz ZS5wcmltYXJ5KTsKKwlib29sIHZpc2libGU7CiAKLQlwbGFuZV9zdGF0ZS0+YmFzZS52aXNpYmxl ID0gY3J0Yy0+YWN0aXZlICYmCi0JCXByaW1hcnlfZ2V0X2h3X3N0YXRlKHRvX2ludGVsX3BsYW5l KHByaW1hcnkpKTsKKwl2aXNpYmxlID0gY3J0Yy0+YWN0aXZlICYmIHByaW1hcnlfZ2V0X2h3X3N0 YXRlKHByaW1hcnkpOwogCi0JaWYgKHBsYW5lX3N0YXRlLT5iYXNlLnZpc2libGUpCi0JCWNydGMt PmJhc2Uuc3RhdGUtPnBsYW5lX21hc2sgfD0gMSA8PCBkcm1fcGxhbmVfaW5kZXgocHJpbWFyeSk7 CisJaW50ZWxfc2V0X3BsYW5lX3Zpc2libGUodG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5iYXNl LnN0YXRlKSwKKwkJCQl0b19pbnRlbF9wbGFuZV9zdGF0ZShwcmltYXJ5LT5iYXNlLnN0YXRlKSwK KwkJCQl2aXNpYmxlKTsKIH0KIAogc3RhdGljIHZvaWQgaW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3 X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmlu ZGV4IDQ0NjdmNGU3NzNlNS4uZTFmMjhkZDYxODIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aApAQCAtNjkxLDYgKzY5MSw5IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKIAogCS8qIEdh bW1hIG1vZGUgcHJvZ3JhbW1lZCBvbiB0aGUgcGlwZSAqLwogCXVpbnQzMl90IGdhbW1hX21vZGU7 CisKKwkvKiBiaXRtYXNrIG9mIHZpc2libGUgcGxhbmVzIChlbnVtIHBsYW5lX2lkKSAqLworCXU4 IGFjdGl2ZV9wbGFuZXM7CiB9OwogCiBzdHJ1Y3Qgdmx2X3dtX3N0YXRlIHsKLS0gCjIuMTAuMgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==