From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2 03/27] drm/i915: clean up intel_sanitize_crtc, v2 Date: Thu, 4 Jun 2015 14:47:33 +0200 Message-ID: <1433422077-14907-4-git-send-email-maarten.lankhorst@linux.intel.com> References: <1433422077-14907-1-git-send-email-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 ESMTP id 6AD356EAF1 for ; Thu, 4 Jun 2015 05:48:11 -0700 (PDT) In-Reply-To: <1433422077-14907-1-git-send-email-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 SW5zdGVhZCBvZiBicmVha2luZyBhbGwgY29ubmVjdGlvbnMgbWFudWFsbHksIGtpbGwgdGhlbSB3 aXRoCmF0b21pYyBtb2Rlc2V0LCBpZiBpdCBoYXBwZW5zLiBOb3cgdGhhdCB0aGUgZXZlcnl0aGlu ZydzIGF0b21pYwpzb21lIGNvZGUgYmVjb21lcyBvYnNvbGV0ZS4KCkZvcmNpbmcgYSBhdG9taWMg bW9kZXNldCB3aXRoIG51bGwgbW9kZSBhbmQgYWxsIGNvbm5lY3RvcnMgZ29uZQp1cGRhdGVzIHRo ZSBzdGF0ZSB0b28sIGluIGEgY2xlYW5lciB3YXkuCgpCZWNhdXNlIGxvYWQgZGV0ZWN0aW9uIGlz IGF0b21pYyB0b28gdGhlcmUgY2FuIGJlIG5vIG1pc21hdGNoIGJldHdlZW4KY3J0Yy0+YWN0aXZl IGFuZCBjcnRjLT5zdGF0ZS0+YWN0aXZlCgpDaGFuZ2VzIHNpbmNlIHYxOgotIFJld29yZCBjb21t aXQgbWVzc2FnZS4KLSBTZXQgbnVsbCBtb2RlIGFuZCBicmVhayBhbGwgY29ubmVjdG9ycyB3aGVu IGZvcmNlIGRpc2FibGluZyBjcnRjLgoKU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3Qg PG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RlYnVnZnMuYyAgfCAgIDggKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMgfCAxMDggKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAgMiArLQogMyBmaWxlcyBjaGFu Z2VkLCA1MyBpbnNlcnRpb25zKCspLCA2NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZGVidWdmcy5jCmluZGV4IDUxZmUwZmJjZDAwYy4uZGIyMzkxNmMxODc1IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RlYnVnZnMuYwpAQCAtMzYzNyw3ICszNjM3LDcgQEAgc3RhdGljIHZvaWQg aHN3X3RyYW5zX2VkcF9waXBlX0FfY3JjX3dhKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCWJv b2wgYWN0aXZlID0gcGlwZV9jb25maWctPmJhc2UuYWN0aXZlOwogCiAJCWlmIChhY3RpdmUpIHsK LQkJCWludGVsX2NydGNfY29udHJvbCgmY3J0Yy0+YmFzZSwgZmFsc2UpOworCQkJaW50ZWxfY3J0 Y19jb250cm9sKCZjcnRjLT5iYXNlLCBmYWxzZSwgZmFsc2UpOwogCQkJcGlwZV9jb25maWcgPSB0 b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPmJhc2Uuc3RhdGUpOwogCQl9CiAKQEAgLTM2NDcsNyAr MzY0Nyw3IEBAIHN0YXRpYyB2b2lkIGhzd190cmFuc19lZHBfcGlwZV9BX2NyY193YShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQogCQkJCQlQT1dFUl9ET01BSU5fUElQRV9QQU5FTF9GSVRURVIoUElQ RV9BKSk7CiAKIAkJaWYgKGFjdGl2ZSkKLQkJCWludGVsX2NydGNfY29udHJvbCgmY3J0Yy0+YmFz ZSwgdHJ1ZSk7CisJCQlpbnRlbF9jcnRjX2NvbnRyb2woJmNydGMtPmJhc2UsIHRydWUsIGZhbHNl KTsKIAl9CiAJZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXYpOwogfQpAQCAtMzY3MSw3ICszNjcx LDcgQEAgc3RhdGljIHZvaWQgaHN3X3VuZG9fdHJhbnNfZWRwX3BpcGVfQV9jcmNfd2Eoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKIAkJYm9vbCBhY3RpdmUgPSBwaXBlX2NvbmZpZy0+YmFzZS5hY3Rp dmU7CiAKIAkJaWYgKGFjdGl2ZSkgewotCQkJaW50ZWxfY3J0Y19jb250cm9sKCZjcnRjLT5iYXNl LCBmYWxzZSk7CisJCQlpbnRlbF9jcnRjX2NvbnRyb2woJmNydGMtPmJhc2UsIGZhbHNlLCBmYWxz ZSk7CiAJCQlwaXBlX2NvbmZpZyA9IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+YmFzZS5zdGF0 ZSk7CiAJCX0KIApAQCAtMzY4MSw3ICszNjgxLDcgQEAgc3RhdGljIHZvaWQgaHN3X3VuZG9fdHJh bnNfZWRwX3BpcGVfQV9jcmNfd2Eoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJCQkJUE9XRVJf RE9NQUlOX1BJUEVfUEFORUxfRklUVEVSKFBJUEVfQSkpOwogCiAJCWlmIChhY3RpdmUpCi0JCQlp bnRlbF9jcnRjX2NvbnRyb2woJmNydGMtPmJhc2UsIHRydWUpOworCQkJaW50ZWxfY3J0Y19jb250 cm9sKCZjcnRjLT5iYXNlLCB0cnVlLCBmYWxzZSk7CiAJfQogCWRybV9tb2Rlc2V0X3VubG9ja19h bGwoZGV2KTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCAwZjAzMTY1 OGEyOTcuLjE5MzZhMjhhNTdjMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpA QCAtNjE5Miw3ICs2MTkyLDcgQEAgZnJlZToKIH0KIAogLyogTWFzdGVyIGZ1bmN0aW9uIHRvIGVu YWJsZS9kaXNhYmxlIENSVEMgYW5kIGNvcnJlc3BvbmRpbmcgcG93ZXIgd2VsbHMgKi8KLWludCBp bnRlbF9jcnRjX2NvbnRyb2woc3RydWN0IGRybV9jcnRjICpjcnRjLCBib29sIGVuYWJsZSkKK2lu dCBpbnRlbF9jcnRjX2NvbnRyb2woc3RydWN0IGRybV9jcnRjICpjcnRjLCBib29sIGFjdGl2ZSwg Ym9vbCBmb3JjZSkKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OwogCXN0 cnVjdCBkcm1fbW9kZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOwpAQCAtNjIw MiwxMCArNjIwMiwxMyBAQCBpbnQgaW50ZWxfY3J0Y19jb250cm9sKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywgYm9vbCBlbmFibGUpCiAJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOwogCWlu dCByZXQ7CiAKLQlpZiAoZW5hYmxlID09IGludGVsX2NydGMtPmFjdGl2ZSkKKwlpZiAoV0FSTl9P TihhY3RpdmUgJiYgZm9yY2UpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChhY3RpdmUgPT0g aW50ZWxfY3J0Yy0+YWN0aXZlKQogCQlyZXR1cm4gMDsKIAotCWlmIChlbmFibGUgJiYgIWNydGMt PnN0YXRlLT5lbmFibGUpCisJaWYgKGFjdGl2ZSAmJiAhY3J0Yy0+c3RhdGUtPmVuYWJsZSkKIAkJ cmV0dXJuIDA7CiAKIAkvKiB0aGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgd2l0aCBkcm1f bW9kZXNldF9sb2NrX2FsbCBmb3Igbm93ICovCkBAIC02MjI1LDcgKzYyMjgsMzAgQEAgaW50IGlu dGVsX2NydGNfY29udHJvbChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGJvb2wgZW5hYmxlKQogCQly ZXQgPSBQVFJfRVJSKHBpcGVfY29uZmlnKTsKIAkJZ290byBlcnI7CiAJfQotCXBpcGVfY29uZmln LT5iYXNlLmFjdGl2ZSA9IGVuYWJsZTsKKwlwaXBlX2NvbmZpZy0+YmFzZS5hY3RpdmUgPSBhY3Rp dmU7CisJaWYgKGZvcmNlKSB7CisJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7CisK KwkJcmV0ID0gZHJtX2F0b21pY19zZXRfbW9kZV9mb3JfY3J0YygmcGlwZV9jb25maWctPmJhc2Us IE5VTEwpOworCQlpZiAocmV0KQorCQkJZ290byBlcnI7CisKKwkJbGlzdF9mb3JfZWFjaF9lbnRy eShjb25uZWN0b3IsICZjb25maWctPmNvbm5lY3Rvcl9saXN0LCBoZWFkKSB7CisJCQlzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZTsKKworCQkJaWYgKGNvbm5lY3Rvci0+c3Rh dGUtPmNydGMgIT0gY3J0YykKKwkJCQljb250aW51ZTsKKworCQkJY29ubl9zdGF0ZSA9IGRybV9h dG9taWNfZ2V0X2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yKTsKKwkJCWlmIChJU19F UlIoY29ubl9zdGF0ZSkpIHsKKwkJCQlyZXQgPSBQVFJfRVJSKGNvbm5fc3RhdGUpOworCQkJCWdv dG8gZXJyOworCQkJfQorCQkJcmV0ID0gZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfY29ubmVjdG9y KGNvbm5fc3RhdGUsIE5VTEwpOworCQkJaWYgKHJldCkKKwkJCQlnb3RvIGVycjsKKwkJfQorCX0K IAogCXJldCA9IGludGVsX3NldF9tb2RlKHN0YXRlKTsKIAlpZiAoIXJldCkKQEAgLTYyNDksNyAr NjI3NSw3IEBAIHZvaWQgaW50ZWxfY3J0Y191cGRhdGVfZHBtcyhzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCiAJZm9yX2VhY2hfZW5jb2Rlcl9vbl9jcnRjKGRldiwgY3J0YywgaW50ZWxfZW5jb2RlcikK IAkJZW5hYmxlIHw9IGludGVsX2VuY29kZXItPmNvbm5lY3RvcnNfYWN0aXZlOwogCi0JaW50ZWxf Y3J0Y19jb250cm9sKGNydGMsIGVuYWJsZSk7CisJaW50ZWxfY3J0Y19jb250cm9sKGNydGMsIGVu YWJsZSwgZmFsc2UpOwogfQogCiB2b2lkIGludGVsX2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIpCkBAIC0xNDgxMiwxMSArMTQ4MzgsMTQgQEAgaW50ZWxfY2hlY2tf cGxhbmVfbWFwcGluZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAlyZXR1cm4gdHJ1ZTsKIH0K IAotc3RhdGljIHZvaWQgaW50ZWxfc2FuaXRpemVfY3J0YyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YykKK3N0YXRpYyB2b2lkIGludGVsX3Nhbml0aXplX2NydGMoc3RydWN0IGludGVsX2NydGMgKmNy dGMsCisJCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQogewogCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBpbnRlbF9lbmNvZGVy ICppbnRlbF9lbmNvZGVyOwogCXUzMiByZWc7CisJYm9vbCBlbmFibGU7CiAKIAkvKiBDbGVhciBh bnkgZnJhbWUgc3RhcnQgZGVsYXlzIHVzZWQgZm9yIGRlYnVnZ2luZyBsZWZ0IGJ5IHRoZSBCSU9T ICovCiAJcmVnID0gUElQRUNPTkYoY3J0Yy0+Y29uZmlnLT5jcHVfdHJhbnNjb2Rlcik7CkBAIC0x NDgzMyw3ICsxNDg2Miw2IEBAIHN0YXRpYyB2b2lkIGludGVsX3Nhbml0aXplX2NydGMoc3RydWN0 IGludGVsX2NydGMgKmNydGMpCiAJICogZGlzYWJsZSB0aGUgY3J0YyAoYW5kIGhlbmNlIGNoYW5n ZSB0aGUgc3RhdGUpIGlmIGl0IGlzIHdyb25nLiBOb3RlCiAJICogdGhhdCBnZW40KyBoYXMgYSBm aXhlZCBwbGFuZSAtPiBwaXBlIG1hcHBpbmcuICAqLwogCWlmIChJTlRFTF9JTkZPKGRldiktPmdl biA8IDQgJiYgIWludGVsX2NoZWNrX3BsYW5lX21hcHBpbmcoY3J0YykpIHsKLQkJc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yOwogCQlib29sIHBsYW5lOwogCiAJCURSTV9ERUJVR19L TVMoIltDUlRDOiVkXSB3cm9uZyBwbGFuZSBjb25uZWN0aW9uIGRldGVjdGVkIVxuIiwKQEAgLTE0 ODQ2LDMzICsxNDg3NCwxMiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9zYW5pdGl6ZV9jcnRjKHN0cnVj dCBpbnRlbF9jcnRjICpjcnRjKQogCQl0b19pbnRlbF9wbGFuZV9zdGF0ZShjcnRjLT5iYXNlLnBy aW1hcnktPnN0YXRlKS0+dmlzaWJsZSA9IHRydWU7CiAJCWNydGMtPmJhc2UucHJpbWFyeS0+Y3J0 YyA9ICZjcnRjLT5iYXNlOwogCQljcnRjLT5wbGFuZSA9ICFwbGFuZTsKLQkJaW50ZWxfY3J0Y19j b250cm9sKCZjcnRjLT5iYXNlLCBmYWxzZSk7CisJCWludGVsX2NydGNfY29udHJvbCgmY3J0Yy0+ YmFzZSwgZmFsc2UsIHRydWUpOwogCQljcnRjLT5wbGFuZSA9IHBsYW5lOwotCi0JCS8qIC4uLiBh bmQgYnJlYWsgYWxsIGxpbmtzLiAqLwotCQlmb3JfZWFjaF9pbnRlbF9jb25uZWN0b3IoZGV2LCBj b25uZWN0b3IpIHsKLQkJCWlmIChjb25uZWN0b3ItPmVuY29kZXItPmJhc2UuY3J0YyAhPSAmY3J0 Yy0+YmFzZSkKLQkJCQljb250aW51ZTsKLQotCQkJY29ubmVjdG9yLT5iYXNlLmRwbXMgPSBEUk1f TU9ERV9EUE1TX09GRjsKLQkJCWNvbm5lY3Rvci0+YmFzZS5lbmNvZGVyID0gTlVMTDsKLQkJfQot CQkvKiBtdWx0aXBsZSBjb25uZWN0b3JzIG1heSBoYXZlIHRoZSBzYW1lIGVuY29kZXI6Ci0JCSAq ICBoYW5kbGUgdGhlbSBhbmQgYnJlYWsgY3J0YyBsaW5rIHNlcGFyYXRlbHkgKi8KLQkJZm9yX2Vh Y2hfaW50ZWxfY29ubmVjdG9yKGRldiwgY29ubmVjdG9yKQotCQkJaWYgKGNvbm5lY3Rvci0+ZW5j b2Rlci0+YmFzZS5jcnRjID09ICZjcnRjLT5iYXNlKSB7Ci0JCQkJY29ubmVjdG9yLT5lbmNvZGVy LT5iYXNlLmNydGMgPSBOVUxMOwotCQkJCWNvbm5lY3Rvci0+ZW5jb2Rlci0+Y29ubmVjdG9yc19h Y3RpdmUgPSBmYWxzZTsKLQkJCX0KLQotCQlXQVJOX09OKGNydGMtPmFjdGl2ZSk7Ci0JCWNydGMt PmJhc2Uuc3RhdGUtPmVuYWJsZSA9IGZhbHNlOwotCQljcnRjLT5iYXNlLnN0YXRlLT5hY3RpdmUg PSBmYWxzZTsKLQkJY3J0Yy0+YmFzZS5lbmFibGVkID0gZmFsc2U7CiAJfQogCiAJaWYgKGRldl9w cml2LT5xdWlya3MgJiBRVUlSS19QSVBFQV9GT1JDRSAmJgotCSAgICBjcnRjLT5waXBlID09IFBJ UEVfQSAmJiAhY3J0Yy0+YWN0aXZlKSB7CisJICAgIGNydGMtPnBpcGUgPT0gUElQRV9BICYmICgh cGlwZV9jb25maWcgfHwgIXBpcGVfY29uZmlnLT5iYXNlLmFjdGl2ZSkpIHsKIAkJLyogQklPUyBm b3Jnb3QgdG8gZW5hYmxlIHBpcGUgQSwgdGhpcyBtb3N0bHkgaGFwcGVucyBhZnRlcgogCQkgKiBy ZXN1bWUuIEZvcmNlLWVuYWJsZSB0aGUgcGlwZSB0byBmaXggdGhpcywgdGhlIHVwZGF0ZV9kcG1z CiAJCSAqIGNhbGwgYmVsb3cgd2UgcmVzdG9yZSB0aGUgcGlwZSB0byB0aGUgcmlnaHQgc3RhdGUs IGJ1dCBsZWF2ZQpAQCAtMTQ4ODEsMzYgKzE0ODg4LDE2IEBAIHN0YXRpYyB2b2lkIGludGVsX3Nh bml0aXplX2NydGMoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJfQogCiAJLyogQWRqdXN0IHRo ZSBzdGF0ZSBvZiB0aGUgb3V0cHV0IHBpcGUgYWNjb3JkaW5nIHRvIHdoZXRoZXIgd2UKLQkgKiBo YXZlIGFjdGl2ZSBjb25uZWN0b3JzL2VuY29kZXJzLiAqLwotCWludGVsX2NydGNfdXBkYXRlX2Rw bXMoJmNydGMtPmJhc2UpOwotCi0JaWYgKGNydGMtPmFjdGl2ZSAhPSBjcnRjLT5iYXNlLnN0YXRl LT5hY3RpdmUpIHsKLQkJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXI7CisJICogaGF2ZSBh Y3RpdmUgY29ubmVjdG9ycy9lbmNvZGVycyAqLworCWVuYWJsZSA9IGZhbHNlOworCWZvcl9lYWNo X2VuY29kZXJfb25fY3J0YyhkZXYsICZjcnRjLT5iYXNlLCBpbnRlbF9lbmNvZGVyKQorCQllbmFi bGUgfD0gaW50ZWxfZW5jb2Rlci0+Y29ubmVjdG9yc19hY3RpdmU7CiAKLQkJLyogVGhpcyBjYW4g aGFwcGVuIGVpdGhlciBkdWUgdG8gYnVncyBpbiB0aGUgZ2V0X2h3X3N0YXRlCi0JCSAqIGZ1bmN0 aW9ucyBvciBiZWNhdXNlIHRoZSBwaXBlIGlzIGZvcmNlLWVuYWJsZWQgZHVlIHRvIHRoZQotCQkg KiBwaXBlIEEgcXVpcmsuICovCi0JCURSTV9ERUJVR19LTVMoIltDUlRDOiVkXSBodyBzdGF0ZSBh ZGp1c3RlZCwgd2FzICVzLCBub3cgJXNcbiIsCi0JCQkgICAgICBjcnRjLT5iYXNlLmJhc2UuaWQs Ci0JCQkgICAgICBjcnRjLT5iYXNlLnN0YXRlLT5lbmFibGUgPyAiZW5hYmxlZCIgOiAiZGlzYWJs ZWQiLAotCQkJICAgICAgY3J0Yy0+YWN0aXZlID8gImVuYWJsZWQiIDogImRpc2FibGVkIik7Ci0K LQkJY3J0Yy0+YmFzZS5zdGF0ZS0+ZW5hYmxlID0gY3J0Yy0+YWN0aXZlOwotCQljcnRjLT5iYXNl LnN0YXRlLT5hY3RpdmUgPSBjcnRjLT5hY3RpdmU7Ci0JCWNydGMtPmJhc2UuZW5hYmxlZCA9IGNy dGMtPmFjdGl2ZTsKLQotCQkvKiBCZWNhdXNlIHdlIG9ubHkgZXN0YWJsaXNoIHRoZSBjb25uZWN0 b3IgLT4gZW5jb2RlciAtPgotCQkgKiBjcnRjIGxpbmtzIGlmIHNvbWV0aGluZyBpcyBhY3RpdmUs IHRoaXMgbWVhbnMgdGhlCi0JCSAqIGNydGMgaXMgbm93IGRlYWN0aXZhdGVkLiBCcmVhayB0aGUg bGlua3MuIGNvbm5lY3RvcgotCQkgKiAtPiBlbmNvZGVyIGxpbmtzIGFyZSBvbmx5IGVzdGFibGlz aCB3aGVuIHRoaW5ncyBhcmUKLQkJICogIGFjdHVhbGx5IHVwLCBoZW5jZSBubyBuZWVkIHRvIGJy ZWFrIHRoZW0uICovCi0JCVdBUk5fT04oY3J0Yy0+YWN0aXZlKTsKLQotCQlmb3JfZWFjaF9lbmNv ZGVyX29uX2NydGMoZGV2LCAmY3J0Yy0+YmFzZSwgZW5jb2RlcikgewotCQkJV0FSTl9PTihlbmNv ZGVyLT5jb25uZWN0b3JzX2FjdGl2ZSk7Ci0JCQllbmNvZGVyLT5iYXNlLmNydGMgPSBOVUxMOwot CQl9Ci0JfQorCS8qIG9ubHkgdHVybiBvZmYgc2VwYXJhdGVseSBpZiBjb25maWd1cmF0aW9uJ3Mg bm90IHJlc3RvcmVkLAorCSAqIGlmIGl0J3MgcmVzdG9yZWQgaXQgd2lsbCBjaGFuZ2UgbW9kZSBv ciB0dXJuIG9mZiBhbnl3YXkuCisJICovCisJaWYgKCFlbmFibGUgJiYgY3J0Yy0+YmFzZS5zdGF0 ZS0+YWN0aXZlICYmICFwaXBlX2NvbmZpZykKKwkJaW50ZWxfY3J0Y19jb250cm9sKCZjcnRjLT5i YXNlLCBmYWxzZSwgdHJ1ZSk7CiAKIAlpZiAoY3J0Yy0+YWN0aXZlIHx8IEhBU19HTUNIX0RJU1BM QVkoZGV2KSkgewogCQkvKgpAQCAtMTUyNzgsNyArMTUyNjUsOCBAQCB2b2lkIGludGVsX21vZGVz ZXRfc2V0dXBfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgICAgICAmY3J0 Yy0+c3RhdGUtPmFkanVzdGVkX21vZGUpOwogCQl9CiAKLQkJaW50ZWxfc2FuaXRpemVfY3J0Yyhp bnRlbF9jcnRjKTsKKwkJaW50ZWxfc2FuaXRpemVfY3J0YyhpbnRlbF9jcnRjLCAhZm9yY2VfcmVz dG9yZSA/IE5VTEwgOgorCQkJCSAgICB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGNfc3RhdGUpKTsK IAogCQkvKgogCQkgKiBzYW5pdGl6ZV9jcnRjIG1heSBoYXZlIGZvcmNlZCBhbiB1cGRhdGUgb2Yg Y3J0Yy0+c3RhdGUsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDgwN2UwMDFlNGNlZS4u ZWM3MjFlMzFlYWU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtOTkzLDcgKzk5Myw3 IEBAIHZvaWQgaW50ZWxfbWFya19idXN5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogdm9pZCBp bnRlbF9tYXJrX2lkbGUoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiB2b2lkIGludGVsX2NydGNf cmVzdG9yZV9tb2RlKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7CiBpbnQgaW50ZWxfZGlzcGxheV9z dXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwotaW50IGludGVsX2NydGNfY29udHJvbChz dHJ1Y3QgZHJtX2NydGMgKmNydGMsIGJvb2wgZW5hYmxlKTsKK2ludCBpbnRlbF9jcnRjX2NvbnRy b2woc3RydWN0IGRybV9jcnRjICpjcnRjLCBib29sIGFjdGl2ZSwgYm9vbCBmb3JjZSk7CiB2b2lk IGludGVsX2NydGNfdXBkYXRlX2RwbXMoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKIHZvaWQgaW50 ZWxfZW5jb2Rlcl9kZXN0cm95KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlcik7CiBpbnQgaW50 ZWxfY29ubmVjdG9yX2luaXQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqKTsKLS0gCjIuMS4wCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=