From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2 02/13] drm/i915: Make panel fitter functions take state Date: Thu, 4 Oct 2018 11:45:53 +0200 Message-ID: <20181004094604.2646-3-maarten.lankhorst@linux.intel.com> References: <20181004094604.2646-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 4AF906E58C for ; Thu, 4 Oct 2018 09:46:08 +0000 (UTC) In-Reply-To: <20181004094604.2646-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 SWYgd2UgbG9vayBhdCB0aGUgY29ycmVjdCBzdGF0ZSBpbnN0ZWFkIG9mIGNydGMtPmNvbmZpZywg d2UgY2FuIG51a2UgdGhlCmZvcmNlIHBhcmFtZXRlciwgYW5kIHdlIGNsZWFudXAgYSBmZXcgbW9y ZSB1c2VycyBvZiBjcnRjLT5jb25maWcgYXQgdGhlCnNhbWUgdGltZS4KClNpZ25lZC1vZmYtYnk6 IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ClJl dmlld2VkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29t PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDkxICsrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCA0 NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggYzJh NTQ0NDBkYzYzLi4yYzU5MTI0YjIyNjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKQEAgLTE1OCw5ICsxNTgsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9iZWdpbl9jcnRjX2NvbW1p dChzdHJ1Y3QgZHJtX2NydGMgKiwgc3RydWN0IGRybV9jcnRjX3N0YXRlICopOwogc3RhdGljIHZv aWQgaW50ZWxfZmluaXNoX2NydGNfY29tbWl0KHN0cnVjdCBkcm1fY3J0YyAqLCBzdHJ1Y3QgZHJt X2NydGNfc3RhdGUgKik7CiBzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2luaXRfc2NhbGVycyhzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAkJCQkgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpOwotc3RhdGljIHZvaWQgc2t5bGFrZV9wZml0X2VuYWJsZShzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0Yyk7Ci1zdGF0aWMgdm9pZCBpcm9ubGFrZV9wZml0X2Rpc2FibGUoc3RydWN0IGlu dGVsX2NydGMgKmNydGMsIGJvb2wgZm9yY2UpOwotc3RhdGljIHZvaWQgaXJvbmxha2VfcGZpdF9l bmFibGUoc3RydWN0IGludGVsX2NydGMgKmNydGMpOworc3RhdGljIHZvaWQgc2t5bGFrZV9wZml0 X2VuYWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7CitzdGF0 aWMgdm9pZCBpcm9ubGFrZV9wZml0X2Rpc2FibGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKm9sZF9jcnRjX3N0YXRlKTsKK3N0YXRpYyB2b2lkIGlyb25sYWtlX3BmaXRfZW5hYmxlKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKIHN0YXRpYyB2b2lkIGlu dGVsX21vZGVzZXRfc2V0dXBfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkJ IHN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4KTsKIHN0YXRpYyB2b2lkIGludGVs X3ByZV9kaXNhYmxlX3ByaW1hcnlfbm9hdG9taWMoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKQEAg LTM5MTksMTIgKzM5MTksMTIgQEAgc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX3BpcGVfY29uZmln KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGEKIAkJc2tsX2RldGFj aF9zY2FsZXJzKGNydGMpOwogCiAJCWlmIChuZXdfY3J0Y19zdGF0ZS0+cGNoX3BmaXQuZW5hYmxl ZCkKLQkJCXNreWxha2VfcGZpdF9lbmFibGUoY3J0Yyk7CisJCQlza3lsYWtlX3BmaXRfZW5hYmxl KG5ld19jcnRjX3N0YXRlKTsKIAl9IGVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2X3ByaXYpKSB7 CiAJCWlmIChuZXdfY3J0Y19zdGF0ZS0+cGNoX3BmaXQuZW5hYmxlZCkKLQkJCWlyb25sYWtlX3Bm aXRfZW5hYmxlKGNydGMpOworCQkJaXJvbmxha2VfcGZpdF9lbmFibGUobmV3X2NydGNfc3RhdGUp OwogCQllbHNlIGlmIChvbGRfY3J0Y19zdGF0ZS0+cGNoX3BmaXQuZW5hYmxlZCkKLQkJCWlyb25s YWtlX3BmaXRfZGlzYWJsZShjcnRjLCB0cnVlKTsKKwkJCWlyb25sYWtlX3BmaXRfZGlzYWJsZShv bGRfY3J0Y19zdGF0ZSk7CiAJfQogfQogCkBAIC01MDQxLDE5ICs1MDQxLDE5IEBAIHN0YXRpYyB2 b2lkIHNreWxha2Vfc2NhbGVyX2Rpc2FibGUoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJCXNr bF9kZXRhY2hfc2NhbGVyKGNydGMsIGkpOwogfQogCi1zdGF0aWMgdm9pZCBza3lsYWtlX3BmaXRf ZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQorc3RhdGljIHZvaWQgc2t5bGFrZV9wZml0 X2VuYWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwotCWludCBwaXBlID0gY3J0Yy0+cGlw ZTsKLQlzdHJ1Y3QgaW50ZWxfY3J0Y19zY2FsZXJfc3RhdGUgKnNjYWxlcl9zdGF0ZSA9Ci0JCSZj cnRjLT5jb25maWctPnNjYWxlcl9zdGF0ZTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKKwllbnVtIHBpcGUgcGlw ZSA9IGNydGMtPnBpcGU7CisJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc2NhbGVyX3N0YXRlICpz Y2FsZXJfc3RhdGUgPQorCQkmY3J0Y19zdGF0ZS0+c2NhbGVyX3N0YXRlOwogCi0JaWYgKGNydGMt PmNvbmZpZy0+cGNoX3BmaXQuZW5hYmxlZCkgeworCWlmIChjcnRjX3N0YXRlLT5wY2hfcGZpdC5l bmFibGVkKSB7CiAJCXUxNiB1dl9yZ2JfaHBoYXNlLCB1dl9yZ2JfdnBoYXNlOwogCQlpbnQgaWQ7 CiAKLQkJaWYgKFdBUk5fT04oY3J0Yy0+Y29uZmlnLT5zY2FsZXJfc3RhdGUuc2NhbGVyX2lkIDwg MCkpCisJCWlmIChXQVJOX09OKGNydGNfc3RhdGUtPnNjYWxlcl9zdGF0ZS5zY2FsZXJfaWQgPCAw KSkKIAkJCXJldHVybjsKIAogCQl1dl9yZ2JfaHBoYXNlID0gc2tsX3NjYWxlcl9jYWxjX3BoYXNl KDEsIGZhbHNlKTsKQEAgLTUwNjYsMTggKzUwNjYsMTggQEAgc3RhdGljIHZvaWQgc2t5bGFrZV9w Zml0X2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAkJCSAgICAgIFBTX1lfUEhBU0Uo MCkgfCBQU19VVl9SR0JfUEhBU0UodXZfcmdiX3ZwaGFzZSkpOwogCQlJOTE1X1dSSVRFX0ZXKFNL TF9QU19IUEhBU0UocGlwZSwgaWQpLAogCQkJICAgICAgUFNfWV9QSEFTRSgwKSB8IFBTX1VWX1JH Ql9QSEFTRSh1dl9yZ2JfaHBoYXNlKSk7Ci0JCUk5MTVfV1JJVEUoU0tMX1BTX1dJTl9QT1MocGlw ZSwgaWQpLCBjcnRjLT5jb25maWctPnBjaF9wZml0LnBvcyk7Ci0JCUk5MTVfV1JJVEUoU0tMX1BT X1dJTl9TWihwaXBlLCBpZCksIGNydGMtPmNvbmZpZy0+cGNoX3BmaXQuc2l6ZSk7CisJCUk5MTVf V1JJVEUoU0tMX1BTX1dJTl9QT1MocGlwZSwgaWQpLCBjcnRjX3N0YXRlLT5wY2hfcGZpdC5wb3Mp OworCQlJOTE1X1dSSVRFKFNLTF9QU19XSU5fU1oocGlwZSwgaWQpLCBjcnRjX3N0YXRlLT5wY2hf cGZpdC5zaXplKTsKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIGlyb25sYWtlX3BmaXRfZW5hYmxlKHN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjKQorc3RhdGljIHZvaWQgaXJvbmxha2VfcGZpdF9lbmFibGUo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAlpbnQgcGlwZSA9IGNy dGMtPnBpcGU7CiAKLQlpZiAoY3J0Yy0+Y29uZmlnLT5wY2hfcGZpdC5lbmFibGVkKSB7CisJaWYg KGNydGNfc3RhdGUtPnBjaF9wZml0LmVuYWJsZWQpIHsKIAkJLyogRm9yY2UgdXNlIG9mIGhhcmQt Y29kZWQgZmlsdGVyIGNvZWZmaWNpZW50cwogCQkgKiBhcyBzb21lIHByZS1wcm9ncmFtbWVkIHZh bHVlcyBhcmUgYnJva2VuLAogCQkgKiBlLmcuIHgyMDEuCkBAIC01MDg3LDggKzUwODcsOCBAQCBz dGF0aWMgdm9pZCBpcm9ubGFrZV9wZml0X2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykK IAkJCQkJCSBQRl9QSVBFX1NFTF9JVkIocGlwZSkpOwogCQllbHNlCiAJCQlJOTE1X1dSSVRFKFBG X0NUTChwaXBlKSwgUEZfRU5BQkxFIHwgUEZfRklMVEVSX01FRF8zeDMpOwotCQlJOTE1X1dSSVRF KFBGX1dJTl9QT1MocGlwZSksIGNydGMtPmNvbmZpZy0+cGNoX3BmaXQucG9zKTsKLQkJSTkxNV9X UklURShQRl9XSU5fU1oocGlwZSksIGNydGMtPmNvbmZpZy0+cGNoX3BmaXQuc2l6ZSk7CisJCUk5 MTVfV1JJVEUoUEZfV0lOX1BPUyhwaXBlKSwgY3J0Y19zdGF0ZS0+cGNoX3BmaXQucG9zKTsKKwkJ STkxNV9XUklURShQRl9XSU5fU1oocGlwZSksIGNydGNfc3RhdGUtPnBjaF9wZml0LnNpemUpOwog CX0KIH0KIApAQCAtNTYyMCw3ICs1NjIwLDcgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfY3J0Y19l bmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCQlhc3NlcnRfZmRp X3J4X2Rpc2FibGVkKGRldl9wcml2LCBwaXBlKTsKIAl9CiAKLQlpcm9ubGFrZV9wZml0X2VuYWJs ZShpbnRlbF9jcnRjKTsKKwlpcm9ubGFrZV9wZml0X2VuYWJsZShwaXBlX2NvbmZpZyk7CiAKIAkv KgogCSAqIE9uIElMSysgTFVUIG11c3QgYmUgbG9hZGVkIGJlZm9yZSB0aGUgcGlwZSBpcyBydW5u aW5nIGJ1dCB3aXRoCkBAIC01NzUyLDkgKzU3NTIsOSBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2Ny dGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAkJZ2xrX3Bp cGVfc2NhbGVyX2Nsb2NrX2dhdGluZ193YShkZXZfcHJpdiwgcGlwZSwgdHJ1ZSk7CiAKIAlpZiAo SU5URUxfR0VOKGRldl9wcml2KSA+PSA5KQotCQlza3lsYWtlX3BmaXRfZW5hYmxlKGludGVsX2Ny dGMpOworCQlza3lsYWtlX3BmaXRfZW5hYmxlKHBpcGVfY29uZmlnKTsKIAllbHNlCi0JCWlyb25s YWtlX3BmaXRfZW5hYmxlKGludGVsX2NydGMpOworCQlpcm9ubGFrZV9wZml0X2VuYWJsZShwaXBl X2NvbmZpZyk7CiAKIAkvKgogCSAqIE9uIElMSysgTFVUIG11c3QgYmUgbG9hZGVkIGJlZm9yZSB0 aGUgcGlwZSBpcyBydW5uaW5nIGJ1dCB3aXRoCkBAIC01ODEyLDE1ICs1ODEyLDE1IEBAIHN0YXRp YyB2b2lkIGhhc3dlbGxfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVf Y29uZmlnLAogCX0KIH0KIAotc3RhdGljIHZvaWQgaXJvbmxha2VfcGZpdF9kaXNhYmxlKHN0cnVj dCBpbnRlbF9jcnRjICpjcnRjLCBib29sIGZvcmNlKQorc3RhdGljIHZvaWQgaXJvbmxha2VfcGZp dF9kaXNhYmxlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSkK IHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Ci0Jc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwotCWludCBwaXBlID0gY3J0 Yy0+cGlwZTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMob2xkX2Ny dGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CisJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBl OwogCiAJLyogVG8gYXZvaWQgdXBzZXR0aW5nIHRoZSBwb3dlciB3ZWxsIG9uIGhhc3dlbGwgb25s eSBkaXNhYmxlIHRoZSBwZml0IGlmCiAJICogaXQncyBpbiB1c2UuIFRoZSBodyBzdGF0ZSBjb2Rl IHdpbGwgbWFrZSBzdXJlIHdlIGdldCB0aGlzIHJpZ2h0LiAqLwotCWlmIChmb3JjZSB8fCBjcnRj LT5jb25maWctPnBjaF9wZml0LmVuYWJsZWQpIHsKKwlpZiAob2xkX2NydGNfc3RhdGUtPnBjaF9w Zml0LmVuYWJsZWQpIHsKIAkJSTkxNV9XUklURShQRl9DVEwocGlwZSksIDApOwogCQlJOTE1X1dS SVRFKFBGX1dJTl9QT1MocGlwZSksIDApOwogCQlJOTE1X1dSSVRFKFBGX1dJTl9TWihwaXBlKSwg MCk7CkBAIC01ODUxLDcgKzU4NTEsNyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9jcnRjX2Rpc2Fi bGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAogCiAJaW50ZWxfZGlz YWJsZV9waXBlKG9sZF9jcnRjX3N0YXRlKTsKIAotCWlyb25sYWtlX3BmaXRfZGlzYWJsZShpbnRl bF9jcnRjLCBmYWxzZSk7CisJaXJvbmxha2VfcGZpdF9kaXNhYmxlKG9sZF9jcnRjX3N0YXRlKTsK IAogCWlmIChpbnRlbF9jcnRjLT5jb25maWctPmhhc19wY2hfZW5jb2RlcikKIAkJaXJvbmxha2Vf ZmRpX2Rpc2FibGUoY3J0Yyk7CkBAIC01OTEyLDcgKzU5MTIsNyBAQCBzdGF0aWMgdm9pZCBoYXN3 ZWxsX2NydGNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUs CiAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKIAkJc2t5bGFrZV9zY2FsZXJfZGlzYWJs ZShpbnRlbF9jcnRjKTsKIAllbHNlCi0JCWlyb25sYWtlX3BmaXRfZGlzYWJsZShpbnRlbF9jcnRj LCBmYWxzZSk7CisJCWlyb25sYWtlX3BmaXRfZGlzYWJsZShvbGRfY3J0Y19zdGF0ZSk7CiAKIAlp bnRlbF9lbmNvZGVyc19wb3N0X2Rpc2FibGUoY3J0Yywgb2xkX2NydGNfc3RhdGUsIG9sZF9zdGF0 ZSk7CiAKQEAgLTU5MjAsMTMgKzU5MjAsMTIgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9jcnRjX2Rp c2FibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAogCQlpY2xfdW5t YXBfcGxsc190b19wb3J0cyhjcnRjLCBvbGRfY3J0Y19zdGF0ZSwgb2xkX3N0YXRlKTsKIH0KIAot c3RhdGljIHZvaWQgaTl4eF9wZml0X2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKK3N0 YXRpYyB2b2lkIGk5eHhfcGZpdF9lbmFibGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2 OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKLQlz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcgPSBjcnRjLT5jb25maWc7CisJc3Ry dWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0 Yyk7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5i YXNlLmRldik7CiAKLQlpZiAoIXBpcGVfY29uZmlnLT5nbWNoX3BmaXQuY29udHJvbCkKKwlpZiAo IWNydGNfc3RhdGUtPmdtY2hfcGZpdC5jb250cm9sKQogCQlyZXR1cm47CiAKIAkvKgpAQCAtNTkz Niw4ICs1OTM1LDggQEAgc3RhdGljIHZvaWQgaTl4eF9wZml0X2VuYWJsZShzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YykKIAlXQVJOX09OKEk5MTVfUkVBRChQRklUX0NPTlRST0wpICYgUEZJVF9FTkFC TEUpOwogCWFzc2VydF9waXBlX2Rpc2FibGVkKGRldl9wcml2LCBjcnRjLT5waXBlKTsKIAotCUk5 MTVfV1JJVEUoUEZJVF9QR01fUkFUSU9TLCBwaXBlX2NvbmZpZy0+Z21jaF9wZml0LnBnbV9yYXRp b3MpOwotCUk5MTVfV1JJVEUoUEZJVF9DT05UUk9MLCBwaXBlX2NvbmZpZy0+Z21jaF9wZml0LmNv bnRyb2wpOworCUk5MTVfV1JJVEUoUEZJVF9QR01fUkFUSU9TLCBjcnRjX3N0YXRlLT5nbWNoX3Bm aXQucGdtX3JhdGlvcyk7CisJSTkxNV9XUklURShQRklUX0NPTlRST0wsIGNydGNfc3RhdGUtPmdt Y2hfcGZpdC5jb250cm9sKTsKIAogCS8qIEJvcmRlciBjb2xvciBpbiBjYXNlIHdlIGRvbid0IHNj YWxlIHVwIHRvIHRoZSBmdWxsIHNjcmVlbi4gQmxhY2sgYnkKIAkgKiBkZWZhdWx0LCBjaGFuZ2Ug dG8gc29tZXRoaW5nIGVsc2UgZm9yIGRlYnVnZ2luZy4gKi8KQEAgLTYwOTMsNyArNjA5Miw3IEBA IHN0YXRpYyB2b2lkIHZhbGxleXZpZXdfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKnBpcGVfY29uZmlnLAogCiAJaW50ZWxfZW5jb2RlcnNfcHJlX2VuYWJsZShjcnRjLCBwaXBl X2NvbmZpZywgb2xkX3N0YXRlKTsKIAotCWk5eHhfcGZpdF9lbmFibGUoaW50ZWxfY3J0Yyk7CisJ aTl4eF9wZml0X2VuYWJsZShwaXBlX2NvbmZpZyk7CiAKIAlpbnRlbF9jb2xvcl9sb2FkX2x1dHMo JnBpcGVfY29uZmlnLT5iYXNlKTsKIApAQCAtNjE0OSw3ICs2MTQ4LDcgQEAgc3RhdGljIHZvaWQg aTl4eF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAK IAlpOXh4X2VuYWJsZV9wbGwoaW50ZWxfY3J0YywgcGlwZV9jb25maWcpOwogCi0JaTl4eF9wZml0 X2VuYWJsZShpbnRlbF9jcnRjKTsKKwlpOXh4X3BmaXRfZW5hYmxlKHBpcGVfY29uZmlnKTsKIAog CWludGVsX2NvbG9yX2xvYWRfbHV0cygmcGlwZV9jb25maWctPmJhc2UpOwogCkBAIC02MTY2LDEy ICs2MTY1LDEyIEBAIHN0YXRpYyB2b2lkIGk5eHhfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCWludGVsX2VuY29kZXJzX2VuYWJsZShjcnRjLCBwaXBl X2NvbmZpZywgb2xkX3N0YXRlKTsKIH0KIAotc3RhdGljIHZvaWQgaTl4eF9wZml0X2Rpc2FibGUo c3RydWN0IGludGVsX2NydGMgKmNydGMpCitzdGF0aWMgdm9pZCBpOXh4X3BmaXRfZGlzYWJsZShj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpCiB7Ci0Jc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9 IHRvX2ludGVsX2NydGMob2xkX2NydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAKLQlpZiAo IWNydGMtPmNvbmZpZy0+Z21jaF9wZml0LmNvbnRyb2wpCisJaWYgKCFvbGRfY3J0Y19zdGF0ZS0+ Z21jaF9wZml0LmNvbnRyb2wpCiAJCXJldHVybjsKIAogCWFzc2VydF9waXBlX2Rpc2FibGVkKGRl dl9wcml2LCBjcnRjLT5waXBlKTsKQEAgLTYyMDQsNyArNjIwMyw3IEBAIHN0YXRpYyB2b2lkIGk5 eHhfY3J0Y19kaXNhYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwK IAogCWludGVsX2Rpc2FibGVfcGlwZShvbGRfY3J0Y19zdGF0ZSk7CiAKLQlpOXh4X3BmaXRfZGlz YWJsZShpbnRlbF9jcnRjKTsKKwlpOXh4X3BmaXRfZGlzYWJsZShvbGRfY3J0Y19zdGF0ZSk7CiAK IAlpbnRlbF9lbmNvZGVyc19wb3N0X2Rpc2FibGUoY3J0Yywgb2xkX2NydGNfc3RhdGUsIG9sZF9z dGF0ZSk7CiAKLS0gCjIuMTkuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==