From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 04/24] drm/i915: Remove cursor use of properties for coordinates Date: Fri, 4 Oct 2019 13:34:54 +0200 Message-ID: <20191004113514.17064-5-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 D7B8D6EB30 for ; Fri, 4 Oct 2019 11:35:20 +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 V2UgaGF2ZSBhIHNyYyBhbmQgZGVjdCByZWN0YW5nbGUsIHVzZSBpdCBpbnN0ZWFkIG9mIHJlbHlp bmcgb24KdGhlIGNvcmUgZHJtIHByb3BlcnRpZXMuCgpUaGlzIHJlbW92ZXMgdGhlIHNwZWNpYWwg Y2FzZSBpbiB0aGUgd2F0ZXJtYXJrIGNvZGUgZm9yIGN1cnNvciB3L2guCgpTaWduZWQtb2ZmLWJ5 OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIHwgNTcgKysr KysrKysrKystLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgICAg ICAgICAgfCA1OCArKysrKysrLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNl cnRpb25zKCspLCA2MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGlzcGxheS5jCmluZGV4IGMzYWM1YTVjNTE4NS4uOWUzNGJlNDhjNzcwIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTA1OTEs MTYgKzEwNTkxLDE2IEBAIHN0YXRpYyB1MzIgaW50ZWxfY3Vyc29yX2Jhc2UoY29uc3Qgc3RydWN0 IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKIAkvKiBJTEsrIGRvIHRoaXMgYXV0b21h Z2ljYWxseSAqLwogCWlmIChIQVNfR01DSChkZXZfcHJpdikgJiYKIAkgICAgcGxhbmVfc3RhdGUt PmJhc2Uucm90YXRpb24gJiBEUk1fTU9ERV9ST1RBVEVfMTgwKQotCQliYXNlICs9IChwbGFuZV9z dGF0ZS0+YmFzZS5jcnRjX2ggKgotCQkJIHBsYW5lX3N0YXRlLT5iYXNlLmNydGNfdyAtIDEpICog ZmItPmZvcm1hdC0+Y3BwWzBdOworCQliYXNlICs9IChkcm1fcmVjdF9oZWlnaHQoJnBsYW5lX3N0 YXRlLT5iYXNlLmRzdCkgKgorCQkJIGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+YmFzZS5k c3QpIC0gMSkgKiBmYi0+Zm9ybWF0LT5jcHBbMF07CiAKIAlyZXR1cm4gYmFzZTsKIH0KIAogc3Rh dGljIHUzMiBpbnRlbF9jdXJzb3JfcG9zaXRpb24oY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0 YXRlICpwbGFuZV9zdGF0ZSkKIHsKLQlpbnQgeCA9IHBsYW5lX3N0YXRlLT5iYXNlLmNydGNfeDsK LQlpbnQgeSA9IHBsYW5lX3N0YXRlLT5iYXNlLmNydGNfeTsKKwlpbnQgeCA9IHBsYW5lX3N0YXRl LT5iYXNlLmRzdC54MTsKKwlpbnQgeSA9IHBsYW5lX3N0YXRlLT5iYXNlLmRzdC55MTsKIAl1MzIg cG9zID0gMDsKIAogCWlmICh4IDwgMCkgewpAQCAtMTA2MjIsOCArMTA2MjIsOCBAQCBzdGF0aWMg Ym9vbCBpbnRlbF9jdXJzb3Jfc2l6ZV9vayhjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUg KnBsYW5lX3N0YXRlKQogewogCWNvbnN0IHN0cnVjdCBkcm1fbW9kZV9jb25maWcgKmNvbmZpZyA9 CiAJCSZwbGFuZV9zdGF0ZS0+YmFzZS5wbGFuZS0+ZGV2LT5tb2RlX2NvbmZpZzsKLQlpbnQgd2lk dGggPSBwbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX3c7Ci0JaW50IGhlaWdodCA9IHBsYW5lX3N0YXRl LT5iYXNlLmNydGNfaDsKKwlpbnQgd2lkdGggPSBkcm1fcmVjdF93aWR0aCgmcGxhbmVfc3RhdGUt PmJhc2UuZHN0KTsKKwlpbnQgaGVpZ2h0ID0gZHJtX3JlY3RfaGVpZ2h0KCZwbGFuZV9zdGF0ZS0+ YmFzZS5kc3QpOwogCiAJcmV0dXJuIHdpZHRoID4gMCAmJiB3aWR0aCA8PSBjb25maWctPmN1cnNv cl93aWR0aCAmJgogCQloZWlnaHQgPiAwICYmIGhlaWdodCA8PSBjb25maWctPmN1cnNvcl9oZWln aHQ7CkBAIC0xMDY0Miw4ICsxMDY0Miw4IEBAIHN0YXRpYyBpbnQgaW50ZWxfY3Vyc29yX2NoZWNr X3N1cmZhY2Uoc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKIAlpZiAoIXBs YW5lX3N0YXRlLT5iYXNlLnZpc2libGUpCiAJCXJldHVybiAwOwogCi0Jc3JjX3ggPSBwbGFuZV9z dGF0ZS0+YmFzZS5zcmNfeCA+PiAxNjsKLQlzcmNfeSA9IHBsYW5lX3N0YXRlLT5iYXNlLnNyY195 ID4+IDE2OworCXNyY194ID0gcGxhbmVfc3RhdGUtPmJhc2Uuc3JjLngxID4+IDE2OworCXNyY195 ID0gcGxhbmVfc3RhdGUtPmJhc2Uuc3JjLnkxID4+IDE2OwogCiAJaW50ZWxfYWRkX2ZiX29mZnNl dHMoJnNyY194LCAmc3JjX3ksIHBsYW5lX3N0YXRlLCAwKTsKIAlvZmZzZXQgPSBpbnRlbF9wbGFu ZV9jb21wdXRlX2FsaWduZWRfb2Zmc2V0KCZzcmNfeCwgJnNyY195LApAQCAtMTA2NzgsNiArMTA2 NzgsMTAgQEAgc3RhdGljIGludCBpbnRlbF9jaGVja19jdXJzb3Ioc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAorCS8qIFVzZSB0 aGUgdW5jbGlwcGVkIHNyYy9kc3QgcmVjdGFuZ2xlcywgd2hpY2ggd2UgcHJvZ3JhbSB0byBodyAq LworCXBsYW5lX3N0YXRlLT5iYXNlLnNyYyA9IGRybV9wbGFuZV9zdGF0ZV9zcmMoJnBsYW5lX3N0 YXRlLT5iYXNlKTsKKwlwbGFuZV9zdGF0ZS0+YmFzZS5kc3QgPSBkcm1fcGxhbmVfc3RhdGVfZGVz dCgmcGxhbmVfc3RhdGUtPmJhc2UpOworCiAJcmV0ID0gaW50ZWxfY3Vyc29yX2NoZWNrX3N1cmZh Y2UocGxhbmVfc3RhdGUpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CkBAIC0xMDcyMCw3ICsx MDcyNCw3IEBAIHN0YXRpYyB1MzIgaTg0NV9jdXJzb3JfY3RsKGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCiBzdGF0aWMgYm9vbCBpODQ1X2N1cnNvcl9zaXplX29r KGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCiB7Ci0JaW50IHdp ZHRoID0gcGxhbmVfc3RhdGUtPmJhc2UuY3J0Y193OworCWludCB3aWR0aCA9IGRybV9yZWN0X3dp ZHRoKCZwbGFuZV9zdGF0ZS0+YmFzZS5kc3QpOwogCiAJLyoKIAkgKiA4NDVnLzg2NWcgYXJlIG9u bHkgbGltaXRlZCBieSB0aGUgd2lkdGggb2YgdGhlaXIgY3Vyc29ycywKQEAgLTEwNzQ2LDggKzEw NzUwLDggQEAgc3RhdGljIGludCBpODQ1X2NoZWNrX2N1cnNvcihzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSwKIAkvKiBDaGVjayBmb3Igd2hpY2ggY3Vyc29yIHR5cGVzIHdlIHN1 cHBvcnQgKi8KIAlpZiAoIWk4NDVfY3Vyc29yX3NpemVfb2socGxhbmVfc3RhdGUpKSB7CiAJCURS TV9ERUJVRygiQ3Vyc29yIGRpbWVuc2lvbiAlZHglZCBub3Qgc3VwcG9ydGVkXG4iLAotCQkJICBw bGFuZV9zdGF0ZS0+YmFzZS5jcnRjX3csCi0JCQkgIHBsYW5lX3N0YXRlLT5iYXNlLmNydGNfaCk7 CisJCQkgIGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+YmFzZS5kc3QpLAorCQkJICBkcm1f cmVjdF9oZWlnaHQoJnBsYW5lX3N0YXRlLT5iYXNlLmRzdCkpOwogCQlyZXR1cm4gLUVJTlZBTDsK IAl9CiAKQEAgLTEwNzgwLDggKzEwNzg0LDggQEAgc3RhdGljIHZvaWQgaTg0NV91cGRhdGVfY3Vy c29yKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsK IAogCWlmIChwbGFuZV9zdGF0ZSAmJiBwbGFuZV9zdGF0ZS0+YmFzZS52aXNpYmxlKSB7Ci0JCXVu c2lnbmVkIGludCB3aWR0aCA9IHBsYW5lX3N0YXRlLT5iYXNlLmNydGNfdzsKLQkJdW5zaWduZWQg aW50IGhlaWdodCA9IHBsYW5lX3N0YXRlLT5iYXNlLmNydGNfaDsKKwkJdW5zaWduZWQgaW50IHdp ZHRoID0gZHJtX3JlY3Rfd2lkdGgoJnBsYW5lX3N0YXRlLT5iYXNlLnNyYyk7CisJCXVuc2lnbmVk IGludCBoZWlnaHQgPSBkcm1fcmVjdF9oZWlnaHQoJnBsYW5lX3N0YXRlLT5iYXNlLmRzdCk7CiAK IAkJY250bCA9IHBsYW5lX3N0YXRlLT5jdGwgfAogCQkJaTg0NV9jdXJzb3JfY3RsX2NydGMoY3J0 Y19zdGF0ZSk7CkBAIC0xMDg4Myw3ICsxMDg4Nyw3IEBAIHN0YXRpYyB1MzIgaTl4eF9jdXJzb3Jf Y3RsKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCWlmIChJU19H RU4oZGV2X3ByaXYsIDYpIHx8IElTX0lWWUJSSURHRShkZXZfcHJpdikpCiAJCWNudGwgfD0gTUNV UlNPUl9UUklDS0xFX0ZFRURfRElTQUJMRTsKIAotCXN3aXRjaCAocGxhbmVfc3RhdGUtPmJhc2Uu Y3J0Y193KSB7CisJc3dpdGNoIChkcm1fcmVjdF93aWR0aCgmcGxhbmVfc3RhdGUtPmJhc2UuZHN0 KSkgewogCWNhc2UgNjQ6CiAJCWNudGwgfD0gTUNVUlNPUl9NT0RFXzY0X0FSR0JfQVg7CiAJCWJy ZWFrOwpAQCAtMTA4OTQsNyArMTA4OTgsNyBAQCBzdGF0aWMgdTMyIGk5eHhfY3Vyc29yX2N0bChj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJY250bCB8PSBNQ1VS U09SX01PREVfMjU2X0FSR0JfQVg7CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCU1JU1NJTkdfQ0FT RShwbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX3cpOworCQlNSVNTSU5HX0NBU0UoZHJtX3JlY3Rfd2lk dGgoJnBsYW5lX3N0YXRlLT5iYXNlLmRzdCkpOwogCQlyZXR1cm4gMDsKIAl9CiAKQEAgLTEwOTA4 LDggKzEwOTEyLDggQEAgc3RhdGljIGJvb2wgaTl4eF9jdXJzb3Jfc2l6ZV9vayhjb25zdCBzdHJ1 Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9CiAJCXRvX2k5MTUocGxhbmVfc3RhdGUtPmJhc2UucGxhbmUtPmRl dik7Ci0JaW50IHdpZHRoID0gcGxhbmVfc3RhdGUtPmJhc2UuY3J0Y193OwotCWludCBoZWlnaHQg PSBwbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX2g7CisJaW50IHdpZHRoID0gZHJtX3JlY3Rfd2lkdGgo JnBsYW5lX3N0YXRlLT5iYXNlLmRzdCk7CisJaW50IGhlaWdodCA9IGRybV9yZWN0X2hlaWdodCgm cGxhbmVfc3RhdGUtPmJhc2UuZHN0KTsKIAogCWlmICghaW50ZWxfY3Vyc29yX3NpemVfb2socGxh bmVfc3RhdGUpKQogCQlyZXR1cm4gZmFsc2U7CkBAIC0xMDk2MiwxNyArMTA5NjYsMTkgQEAgc3Rh dGljIGludCBpOXh4X2NoZWNrX2N1cnNvcihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSwKIAkvKiBDaGVjayBmb3Igd2hpY2ggY3Vyc29yIHR5cGVzIHdlIHN1cHBvcnQgKi8KIAlp ZiAoIWk5eHhfY3Vyc29yX3NpemVfb2socGxhbmVfc3RhdGUpKSB7CiAJCURSTV9ERUJVRygiQ3Vy c29yIGRpbWVuc2lvbiAlZHglZCBub3Qgc3VwcG9ydGVkXG4iLAotCQkJICBwbGFuZV9zdGF0ZS0+ YmFzZS5jcnRjX3csCi0JCQkgIHBsYW5lX3N0YXRlLT5iYXNlLmNydGNfaCk7CisJCQkgIGRybV9y ZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+YmFzZS5kc3QpLAorCQkJICBkcm1fcmVjdF9oZWlnaHQo JnBsYW5lX3N0YXRlLT5iYXNlLmRzdCkpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKIAlXQVJO X09OKHBsYW5lX3N0YXRlLT5iYXNlLnZpc2libGUgJiYKIAkJcGxhbmVfc3RhdGUtPmNvbG9yX3Bs YW5lWzBdLnN0cmlkZSAhPSBmYi0+cGl0Y2hlc1swXSk7CiAKLQlpZiAoZmItPnBpdGNoZXNbMF0g IT0gcGxhbmVfc3RhdGUtPmJhc2UuY3J0Y193ICogZmItPmZvcm1hdC0+Y3BwWzBdKSB7CisJaWYg KGZiLT5waXRjaGVzWzBdICE9CisJICAgIGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+YmFz ZS5kc3QpICogZmItPmZvcm1hdC0+Y3BwWzBdKSB7CiAJCURSTV9ERUJVR19LTVMoIkludmFsaWQg Y3Vyc29yIHN0cmlkZSAoJXUpIChjdXJzb3Igd2lkdGggJWQpXG4iLAotCQkJICAgICAgZmItPnBp dGNoZXNbMF0sIHBsYW5lX3N0YXRlLT5iYXNlLmNydGNfdyk7CisJCQkgICAgICBmYi0+cGl0Y2hl c1swXSwKKwkJCSAgICAgIGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+YmFzZS5kc3QpKTsK IAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCkBAIC0xMDk4Nyw3ICsxMDk5Myw3IEBAIHN0YXRpYyBp bnQgaTl4eF9jaGVja19jdXJzb3Ioc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs CiAJICogUmVmdXNlIHRoZSBwdXQgdGhlIGN1cnNvciBpbnRvIHRoYXQgY29tcHJvbWlzZWQgcG9z aXRpb24uCiAJICovCiAJaWYgKElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpICYmIHBpcGUgPT0gUElQ RV9DICYmCi0JICAgIHBsYW5lX3N0YXRlLT5iYXNlLnZpc2libGUgJiYgcGxhbmVfc3RhdGUtPmJh c2UuY3J0Y194IDwgMCkgeworCSAgICBwbGFuZV9zdGF0ZS0+YmFzZS52aXNpYmxlICYmIHBsYW5l X3N0YXRlLT5iYXNlLmRzdC54MSA8IDApIHsKIAkJRFJNX0RFQlVHX0tNUygiQ0hWIGN1cnNvciBD IG5vdCBhbGxvd2VkIHRvIHN0cmFkZGxlIHRoZSBsZWZ0IHNjcmVlbiBlZGdlXG4iKTsKIAkJcmV0 dXJuIC1FSU5WQUw7CiAJfQpAQCAtMTEwMDcsMTEgKzExMDEzLDE0IEBAIHN0YXRpYyB2b2lkIGk5 eHhfdXBkYXRlX2N1cnNvcihzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAogCXVuc2lnbmVkIGxv bmcgaXJxZmxhZ3M7CiAKIAlpZiAocGxhbmVfc3RhdGUgJiYgcGxhbmVfc3RhdGUtPmJhc2Uudmlz aWJsZSkgeworCQl1bnNpZ25lZCB3aWR0aCA9IGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+ YmFzZS5kc3QpOworCQl1bnNpZ25lZCBoZWlnaHQgPSBkcm1fcmVjdF9oZWlnaHQoJnBsYW5lX3N0 YXRlLT5iYXNlLmRzdCk7CisKIAkJY250bCA9IHBsYW5lX3N0YXRlLT5jdGwgfAogCQkJaTl4eF9j dXJzb3JfY3RsX2NydGMoY3J0Y19zdGF0ZSk7CiAKLQkJaWYgKHBsYW5lX3N0YXRlLT5iYXNlLmNy dGNfaCAhPSBwbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX3cpCi0JCQlmYmNfY3RsID0gQ1VSX0ZCQ19D VExfRU4gfCAocGxhbmVfc3RhdGUtPmJhc2UuY3J0Y19oIC0gMSk7CisJCWlmICh3aWR0aCAhPSBo ZWlnaHQpCisJCQlmYmNfY3RsID0gQ1VSX0ZCQ19DVExfRU4gfCAoaGVpZ2h0IC0gMSk7CiAKIAkJ YmFzZSA9IGludGVsX2N1cnNvcl9iYXNlKHBsYW5lX3N0YXRlKTsKIAkJcG9zID0gaW50ZWxfY3Vy c29yX3Bvc2l0aW9uKHBsYW5lX3N0YXRlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCmluZGV4IDZh ZWFhZDU4N2EyMC4uNTMzNThlMzNkZjFiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKQEAgLTEx MTcsMTAgKzExMTcsNyBAQCBzdGF0aWMgdTE2IGc0eF9jb21wdXRlX3dtKGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCWNsb2NrID0gYWRqdXN0ZWRfbW9kZS0+Y3J0 Y19jbG9jazsKIAlodG90YWwgPSBhZGp1c3RlZF9tb2RlLT5jcnRjX2h0b3RhbDsKIAotCWlmIChw bGFuZS0+aWQgPT0gUExBTkVfQ1VSU09SKQotCQl3aWR0aCA9IHBsYW5lX3N0YXRlLT5iYXNlLmNy dGNfdzsKLQllbHNlCi0JCXdpZHRoID0gZHJtX3JlY3Rfd2lkdGgoJnBsYW5lX3N0YXRlLT5iYXNl LmRzdCk7CisJd2lkdGggPSBkcm1fcmVjdF93aWR0aCgmcGxhbmVfc3RhdGUtPmJhc2UuZHN0KTsK IAogCWlmIChwbGFuZS0+aWQgPT0gUExBTkVfQ1VSU09SKSB7CiAJCXdtID0gaW50ZWxfd21fbWV0 aG9kMihjbG9jaywgaHRvdGFsLCB3aWR0aCwgY3BwLCBsYXRlbmN5KTsKQEAgLTI1NDksNyArMjU0 Niw4IEBAIHN0YXRpYyB1MzIgaWxrX2NvbXB1dGVfY3VyX3dtKGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCiAJcmV0dXJuIGlsa193bV9tZXRob2QyKGNydGNfc3Rh dGUtPnBpeGVsX3JhdGUsCiAJCQkgICAgICBjcnRjX3N0YXRlLT5iYXNlLmFkanVzdGVkX21vZGUu Y3J0Y19odG90YWwsCi0JCQkgICAgICBwbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX3csIGNwcCwgbWVt X3ZhbHVlKTsKKwkJCSAgICAgIGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+YmFzZS5kc3Qp LAorCQkJICAgICAgY3BwLCBtZW1fdmFsdWUpOwogfQogCiAvKiBPbmx5IGZvciBXTV9MUC4gKi8K QEAgLTQwNDYsNyArNDA0NCw2IEBAIHN0YXRpYyB1aW50X2ZpeGVkXzE2XzE2X3QKIHNrbF9wbGFu ZV9kb3duc2NhbGVfYW1vdW50KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlLAogCQkJICAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkK IHsKLQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmVfc3Rh dGUtPmJhc2UucGxhbmUpOwogCXUzMiBzcmNfdywgc3JjX2gsIGRzdF93LCBkc3RfaDsKIAl1aW50 X2ZpeGVkXzE2XzE2X3QgZnBfd19yYXRpbywgZnBfaF9yYXRpbzsKIAl1aW50X2ZpeGVkXzE2XzE2 X3QgZG93bnNjYWxlX2gsIGRvd25zY2FsZV93OwpAQCAtNDA1NCwyNyArNDA1MSwxNyBAQCBza2xf cGxhbmVfZG93bnNjYWxlX2Ftb3VudChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSwKIAlpZiAoV0FSTl9PTighaW50ZWxfd21fcGxhbmVfdmlzaWJsZShjcnRjX3N0YXRl LCBwbGFuZV9zdGF0ZSkpKQogCQlyZXR1cm4gdTMyX3RvX2ZpeGVkMTYoMCk7CiAKLQkvKiBuLmIu LCBzcmMgaXMgMTYuMTYgZml4ZWQgcG9pbnQsIGRzdCBpcyB3aG9sZSBpbnRlZ2VyICovCi0JaWYg KHBsYW5lLT5pZCA9PSBQTEFORV9DVVJTT1IpIHsKLQkJLyoKLQkJICogQ3Vyc29ycyBvbmx5IHN1 cHBvcnQgMC8xODAgZGVncmVlIHJvdGF0aW9uLAotCQkgKiBoZW5jZSBubyBuZWVkIHRvIGFjY291 bnQgZm9yIHJvdGF0aW9uIGhlcmUuCi0JCSAqLwotCQlzcmNfdyA9IHBsYW5lX3N0YXRlLT5iYXNl LnNyY193ID4+IDE2OwotCQlzcmNfaCA9IHBsYW5lX3N0YXRlLT5iYXNlLnNyY19oID4+IDE2Owot CQlkc3RfdyA9IHBsYW5lX3N0YXRlLT5iYXNlLmNydGNfdzsKLQkJZHN0X2ggPSBwbGFuZV9zdGF0 ZS0+YmFzZS5jcnRjX2g7Ci0JfSBlbHNlIHsKLQkJLyoKLQkJICogU3JjIGNvb3JkaW5hdGVzIGFy ZSBhbHJlYWR5IHJvdGF0ZWQgYnkgMjcwIGRlZ3JlZXMgZm9yCi0JCSAqIHRoZSA5MC8yNzAgZGVn cmVlIHBsYW5lIHJvdGF0aW9uIGNhc2VzICh0byBtYXRjaCB0aGUKLQkJICogR1RUIG1hcHBpbmcp LCBoZW5jZSBubyBuZWVkIHRvIGFjY291bnQgZm9yIHJvdGF0aW9uIGhlcmUuCi0JCSAqLwotCQlz cmNfdyA9IGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+YmFzZS5zcmMpID4+IDE2OwotCQlz cmNfaCA9IGRybV9yZWN0X2hlaWdodCgmcGxhbmVfc3RhdGUtPmJhc2Uuc3JjKSA+PiAxNjsKLQkJ ZHN0X3cgPSBkcm1fcmVjdF93aWR0aCgmcGxhbmVfc3RhdGUtPmJhc2UuZHN0KTsKLQkJZHN0X2gg PSBkcm1fcmVjdF9oZWlnaHQoJnBsYW5lX3N0YXRlLT5iYXNlLmRzdCk7Ci0JfQorCS8qCisJICog U3JjIGNvb3JkaW5hdGVzIGFyZSBhbHJlYWR5IHJvdGF0ZWQgYnkgMjcwIGRlZ3JlZXMgZm9yCisJ ICogdGhlIDkwLzI3MCBkZWdyZWUgcGxhbmUgcm90YXRpb24gY2FzZXMgKHRvIG1hdGNoIHRoZQor CSAqIEdUVCBtYXBwaW5nKSwgaGVuY2Ugbm8gbmVlZCB0byBhY2NvdW50IGZvciByb3RhdGlvbiBo ZXJlLgorCSAqCisJICogbi5iLiwgc3JjIGlzIDE2LjE2IGZpeGVkIHBvaW50LCBkc3QgaXMgd2hv bGUgaW50ZWdlci4KKwkgKi8KKwlzcmNfdyA9IGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+ YmFzZS5zcmMpID4+IDE2OworCXNyY19oID0gZHJtX3JlY3RfaGVpZ2h0KCZwbGFuZV9zdGF0ZS0+ YmFzZS5zcmMpID4+IDE2OworCWRzdF93ID0gZHJtX3JlY3Rfd2lkdGgoJnBsYW5lX3N0YXRlLT5i YXNlLmRzdCk7CisJZHN0X2ggPSBkcm1fcmVjdF9oZWlnaHQoJnBsYW5lX3N0YXRlLT5iYXNlLmRz dCk7CiAKIAlmcF93X3JhdGlvID0gZGl2X2ZpeGVkMTYoc3JjX3csIGRzdF93KTsKIAlmcF9oX3Jh dGlvID0gZGl2X2ZpeGVkMTYoc3JjX2gsIGRzdF9oKTsKQEAgLTQ2OTgsMjAgKzQ2ODUsMTUgQEAg c2tsX2NvbXB1dGVfcGxhbmVfd21fcGFyYW1zKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlLAogCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxh bmVfc3RhdGUsCiAJCQkgICAgc3RydWN0IHNrbF93bV9wYXJhbXMgKndwLCBpbnQgY29sb3JfcGxh bmUpCiB7Ci0Jc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5l X3N0YXRlLT5iYXNlLnBsYW5lKTsKIAljb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9 IHBsYW5lX3N0YXRlLT5iYXNlLmZiOwogCWludCB3aWR0aDsKIAotCWlmIChwbGFuZS0+aWQgPT0g UExBTkVfQ1VSU09SKSB7Ci0JCXdpZHRoID0gcGxhbmVfc3RhdGUtPmJhc2UuY3J0Y193OwotCX0g ZWxzZSB7Ci0JCS8qCi0JCSAqIFNyYyBjb29yZGluYXRlcyBhcmUgYWxyZWFkeSByb3RhdGVkIGJ5 IDI3MCBkZWdyZWVzIGZvcgotCQkgKiB0aGUgOTAvMjcwIGRlZ3JlZSBwbGFuZSByb3RhdGlvbiBj YXNlcyAodG8gbWF0Y2ggdGhlCi0JCSAqIEdUVCBtYXBwaW5nKSwgaGVuY2Ugbm8gbmVlZCB0byBh Y2NvdW50IGZvciByb3RhdGlvbiBoZXJlLgotCQkgKi8KLQkJd2lkdGggPSBkcm1fcmVjdF93aWR0 aCgmcGxhbmVfc3RhdGUtPmJhc2Uuc3JjKSA+PiAxNjsKLQl9CisJLyoKKwkgKiBTcmMgY29vcmRp bmF0ZXMgYXJlIGFscmVhZHkgcm90YXRlZCBieSAyNzAgZGVncmVlcyBmb3IKKwkgKiB0aGUgOTAv MjcwIGRlZ3JlZSBwbGFuZSByb3RhdGlvbiBjYXNlcyAodG8gbWF0Y2ggdGhlCisJICogR1RUIG1h cHBpbmcpLCBoZW5jZSBubyBuZWVkIHRvIGFjY291bnQgZm9yIHJvdGF0aW9uIGhlcmUuCisJICov CisJd2lkdGggPSBkcm1fcmVjdF93aWR0aCgmcGxhbmVfc3RhdGUtPmJhc2Uuc3JjKSA+PiAxNjsK IAogCXJldHVybiBza2xfY29tcHV0ZV93bV9wYXJhbXMoY3J0Y19zdGF0ZSwgd2lkdGgsCiAJCQkJ ICAgICBmYi0+Zm9ybWF0LCBmYi0+bW9kaWZpZXIsCi0tIAoyLjIzLjAKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==