From: Maarten Lankhorst Subject: [PATCH 02/13] drm/i915: Make panel fitter functions take state Date: Wed, 3 Oct 2018 15:37:04 +0200 Message-ID: <20181003133715.3713-3-maarten.lankhorst@linux.intel.com> References: <20181003133715.3713-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 [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id CD43A6E4AA for ; Wed, 3 Oct 2018 13:37:17 +0000 (UTC) In-Reply-To: <20181003133715.3713-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 U2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4 LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA5 MSArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDUgaW5zZXJ0 aW9ucygrKSwgNDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j CmluZGV4IDI2NGZlZWQ3NmMwOC4uNzAxY2FhYjRlMzgyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCkBAIC0xNTgsOSArMTU4LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfYmVnaW5f Y3J0Y19jb21taXQoc3RydWN0IGRybV9jcnRjICosIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqKTsK IHN0YXRpYyB2b2lkIGludGVsX2ZpbmlzaF9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKiwg c3RydWN0IGRybV9jcnRjX3N0YXRlICopOwogc3RhdGljIHZvaWQgaW50ZWxfY3J0Y19pbml0X3Nj YWxlcnMoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlKTsKLXN0YXRpYyB2b2lkIHNreWxha2VfcGZpdF9lbmFibGUoc3Ry dWN0IGludGVsX2NydGMgKmNydGMpOwotc3RhdGljIHZvaWQgaXJvbmxha2VfcGZpdF9kaXNhYmxl KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLCBib29sIGZvcmNlKTsKLXN0YXRpYyB2b2lkIGlyb25s YWtlX3BmaXRfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKTsKK3N0YXRpYyB2b2lkIHNr eWxha2VfcGZpdF9lbmFibGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpOworc3RhdGljIHZvaWQgaXJvbmxha2VfcGZpdF9kaXNhYmxlKGNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSk7CitzdGF0aWMgdm9pZCBpcm9ubGFrZV9wZml0 X2VuYWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7CiBzdGF0 aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3NldHVwX2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCiAJCQkJCSBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggKmN0eCk7CiBzdGF0aWMg dm9pZCBpbnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5X25vYXRvbWljKHN0cnVjdCBkcm1fY3J0YyAq Y3J0Yyk7CkBAIC0zOTE5LDEyICszOTE5LDEyIEBAIHN0YXRpYyB2b2lkIGludGVsX3VwZGF0ZV9w aXBlX2NvbmZpZyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhCiAJ CXNrbF9kZXRhY2hfc2NhbGVycyhjcnRjKTsKIAogCQlpZiAobmV3X2NydGNfc3RhdGUtPnBjaF9w Zml0LmVuYWJsZWQpCi0JCQlza3lsYWtlX3BmaXRfZW5hYmxlKGNydGMpOworCQkJc2t5bGFrZV9w Zml0X2VuYWJsZShuZXdfY3J0Y19zdGF0ZSk7CiAJfSBlbHNlIGlmIChIQVNfUENIX1NQTElUKGRl dl9wcml2KSkgewogCQlpZiAobmV3X2NydGNfc3RhdGUtPnBjaF9wZml0LmVuYWJsZWQpCi0JCQlp cm9ubGFrZV9wZml0X2VuYWJsZShjcnRjKTsKKwkJCWlyb25sYWtlX3BmaXRfZW5hYmxlKG5ld19j cnRjX3N0YXRlKTsKIAkJZWxzZSBpZiAob2xkX2NydGNfc3RhdGUtPnBjaF9wZml0LmVuYWJsZWQp Ci0JCQlpcm9ubGFrZV9wZml0X2Rpc2FibGUoY3J0YywgdHJ1ZSk7CisJCQlpcm9ubGFrZV9wZml0 X2Rpc2FibGUob2xkX2NydGNfc3RhdGUpOwogCX0KIH0KIApAQCAtNTA0MSwxOSArNTA0MSwxOSBA QCBzdGF0aWMgdm9pZCBza3lsYWtlX3NjYWxlcl9kaXNhYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpj cnRjKQogCQlza2xfZGV0YWNoX3NjYWxlcihjcnRjLCBpKTsKIH0KIAotc3RhdGljIHZvaWQgc2t5 bGFrZV9wZml0X2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKK3N0YXRpYyB2b2lkIHNr eWxha2VfcGZpdF9lbmFibGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2OwotCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKLQlpbnQgcGlwZSA9 IGNydGMtPnBpcGU7Ci0Jc3RydWN0IGludGVsX2NydGNfc2NhbGVyX3N0YXRlICpzY2FsZXJfc3Rh dGUgPQotCQkmY3J0Yy0+Y29uZmlnLT5zY2FsZXJfc3RhdGU7CisJc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CisJZW51 bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOworCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3NjYWxl cl9zdGF0ZSAqc2NhbGVyX3N0YXRlID0KKwkJJmNydGNfc3RhdGUtPnNjYWxlcl9zdGF0ZTsKIAot CWlmIChjcnRjLT5jb25maWctPnBjaF9wZml0LmVuYWJsZWQpIHsKKwlpZiAoY3J0Y19zdGF0ZS0+ cGNoX3BmaXQuZW5hYmxlZCkgewogCQl1MTYgdXZfcmdiX2hwaGFzZSwgdXZfcmdiX3ZwaGFzZTsK IAkJaW50IGlkOwogCi0JCWlmIChXQVJOX09OKGNydGMtPmNvbmZpZy0+c2NhbGVyX3N0YXRlLnNj YWxlcl9pZCA8IDApKQorCQlpZiAoV0FSTl9PTihjcnRjX3N0YXRlLT5zY2FsZXJfc3RhdGUuc2Nh bGVyX2lkIDwgMCkpCiAJCQlyZXR1cm47CiAKIAkJdXZfcmdiX2hwaGFzZSA9IHNrbF9zY2FsZXJf Y2FsY19waGFzZSgxLCBmYWxzZSk7CkBAIC01MDY2LDE4ICs1MDY2LDE4IEBAIHN0YXRpYyB2b2lk IHNreWxha2VfcGZpdF9lbmFibGUoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJCQkgICAgICBQ U19ZX1BIQVNFKDApIHwgUFNfVVZfUkdCX1BIQVNFKHV2X3JnYl92cGhhc2UpKTsKIAkJSTkxNV9X UklURV9GVyhTS0xfUFNfSFBIQVNFKHBpcGUsIGlkKSwKIAkJCSAgICAgIFBTX1lfUEhBU0UoMCkg fCBQU19VVl9SR0JfUEhBU0UodXZfcmdiX2hwaGFzZSkpOwotCQlJOTE1X1dSSVRFKFNLTF9QU19X SU5fUE9TKHBpcGUsIGlkKSwgY3J0Yy0+Y29uZmlnLT5wY2hfcGZpdC5wb3MpOwotCQlJOTE1X1dS SVRFKFNLTF9QU19XSU5fU1oocGlwZSwgaWQpLCBjcnRjLT5jb25maWctPnBjaF9wZml0LnNpemUp OworCQlJOTE1X1dSSVRFKFNLTF9QU19XSU5fUE9TKHBpcGUsIGlkKSwgY3J0Y19zdGF0ZS0+cGNo X3BmaXQucG9zKTsKKwkJSTkxNV9XUklURShTS0xfUFNfV0lOX1NaKHBpcGUsIGlkKSwgY3J0Y19z dGF0ZS0+cGNoX3BmaXQuc2l6ZSk7CiAJfQogfQogCi1zdGF0aWMgdm9pZCBpcm9ubGFrZV9wZml0 X2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKK3N0YXRpYyB2b2lkIGlyb25sYWtlX3Bm aXRfZW5hYmxlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewot CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKLQlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CisJc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJaW50 IHBpcGUgPSBjcnRjLT5waXBlOwogCi0JaWYgKGNydGMtPmNvbmZpZy0+cGNoX3BmaXQuZW5hYmxl ZCkgeworCWlmIChjcnRjX3N0YXRlLT5wY2hfcGZpdC5lbmFibGVkKSB7CiAJCS8qIEZvcmNlIHVz ZSBvZiBoYXJkLWNvZGVkIGZpbHRlciBjb2VmZmljaWVudHMKIAkJICogYXMgc29tZSBwcmUtcHJv Z3JhbW1lZCB2YWx1ZXMgYXJlIGJyb2tlbiwKIAkJICogZS5nLiB4MjAxLgpAQCAtNTA4Nyw4ICs1 MDg3LDggQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfcGZpdF9lbmFibGUoc3RydWN0IGludGVsX2Ny dGMgKmNydGMpCiAJCQkJCQkgUEZfUElQRV9TRUxfSVZCKHBpcGUpKTsKIAkJZWxzZQogCQkJSTkx NV9XUklURShQRl9DVEwocGlwZSksIFBGX0VOQUJMRSB8IFBGX0ZJTFRFUl9NRURfM3gzKTsKLQkJ STkxNV9XUklURShQRl9XSU5fUE9TKHBpcGUpLCBjcnRjLT5jb25maWctPnBjaF9wZml0LnBvcyk7 Ci0JCUk5MTVfV1JJVEUoUEZfV0lOX1NaKHBpcGUpLCBjcnRjLT5jb25maWctPnBjaF9wZml0LnNp emUpOworCQlJOTE1X1dSSVRFKFBGX1dJTl9QT1MocGlwZSksIGNydGNfc3RhdGUtPnBjaF9wZml0 LnBvcyk7CisJCUk5MTVfV1JJVEUoUEZfV0lOX1NaKHBpcGUpLCBjcnRjX3N0YXRlLT5wY2hfcGZp dC5zaXplKTsKIAl9CiB9CiAKQEAgLTU2MjAsNyArNTYyMCw3IEBAIHN0YXRpYyB2b2lkIGlyb25s YWtlX2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAkJ YXNzZXJ0X2ZkaV9yeF9kaXNhYmxlZChkZXZfcHJpdiwgcGlwZSk7CiAJfQogCi0JaXJvbmxha2Vf cGZpdF9lbmFibGUoaW50ZWxfY3J0Yyk7CisJaXJvbmxha2VfcGZpdF9lbmFibGUocGlwZV9jb25m aWcpOwogCiAJLyoKIAkgKiBPbiBJTEsrIExVVCBtdXN0IGJlIGxvYWRlZCBiZWZvcmUgdGhlIHBp cGUgaXMgcnVubmluZyBidXQgd2l0aApAQCAtNTc1Miw5ICs1NzUyLDkgQEAgc3RhdGljIHZvaWQg aGFzd2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcs CiAJCWdsa19waXBlX3NjYWxlcl9jbG9ja19nYXRpbmdfd2EoZGV2X3ByaXYsIHBpcGUsIHRydWUp OwogCiAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKLQkJc2t5bGFrZV9wZml0X2VuYWJs ZShpbnRlbF9jcnRjKTsKKwkJc2t5bGFrZV9wZml0X2VuYWJsZShwaXBlX2NvbmZpZyk7CiAJZWxz ZQotCQlpcm9ubGFrZV9wZml0X2VuYWJsZShpbnRlbF9jcnRjKTsKKwkJaXJvbmxha2VfcGZpdF9l bmFibGUocGlwZV9jb25maWcpOwogCiAJLyoKIAkgKiBPbiBJTEsrIExVVCBtdXN0IGJlIGxvYWRl ZCBiZWZvcmUgdGhlIHBpcGUgaXMgcnVubmluZyBidXQgd2l0aApAQCAtNTgxMiwxNSArNTgxMiwx NSBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpwaXBlX2NvbmZpZywKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIGlyb25sYWtlX3BmaXRfZGlz YWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywgYm9vbCBmb3JjZSkKK3N0YXRpYyB2b2lkIGly b25sYWtlX3BmaXRfZGlzYWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2Ny dGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2Owot CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKLQlpbnQg cGlwZSA9IGNydGMtPnBpcGU7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9j cnRjKG9sZF9jcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOworCWVudW0gcGlwZSBwaXBlID0g Y3J0Yy0+cGlwZTsKIAogCS8qIFRvIGF2b2lkIHVwc2V0dGluZyB0aGUgcG93ZXIgd2VsbCBvbiBo YXN3ZWxsIG9ubHkgZGlzYWJsZSB0aGUgcGZpdCBpZgogCSAqIGl0J3MgaW4gdXNlLiBUaGUgaHcg c3RhdGUgY29kZSB3aWxsIG1ha2Ugc3VyZSB3ZSBnZXQgdGhpcyByaWdodC4gKi8KLQlpZiAoZm9y Y2UgfHwgY3J0Yy0+Y29uZmlnLT5wY2hfcGZpdC5lbmFibGVkKSB7CisJaWYgKG9sZF9jcnRjX3N0 YXRlLT5wY2hfcGZpdC5lbmFibGVkKSB7CiAJCUk5MTVfV1JJVEUoUEZfQ1RMKHBpcGUpLCAwKTsK IAkJSTkxNV9XUklURShQRl9XSU5fUE9TKHBpcGUpLCAwKTsKIAkJSTkxNV9XUklURShQRl9XSU5f U1oocGlwZSksIDApOwpAQCAtNTg1MSw3ICs1ODUxLDcgQEAgc3RhdGljIHZvaWQgaXJvbmxha2Vf Y3J0Y19kaXNhYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKIAog CWludGVsX2Rpc2FibGVfcGlwZShvbGRfY3J0Y19zdGF0ZSk7CiAKLQlpcm9ubGFrZV9wZml0X2Rp c2FibGUoaW50ZWxfY3J0YywgZmFsc2UpOworCWlyb25sYWtlX3BmaXRfZGlzYWJsZShvbGRfY3J0 Y19zdGF0ZSk7CiAKIAlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfcGNoX2VuY29kZXIpCiAJ CWlyb25sYWtlX2ZkaV9kaXNhYmxlKGNydGMpOwpAQCAtNTkxMiw3ICs1OTEyLDcgQEAgc3RhdGlj IHZvaWQgaGFzd2VsbF9jcnRjX2Rpc2FibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9j cnRjX3N0YXRlLAogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpCiAJCXNreWxha2Vfc2Nh bGVyX2Rpc2FibGUoaW50ZWxfY3J0Yyk7CiAJZWxzZQotCQlpcm9ubGFrZV9wZml0X2Rpc2FibGUo aW50ZWxfY3J0YywgZmFsc2UpOworCQlpcm9ubGFrZV9wZml0X2Rpc2FibGUob2xkX2NydGNfc3Rh dGUpOwogCiAJaW50ZWxfZW5jb2RlcnNfcG9zdF9kaXNhYmxlKGNydGMsIG9sZF9jcnRjX3N0YXRl LCBvbGRfc3RhdGUpOwogCkBAIC01OTIwLDEzICs1OTIwLDEyIEBAIHN0YXRpYyB2b2lkIGhhc3dl bGxfY3J0Y19kaXNhYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwK IAkJaWNsX3VubWFwX3BsbHNfdG9fcG9ydHMoY3J0Yywgb2xkX2NydGNfc3RhdGUsIG9sZF9zdGF0 ZSk7CiB9CiAKLXN0YXRpYyB2b2lkIGk5eHhfcGZpdF9lbmFibGUoc3RydWN0IGludGVsX2NydGMg KmNydGMpCitzdGF0aWMgdm9pZCBpOXh4X3BmaXRfZW5hYmxlKGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRj LT5iYXNlLmRldjsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGRldik7Ci0Jc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnID0gY3J0Yy0+Y29u ZmlnOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT5iYXNlLmNydGMpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY3J0Yy0+YmFzZS5kZXYpOwogCi0JaWYgKCFwaXBlX2NvbmZpZy0+Z21jaF9wZml0LmNvbnRy b2wpCisJaWYgKCFjcnRjX3N0YXRlLT5nbWNoX3BmaXQuY29udHJvbCkKIAkJcmV0dXJuOwogCiAJ LyoKQEAgLTU5MzYsOCArNTkzNSw4IEBAIHN0YXRpYyB2b2lkIGk5eHhfcGZpdF9lbmFibGUoc3Ry dWN0IGludGVsX2NydGMgKmNydGMpCiAJV0FSTl9PTihJOTE1X1JFQUQoUEZJVF9DT05UUk9MKSAm IFBGSVRfRU5BQkxFKTsKIAlhc3NlcnRfcGlwZV9kaXNhYmxlZChkZXZfcHJpdiwgY3J0Yy0+cGlw ZSk7CiAKLQlJOTE1X1dSSVRFKFBGSVRfUEdNX1JBVElPUywgcGlwZV9jb25maWctPmdtY2hfcGZp dC5wZ21fcmF0aW9zKTsKLQlJOTE1X1dSSVRFKFBGSVRfQ09OVFJPTCwgcGlwZV9jb25maWctPmdt Y2hfcGZpdC5jb250cm9sKTsKKwlJOTE1X1dSSVRFKFBGSVRfUEdNX1JBVElPUywgY3J0Y19zdGF0 ZS0+Z21jaF9wZml0LnBnbV9yYXRpb3MpOworCUk5MTVfV1JJVEUoUEZJVF9DT05UUk9MLCBjcnRj X3N0YXRlLT5nbWNoX3BmaXQuY29udHJvbCk7CiAKIAkvKiBCb3JkZXIgY29sb3IgaW4gY2FzZSB3 ZSBkb24ndCBzY2FsZSB1cCB0byB0aGUgZnVsbCBzY3JlZW4uIEJsYWNrIGJ5CiAJICogZGVmYXVs dCwgY2hhbmdlIHRvIHNvbWV0aGluZyBlbHNlIGZvciBkZWJ1Z2dpbmcuICovCkBAIC02MDkzLDcg KzYwOTIsNyBAQCBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3X2NydGNfZW5hYmxlKHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAogCWludGVsX2VuY29kZXJzX3ByZV9lbmFibGUo Y3J0YywgcGlwZV9jb25maWcsIG9sZF9zdGF0ZSk7CiAKLQlpOXh4X3BmaXRfZW5hYmxlKGludGVs X2NydGMpOworCWk5eHhfcGZpdF9lbmFibGUocGlwZV9jb25maWcpOwogCiAJaW50ZWxfY29sb3Jf bG9hZF9sdXRzKCZwaXBlX2NvbmZpZy0+YmFzZSk7CiAKQEAgLTYxNDksNyArNjE0OCw3IEBAIHN0 YXRpYyB2b2lkIGk5eHhfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVf Y29uZmlnLAogCiAJaTl4eF9lbmFibGVfcGxsKGludGVsX2NydGMsIHBpcGVfY29uZmlnKTsKIAot CWk5eHhfcGZpdF9lbmFibGUoaW50ZWxfY3J0Yyk7CisJaTl4eF9wZml0X2VuYWJsZShwaXBlX2Nv bmZpZyk7CiAKIAlpbnRlbF9jb2xvcl9sb2FkX2x1dHMoJnBpcGVfY29uZmlnLT5iYXNlKTsKIApA QCAtNjE2NiwxMiArNjE2NSwxMiBAQCBzdGF0aWMgdm9pZCBpOXh4X2NydGNfZW5hYmxlKHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAlpbnRlbF9lbmNvZGVyc19lbmFibGUo Y3J0YywgcGlwZV9jb25maWcsIG9sZF9zdGF0ZSk7CiB9CiAKLXN0YXRpYyB2b2lkIGk5eHhfcGZp dF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQorc3RhdGljIHZvaWQgaTl4eF9wZml0 X2Rpc2FibGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQog ewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKLQlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CisJc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYp OwogCi0JaWYgKCFjcnRjLT5jb25maWctPmdtY2hfcGZpdC5jb250cm9sKQorCWlmICghb2xkX2Ny dGNfc3RhdGUtPmdtY2hfcGZpdC5jb250cm9sKQogCQlyZXR1cm47CiAKIAlhc3NlcnRfcGlwZV9k aXNhYmxlZChkZXZfcHJpdiwgY3J0Yy0+cGlwZSk7CkBAIC02MjA0LDcgKzYyMDMsNyBAQCBzdGF0 aWMgdm9pZCBpOXh4X2NydGNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2Ny dGNfc3RhdGUsCiAKIAlpbnRlbF9kaXNhYmxlX3BpcGUob2xkX2NydGNfc3RhdGUpOwogCi0JaTl4 eF9wZml0X2Rpc2FibGUoaW50ZWxfY3J0Yyk7CisJaTl4eF9wZml0X2Rpc2FibGUob2xkX2NydGNf c3RhdGUpOwogCiAJaW50ZWxfZW5jb2RlcnNfcG9zdF9kaXNhYmxlKGNydGMsIG9sZF9jcnRjX3N0 YXRlLCBvbGRfc3RhdGUpOwogCi0tIAoyLjE5LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=