From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v4 2/7] drm/i915: Track pipe gamma enable/disable in crtc state Date: Thu, 7 Feb 2019 22:39:13 +0200 Message-ID: <20190207203913.5529-1-ville.syrjala@linux.intel.com> References: <20190207202146.26423-3-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7CEC06ECDF for ; Thu, 7 Feb 2019 20:39:16 +0000 (UTC) In-Reply-To: <20190207202146.26423-3-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 bW1lbnQgY2hhbmdlIChVbWEpCiAgICBSZWJhc2UKdjM6IEFsbG93IGZhc3Rib290IHdpdGggZ2Ft bWFfZW5hYmxlIGNoYW5nZXMgKE1hYXJ0ZW4pCnY0OiBEcm9wIHRoZSBQSVBFX0JPVFRPTV9DT0xP UiB3cml0ZSBmcm9tCiAgICBpbnRlbF91cGRhdGVfcGlwZV9jb25maWcoKSBhZ2Fpbi4gSXQgc251 Y2sgYmFjayBpbgogICAgZHVyaW5nIHRoZSByZWJhc2UKClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5 cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ClJldmlld2VkLWJ5OiBNYXR0 IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogVW1hIFNoYW5r YXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9jb2xvci5jICAgfCAyOCArKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyB8IDY1ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAzICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9zcHJpdGUuYyAgfCAxNyArKysrKystLQogNCBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRp b25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9jb2xvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwppbmRl eCA4NjkxNTEyNWQxN2MuLjc0NjEzOGQ3YmNiYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfY29sb3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xv ci5jCkBAIC0zODcsNiArMzg3LDI4IEBAIHN0YXRpYyB2b2lkIGhzd19jb2xvcl9jb21taXQoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJaWxrX2xvYWRfY3NjX21h dHJpeChjcnRjX3N0YXRlKTsKIH0KIAorc3RhdGljIHZvaWQgc2tsX2NvbG9yX2NvbW1pdChjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKK3sKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsK KwllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CisJdTMyIHZhbCA9IDA7CisKKwkvKgorCSAq IFdlIGRvbid0ICh5ZXQpIGFsbG93IHVzZXJzcGFjZSB0byBjb250cm9sIHRoZSBwaXBlIGJhY2tn cm91bmQgY29sb3IsCisJICogc28gZm9yY2UgaXQgdG8gYmxhY2ssIGJ1dCBhcHBseSBwaXBlIGdh bW1hIGFuZCBDU0MgYXBwcm9wcmlhdGVseQorCSAqIHNvIHRoYXQgaXRzIGhhbmRsaW5nIHdpbGwg bWF0Y2ggaG93IHdlIHByb2dyYW0gb3VyIHBsYW5lcy4KKwkgKi8KKwlpZiAoY3J0Y19zdGF0ZS0+ Z2FtbWFfZW5hYmxlKQorCQl2YWwgfD0gU0tMX0JPVFRPTV9DT0xPUl9HQU1NQV9FTkFCTEU7CisJ dmFsIHw9IFNLTF9CT1RUT01fQ09MT1JfQ1NDX0VOQUJMRTsKKwlJOTE1X1dSSVRFKFNLTF9CT1RU T01fQ09MT1IocGlwZSksIHZhbCk7CisKKwlJOTE1X1dSSVRFKEdBTU1BX01PREUoY3J0Yy0+cGlw ZSksIGNydGNfc3RhdGUtPmdhbW1hX21vZGUpOworCisJaWxrX2xvYWRfY3NjX21hdHJpeChjcnRj X3N0YXRlKTsKK30KKwogc3RhdGljIHZvaWQgYmR3X2xvYWRfZGVnYW1tYV9sdXQoY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7CiAJc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CkBAIC02NDQsNiAr NjY2LDggQEAgaW50IGludGVsX2NvbG9yX2NoZWNrKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogCWRlZ2FtbWFfdGVzdHMgPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Y29sb3Iu ZGVnYW1tYV9sdXRfdGVzdHM7CiAJZ2FtbWFfdGVzdHMgPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+ Y29sb3IuZ2FtbWFfbHV0X3Rlc3RzOwogCisJY3J0Y19zdGF0ZS0+Z2FtbWFfZW5hYmxlID0gdHJ1 ZTsKKwogCS8qIEFsd2F5cyBhbGxvdyBsZWdhY3kgZ2FtbWEgTFVUIHdpdGggbm8gZnVydGhlciBj aGVja2luZy4gKi8KIAlpZiAoY3J0Y19zdGF0ZV9pc19sZWdhY3lfZ2FtbWEoY3J0Y19zdGF0ZSkp IHsKIAkJY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSA9IEdBTU1BX01PREVfTU9ERV84QklUOwpAQCAt Njg5LDcgKzcxMyw5IEBAIHZvaWQgaW50ZWxfY29sb3JfaW5pdChzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YykKIAkJZWxzZQogCQkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9sdXRzID0gaTl4eF9sb2Fk X2x1dHM7CiAKLQkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOCB8fCBJU19IQVNXRUxMKGRl dl9wcml2KSkKKwkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKKwkJCWRldl9wcml2LT5k aXNwbGF5LmNvbG9yX2NvbW1pdCA9IHNrbF9jb2xvcl9jb21taXQ7CisJCWVsc2UgaWYgKElTX0JS T0FEV0VMTChkZXZfcHJpdikgfHwgSVNfSEFTV0VMTChkZXZfcHJpdikpCiAJCQlkZXZfcHJpdi0+ ZGlzcGxheS5jb2xvcl9jb21taXQgPSBoc3dfY29sb3JfY29tbWl0OwogCQllbHNlCiAJCQlkZXZf cHJpdi0+ZGlzcGxheS5jb2xvcl9jb21taXQgPSBpbGtfY29sb3JfY29tbWl0OwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IGEwMWI3ZTBiYzc2Yy4uNjk2YzNkODljNWMyIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0zMjIxLDcgKzMyMjEsOCBAQCBz dGF0aWMgdTMyIGk5eHhfcGxhbmVfY3RsX2NydGMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShjcnRjLT5iYXNlLmRldik7CiAJdTMyIGRzcGNudHIgPSAwOwogCi0JZHNwY250ciB8PSBE SVNQUExBTkVfR0FNTUFfRU5BQkxFOworCWlmIChjcnRjX3N0YXRlLT5nYW1tYV9lbmFibGUpCisJ CWRzcGNudHIgfD0gRElTUFBMQU5FX0dBTU1BX0VOQUJMRTsKIAogCWlmIChJU19IQVNXRUxMKGRl dl9wcml2KSB8fCBJU19CUk9BRFdFTEwoZGV2X3ByaXYpKQogCQlkc3BjbnRyIHw9IERJU1BQTEFO RV9QSVBFX0NTQ19FTkFCTEU7CkBAIC0zNzAxLDcgKzM3MDIsOSBAQCB1MzIgc2tsX3BsYW5lX2N0 bF9jcnRjKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCWlmIChJ TlRFTF9HRU4oZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQogCQly ZXR1cm4gcGxhbmVfY3RsOwogCi0JcGxhbmVfY3RsIHw9IFBMQU5FX0NUTF9QSVBFX0dBTU1BX0VO QUJMRTsKKwlpZiAoY3J0Y19zdGF0ZS0+Z2FtbWFfZW5hYmxlKQorCQlwbGFuZV9jdGwgfD0gUExB TkVfQ1RMX1BJUEVfR0FNTUFfRU5BQkxFOworCiAJcGxhbmVfY3RsIHw9IFBMQU5FX0NUTF9QSVBF X0NTQ19FTkFCTEU7CiAKIAlyZXR1cm4gcGxhbmVfY3RsOwpAQCAtMzc1NCw3ICszNzU3LDkgQEAg dTMyIGdsa19wbGFuZV9jb2xvcl9jdGxfY3J0Yyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkKIAkJcmV0dXJu IHBsYW5lX2NvbG9yX2N0bDsKIAotCXBsYW5lX2NvbG9yX2N0bCB8PSBQTEFORV9DT0xPUl9QSVBF X0dBTU1BX0VOQUJMRTsKKwlpZiAoY3J0Y19zdGF0ZS0+Z2FtbWFfZW5hYmxlKQorCQlwbGFuZV9j b2xvcl9jdGwgfD0gUExBTkVfQ09MT1JfUElQRV9HQU1NQV9FTkFCTEU7CisKIAlwbGFuZV9jb2xv cl9jdGwgfD0gUExBTkVfQ09MT1JfUElQRV9DU0NfRU5BQkxFOwogCiAJcmV0dXJuIHBsYW5lX2Nv bG9yX2N0bDsKQEAgLTM5OTksMTYgKzQwMDQsNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF91cGRhdGVf cGlwZV9jb25maWcoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YQog CQkJaXJvbmxha2VfcGZpdF9kaXNhYmxlKG9sZF9jcnRjX3N0YXRlKTsKIAl9CiAKLQkvKgotCSAq IFdlIGRvbid0ICh5ZXQpIGFsbG93IHVzZXJzcGFjZSB0byBjb250cm9sIHRoZSBwaXBlIGJhY2tn cm91bmQgY29sb3IsCi0JICogc28gZm9yY2UgaXQgdG8gYmxhY2ssIGJ1dCBhcHBseSBwaXBlIGdh bW1hIGFuZCBDU0Mgc28gdGhhdCBpdHMKLQkgKiBoYW5kbGluZyB3aWxsIG1hdGNoIGhvdyB3ZSBw cm9ncmFtIG91ciBwbGFuZXMuCi0JICovCi0JaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkK LQkJSTkxNV9XUklURShTS0xfQk9UVE9NX0NPTE9SKGNydGMtPnBpcGUpLAotCQkJICAgU0tMX0JP VFRPTV9DT0xPUl9HQU1NQV9FTkFCTEUgfAotCQkJICAgU0tMX0JPVFRPTV9DT0xPUl9DU0NfRU5B QkxFKTsKLQogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKQogCQlpY2xfc2V0X3BpcGVf Y2hpY2tlbihjcnRjKTsKIH0KQEAgLTgxMDEsNiArODA5NiwyMCBAQCBzdGF0aWMgdm9pZCBpbnRl bF9nZXRfY3J0Y195Y2Jjcl9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJcGlwZV9j b25maWctPm91dHB1dF9mb3JtYXQgPSBvdXRwdXQ7CiB9CiAKK3N0YXRpYyB2b2lkIGk5eHhfZ2V0 X3BpcGVfY29sb3JfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQor eworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5i YXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUgPSB0b19pbnRlbF9wbGFuZShj cnRjLT5iYXNlLnByaW1hcnkpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOworCWVudW0gaTl4eF9wbGFuZV9pZCBpOXh4X3BsYW5l ID0gcGxhbmUtPmk5eHhfcGxhbmU7CisJdTMyIHRtcDsKKworCXRtcCA9IEk5MTVfUkVBRChEU1BD TlRSKGk5eHhfcGxhbmUpKTsKKworCWlmICh0bXAgJiBESVNQUExBTkVfR0FNTUFfRU5BQkxFKQor CQljcnRjX3N0YXRlLT5nYW1tYV9lbmFibGUgPSB0cnVlOworfQorCiBzdGF0aWMgYm9vbCBpOXh4 X2dldF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAkJCQkgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQogewpAQCAtODE0OSw2ICs4MTU4LDggQEAgc3Rh dGljIGJvb2wgaTl4eF9nZXRfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJ cGlwZV9jb25maWctPmdhbW1hX21vZGUgPSAodG1wICYgUElQRUNPTkZfR0FNTUFfTU9ERV9NQVNL X0k5WFgpID4+CiAJCVBJUEVDT05GX0dBTU1BX01PREVfU0hJRlQ7CiAKKwlpOXh4X2dldF9waXBl X2NvbG9yX2NvbmZpZyhwaXBlX2NvbmZpZyk7CisKIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8 IDQpCiAJCXBpcGVfY29uZmlnLT5kb3VibGVfd2lkZSA9IHRtcCAmIFBJUEVDT05GX0RPVUJMRV9X SURFOwogCkBAIC05MjI3LDYgKzkyMzgsOCBAQCBzdGF0aWMgYm9vbCBpcm9ubGFrZV9nZXRfcGlw ZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJcGlwZV9jb25maWctPmdhbW1hX21v ZGUgPSAodG1wICYgUElQRUNPTkZfR0FNTUFfTU9ERV9NQVNLX0lMSykgPj4KIAkJUElQRUNPTkZf R0FNTUFfTU9ERV9TSElGVDsKIAorCWk5eHhfZ2V0X3BpcGVfY29sb3JfY29uZmlnKHBpcGVfY29u ZmlnKTsKKwogCWlmIChJOTE1X1JFQUQoUENIX1RSQU5TQ09ORihjcnRjLT5waXBlKSkgJiBUUkFO U19FTkFCTEUpIHsKIAkJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGw7CiAJCWVudW0gaW50 ZWxfZHBsbF9pZCBwbGxfaWQ7CkBAIC05ODYxLDYgKzk4NzQsMTUgQEAgc3RhdGljIGJvb2wgaGFz d2VsbF9nZXRfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJcGlwZV9jb25m aWctPmdhbW1hX21vZGUgPQogCQlJOTE1X1JFQUQoR0FNTUFfTU9ERShjcnRjLT5waXBlKSkgJiBH QU1NQV9NT0RFX01PREVfTUFTSzsKIAorCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsK KwkJdTMyIHRtcCA9IEk5MTVfUkVBRChTS0xfQk9UVE9NX0NPTE9SKGNydGMtPnBpcGUpKTsKKwor CQlpZiAodG1wICYgU0tMX0JPVFRPTV9DT0xPUl9HQU1NQV9FTkFCTEUpCisJCQlwaXBlX2NvbmZp Zy0+Z2FtbWFfZW5hYmxlID0gdHJ1ZTsKKwl9IGVsc2UgeworCQlpOXh4X2dldF9waXBlX2NvbG9y X2NvbmZpZyhwaXBlX2NvbmZpZyk7CisJfQorCiAJcG93ZXJfZG9tYWluID0gUE9XRVJfRE9NQUlO X1BJUEVfUEFORUxfRklUVEVSKGNydGMtPnBpcGUpOwogCWlmIChpbnRlbF9kaXNwbGF5X3Bvd2Vy X2dldF9pZl9lbmFibGVkKGRldl9wcml2LCBwb3dlcl9kb21haW4pKSB7CiAJCVdBUk5fT04ocG93 ZXJfZG9tYWluX21hc2sgJiBCSVRfVUxMKHBvd2VyX2RvbWFpbikpOwpAQCAtMTAwMzEsNyArMTAw NTMsMTIgQEAgaTg0NV9jdXJzb3JfbWF4X3N0cmlkZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5l LAogCiBzdGF0aWMgdTMyIGk4NDVfY3Vyc29yX2N0bF9jcnRjKGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXJldHVybiBDVVJTT1JfR0FNTUFfRU5BQkxFOwor CXUzMiBjbnRsID0gMDsKKworCWlmIChjcnRjX3N0YXRlLT5nYW1tYV9lbmFibGUpCisJCWNudGwg fD0gQ1VSU09SX0dBTU1BX0VOQUJMRTsKKworCXJldHVybiBjbnRsOwogfQogCiBzdGF0aWMgdTMy IGk4NDVfY3Vyc29yX2N0bChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSwKQEAgLTEwMTg1LDcgKzEwMjEyLDggQEAgc3RhdGljIHUzMiBpOXh4X2N1cnNvcl9jdGxfY3J0 Yyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAlpZiAoSU5URUxf R0VOKGRldl9wcml2KSA+PSAxMSkKIAkJcmV0dXJuIGNudGw7CiAKLQljbnRsIHw9IE1DVVJTT1Jf R0FNTUFfRU5BQkxFOworCWlmIChjcnRjX3N0YXRlLT5nYW1tYV9lbmFibGUpCisJCWNudGwgPSBN Q1VSU09SX0dBTU1BX0VOQUJMRTsKIAogCWlmIChIQVNfRERJKGRldl9wcml2KSkKIAkJY250bCB8 PSBNQ1VSU09SX1BJUEVfQ1NDX0VOQUJMRTsKQEAgLTExMTgwLDEyICsxMTIwOCw2IEBAIHN0YXRp YyBpbnQgaW50ZWxfY3J0Y19hdG9taWNfY2hlY2soc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQly ZXQgPSBpbnRlbF9jb2xvcl9jaGVjayhwaXBlX2NvbmZpZyk7CiAJCWlmIChyZXQpCiAJCQlyZXR1 cm4gcmV0OwotCi0JCS8qCi0JCSAqIENoYW5naW5nIGNvbG9yIG1hbmFnZW1lbnQgb24gSW50ZWwg aGFyZHdhcmUgaXMKLQkJICogaGFuZGxlZCBhcyBwYXJ0IG9mIHBsYW5lcyB1cGRhdGUuCi0JCSAq LwotCQljcnRjX3N0YXRlLT5wbGFuZXNfY2hhbmdlZCA9IHRydWU7CiAJfQogCiAJcmV0ID0gMDsK QEAgLTEyMDkyLDYgKzEyMTE0LDcgQEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCVBJUEVfQ09ORl9DSEVDS19DTE9DS19GVVpa WShwaXhlbF9yYXRlKTsKIAogCQlQSVBFX0NPTkZfQ0hFQ0tfWChnYW1tYV9tb2RlKTsKKwkJUElQ RV9DT05GX0NIRUNLX0JPT0woZ2FtbWFfZW5hYmxlKTsKIAl9CiAKIAlQSVBFX0NPTkZfQ0hFQ0tf Qk9PTChkb3VibGVfd2lkZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDE1ZGI0MTM5 NGI5ZS4uZWQ1MzEzMDI1YTllIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtOTYxLDYg Kzk2MSw5IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKIAkvKiBPdXRwdXQgZG93biBzY2Fs aW5nIGlzIGRvbmUgaW4gTFNQQ09OIGRldmljZSAqLwogCWJvb2wgbHNwY29uX2Rvd25zYW1wbGlu ZzsKIAorCS8qIGVuYWJsZSBwaXBlIGdhbW1hPyAqLworCWJvb2wgZ2FtbWFfZW5hYmxlOworCiAJ LyogRGlzcGxheSBTdHJlYW0gY29tcHJlc3Npb24gc3RhdGUgKi8KIAlzdHJ1Y3QgewogCQlib29s IGNvbXByZXNzaW9uX2VuYWJsZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKaW5kZXgg YjU2YTFhOWFkMDFkLi5kYjM3M2UzYWM2MDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3Nwcml0ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0 ZS5jCkBAIC03NDEsNyArNzQxLDEyIEBAIHZsdl91cGRhdGVfY2xyYyhjb25zdCBzdHJ1Y3QgaW50 ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogCiBzdGF0aWMgdTMyIHZsdl9zcHJpdGVfY3Rs X2NydGMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0JcmV0 dXJuIFNQX0dBTU1BX0VOQUJMRTsKKwl1MzIgc3ByY3RsID0gMDsKKworCWlmIChjcnRjX3N0YXRl LT5nYW1tYV9lbmFibGUpCisJCXNwcmN0bCB8PSBTUF9HQU1NQV9FTkFCTEU7CisKKwlyZXR1cm4g c3ByY3RsOwogfQogCiBzdGF0aWMgdTMyIHZsdl9zcHJpdGVfY3RsKGNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLApAQCAtOTE5LDcgKzkyNCw4IEBAIHN0YXRpYyB1MzIg aXZiX3Nwcml0ZV9jdGxfY3J0Yyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSkKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNf c3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKIAl1MzIgc3ByY3RsID0gMDsKIAotCXNwcmN0bCB8PSBT UFJJVEVfR0FNTUFfRU5BQkxFOworCWlmIChjcnRjX3N0YXRlLT5nYW1tYV9lbmFibGUpCisJCXNw cmN0bCB8PSBTUFJJVEVfR0FNTUFfRU5BQkxFOwogCiAJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYp IHx8IElTX0JST0FEV0VMTChkZXZfcHJpdikpCiAJCXNwcmN0bCB8PSBTUFJJVEVfUElQRV9DU0Nf RU5BQkxFOwpAQCAtMTEwNyw3ICsxMTEzLDEyIEBAIGc0eF9zcHJpdGVfbWF4X3N0cmlkZShzdHJ1 Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAogCiBzdGF0aWMgdTMyIGc0eF9zcHJpdGVfY3RsX2NydGMo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0JcmV0dXJuIERW U19HQU1NQV9FTkFCTEU7CisJdTMyIGR2c2NudHIgPSAwOworCisJaWYgKGNydGNfc3RhdGUtPmdh bW1hX2VuYWJsZSkKKwkJZHZzY250ciB8PSBEVlNfR0FNTUFfRU5BQkxFOworCisJcmV0dXJuIGR2 c2NudHI7CiB9CiAKIHN0YXRpYyB1MzIgZzR4X3Nwcml0ZV9jdGwoY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCi0tIAoyLjE5LjIKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=