From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v2 08/13] drm/i915: Track pipe gamma enable/disable in crtc state Date: Tue, 5 Feb 2019 18:08:43 +0200 Message-ID: <20190205160848.24662-9-ville.syrjala@linux.intel.com> References: <20190205160848.24662-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0C0F46E72C for ; Tue, 5 Feb 2019 16:09:20 +0000 (UTC) In-Reply-To: <20190205160848.24662-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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClRy YWNrIHdoZXRoZXIgcGlwZSBnYW1tYSBpcyBlbmFibGVkIG9yIGRpc2FibGVkLiBGb3Igbm93IHdl CnN0aWNrIHRvIHRoZSBjdXJyZW50IGJlaGF2aW91ciBvZiBhbHdheXMgZW5hYmxpbmcgZ2FtbWEu IEJ1dAp3ZSBkbyBnZXQgd29ya2luZyBzdGF0ZSByZWFkb3V0IGZvciB0aGlzIG5vdy4gT24gU0tM KyB3ZSB1c2UKdGhlIHBpcGUgYm90dG9tIGNvbG9yIGFzIG91ciBoYXJkd2FyZSBzdGF0ZS4gT24g cHJlLVNLTCB3ZQpyZWFkIHRoZSBzdGF0ZSBiYWNrIGZyb20gdGhlIHByaW1hcnkgcGxhbmUgY29u dHJvbCByZWdpc3Rlci4KVGhhdCBvbmx5IHJlYWxseSBjb3JyZWN0IGZvciBnNHgrLCBhcyBvbGRl ciBwbGF0Zm9ybXMgbmV2ZXIKZ2FtbWEgY29ycmVjdCBwaXBlIGJvdHRvbSBjb2xvci4gQnV0IGRv aW5nIHRoZSByZWFkb3V0IHRoZQpzYW1lIHdheSBvbiBhbGwgcGxhdGZvcm1zIGlzIGZpbmUsIGFu ZCB0aGVyZSBpcyBubyBvdGhlciB3YXkKdG8gZG8gaXQgcmVhbGx5LgoKdjI6IEluaXRpYWxpemUg dmFsIGF0IGRlY2xhcmF0aW9uIChVbWEpCiAgICBEcm9wIHRoZSBib2d1cyBza2wgc2NhbGVyIGNv bW1lbnQgY2hhbmdlIChVbWEpCiAgICBSZWJhc2UKClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrD pGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ClJldmlld2VkLWJ5OiBNYXR0IFJv cGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogVW1hIFNoYW5rYXIg PHVtYS5zaGFua2FyQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9j b2xvci5jICAgfCAyOCArKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYyB8IDY1ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAzICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9zcHJpdGUuYyAgfCAxNyArKysrKystLQogNCBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRpb25z KCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9jb2xvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwppbmRleCBl N2RkMDc0OTBjNjguLjhhY2M3Mjk5MjVhZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfY29sb3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5j CkBAIC0zODcsNiArMzg3LDI4IEBAIHN0YXRpYyB2b2lkIGhzd19jb2xvcl9jb21taXQoY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJaWxrX2xvYWRfY3NjX21hdHJp eChjcnRjX3N0YXRlKTsKIH0KIAorc3RhdGljIHZvaWQgc2tsX2NvbG9yX2NvbW1pdChjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKK3sKKwlzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKKwll bnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CisJdTMyIHZhbCA9IDA7CisKKwkvKgorCSAqIFdl IGRvbid0ICh5ZXQpIGFsbG93IHVzZXJzcGFjZSB0byBjb250cm9sIHRoZSBwaXBlIGJhY2tncm91 bmQgY29sb3IsCisJICogc28gZm9yY2UgaXQgdG8gYmxhY2ssIGJ1dCBhcHBseSBwaXBlIGdhbW1h IGFuZCBDU0MgYXBwcm9wcmlhdGVseQorCSAqIHNvIHRoYXQgaXRzIGhhbmRsaW5nIHdpbGwgbWF0 Y2ggaG93IHdlIHByb2dyYW0gb3VyIHBsYW5lcy4KKwkgKi8KKwlpZiAoY3J0Y19zdGF0ZS0+Z2Ft bWFfZW5hYmxlKQorCQl2YWwgfD0gU0tMX0JPVFRPTV9DT0xPUl9HQU1NQV9FTkFCTEU7CisJdmFs IHw9IFNLTF9CT1RUT01fQ09MT1JfQ1NDX0VOQUJMRTsKKwlJOTE1X1dSSVRFKFNLTF9CT1RUT01f Q09MT1IocGlwZSksIHZhbCk7CisKKwlJOTE1X1dSSVRFKEdBTU1BX01PREUoY3J0Yy0+cGlwZSks IGNydGNfc3RhdGUtPmdhbW1hX21vZGUpOworCisJaWxrX2xvYWRfY3NjX21hdHJpeChjcnRjX3N0 YXRlKTsKK30KKwogc3RhdGljIHZvaWQgYmR3X2xvYWRfZGVnYW1tYV9sdXQoY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7CiAJc3RydWN0IGludGVsX2NydGMgKmNy dGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CkBAIC02NDQsNiArNjY2 LDggQEAgaW50IGludGVsX2NvbG9yX2NoZWNrKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKQogCWRlZ2FtbWFfdGVzdHMgPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Y29sb3IuZGVn YW1tYV9sdXRfdGVzdHM7CiAJZ2FtbWFfdGVzdHMgPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Y29s b3IuZ2FtbWFfbHV0X3Rlc3RzOwogCisJY3J0Y19zdGF0ZS0+Z2FtbWFfZW5hYmxlID0gdHJ1ZTsK KwogCS8qIEFsd2F5cyBhbGxvdyBsZWdhY3kgZ2FtbWEgTFVUIHdpdGggbm8gZnVydGhlciBjaGVj a2luZy4gKi8KIAlpZiAoY3J0Y19zdGF0ZV9pc19sZWdhY3lfZ2FtbWEoY3J0Y19zdGF0ZSkpIHsK IAkJY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSA9IEdBTU1BX01PREVfTU9ERV84QklUOwpAQCAtNjg5 LDcgKzcxMyw5IEBAIHZvaWQgaW50ZWxfY29sb3JfaW5pdChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YykKIAkJZWxzZQogCQkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9sdXRzID0gaTl4eF9sb2FkX2x1 dHM7CiAKLQkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOCB8fCBJU19IQVNXRUxMKGRldl9w cml2KSkKKwkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKKwkJCWRldl9wcml2LT5kaXNw bGF5LmNvbG9yX2NvbW1pdCA9IHNrbF9jb2xvcl9jb21taXQ7CisJCWVsc2UgaWYgKElTX0JST0FE V0VMTChkZXZfcHJpdikgfHwgSVNfSEFTV0VMTChkZXZfcHJpdikpCiAJCQlkZXZfcHJpdi0+ZGlz cGxheS5jb2xvcl9jb21taXQgPSBoc3dfY29sb3JfY29tbWl0OwogCQllbHNlCiAJCQlkZXZfcHJp di0+ZGlzcGxheS5jb2xvcl9jb21taXQgPSBpbGtfY29sb3JfY29tbWl0OwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDhlOTM0NTlmMzEyZi4uZWJmMjZjMGUwYTk4IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0zMjIxLDcgKzMyMjEsOCBAQCBzdGF0 aWMgdTMyIGk5eHhfcGxhbmVfY3RsX2NydGMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUpCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShjcnRjLT5iYXNlLmRldik7CiAJdTMyIGRzcGNudHIgPSAwOwogCi0JZHNwY250ciB8PSBESVNQ UExBTkVfR0FNTUFfRU5BQkxFOworCWlmIChjcnRjX3N0YXRlLT5nYW1tYV9lbmFibGUpCisJCWRz cGNudHIgfD0gRElTUFBMQU5FX0dBTU1BX0VOQUJMRTsKIAogCWlmIChJU19IQVNXRUxMKGRldl9w cml2KSB8fCBJU19CUk9BRFdFTEwoZGV2X3ByaXYpKQogCQlkc3BjbnRyIHw9IERJU1BQTEFORV9Q SVBFX0NTQ19FTkFCTEU7CkBAIC0zNzAxLDcgKzM3MDIsOSBAQCB1MzIgc2tsX3BsYW5lX2N0bF9j cnRjKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCWlmIChJTlRF TF9HRU4oZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQogCQlyZXR1 cm4gcGxhbmVfY3RsOwogCi0JcGxhbmVfY3RsIHw9IFBMQU5FX0NUTF9QSVBFX0dBTU1BX0VOQUJM RTsKKwlpZiAoY3J0Y19zdGF0ZS0+Z2FtbWFfZW5hYmxlKQorCQlwbGFuZV9jdGwgfD0gUExBTkVf Q1RMX1BJUEVfR0FNTUFfRU5BQkxFOworCiAJcGxhbmVfY3RsIHw9IFBMQU5FX0NUTF9QSVBFX0NT Q19FTkFCTEU7CiAKIAlyZXR1cm4gcGxhbmVfY3RsOwpAQCAtMzc1NCw3ICszNzU3LDkgQEAgdTMy IGdsa19wbGFuZV9jb2xvcl9jdGxfY3J0Yyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkKIAkJcmV0dXJuIHBs YW5lX2NvbG9yX2N0bDsKIAotCXBsYW5lX2NvbG9yX2N0bCB8PSBQTEFORV9DT0xPUl9QSVBFX0dB TU1BX0VOQUJMRTsKKwlpZiAoY3J0Y19zdGF0ZS0+Z2FtbWFfZW5hYmxlKQorCQlwbGFuZV9jb2xv cl9jdGwgfD0gUExBTkVfQ09MT1JfUElQRV9HQU1NQV9FTkFCTEU7CisKIAlwbGFuZV9jb2xvcl9j dGwgfD0gUExBTkVfQ09MT1JfUElQRV9DU0NfRU5BQkxFOwogCiAJcmV0dXJuIHBsYW5lX2NvbG9y X2N0bDsKQEAgLTM5NzQsMTYgKzM5NzksNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF91cGRhdGVfcGlw ZV9jb25maWcoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YQogCQll bHNlIGlmIChvbGRfY3J0Y19zdGF0ZS0+cGNoX3BmaXQuZW5hYmxlZCkKIAkJCWlyb25sYWtlX3Bm aXRfZGlzYWJsZShvbGRfY3J0Y19zdGF0ZSk7CiAJfQotCi0JLyoKLQkgKiBXZSBkb24ndCAoeWV0 KSBhbGxvdyB1c2Vyc3BhY2UgdG8gY29udHJvbCB0aGUgcGlwZSBiYWNrZ3JvdW5kIGNvbG9yLAot CSAqIHNvIGZvcmNlIGl0IHRvIGJsYWNrLCBidXQgYXBwbHkgcGlwZSBnYW1tYSBhbmQgQ1NDIHNv IHRoYXQgaXRzCi0JICogaGFuZGxpbmcgd2lsbCBtYXRjaCBob3cgd2UgcHJvZ3JhbSBvdXIgcGxh bmVzLgotCSAqLwotCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpCi0JCUk5MTVfV1JJVEUo U0tMX0JPVFRPTV9DT0xPUihjcnRjLT5waXBlKSwKLQkJCSAgIFNLTF9CT1RUT01fQ09MT1JfR0FN TUFfRU5BQkxFIHwKLQkJCSAgIFNLTF9CT1RUT01fQ09MT1JfQ1NDX0VOQUJMRSk7CiB9CiAKIHN0 YXRpYyB2b2lkIGludGVsX2ZkaV9ub3JtYWxfdHJhaW4oc3RydWN0IGludGVsX2NydGMgKmNydGMp CkBAIC04MDgzLDYgKzgwNzgsMjAgQEAgc3RhdGljIHZvaWQgaW50ZWxfZ2V0X2NydGNfeWNiY3Jf Y29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCXBpcGVfY29uZmlnLT5vdXRwdXRfZm9y bWF0ID0gb3V0cHV0OwogfQogCitzdGF0aWMgdm9pZCBpOXh4X2dldF9waXBlX2NvbG9yX2NvbmZp ZyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKK3sKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1 Y3QgaW50ZWxfcGxhbmUgKnBsYW5lID0gdG9faW50ZWxfcGxhbmUoY3J0Yy0+YmFzZS5wcmltYXJ5 KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJh c2UuZGV2KTsKKwllbnVtIGk5eHhfcGxhbmVfaWQgaTl4eF9wbGFuZSA9IHBsYW5lLT5pOXh4X3Bs YW5lOworCXUzMiB0bXA7CisKKwl0bXAgPSBJOTE1X1JFQUQoRFNQQ05UUihpOXh4X3BsYW5lKSk7 CisKKwlpZiAodG1wICYgRElTUFBMQU5FX0dBTU1BX0VOQUJMRSkKKwkJY3J0Y19zdGF0ZS0+Z2Ft bWFfZW5hYmxlID0gdHJ1ZTsKK30KKwogc3RhdGljIGJvb2wgaTl4eF9nZXRfcGlwZV9jb25maWco c3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpw aXBlX2NvbmZpZykKIHsKQEAgLTgxMzEsNiArODE0MCw4IEBAIHN0YXRpYyBib29sIGk5eHhfZ2V0 X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCXBpcGVfY29uZmlnLT5nYW1t YV9tb2RlID0gKHRtcCAmIFBJUEVDT05GX0dBTU1BX01PREVfTUFTS19JOVhYKSA+PgogCQlQSVBF Q09ORl9HQU1NQV9NT0RFX1NISUZUOwogCisJaTl4eF9nZXRfcGlwZV9jb2xvcl9jb25maWcocGlw ZV9jb25maWcpOworCiAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPCA0KQogCQlwaXBlX2NvbmZp Zy0+ZG91YmxlX3dpZGUgPSB0bXAgJiBQSVBFQ09ORl9ET1VCTEVfV0lERTsKIApAQCAtOTIwOSw2 ICs5MjIwLDggQEAgc3RhdGljIGJvb2wgaXJvbmxha2VfZ2V0X3BpcGVfY29uZmlnKHN0cnVjdCBp bnRlbF9jcnRjICpjcnRjLAogCXBpcGVfY29uZmlnLT5nYW1tYV9tb2RlID0gKHRtcCAmIFBJUEVD T05GX0dBTU1BX01PREVfTUFTS19JTEspID4+CiAJCVBJUEVDT05GX0dBTU1BX01PREVfU0hJRlQ7 CiAKKwlpOXh4X2dldF9waXBlX2NvbG9yX2NvbmZpZyhwaXBlX2NvbmZpZyk7CisKIAlpZiAoSTkx NV9SRUFEKFBDSF9UUkFOU0NPTkYoY3J0Yy0+cGlwZSkpICYgVFJBTlNfRU5BQkxFKSB7CiAJCXN0 cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsOwogCQllbnVtIGludGVsX2RwbGxfaWQgcGxsX2lk OwpAQCAtOTg0Myw2ICs5ODU2LDE1IEBAIHN0YXRpYyBib29sIGhhc3dlbGxfZ2V0X3BpcGVfY29u ZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCXBpcGVfY29uZmlnLT5nYW1tYV9tb2RlID0K IAkJSTkxNV9SRUFEKEdBTU1BX01PREUoY3J0Yy0+cGlwZSkpICYgR0FNTUFfTU9ERV9NT0RFX01B U0s7CiAKKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7CisJCXUzMiB0bXAgPSBJOTE1 X1JFQUQoU0tMX0JPVFRPTV9DT0xPUihjcnRjLT5waXBlKSk7CisKKwkJaWYgKHRtcCAmIFNLTF9C T1RUT01fQ09MT1JfR0FNTUFfRU5BQkxFKQorCQkJcGlwZV9jb25maWctPmdhbW1hX2VuYWJsZSA9 IHRydWU7CisJfSBlbHNlIHsKKwkJaTl4eF9nZXRfcGlwZV9jb2xvcl9jb25maWcocGlwZV9jb25m aWcpOworCX0KKwogCXBvd2VyX2RvbWFpbiA9IFBPV0VSX0RPTUFJTl9QSVBFX1BBTkVMX0ZJVFRF UihjcnRjLT5waXBlKTsKIAlpZiAoaW50ZWxfZGlzcGxheV9wb3dlcl9nZXRfaWZfZW5hYmxlZChk ZXZfcHJpdiwgcG93ZXJfZG9tYWluKSkgewogCQlXQVJOX09OKHBvd2VyX2RvbWFpbl9tYXNrICYg QklUX1VMTChwb3dlcl9kb21haW4pKTsKQEAgLTEwMDEzLDcgKzEwMDM1LDEyIEBAIGk4NDVfY3Vy c29yX21heF9zdHJpZGUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKIAogc3RhdGljIHUzMiBp ODQ1X2N1cnNvcl9jdGxfY3J0Yyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSkKIHsKLQlyZXR1cm4gQ1VSU09SX0dBTU1BX0VOQUJMRTsKKwl1MzIgY250bCA9IDA7CisK KwlpZiAoY3J0Y19zdGF0ZS0+Z2FtbWFfZW5hYmxlKQorCQljbnRsIHw9IENVUlNPUl9HQU1NQV9F TkFCTEU7CisKKwlyZXR1cm4gY250bDsKIH0KIAogc3RhdGljIHUzMiBpODQ1X2N1cnNvcl9jdGwo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCkBAIC0xMDE2Nyw3ICsx MDE5NCw4IEBAIHN0YXRpYyB1MzIgaTl4eF9jdXJzb3JfY3RsX2NydGMoY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0g MTEpCiAJCXJldHVybiBjbnRsOwogCi0JY250bCB8PSBNQ1VSU09SX0dBTU1BX0VOQUJMRTsKKwlp ZiAoY3J0Y19zdGF0ZS0+Z2FtbWFfZW5hYmxlKQorCQljbnRsID0gTUNVUlNPUl9HQU1NQV9FTkFC TEU7CiAKIAlpZiAoSEFTX0RESShkZXZfcHJpdikpCiAJCWNudGwgfD0gTUNVUlNPUl9QSVBFX0NT Q19FTkFCTEU7CkBAIC0xMTE2MSwxMiArMTExODksNiBAQCBzdGF0aWMgaW50IGludGVsX2NydGNf YXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJcmV0ID0gaW50ZWxfY29sb3Jf Y2hlY2socGlwZV9jb25maWcpOwogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKLQotCQkvKgot CQkgKiBDaGFuZ2luZyBjb2xvciBtYW5hZ2VtZW50IG9uIEludGVsIGhhcmR3YXJlIGlzCi0JCSAq IGhhbmRsZWQgYXMgcGFydCBvZiBwbGFuZXMgdXBkYXRlLgotCQkgKi8KLQkJY3J0Y19zdGF0ZS0+ cGxhbmVzX2NoYW5nZWQgPSB0cnVlOwogCX0KIAogCXJldCA9IDA7CkBAIC0xMjA4MCw2ICsxMjEw Miw3IEBAIGludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAogCVBJUEVfQ09ORl9DSEVDS19CT09MKGRvdWJsZV93aWRlKTsKIAogCVBJUEVf Q09ORl9DSEVDS19YKGdhbW1hX21vZGUpOworCVBJUEVfQ09ORl9DSEVDS19CT09MKGdhbW1hX2Vu YWJsZSk7CiAKIAlQSVBFX0NPTkZfQ0hFQ0tfUChzaGFyZWRfZHBsbCk7CiAJUElQRV9DT05GX0NI RUNLX1goZHBsbF9od19zdGF0ZS5kcGxsKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXgg YjA3MjBlZDA0YWE1Li5mMGRiNjE0NzEyMDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBA IC05NTEsNiArOTUxLDkgQEAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgewogCS8qIE91dHB1dCBk b3duIHNjYWxpbmcgaXMgZG9uZSBpbiBMU1BDT04gZGV2aWNlICovCiAJYm9vbCBsc3Bjb25fZG93 bnNhbXBsaW5nOwogCisJLyogZW5hYmxlIHBpcGUgZ2FtbWE/ICovCisJYm9vbCBnYW1tYV9lbmFi bGU7CisKIAkvKiBEaXNwbGF5IFN0cmVhbSBjb21wcmVzc2lvbiBzdGF0ZSAqLwogCXN0cnVjdCB7 CiAJCWJvb2wgY29tcHJlc3Npb25fZW5hYmxlOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUu YwppbmRleCBiNTZhMWE5YWQwMWQuLmRiMzczZTNhYzYwMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfc3ByaXRlLmMKQEAgLTc0MSw3ICs3NDEsMTIgQEAgdmx2X3VwZGF0ZV9jbHJjKGNvbnN0IHN0 cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCiAKIHN0YXRpYyB1MzIgdmx2X3Nw cml0ZV9jdGxfY3J0Yyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkK IHsKLQlyZXR1cm4gU1BfR0FNTUFfRU5BQkxFOworCXUzMiBzcHJjdGwgPSAwOworCisJaWYgKGNy dGNfc3RhdGUtPmdhbW1hX2VuYWJsZSkKKwkJc3ByY3RsIHw9IFNQX0dBTU1BX0VOQUJMRTsKKwor CXJldHVybiBzcHJjdGw7CiB9CiAKIHN0YXRpYyB1MzIgdmx2X3Nwcml0ZV9jdGwoY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCkBAIC05MTksNyArOTI0LDggQEAgc3Rh dGljIHUzMiBpdmJfc3ByaXRlX2N0bF9jcnRjKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOwogCXUzMiBzcHJjdGwgPSAwOwogCi0Jc3By Y3RsIHw9IFNQUklURV9HQU1NQV9FTkFCTEU7CisJaWYgKGNydGNfc3RhdGUtPmdhbW1hX2VuYWJs ZSkKKwkJc3ByY3RsIHw9IFNQUklURV9HQU1NQV9FTkFCTEU7CiAKIAlpZiAoSVNfSEFTV0VMTChk ZXZfcHJpdikgfHwgSVNfQlJPQURXRUxMKGRldl9wcml2KSkKIAkJc3ByY3RsIHw9IFNQUklURV9Q SVBFX0NTQ19FTkFCTEU7CkBAIC0xMTA3LDcgKzExMTMsMTIgQEAgZzR4X3Nwcml0ZV9tYXhfc3Ry aWRlKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAKIHN0YXRpYyB1MzIgZzR4X3Nwcml0ZV9j dGxfY3J0Yyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQly ZXR1cm4gRFZTX0dBTU1BX0VOQUJMRTsKKwl1MzIgZHZzY250ciA9IDA7CisKKwlpZiAoY3J0Y19z dGF0ZS0+Z2FtbWFfZW5hYmxlKQorCQlkdnNjbnRyIHw9IERWU19HQU1NQV9FTkFCTEU7CisKKwly ZXR1cm4gZHZzY250cjsKIH0KIAogc3RhdGljIHUzMiBnNHhfc3ByaXRlX2N0bChjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKLS0gCjIuMTkuMgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==