From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 06/13] drm/i915: Split color mgmt based on single vs. double buffered registers Date: Fri, 11 Jan 2019 19:08:16 +0200 Message-ID: <20190111170823.4441-7-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 mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 439C06F879 for ; Fri, 11 Jan 2019 17:08:46 +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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClNw bGl0IHRoZSBjb2xvciBtYW5hZ2VtbnQgaG9va3MgYWxvbmcgdGhlIHNpbmdsZSB2cy4gZG91Ymxl CmJ1ZmZlcmVkIHJlZ2lzdGVycyBsaW5lLiBPZiB0aGUgY3VycmVudGx5IHByb2dhbW1lZCByZWdp c3RlcnMKR0FNTUFfTU9ERSBhbmQgdGhlIGlsaysgcGlwZSBDU0MgYXJlIGRvdWJsZSBidWZmZXJl ZCwgdGhlCkxVVFMgYW5kIENIViBDR00gYmxvY2sgYXJlIHNpbmdsZSBidWZmZXJlZC4KClRoZSBk b3VibGUgYnVmZmVyZWQgcmVnaXN0ZXIgd2lsbCBiZSBwcm9ncmFtbWVkIGR1cmluZyB0aGUKbm9y bWFsIHBpcGUgdXBkYXRlIHdpdGggZXZhc2lvbiwgYW5kIGFsc28gZHVyaW5nIHBpcGUgZW5hYmxl CnNvIHRoYXQgdGhlIHNldHRpbmdzIHdpbGwgYWxyZWFkeSBiZSBjb3JyZWN0IHdoZW4gdGhlIHBp cGUKc3RhcnRzIHVwIGJlZm9yZSB0aGUgcGxhbmVzIGFyZSBlbmFibGVkLgoKVGhlIHNpbmdsZSBi dWZmZXJlZCByZWdpc3RlcnMgYXJlIGN1cnJlbnRseSBwcm9ncmFtbWVkIGJlZm9yZQp0aGUgdmJs YW5rIGV2YWRlLiBXaGljaCBpcyB0b3RhbGx5IHdyb25nLCBidXQgd2UnbGwgY29ycmVjdAp0aGF0 IGxhdGVyLgoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAg fCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYyAgIHwgNDkgKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jIHwgMTYgKysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAg fCAgMiArLQogNCBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAzNSBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA3MTgyYTU4MDAwMmMuLjM1NDg1OGIyMDE5 YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0zMjAsNyArMzIwLDcgQEAgc3RydWN0IGRy bV9pOTE1X2Rpc3BsYXlfZnVuY3MgewogCS8qIGRpc3BsYXkgY2xvY2sgaW5jcmVhc2UvZGVjcmVh c2UgKi8KIAkvKiBwbGwgY2xvY2sgaW5jcmVhc2UvZGVjcmVhc2UgKi8KIAotCXZvaWQgKCpsb2Fk X2NzY19tYXRyaXgpKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsK Kwl2b2lkICgqY29sb3JfY29tbWl0KShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSk7CiAJdm9pZCAoKmxvYWRfbHV0cykoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpOwogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfY29sb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMKaW5kZXgg ZGYzNTY3Njg2YzQ1Li5mOWUwODU1MTYyZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2NvbG9yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3Iu YwpAQCAtMzA0LDE0ICszMDQsNiBAQCBzdGF0aWMgdm9pZCBjaGVycnl2aWV3X2xvYWRfY3NjX21h dHJpeChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZQogCUk5MTVfV1JJ VEUoQ0dNX1BJUEVfTU9ERShwaXBlKSwgbW9kZSk7CiB9CiAKLXZvaWQgaW50ZWxfY29sb3Jfc2V0 X2NzYyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKLXsKLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2Uu Y3J0Yy0+ZGV2KTsKLQotCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5sb2FkX2NzY19tYXRyaXgpCi0J CWRldl9wcml2LT5kaXNwbGF5LmxvYWRfY3NjX21hdHJpeChjcnRjX3N0YXRlKTsKLX0KLQogLyog TG9hZHMgdGhlIGxlZ2FjeSBwYWxldHRlL2dhbW1hIHVuaXQgZm9yIHRoZSBDUlRDLiAqLwogc3Rh dGljIHZvaWQgaTl4eF9sb2FkX2x1dHNfaW50ZXJuYWwoY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCiAJCQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxv YiAqYmxvYikKQEAgLTM1OSw2ICszNTEsMTYgQEAgc3RhdGljIHZvaWQgaTl4eF9sb2FkX2x1dHMo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJaTl4eF9sb2FkX2x1 dHNfaW50ZXJuYWwoY3J0Y19zdGF0ZSwgY3J0Y19zdGF0ZS0+YmFzZS5nYW1tYV9sdXQpOwogfQog CitzdGF0aWMgdm9pZCBoc3dfY29sb3JfY29tbWl0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlKQoreworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOworCisJSTkxNV9XUklURShHQU1NQV9N T0RFKGNydGMtPnBpcGUpLCBjcnRjX3N0YXRlLT5nYW1tYV9tb2RlKTsKKworCWlsa19sb2FkX2Nz Y19tYXRyaXgoY3J0Y19zdGF0ZSk7Cit9CisKIC8qIExvYWRzIHRoZSBsZWdhY3kgcGFsZXR0ZS9n YW1tYSB1bml0IGZvciB0aGUgQ1JUQyBvbiBIYXN3ZWxsLiAqLwogc3RhdGljIHZvaWQgaGFzd2Vs bF9sb2FkX2x1dHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7 CkBAIC0zNzYsOCArMzc4LDYgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9sb2FkX2x1dHMoY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJCXJlZW5hYmxlX2lwcyA9IHRy dWU7CiAJfQogCi0JSTkxNV9XUklURShHQU1NQV9NT0RFKGNydGMtPnBpcGUpLCBjcnRjX3N0YXRl LT5nYW1tYV9tb2RlKTsKLQogCWk5eHhfbG9hZF9sdXRzKGNydGNfc3RhdGUpOwogCiAJaWYgKHJl ZW5hYmxlX2lwcykKQEAgLTQ4NSw4ICs0ODUsNiBAQCBzdGF0aWMgdm9pZCBicm9hZHdlbGxfbG9h ZF9sdXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCQkgKi8K IAkJSTkxNV9XUklURShQUkVDX1BBTF9JTkRFWChwaXBlKSwgMCk7CiAJfQotCi0JSTkxNV9XUklU RShHQU1NQV9NT0RFKHBpcGUpLCBjcnRjX3N0YXRlLT5nYW1tYV9tb2RlKTsKIH0KIAogc3RhdGlj IHZvaWQgZ2xrX2xvYWRfZGVnYW1tYV9sdXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUpCkBAIC01MzksOCArNTM3LDYgQEAgc3RhdGljIHZvaWQgZ2xrX2xvYWRfbHV0 cyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAkJICovCiAJCUk5 MTVfV1JJVEUoUFJFQ19QQUxfSU5ERVgocGlwZSksIDApOwogCX0KLQotCUk5MTVfV1JJVEUoR0FN TUFfTU9ERShwaXBlKSwgY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSk7CiB9CiAKIHN0YXRpYyB2b2lk IGNoZXJyeXZpZXdfbG9hZF9sdXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKQpAQCAtNTUxLDEwICs1NDcsOSBAQCBzdGF0aWMgdm9pZCBjaGVycnl2aWV3X2xvYWRf bHV0cyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAljb25zdCBz dHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmRlZ2FtbWFfbHV0ID0gY3J0Y19zdGF0ZS0+YmFzZS5k ZWdhbW1hX2x1dDsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAKKwljaGVycnl2aWV3 X2xvYWRfY3NjX21hdHJpeChjcnRjX3N0YXRlKTsKKwogCWlmIChjcnRjX3N0YXRlX2lzX2xlZ2Fj eV9nYW1tYShjcnRjX3N0YXRlKSkgewotCQkvKiBUdXJuIG9mZiBkZWdhbW1hL2dhbW1hIG9uIENH TSBibG9jay4gKi8KLQkJSTkxNV9XUklURShDR01fUElQRV9NT0RFKHBpcGUpLAotCQkJICAgKGNy dGNfc3RhdGUtPmJhc2UuY3RtID8gQ0dNX1BJUEVfTU9ERV9DU0MgOiAwKSk7CiAJCWk5eHhfbG9h ZF9sdXRzX2ludGVybmFsKGNydGNfc3RhdGUsIGdhbW1hX2x1dCk7CiAJCXJldHVybjsKIAl9CkBA IC01OTUsMTEgKzU5MCw2IEBAIHN0YXRpYyB2b2lkIGNoZXJyeXZpZXdfbG9hZF9sdXRzKGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCQl9CiAJfQogCi0JSTkxNV9X UklURShDR01fUElQRV9NT0RFKHBpcGUpLAotCQkgICAoY3J0Y19zdGF0ZS0+YmFzZS5jdG0gPyBD R01fUElQRV9NT0RFX0NTQyA6IDApIHwKLQkJICAgKGRlZ2FtbWFfbHV0ID8gQ0dNX1BJUEVfTU9E RV9ERUdBTU1BIDogMCkgfAotCQkgICAoZ2FtbWFfbHV0ID8gQ0dNX1BJUEVfTU9ERV9HQU1NQSA6 IDApKTsKLQogCS8qCiAJICogQWxzbyBwcm9ncmFtIGEgbGluZWFyIExVVCBpbiB0aGUgbGVnYWN5 IGJsb2NrIChiZWhpbmQgdGhlCiAJICogQ0dNIGJsb2NrKS4KQEAgLTYxNCw2ICs2MDQsMTQgQEAg dm9pZCBpbnRlbF9jb2xvcl9sb2FkX2x1dHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUpCiAJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9sdXRzKGNydGNfc3RhdGUpOwog fQogCit2b2lkIGludGVsX2NvbG9yX2NvbW1pdChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKKworCWlmIChkZXZfcHJpdi0+ZGlz cGxheS5jb2xvcl9jb21taXQpCisJCWRldl9wcml2LT5kaXNwbGF5LmNvbG9yX2NvbW1pdChjcnRj X3N0YXRlKTsKK30KKwogaW50IGludGVsX2NvbG9yX2NoZWNrKHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOwpAQCAtNjYwLDE4ICs2NTgsMTcg QEAgdm9pZCBpbnRlbF9jb2xvcl9pbml0KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCWRybV9t b2RlX2NydGNfc2V0X2dhbW1hX3NpemUoJmNydGMtPmJhc2UsIDI1Nik7CiAKIAlpZiAoSVNfQ0hF UlJZVklFVyhkZXZfcHJpdikpIHsKLQkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9jc2NfbWF0cml4 ID0gY2hlcnJ5dmlld19sb2FkX2NzY19tYXRyaXg7CiAJCWRldl9wcml2LT5kaXNwbGF5LmxvYWRf bHV0cyA9IGNoZXJyeXZpZXdfbG9hZF9sdXRzOwogCX0gZWxzZSBpZiAoSVNfSEFTV0VMTChkZXZf cHJpdikpIHsKLQkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9jc2NfbWF0cml4ID0gaWxrX2xvYWRf Y3NjX21hdHJpeDsKIAkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9sdXRzID0gaGFzd2VsbF9sb2Fk X2x1dHM7CisJCWRldl9wcml2LT5kaXNwbGF5LmNvbG9yX2NvbW1pdCA9IGhzd19jb2xvcl9jb21t aXQ7CiAJfSBlbHNlIGlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpIHx8IElTX0dFTjlfQkMoZGV2 X3ByaXYpIHx8CiAJCSAgIElTX0JST1hUT04oZGV2X3ByaXYpKSB7Ci0JCWRldl9wcml2LT5kaXNw bGF5LmxvYWRfY3NjX21hdHJpeCA9IGlsa19sb2FkX2NzY19tYXRyaXg7CiAJCWRldl9wcml2LT5k aXNwbGF5LmxvYWRfbHV0cyA9IGJyb2Fkd2VsbF9sb2FkX2x1dHM7CisJCWRldl9wcml2LT5kaXNw bGF5LmNvbG9yX2NvbW1pdCA9IGhzd19jb2xvcl9jb21taXQ7CiAJfSBlbHNlIGlmIChJU19HRU1J TklMQUtFKGRldl9wcml2KSB8fCBJU19DQU5OT05MQUtFKGRldl9wcml2KSkgewotCQlkZXZfcHJp di0+ZGlzcGxheS5sb2FkX2NzY19tYXRyaXggPSBpbGtfbG9hZF9jc2NfbWF0cml4OwogCQlkZXZf cHJpdi0+ZGlzcGxheS5sb2FkX2x1dHMgPSBnbGtfbG9hZF9sdXRzOworCQlkZXZfcHJpdi0+ZGlz cGxheS5jb2xvcl9jb21taXQgPSBoc3dfY29sb3JfY29tbWl0OwogCX0gZWxzZSB7CiAJCWRldl9w cml2LT5kaXNwbGF5LmxvYWRfbHV0cyA9IGk5eHhfbG9hZF9sdXRzOwogCX0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCBhMzg3MWRiNDcwM2IuLjk2Yzc4NTY2YjhlNiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtNTcwNSw2ICs1NzA1LDcgQEAgc3Rh dGljIHZvaWQgaXJvbmxha2VfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBp cGVfY29uZmlnLAogCSAqIGNsb2NrcyBlbmFibGVkCiAJICovCiAJaW50ZWxfY29sb3JfbG9hZF9s dXRzKHBpcGVfY29uZmlnKTsKKwlpbnRlbF9jb2xvcl9jb21taXQocGlwZV9jb25maWcpOwogCiAJ aWYgKGRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyAhPSBOVUxMKQogCQlkZXZf cHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3Mob2xkX2ludGVsX3N0YXRlLCBwaXBlX2Nv bmZpZyk7CkBAIC01ODE1LDggKzU4MTYsNiBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5h YmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAogCWhhc3dlbGxfc2V0 X3BpcGVtaXNjKHBpcGVfY29uZmlnKTsKIAotCWludGVsX2NvbG9yX3NldF9jc2MocGlwZV9jb25m aWcpOwotCiAJaW50ZWxfY3J0Yy0+YWN0aXZlID0gdHJ1ZTsKIAogCS8qIERpc3BsYXkgV0EgIzEx ODA6IFdhRGlzYWJsZVNjYWxhckNsb2NrR2F0aW5nOiBnbGssIGNubCAqLwpAQCAtNTgzNSw2ICs1 ODM0LDcgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJICogY2xvY2tzIGVuYWJsZWQKIAkgKi8KIAlpbnRlbF9j b2xvcl9sb2FkX2x1dHMocGlwZV9jb25maWcpOworCWludGVsX2NvbG9yX2NvbW1pdChwaXBlX2Nv bmZpZyk7CiAKIAkvKgogCSAqIERpc3BsYXkgV0EgIzExNTM6IGVuYWJsZSBoYXJkd2FyZSB0byBi eXBhc3MgdGhlIGFscGhhIG1hdGgKQEAgLTYxODAsOCArNjE4MCw2IEBAIHN0YXRpYyB2b2lkIHZh bGxleXZpZXdfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmln LAogCiAJaTl4eF9zZXRfcGlwZWNvbmYocGlwZV9jb25maWcpOwogCi0JaW50ZWxfY29sb3Jfc2V0 X2NzYyhwaXBlX2NvbmZpZyk7Ci0KIAlpbnRlbF9jcnRjLT5hY3RpdmUgPSB0cnVlOwogCiAJaW50 ZWxfc2V0X2NwdV9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhkZXZfcHJpdiwgcGlwZSwgdHJ1ZSk7 CkBAIC02MjAxLDYgKzYxOTksNyBAQCBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3X2NydGNfZW5hYmxl KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAlpOXh4X3BmaXRfZW5hYmxl KHBpcGVfY29uZmlnKTsKIAogCWludGVsX2NvbG9yX2xvYWRfbHV0cyhwaXBlX2NvbmZpZyk7CisJ aW50ZWxfY29sb3JfY29tbWl0KHBpcGVfY29uZmlnKTsKIAogCWRldl9wcml2LT5kaXNwbGF5Lmlu aXRpYWxfd2F0ZXJtYXJrcyhvbGRfaW50ZWxfc3RhdGUsCiAJCQkJCSAgICAgcGlwZV9jb25maWcp OwpAQCAtNjI1Nyw2ICs2MjU2LDcgQEAgc3RhdGljIHZvaWQgaTl4eF9jcnRjX2VuYWJsZShzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJaTl4eF9wZml0X2VuYWJsZShwaXBl X2NvbmZpZyk7CiAKIAlpbnRlbF9jb2xvcl9sb2FkX2x1dHMocGlwZV9jb25maWcpOworCWludGVs X2NvbG9yX2NvbW1pdChwaXBlX2NvbmZpZyk7CiAKIAlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuaW5p dGlhbF93YXRlcm1hcmtzICE9IE5VTEwpCiAJCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0 ZXJtYXJrcyhvbGRfaW50ZWxfc3RhdGUsCkBAIC0xMzYzNCwxMCArMTM2MzQsOCBAQCBzdGF0aWMg dm9pZCBpbnRlbF9iZWdpbl9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAKIAlp ZiAoIW1vZGVzZXQgJiYKIAkgICAgKGludGVsX2NzdGF0ZS0+YmFzZS5jb2xvcl9tZ210X2NoYW5n ZWQgfHwKLQkgICAgIGludGVsX2NzdGF0ZS0+dXBkYXRlX3BpcGUpKSB7Ci0JCWludGVsX2NvbG9y X3NldF9jc2MoaW50ZWxfY3N0YXRlKTsKKwkgICAgIGludGVsX2NzdGF0ZS0+dXBkYXRlX3BpcGUp KQogCQlpbnRlbF9jb2xvcl9sb2FkX2x1dHMoaW50ZWxfY3N0YXRlKTsKLQl9CiAKIAkvKiBQZXJm b3JtIHZibGFuayBldmFzaW9uIGFyb3VuZCBjb21taXQgb3BlcmF0aW9uICovCiAJaW50ZWxfcGlw ZV91cGRhdGVfc3RhcnQoaW50ZWxfY3N0YXRlKTsKQEAgLTEzNjQ1LDYgKzEzNjQzLDEwIEBAIHN0 YXRpYyB2b2lkIGludGVsX2JlZ2luX2NydGNfY29tbWl0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK IAlpZiAobW9kZXNldCkKIAkJZ290byBvdXQ7CiAKKwlpZiAoaW50ZWxfY3N0YXRlLT5iYXNlLmNv bG9yX21nbXRfY2hhbmdlZCB8fAorCSAgICBpbnRlbF9jc3RhdGUtPnVwZGF0ZV9waXBlKQorCQlp bnRlbF9jb2xvcl9jb21taXQoaW50ZWxfY3N0YXRlKTsKKwogCWlmIChpbnRlbF9jc3RhdGUtPnVw ZGF0ZV9waXBlKQogCQlpbnRlbF91cGRhdGVfcGlwZV9jb25maWcob2xkX2ludGVsX2NzdGF0ZSwg aW50ZWxfY3N0YXRlKTsKIAllbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDk2NzQzZjUwYjEzYS4uNTlmOGQ0MjcwZTgyIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMjMzOCw3ICsyMzM4LDcgQEAgaW50IGludGVsX3Bs YW5lX2F0b21pY19jaGVja193aXRoX3N0YXRlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpvbGRfY3J0Y18KIC8qIGludGVsX2NvbG9yLmMgKi8KIHZvaWQgaW50ZWxfY29sb3JfaW5pdChz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7CiBpbnQgaW50ZWxfY29sb3JfY2hlY2soc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwotdm9pZCBpbnRlbF9jb2xvcl9zZXRfY3NjKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKK3ZvaWQgaW50ZWxfY29s b3JfY29tbWl0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKIHZv aWQgaW50ZWxfY29sb3JfbG9hZF9sdXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKTsKIAogLyogaW50ZWxfbHNwY29uLmMgKi8KLS0gCjIuMTkuMgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==