From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 09/13] drm/i915: Track pipe gamma enable/disable in crtc state Date: Fri, 11 Jan 2019 19:08:19 +0200 Message-ID: <20190111170823.4441-10-ville.syrjala@linux.intel.com> References: <20190111170823.4441-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 mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id B0BE26F880 for ; Fri, 11 Jan 2019 17:09:01 +0000 (UTC) In-Reply-To: <20190111170823.4441-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 ZCB0aGVyZSBpcyBubyBvdGhlciB3YXkKdG8gZG8gaXQgcmVhbGx5LgoKU2lnbmVkLW9mZi1ieTog VmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgfCAgOCArKysrCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9jb2xvci5jICAgfCAyNCArKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDU2ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAzICsrCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyAgfCAxNyArKysrKysrLS0KIDUgZmlsZXMgY2hhbmdl ZCwgOTIgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmgKaW5kZXggOWQxN2JhMTk5YmU0Li43ZjA5MTNiYzFiNDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaApAQCAtNTcwNyw2ICs1NzA3LDE0IEBAIGVudW0gewogI2RlZmluZSAgIFBJUEVNSVNDX0RJ VEhFUl9UWVBFX1NQCSgwIDw8IDIpCiAjZGVmaW5lIFBJUEVNSVNDKHBpcGUpCQkJX01NSU9fUElQ RTIocGlwZSwgX1BJUEVfTUlTQ19BKQogCisvKiBTS0wrIHBpcGUgYm90dG9tIGNvbG9yICovCisj ZGVmaW5lIF9QSVBFX0JPVFRPTV9DT0xPUl9BCQkweDcwMDM0CisjZGVmaW5lIF9QSVBFX0JPVFRP TV9DT0xPUl9CCQkweDcxMDM0CisjZGVmaW5lICAgUElQRV9CT1RUT01fR0FNTUFfRU5BQkxFCSgx IDw8IDMxKQorI2RlZmluZSAgIFBJUEVfQk9UVE9NX0NTQ19FTkFCTEUJKDEgPDwgMzApCisjZGVm aW5lICAgUElQRV9CT1RUT01fQ09MT1JfTUFTSwkweDNGRkZGRkZGCisjZGVmaW5lIFBJUEVfQk9U VE9NX0NPTE9SKHBpcGUpCQlfTU1JT19QSVBFMihwaXBlLCBfUElQRV9CT1RUT01fQ09MT1JfQSkK KwogI2RlZmluZSBWTFZfRFBGTElQU1RBVAkJCQlfTU1JTyhWTFZfRElTUExBWV9CQVNFICsgMHg3 MDAyOCkKICNkZWZpbmUgICBQSVBFQl9MSU5FX0NPTVBBUkVfSU5UX0VOCQkoMSA8PCAyOSkKICNk ZWZpbmUgICBQSVBFQl9ITElORV9JTlRfRU4JCQkoMSA8PCAyOCkKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9jb2xvci5jCmluZGV4IDZmZGJmYThjNDAwOC4uMzEzYjI4MTIwNGZhIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2NvbG9yLmMKQEAgLTM4Nyw2ICszODcsMjQgQEAgc3RhdGljIHZvaWQgaHN3X2Nv bG9yX2NvbW1pdChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAlp bGtfbG9hZF9jc2NfbWF0cml4KGNydGNfc3RhdGUpOwogfQogCitzdGF0aWMgdm9pZCBza2xfY29s b3JfY29tbWl0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQorewor CXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNl LmNydGMpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0 Yy0+YmFzZS5kZXYpOworCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKKwl1MzIgdmFsOwor CisJdmFsID0gMDsKKwlpZiAoY3J0Y19zdGF0ZS0+Z2FtbWFfZW5hYmxlKQorCQl2YWwgfD0gUElQ RV9CT1RUT01fR0FNTUFfRU5BQkxFOworCXZhbCB8PSBQSVBFX0JPVFRPTV9DU0NfRU5BQkxFOwor CUk5MTVfV1JJVEUoUElQRV9CT1RUT01fQ09MT1IocGlwZSksIHZhbCk7CisKKwlJOTE1X1dSSVRF KEdBTU1BX01PREUoY3J0Yy0+cGlwZSksIGNydGNfc3RhdGUtPmdhbW1hX21vZGUpOworCisJaWxr X2xvYWRfY3NjX21hdHJpeChjcnRjX3N0YXRlKTsKK30KKwogc3RhdGljIHZvaWQgYmR3X2xvYWRf ZGVnYW1tYV9sdXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7 CiAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJh c2UuY3J0Yyk7CkBAIC02MjQsNiArNjQyLDggQEAgaW50IGludGVsX2NvbG9yX2NoZWNrKHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCWRlZ2FtbWFfbGVuZ3RoID0gSU5URUxf SU5GTyhkZXZfcHJpdiktPmNvbG9yLmRlZ2FtbWFfbHV0X3NpemU7CiAJZ2FtbWFfbGVuZ3RoID0g SU5URUxfSU5GTyhkZXZfcHJpdiktPmNvbG9yLmdhbW1hX2x1dF9zaXplOwogCisJY3J0Y19zdGF0 ZS0+Z2FtbWFfZW5hYmxlID0gdHJ1ZTsKKwogCS8qCiAJICogV2UgYWxzbyBhbGxvdyBubyBkZWdh bW1hIGx1dC9jdG0gYW5kIGEgZ2FtbWEgbHV0IGF0IHRoZSBsZWdhY3kKIAkgKiBzaXplICgyNTYg ZW50cmllcykuCkBAIC02NzQsNyArNjk0LDkgQEAgdm9pZCBpbnRlbF9jb2xvcl9pbml0KHN0cnVj dCBpbnRlbF9jcnRjICpjcnRjKQogCQllbHNlCiAJCQlkZXZfcHJpdi0+ZGlzcGxheS5sb2FkX2x1 dHMgPSBpOXh4X2xvYWRfbHV0czsKIAotCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA4IHx8 IElTX0hBU1dFTEwoZGV2X3ByaXYpKQorCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KQor CQkJZGV2X3ByaXYtPmRpc3BsYXkuY29sb3JfY29tbWl0ID0gc2tsX2NvbG9yX2NvbW1pdDsKKwkJ ZWxzZSBpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSB8fCBJU19IQVNXRUxMKGRldl9wcml2KSkK IAkJCWRldl9wcml2LT5kaXNwbGF5LmNvbG9yX2NvbW1pdCA9IGhzd19jb2xvcl9jb21taXQ7CiAJ CWVsc2UKIAkJCWRldl9wcml2LT5kaXNwbGF5LmNvbG9yX2NvbW1pdCA9IGlsa19jb2xvcl9jb21t aXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggOTBhZmNhZTkxYjMwLi44 OTZjZTk1NzkwY2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTMxODYs NyArMzE4Niw4IEBAIHN0YXRpYyB1MzIgaTl4eF9wbGFuZV9jdGxfY3J0Yyhjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAl1MzIgZHNwY250ciA9IDA7CiAK LQlkc3BjbnRyIHw9IERJU1BQTEFORV9HQU1NQV9FTkFCTEU7CisJaWYgKGNydGNfc3RhdGUtPmdh bW1hX2VuYWJsZSkKKwkJZHNwY250ciB8PSBESVNQUExBTkVfR0FNTUFfRU5BQkxFOwogCiAJaWYg KElTX0hBU1dFTEwoZGV2X3ByaXYpIHx8IElTX0JST0FEV0VMTChkZXZfcHJpdikpCiAJCWRzcGNu dHIgfD0gRElTUFBMQU5FX1BJUEVfQ1NDX0VOQUJMRTsKQEAgLTM2NjQsNyArMzY2NSw5IEBAIHUz MiBza2xfcGxhbmVfY3RsX2NydGMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCiAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5JTEFLRShk ZXZfcHJpdikpCiAJCXJldHVybiBwbGFuZV9jdGw7CiAKLQlwbGFuZV9jdGwgfD0gUExBTkVfQ1RM X1BJUEVfR0FNTUFfRU5BQkxFOworCWlmIChjcnRjX3N0YXRlLT5nYW1tYV9lbmFibGUpCisJCXBs YW5lX2N0bCB8PSBQTEFORV9DVExfUElQRV9HQU1NQV9FTkFCTEU7CisKIAlwbGFuZV9jdGwgfD0g UExBTkVfQ1RMX1BJUEVfQ1NDX0VOQUJMRTsKIAogCXJldHVybiBwbGFuZV9jdGw7CkBAIC0zNzE3 LDcgKzM3MjAsOSBAQCB1MzIgZ2xrX3BsYW5lX2NvbG9yX2N0bF9jcnRjKGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49 IDExKQogCQlyZXR1cm4gcGxhbmVfY29sb3JfY3RsOwogCi0JcGxhbmVfY29sb3JfY3RsIHw9IFBM QU5FX0NPTE9SX1BJUEVfR0FNTUFfRU5BQkxFOworCWlmIChjcnRjX3N0YXRlLT5nYW1tYV9lbmFi bGUpCisJCXBsYW5lX2NvbG9yX2N0bCB8PSBQTEFORV9DT0xPUl9QSVBFX0dBTU1BX0VOQUJMRTsK KwogCXBsYW5lX2NvbG9yX2N0bCB8PSBQTEFORV9DT0xPUl9QSVBFX0NTQ19FTkFCTEU7CiAKIAly ZXR1cm4gcGxhbmVfY29sb3JfY3RsOwpAQCAtMzkyNSw3ICszOTMwLDYgQEAgc3RhdGljIHZvaWQg aW50ZWxfdXBkYXRlX3BpcGVfY29uZmlnKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpv bGRfY3J0Y19zdGEKIAkJICAgKChuZXdfY3J0Y19zdGF0ZS0+cGlwZV9zcmNfdyAtIDEpIDw8IDE2 KSB8CiAJCSAgIChuZXdfY3J0Y19zdGF0ZS0+cGlwZV9zcmNfaCAtIDEpKTsKIAotCS8qIG9uIHNr eWxha2UgdGhpcyBpcyBkb25lIGJ5IGRldGFjaGluZyBzY2FsZXJzICovCiAJaWYgKElOVEVMX0dF TihkZXZfcHJpdikgPj0gOSkgewogCQlza2xfZGV0YWNoX3NjYWxlcnMobmV3X2NydGNfc3RhdGUp OwogCkBAIC04MDM2LDYgKzgwNDAsMjAgQEAgc3RhdGljIHZvaWQgaW50ZWxfZ2V0X2NydGNfeWNi Y3JfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCXBpcGVfY29uZmlnLT5vdXRwdXRf Zm9ybWF0ID0gb3V0cHV0OwogfQogCitzdGF0aWMgdm9pZCBpOXh4X2dldF9waXBlX2NvbG9yX2Nv bmZpZyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKK3sKKwlzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlz dHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lID0gdG9faW50ZWxfcGxhbmUoY3J0Yy0+YmFzZS5wcmlt YXJ5KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMt PmJhc2UuZGV2KTsKKwllbnVtIGk5eHhfcGxhbmVfaWQgaTl4eF9wbGFuZSA9IHBsYW5lLT5pOXh4 X3BsYW5lOworCXUzMiB0bXA7CisKKwl0bXAgPSBJOTE1X1JFQUQoRFNQQ05UUihpOXh4X3BsYW5l KSk7CisKKwlpZiAodG1wICYgRElTUFBMQU5FX0dBTU1BX0VOQUJMRSkKKwkJY3J0Y19zdGF0ZS0+ Z2FtbWFfZW5hYmxlID0gdHJ1ZTsKK30KKwogc3RhdGljIGJvb2wgaTl4eF9nZXRfcGlwZV9jb25m aWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpwaXBlX2NvbmZpZykKIHsKQEAgLTgwODIsNiArODEwMCw4IEBAIHN0YXRpYyBib29sIGk5eHhf Z2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCXBpcGVfY29uZmlnLT5n YW1tYV9tb2RlID0gKHRtcCAmIFBJUEVDT05GX0dBTU1BX01PREVfTUFTS19JOVhYKSA+PgogCQlQ SVBFQ09ORl9HQU1NQV9NT0RFX1NISUZUOwogCisJaTl4eF9nZXRfcGlwZV9jb2xvcl9jb25maWco cGlwZV9jb25maWcpOworCiAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPCA0KQogCQlwaXBlX2Nv bmZpZy0+ZG91YmxlX3dpZGUgPSB0bXAgJiBQSVBFQ09ORl9ET1VCTEVfV0lERTsKIApAQCAtOTE1 Nyw2ICs5MTc3LDggQEAgc3RhdGljIGJvb2wgaXJvbmxha2VfZ2V0X3BpcGVfY29uZmlnKHN0cnVj dCBpbnRlbF9jcnRjICpjcnRjLAogCXBpcGVfY29uZmlnLT5nYW1tYV9tb2RlID0gKHRtcCAmIFBJ UEVDT05GX0dBTU1BX01PREVfTUFTS19JTEspID4+CiAJCVBJUEVDT05GX0dBTU1BX01PREVfU0hJ RlQ7CiAKKwlpOXh4X2dldF9waXBlX2NvbG9yX2NvbmZpZyhwaXBlX2NvbmZpZyk7CisKIAlpZiAo STkxNV9SRUFEKFBDSF9UUkFOU0NPTkYoY3J0Yy0+cGlwZSkpICYgVFJBTlNfRU5BQkxFKSB7CiAJ CXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsOwogCQllbnVtIGludGVsX2RwbGxfaWQgcGxs X2lkOwpAQCAtOTc4NSw2ICs5ODA3LDE1IEBAIHN0YXRpYyBib29sIGhhc3dlbGxfZ2V0X3BpcGVf Y29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCXBpcGVfY29uZmlnLT5nYW1tYV9tb2Rl ID0KIAkJSTkxNV9SRUFEKEdBTU1BX01PREUoY3J0Yy0+cGlwZSkpICYgR0FNTUFfTU9ERV9NT0RF X01BU0s7CiAKKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7CisJCXUzMiB0bXAgPSBJ OTE1X1JFQUQoUElQRV9CT1RUT01fQ09MT1IoY3J0Yy0+cGlwZSkpOworCisJCWlmICh0bXAgJiBQ SVBFX0JPVFRPTV9HQU1NQV9FTkFCTEUpCisJCQlwaXBlX2NvbmZpZy0+Z2FtbWFfZW5hYmxlID0g dHJ1ZTsKKwl9IGVsc2UgeworCQlpOXh4X2dldF9waXBlX2NvbG9yX2NvbmZpZyhwaXBlX2NvbmZp Zyk7CisJfQorCiAJcG93ZXJfZG9tYWluID0gUE9XRVJfRE9NQUlOX1BJUEVfUEFORUxfRklUVEVS KGNydGMtPnBpcGUpOwogCWlmIChpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldF9pZl9lbmFibGVkKGRl dl9wcml2LCBwb3dlcl9kb21haW4pKSB7CiAJCXBvd2VyX2RvbWFpbl9tYXNrIHw9IEJJVF9VTEwo cG93ZXJfZG9tYWluKTsKQEAgLTk5NTMsNyArOTk4NCwxMiBAQCBpODQ1X2N1cnNvcl9tYXhfc3Ry aWRlKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAKIHN0YXRpYyB1MzIgaTg0NV9jdXJzb3Jf Y3RsX2NydGMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0J cmV0dXJuIENVUlNPUl9HQU1NQV9FTkFCTEU7CisJdTMyIGNudGwgPSAwOworCisJaWYgKGNydGNf c3RhdGUtPmdhbW1hX2VuYWJsZSkKKwkJY250bCB8PSBDVVJTT1JfR0FNTUFfRU5BQkxFOworCisJ cmV0dXJuIGNudGw7CiB9CiAKIHN0YXRpYyB1MzIgaTg0NV9jdXJzb3JfY3RsKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLApAQCAtMTAxMDUsNyArMTAxNDEsOCBAQCBz dGF0aWMgdTMyIGk5eHhfY3Vyc29yX2N0bF9jcnRjKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlKQogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKQogCQlyZXR1 cm4gY250bDsKIAotCWNudGwgfD0gTUNVUlNPUl9HQU1NQV9FTkFCTEU7CisJaWYgKGNydGNfc3Rh dGUtPmdhbW1hX2VuYWJsZSkKKwkJY250bCA9IE1DVVJTT1JfR0FNTUFfRU5BQkxFOwogCiAJaWYg KEhBU19EREkoZGV2X3ByaXYpKQogCQljbnRsIHw9IE1DVVJTT1JfUElQRV9DU0NfRU5BQkxFOwpA QCAtMTEwOTQsMTIgKzExMTMxLDYgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX2F0b21pY19jaGVj ayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCXJldCA9IGludGVsX2NvbG9yX2NoZWNrKHBpcGVf Y29uZmlnKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7Ci0KLQkJLyoKLQkJICogQ2hhbmdp bmcgY29sb3IgbWFuYWdlbWVudCBvbiBJbnRlbCBoYXJkd2FyZSBpcwotCQkgKiBoYW5kbGVkIGFz IHBhcnQgb2YgcGxhbmVzIHVwZGF0ZS4KLQkJICovCi0JCWNydGNfc3RhdGUtPnBsYW5lc19jaGFu Z2VkID0gdHJ1ZTsKIAl9CiAKIAlyZXQgPSAwOwpAQCAtMTE5ODgsNiArMTIwMTksNyBAQCBpbnRl bF9waXBlX2NvbmZpZ19jb21wYXJlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK IAlQSVBFX0NPTkZfQ0hFQ0tfQk9PTChkb3VibGVfd2lkZSk7CiAKIAlQSVBFX0NPTkZfQ0hFQ0tf WChnYW1tYV9tb2RlKTsKKwlQSVBFX0NPTkZfQ0hFQ0tfQk9PTChnYW1tYV9lbmFibGUpOwogCiAJ UElQRV9DT05GX0NIRUNLX1Aoc2hhcmVkX2RwbGwpOwogCVBJUEVfQ09ORl9DSEVDS19YKGRwbGxf aHdfc3RhdGUuZHBsbCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDU5ZjhkNDI3MGU4 Mi4uZWVlNzM0YjQ4OTE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtOTQ2LDYgKzk0 Niw5IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKIAkvKiBPdXRwdXQgZG93biBzY2FsaW5n IGlzIGRvbmUgaW4gTFNQQ09OIGRldmljZSAqLwogCWJvb2wgbHNwY29uX2Rvd25zYW1wbGluZzsK IAorCS8qIGVuYWJsZSBwaXBlIGdhbW1hPyAqLworCWJvb2wgZ2FtbWFfZW5hYmxlOworCiAJLyog RGlzcGxheSBTdHJlYW0gY29tcHJlc3Npb24gc3RhdGUgKi8KIAlzdHJ1Y3QgewogCQlib29sIGNv bXByZXNzaW9uX2VuYWJsZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKaW5kZXggYTQ1 ZWY5OGIyZjhkLi4wMzRhMzU1NjkyZGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3Nwcml0ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5j CkBAIC03MzksNyArNzM5LDEyIEBAIHZsdl91cGRhdGVfY2xyYyhjb25zdCBzdHJ1Y3QgaW50ZWxf cGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogCiBzdGF0aWMgdTMyIHZsdl9zcHJpdGVfY3RsX2Ny dGMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0JcmV0dXJu IFNQX0dBTU1BX0VOQUJMRTsKKwl1MzIgc3ByY3RsID0gMDsKKworCWlmIChjcnRjX3N0YXRlLT5n YW1tYV9lbmFibGUpCisJCXNwcmN0bCB8PSBTUF9HQU1NQV9FTkFCTEU7CisKKwlyZXR1cm4gc3By Y3RsOwogfQogCiBzdGF0aWMgdTMyIHZsdl9zcHJpdGVfY3RsKGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLApAQCAtOTE1LDcgKzkyMCw4IEBAIHN0YXRpYyB1MzIgaXZi X3Nwcml0ZV9jdGxfY3J0Yyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3Rh dGUtPmJhc2UuY3J0Yy0+ZGV2KTsKIAl1MzIgc3ByY3RsID0gMDsKIAotCXNwcmN0bCB8PSBTUFJJ VEVfR0FNTUFfRU5BQkxFOworCWlmIChjcnRjX3N0YXRlLT5nYW1tYV9lbmFibGUpCisJCXNwcmN0 bCB8PSBTUFJJVEVfR0FNTUFfRU5BQkxFOwogCiAJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpIHx8 IElTX0JST0FEV0VMTChkZXZfcHJpdikpCiAJCXNwcmN0bCB8PSBTUFJJVEVfUElQRV9DU0NfRU5B QkxFOwpAQCAtMTEwMSw3ICsxMTA3LDEyIEBAIGc0eF9zcHJpdGVfbWF4X3N0cmlkZShzdHJ1Y3Qg aW50ZWxfcGxhbmUgKnBsYW5lLAogCiBzdGF0aWMgdTMyIGc0eF9zcHJpdGVfY3RsX2NydGMoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0JcmV0dXJuIERWU19H QU1NQV9FTkFCTEU7CisJdTMyIGR2c2NudHIgPSAwOworCisJaWYgKGNydGNfc3RhdGUtPmdhbW1h X2VuYWJsZSkKKwkJZHZzY250ciB8PSBEVlNfR0FNTUFfRU5BQkxFOworCisJcmV0dXJuIGR2c2Nu dHI7CiB9CiAKIHN0YXRpYyB1MzIgZzR4X3Nwcml0ZV9jdGwoY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUsCi0tIAoyLjE5LjIKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=