From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 11/18] drm/i915: skip modeset if compatible, and enable fastboot for everyone Date: Thu, 2 Jul 2015 16:36:55 +0200 Message-ID: <1435847822-5318-12-git-send-email-maarten.lankhorst@linux.intel.com> References: <1435847822-5318-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 ESMTPS id DF0E86ECA5 for ; Thu, 2 Jul 2015 07:37:25 -0700 (PDT) In-Reply-To: <1435847822-5318-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 Tm93IHRoYXQgd2UgcmVhZCBvdXQgdGhlIGZ1bGwgYXRvbWljIHN0YXRlIHdlIGNhbiBmb3JjZSBm YXN0Ym9vdCB3aXRob3V0CmhhY2tzLiBUaGUgb25seSB0aGluZyB0aGF0IHdlIGhhdmUgdG8gd29y cnkgYWJvdXQgaXMgcHJldmVudGluZyB1bm5lZWRlZAptb2Rlc2V0cy4gVGhpcyBjYW4gYmUgZWFz aWx5IGRvbmUgYnkgY2FsY3VsYXRpbmcgaWYgdGhlIG5ldyBzdGF0ZSBtYXRjaGVzCnRoZSBvbGQg c3RhdGUsIHdpdGggZXhjZXB0aW9uIGZvciBwZml0IGFuZCBwaXBlIHNpemUuIEJlY2F1c2UgdGhl IG9yaWdpbmFsCmZhc3Rib290IGNvZGUgb25seSB0b3VjaGVkIHBpcGUgc2l6ZSBhbmQgcGFuZWwg Zml0dGVyIHdlIGNhbiBrZWVwIHRoYXQgYXMKYmFzZSBvcHRpb25zIGluIHBpcGVfY29uZmlnX2Nv bXBhcmUsIGFuZCBwYXRjaCBpdCB1cCBpbnNpZGUKaW50ZWxfdXBkYXRlX3BpcGVfY29uZmlnLgoK U2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4 LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jICAgfCAg IDUgLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jICB8ICAgMiArLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMTQ0ICsrKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAg fCAgIDIgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYyAgIHwgICAzIC0KIDUg ZmlsZXMgY2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKSwgNjQgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcGFyYW1zLmMKaW5kZXggNzk4M2ZlNDhhNjU0Li5kNmY5ZDlhMTE3YjYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYwpAQCAtNDAsNyArNDAsNiBAQCBzdHJ1Y3QgaTkx NV9wYXJhbXMgaTkxNSBfX3JlYWRfbW9zdGx5ID0gewogCS5wcmVsaW1pbmFyeV9od19zdXBwb3J0 ID0gSVNfRU5BQkxFRChDT05GSUdfRFJNX0k5MTVfUFJFTElNSU5BUllfSFdfU1VQUE9SVCksCiAJ LmRpc2FibGVfcG93ZXJfd2VsbCA9IDEsCiAJLmVuYWJsZV9pcHMgPSAxLAotCS5mYXN0Ym9vdCA9 IDAsCiAJLnByZWZhdWx0X2Rpc2FibGUgPSAwLAogCS5sb2FkX2RldGVjdF90ZXN0ID0gMCwKIAku cmVzZXQgPSB0cnVlLApAQCAtMTMxLDEwICsxMzAsNiBAQCBNT0RVTEVfUEFSTV9ERVNDKGRpc2Fi bGVfcG93ZXJfd2VsbCwKIG1vZHVsZV9wYXJhbV9uYW1lZChlbmFibGVfaXBzLCBpOTE1LmVuYWJs ZV9pcHMsIGludCwgMDYwMCk7CiBNT0RVTEVfUEFSTV9ERVNDKGVuYWJsZV9pcHMsICJFbmFibGUg SVBTIChkZWZhdWx0OiB0cnVlKSIpOwogCi1tb2R1bGVfcGFyYW1fbmFtZWQoZmFzdGJvb3QsIGk5 MTUuZmFzdGJvb3QsIGJvb2wsIDA2MDApOwotTU9EVUxFX1BBUk1fREVTQyhmYXN0Ym9vdCwKLQki VHJ5IHRvIHNraXAgdW5uZWNlc3NhcnkgbW9kZSBzZXRzIGF0IGJvb3QgdGltZSAoZGVmYXVsdDog ZmFsc2UpIik7Ci0KIG1vZHVsZV9wYXJhbV9uYW1lZF91bnNhZmUocHJlZmF1bHRfZGlzYWJsZSwg aTkxNS5wcmVmYXVsdF9kaXNhYmxlLCBib29sLCAwNjAwKTsKIE1PRFVMRV9QQVJNX0RFU0MocHJl ZmF1bHRfZGlzYWJsZSwKIAkiRGlzYWJsZSBwYWdlIHByZWZhdWx0aW5nIGZvciBwcmVhZC9wd3Jp dGUvcmVsb2MgKGRlZmF1bHQ6ZmFsc2UpLiAiCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5j CmluZGV4IGI1OTM2MTJhOTE3ZC4uMGJiZGMyZmM1Mjk4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9hdG9taWMuYwpAQCAtMjIxLDggKzIyMSw4IEBAIGludGVsX2NydGNfZHVwbGljYXRlX3N0YXRl KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAkJcmV0dXJuIE5VTEw7CiAKIAlfX2RybV9hdG9taWNf aGVscGVyX2NydGNfZHVwbGljYXRlX3N0YXRlKGNydGMsICZjcnRjX3N0YXRlLT5iYXNlKTsKLQog CWNydGNfc3RhdGUtPmJhc2UuY3J0YyA9IGNydGM7CisJY3J0Y19zdGF0ZS0+dXBkYXRlX3BpcGUg PSBmYWxzZTsKIAogCXJldHVybiAmY3J0Y19zdGF0ZS0+YmFzZTsKIH0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwppbmRleCA1MmY3Zjc1ZGQ1MTkuLmFlNjk0NzIwZTI2MyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTEwLDYgKzExMCw5IEBAIHN0YXRpYyB2 b2lkIHNrbF9pbml0X3NjYWxlcnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGludGVs X2NydGMgKmludGVsX2NyCiBzdGF0aWMgaW50IGk5eHhfZ2V0X3JlZmNsayhjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgIGludCBudW1fY29ubmVjdG9ycyk7 CiBzdGF0aWMgdm9pZCBpbnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5KHN0cnVjdCBkcm1fY3J0YyAq Y3J0Yyk7CitzdGF0aWMgdm9pZCBza3lsYWtlX3BmaXRfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjKTsKK3N0YXRpYyB2b2lkIGlyb25sYWtlX3BmaXRfZGlzYWJsZShzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YywgYm9vbCBmb3JjZSk7CitzdGF0aWMgdm9pZCBpcm9ubGFrZV9wZml0X2VuYWJs ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7CiBzdGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3Nl dHVwX2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogCiBzdGF0aWMgc3RydWN0IGlu dGVsX2VuY29kZXIgKmludGVsX2ZpbmRfZW5jb2RlcihzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IsIGludCBwaXBlKQpAQCAtMzI5OSwxNCArMzMwMiwxNyBAQCBzdGF0aWMgYm9vbCBp bnRlbF9jcnRjX2hhc19wZW5kaW5nX2ZsaXAoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCXJldHVy biBwZW5kaW5nOwogfQogCi1zdGF0aWMgdm9pZCBpbnRlbF91cGRhdGVfcGlwZV9zaXplKHN0cnVj dCBpbnRlbF9jcnRjICpjcnRjKQorc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX3BpcGVfY29uZmln KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAorCQkJCSAgICAgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKm9sZF9jcnRjX3N0YXRlKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5i YXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOwotCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlOwor CXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyA9CisJCXRvX2ludGVsX2NydGNf c3RhdGUoY3J0Yy0+YmFzZS5zdGF0ZSk7CiAKLQlpZiAoIWk5MTUuZmFzdGJvb3QpCi0JCXJldHVy bjsKKwlEUk1fREVCVUdfS01TKCJVcGRhdGluZyBwaXBlIHNpemUgJWl4JWkgLT4gJWl4JWlcbiIs CisJCSAgICAgIG9sZF9jcnRjX3N0YXRlLT5waXBlX3NyY193LCBvbGRfY3J0Y19zdGF0ZS0+cGlw ZV9zcmNfaCwKKwkJICAgICAgcGlwZV9jb25maWctPnBpcGVfc3JjX3csIHBpcGVfY29uZmlnLT5w aXBlX3NyY19oKTsKIAogCS8qCiAJICogVXBkYXRlIHBpcGUgc2l6ZSBhbmQgYWRqdXN0IGZpdHRl ciBpZiBuZWVkZWQ6IHRoZSByZWFzb24gZm9yIHRoaXMgaXMKQEAgLTMzMTUsMjcgKzMzMjEsMjYg QEAgc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX3BpcGVfc2l6ZShzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YykKIAkgKiBmYXN0Ym9vdCBjYXNlLCB3ZSdsbCBmbGlwLCBidXQgaWYgd2UgZG9uJ3QgdXBk YXRlIHRoZSBwaXBlc3JjIGFuZAogCSAqIHBmaXQgc3RhdGUsIHdlJ2xsIGVuZCB1cCB3aXRoIGEg YmlnIGZiIHNjYW5uZWQgb3V0IGludG8gdGhlIHdyb25nCiAJICogc2l6ZWQgc3VyZmFjZS4KLQkg KgotCSAqIFRvIGZpeCB0aGlzIHByb3Blcmx5LCB3ZSBuZWVkIHRvIGhvaXN0IHRoZSBjaGVja3Mg dXAgaW50bwotCSAqIGNvbXB1dGVfbW9kZV9jaGFuZ2VzIChvciBhYm92ZSksIGNoZWNrIHRoZSBh Y3R1YWwgcGZpdCBzdGF0ZSBhbmQKLQkgKiB3aGV0aGVyIHRoZSBwbGF0Zm9ybSBhbGxvd3MgcGZp dCBkaXNhYmxlIHdpdGggcGlwZSBhY3RpdmUsIGFuZCBvbmx5Ci0JICogdGhlbiB1cGRhdGUgdGhl IHBpcGVzcmMgYW5kIHBmaXQgc3RhdGUsIGV2ZW4gb24gdGhlIGZsaXAgcGF0aC4KIAkgKi8KIAot CWFkanVzdGVkX21vZGUgPSAmY3J0Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Ci0KIAlJ OTE1X1dSSVRFKFBJUEVTUkMoY3J0Yy0+cGlwZSksCi0JCSAgICgoYWRqdXN0ZWRfbW9kZS0+Y3J0 Y19oZGlzcGxheSAtIDEpIDw8IDE2KSB8Ci0JCSAgIChhZGp1c3RlZF9tb2RlLT5jcnRjX3ZkaXNw bGF5IC0gMSkpOwotCWlmICghY3J0Yy0+Y29uZmlnLT5wY2hfcGZpdC5lbmFibGVkICYmCi0JICAg IChpbnRlbF9waXBlX2hhc190eXBlKGNydGMsIElOVEVMX09VVFBVVF9MVkRTKSB8fAotCSAgICAg aW50ZWxfcGlwZV9oYXNfdHlwZShjcnRjLCBJTlRFTF9PVVRQVVRfRURQKSkpIHsKLQkJSTkxNV9X UklURShQRl9DVEwoY3J0Yy0+cGlwZSksIDApOwotCQlJOTE1X1dSSVRFKFBGX1dJTl9QT1MoY3J0 Yy0+cGlwZSksIDApOwotCQlJOTE1X1dSSVRFKFBGX1dJTl9TWihjcnRjLT5waXBlKSwgMCk7CisJ CSAgICgocGlwZV9jb25maWctPnBpcGVfc3JjX3cgLSAxKSA8PCAxNikgfAorCQkgICAocGlwZV9j b25maWctPnBpcGVfc3JjX2ggLSAxKSk7CisKKwkvKiBvbiBza3lsYWtlIHRoaXMgaXMgZG9uZSBi eSBkZXRhY2hpbmcgc2NhbGVycyAqLworCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA9PSA5KSB7 CisJCXNrbF9kZXRhY2hfc2NhbGVycyhjcnRjKTsKKworCQlpZiAocGlwZV9jb25maWctPnBjaF9w Zml0LmVuYWJsZWQpCisJCQlza3lsYWtlX3BmaXRfZW5hYmxlKGNydGMpOworCX0KKwllbHNlIGlm IChJTlRFTF9JTkZPKGRldiktPmdlbiA8IDkgJiYKKwkgICAgICAgICBIQVNfUENIX1NQTElUKGRl dikpIHsKKwkJaWYgKHBpcGVfY29uZmlnLT5wY2hfcGZpdC5lbmFibGVkKQorCQkJaXJvbmxha2Vf cGZpdF9lbmFibGUoY3J0Yyk7CisJCWVsc2UgaWYgKG9sZF9jcnRjX3N0YXRlLT5wY2hfcGZpdC5l bmFibGVkKQorCQkJaXJvbmxha2VfcGZpdF9kaXNhYmxlKGNydGMsIHRydWUpOwogCX0KLQljcnRj LT5jb25maWctPnBpcGVfc3JjX3cgPSBhZGp1c3RlZF9tb2RlLT5jcnRjX2hkaXNwbGF5OwotCWNy dGMtPmNvbmZpZy0+cGlwZV9zcmNfaCA9IGFkanVzdGVkX21vZGUtPmNydGNfdmRpc3BsYXk7CiB9 CiAKIHN0YXRpYyB2b2lkIGludGVsX2ZkaV9ub3JtYWxfdHJhaW4oc3RydWN0IGRybV9jcnRjICpj cnRjKQpAQCAtNTAwMSw3ICs1MDA2LDcgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9jcnRjX2VuYWJs ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJfQogfQogCi1zdGF0aWMgdm9pZCBpcm9ubGFrZV9w Zml0X2Rpc2FibGUoc3RydWN0IGludGVsX2NydGMgKmNydGMpCitzdGF0aWMgdm9pZCBpcm9ubGFr ZV9wZml0X2Rpc2FibGUoc3RydWN0IGludGVsX2NydGMgKmNydGMsIGJvb2wgZm9yY2UpCiB7CiAJ c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CkBAIC01MDA5LDcgKzUwMTQs NyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9wZml0X2Rpc2FibGUoc3RydWN0IGludGVsX2NydGMg KmNydGMpCiAKIAkvKiBUbyBhdm9pZCB1cHNldHRpbmcgdGhlIHBvd2VyIHdlbGwgb24gaGFzd2Vs bCBvbmx5IGRpc2FibGUgdGhlIHBmaXQgaWYKIAkgKiBpdCdzIGluIHVzZS4gVGhlIGh3IHN0YXRl IGNvZGUgd2lsbCBtYWtlIHN1cmUgd2UgZ2V0IHRoaXMgcmlnaHQuICovCi0JaWYgKGNydGMtPmNv bmZpZy0+cGNoX3BmaXQuZW5hYmxlZCkgeworCWlmIChmb3JjZSB8fCBjcnRjLT5jb25maWctPnBj aF9wZml0LmVuYWJsZWQpIHsKIAkJSTkxNV9XUklURShQRl9DVEwocGlwZSksIDApOwogCQlJOTE1 X1dSSVRFKFBGX1dJTl9QT1MocGlwZSksIDApOwogCQlJOTE1X1dSSVRFKFBGX1dJTl9TWihwaXBl KSwgMCk7CkBAIC01MDM2LDcgKzUwNDEsNyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9jcnRjX2Rp c2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCiAJaW50ZWxfZGlzYWJsZV9waXBlKGludGVs X2NydGMpOwogCi0JaXJvbmxha2VfcGZpdF9kaXNhYmxlKGludGVsX2NydGMpOworCWlyb25sYWtl X3BmaXRfZGlzYWJsZShpbnRlbF9jcnRjLCBmYWxzZSk7CiAKIAlpZiAoaW50ZWxfY3J0Yy0+Y29u ZmlnLT5oYXNfcGNoX2VuY29kZXIpCiAJCWlyb25sYWtlX2ZkaV9kaXNhYmxlKGNydGMpOwpAQCAt NTA5Niw3ICs1MTAxLDcgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9jcnRjX2Rpc2FibGUoc3RydWN0 IGRybV9jcnRjICpjcnRjKQogCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA9PSA5KQogCQlza3ls YWtlX3NjYWxlcl9kaXNhYmxlKGludGVsX2NydGMpOwogCWVsc2UgaWYgKElOVEVMX0lORk8oZGV2 KS0+Z2VuIDwgOSkKLQkJaXJvbmxha2VfcGZpdF9kaXNhYmxlKGludGVsX2NydGMpOworCQlpcm9u bGFrZV9wZml0X2Rpc2FibGUoaW50ZWxfY3J0YywgZmFsc2UpOwogCWVsc2UKIAkJTUlTU0lOR19D QVNFKElOVEVMX0lORk8oZGV2KS0+Z2VuKTsKIApAQCAtNTI0Nyw3ICs1MjUyLDggQEAgc3RhdGlj IHZvaWQgbW9kZXNldF91cGRhdGVfY3J0Y19wb3dlcl9kb21haW5zKHN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSkKIAlpbnQgaTsKIAogCWZvcl9lYWNoX2NydGNfaW5fc3RhdGUoc3RhdGUs IGNydGMsIGNydGNfc3RhdGUsIGkpIHsKLQkJaWYgKG5lZWRzX21vZGVzZXQoY3J0Yy0+c3RhdGUp KQorCQlpZiAobmVlZHNfbW9kZXNldChjcnRjLT5zdGF0ZSkgfHwKKwkJICAgIHRvX2ludGVsX2Ny dGNfc3RhdGUoY3J0Yy0+c3RhdGUpLT51cGRhdGVfcGlwZSkKIAkJCXB1dF9kb21haW5zW3RvX2lu dGVsX2NydGMoY3J0YyktPnBpcGVdID0KIAkJCQltb2Rlc2V0X2dldF9jcnRjX3Bvd2VyX2RvbWFp bnMoY3J0Yyk7CiAJfQpAQCAtMTIzMzksNyArMTIzNDUsNiBAQCBzdGF0aWMgYm9vbCBpbnRlbF9m dXp6eV9jbG9ja19jaGVjayhpbnQgY2xvY2sxLCBpbnQgY2xvY2syKQogCQkJICAgIGJhc2UuaGVh ZCkgXAogCQlpZiAobWFzayAmICgxIDw8KGludGVsX2NydGMpLT5waXBlKSkKIAotCiBzdGF0aWMg Ym9vbAogaW50ZWxfY29tcGFyZV9tX24odW5zaWduZWQgaW50IG0sIHVuc2lnbmVkIGludCBuLAog CQkgIHVuc2lnbmVkIGludCBtMiwgdW5zaWduZWQgaW50IG4yKQpAQCAtMTI1NjEsMTggKzEyNTY2 LDIxIEBAIGludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK IAkgKiBQcm9wZXIgYXRvbWljIG1vZGVzZXRzIHdpdGggcmVjb21wdXRlZCBnbG9iYWwgc3RhdGUg d2lsbCBmaXggdGhpcy4KIAkgKiBVbnRpbCB0aGVuIGp1c3QgZG9uJ3QgY2hlY2sgZ21jaCBzdGF0 ZSBmb3IgaW5oZXJpdGVkIG1vZGVzLgogCSAqLwotCWlmICghUElQRV9DT05GX1FVSVJLKFBJUEVf Q09ORklHX1FVSVJLX0lOSEVSSVRFRF9NT0RFKSkgewotCQlQSVBFX0NPTkZfQ0hFQ0tfSShnbWNo X3BmaXQuY29udHJvbCk7Ci0JCS8qIHBmaXQgcmF0aW9zIGFyZSBhdXRvY29tcHV0ZWQgYnkgdGhl IGh3IG9uIGdlbjQrICovCi0JCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA8IDQpCi0JCQlQSVBF X0NPTkZfQ0hFQ0tfSShnbWNoX3BmaXQucGdtX3JhdGlvcyk7Ci0JCVBJUEVfQ09ORl9DSEVDS19J KGdtY2hfcGZpdC5sdmRzX2JvcmRlcl9iaXRzKTsKLQl9CisJaWYgKCFhZGp1c3QpIHsKKwkJUElQ RV9DT05GX0NIRUNLX0kocGlwZV9zcmNfdyk7CisJCVBJUEVfQ09ORl9DSEVDS19JKHBpcGVfc3Jj X2gpOwogCi0JUElQRV9DT05GX0NIRUNLX0kocGNoX3BmaXQuZW5hYmxlZCk7Ci0JaWYgKGN1cnJl bnRfY29uZmlnLT5wY2hfcGZpdC5lbmFibGVkKSB7Ci0JCVBJUEVfQ09ORl9DSEVDS19JKHBjaF9w Zml0LnBvcyk7Ci0JCVBJUEVfQ09ORl9DSEVDS19JKHBjaF9wZml0LnNpemUpOworCQlQSVBFX0NP TkZfQ0hFQ0tfSShwY2hfcGZpdC5lbmFibGVkKTsKKwkJaWYgKGN1cnJlbnRfY29uZmlnLT5wY2hf cGZpdC5lbmFibGVkKSB7CisJCQlQSVBFX0NPTkZfQ0hFQ0tfSShwY2hfcGZpdC5wb3MpOworCQkJ UElQRV9DT05GX0NIRUNLX0kocGNoX3BmaXQuc2l6ZSk7CisKKwkJCVBJUEVfQ09ORl9DSEVDS19J KGdtY2hfcGZpdC5jb250cm9sKTsKKwkJCS8qIHBmaXQgcmF0aW9zIGFyZSBhdXRvY29tcHV0ZWQg YnkgdGhlIGh3IG9uIGdlbjQrICovCisJCQlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPCA0KQor CQkJCVBJUEVfQ09ORl9DSEVDS19JKGdtY2hfcGZpdC5wZ21fcmF0aW9zKTsKKwkJCVBJUEVfQ09O Rl9DSEVDS19JKGdtY2hfcGZpdC5sdmRzX2JvcmRlcl9iaXRzKTsKKwkJfQogCX0KIAogCVBJUEVf Q09ORl9DSEVDS19JKHNjYWxlcl9zdGF0ZS5zY2FsZXJfaWQpOwpAQCAtMTMwMzksNiArMTMwNDcs NyBAQCBzdGF0aWMgaW50IGludGVsX21vZGVzZXRfYWxsX3BpcGVzKHN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSkKIAkJaWYgKElTX0VSUihjcnRjX3N0YXRlKSkKIAkJCXJldHVybiBQVFJf RVJSKGNydGNfc3RhdGUpOwogCisJCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Y19zdGF0ZSktPnVw ZGF0ZV9waXBlID0gZmFsc2U7CiAJCWlmICghY3J0Y19zdGF0ZS0+YWN0aXZlIHx8IG5lZWRzX21v ZGVzZXQoY3J0Y19zdGF0ZSkpCiAJCQljb250aW51ZTsKIApAQCAtMTMwNTYsNiArMTMwNjUsMjkg QEAgc3RhdGljIGludCBpbnRlbF9tb2Rlc2V0X2FsbF9waXBlcyhzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUpCiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIGJvb2wgaW50ZWxfbW9kZXNl dF9jYWxjX3VwZGF0ZV9waXBlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKKwkJCQkJICAgc3RydWN0 IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBjcnRjLT5kZXY7CisJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnID0KKwkJ dG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjX3N0YXRlKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqb2xkX3N0YXRlID0KKwkJdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSk7CisKKwlp ZiAoY3J0Y19zdGF0ZS0+YWN0aXZlX2NoYW5nZWQgfHwgY3J0Y19zdGF0ZS0+Y29ubmVjdG9yc19j aGFuZ2VkKQorCQlyZXR1cm4gZmFsc2U7CisKKwlwaXBlX2NvbmZpZy0+cXVpcmtzID0gMDsKKwlp ZiAoIWludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoZGV2LCBwaXBlX2NvbmZpZywgb2xkX3N0YXRl LCB0cnVlKSkgeworCQlEUk1fREVCVUdfQVRPTUlDKCJbQ1JUQzolaV0gbmV3IHN0YXRlIGluY29t cGF0aWJsZSwgZm9yY2luZyBtb2Rlc2V0XG4iLAorCQkJCSBjcnRjLT5iYXNlLmlkKTsKKwkJcmV0 dXJuIGZhbHNlOworCX0KKwlwaXBlX2NvbmZpZy0+cXVpcmtzID0gb2xkX3N0YXRlLT5xdWlya3Mg JiBQSVBFX0NPTkZJR19RVUlSS19NT0RFX1NZTkNfRkxBR1M7CisJRFJNX0RFQlVHX0FUT01JQygi W0NSVEM6JWldIG5ldyBzdGF0ZSBjb21wYXRpYmxlLCBza2lwcGluZyBtb2Rlc2V0XG4iLAorCQkJ IGNydGMtPmJhc2UuaWQpOworCXJldHVybiB0cnVlOworfQogCiAvKiBDb2RlIHRoYXQgc2hvdWxk IGV2ZW50dWFsbHkgYmUgcGFydCBvZiBhdG9taWNfY2hlY2soKSAqLwogc3RhdGljIGludCBpbnRl bF9tb2Rlc2V0X2NoZWNrcyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCkBAIC0xMzEx NCw2ICsxMzE0Niw5IEBAIGludGVsX21vZGVzZXRfY29tcHV0ZV9jb25maWcoc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnN0YXRlKQogCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWcgPQogCQkJdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjX3N0YXRlKTsKIAorCQlpZiAoIW5lZWRz X21vZGVzZXQoY3J0Y19zdGF0ZSkpCisJCQljb250aW51ZTsKKwogCQlpZiAoIWNydGNfc3RhdGUt PmVuYWJsZSkgewogCQkJaWYgKG5lZWRzX21vZGVzZXQoY3J0Y19zdGF0ZSkpCiAJCQkJYW55X21z ID0gdHJ1ZTsKQEAgLTEzMTMzLDE3ICsxMzE2OCwxMyBAQCBpbnRlbF9tb2Rlc2V0X2NvbXB1dGVf Y29uZmlnKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIAkJaWYgKHJldCkKIAkJCXJl dHVybiByZXQ7CiAKLQkJaWYgKCFpbnRlbF9waXBlX2NvbmZpZ19jb21wYXJlKHN0YXRlLT5kZXYs Ci0JCQkJCSAgICAgICB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKSwKLQkJCQkJICAg ICAgIHBpcGVfY29uZmlnLCB0cnVlKSkKLQkJCWNydGNfc3RhdGUtPm1vZGVfY2hhbmdlZCA9IHRy dWU7Ci0JCWVsc2UgaWYgKCFuZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUpKQotCQkJY29udGludWU7 Ci0KIAkJYW55X21zID0gdHJ1ZTsKKwkJcGlwZV9jb25maWctPnVwZGF0ZV9waXBlID0KKwkJCWlu dGVsX21vZGVzZXRfY2FsY191cGRhdGVfcGlwZShjcnRjLCBjcnRjX3N0YXRlKTsKKwkJcGlwZV9j b25maWctPmJhc2UubW9kZV9jaGFuZ2VkID0gIXBpcGVfY29uZmlnLT51cGRhdGVfcGlwZTsKKwog CQlpbnRlbF9kdW1wX3BpcGVfY29uZmlnKHRvX2ludGVsX2NydGMoY3J0YyksCi0JCQkJICAgICAg IHBpcGVfY29uZmlnLAotCQkJCSAgICAgICAiW21vZGVzZXRdIik7CisJCQkJICAgICAgIHBpcGVf Y29uZmlnLCAiW21vZGVzZXRdIik7CiAJfQogCiAJaWYgKGFueV9tcykgewpAQCAtMTMxNzcsNiAr MTMyMDgsNyBAQCBzdGF0aWMgaW50IF9faW50ZWxfc2V0X21vZGUoc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlKQogCWZvcl9lYWNoX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIGNydGNf c3RhdGUsIGkpIHsKIAkJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9j cnRjKGNydGMpOwogCisJCWFueV9tcyB8PSB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRl KS0+dXBkYXRlX3BpcGU7CiAJCWlmICghbmVlZHNfbW9kZXNldChjcnRjLT5zdGF0ZSkpCiAJCQlj b250aW51ZTsKIApAQCAtMTM0ODgsOCArMTM1MjAsNiBAQCBzdGF0aWMgaW50IGludGVsX2NydGNf c2V0X2NvbmZpZyhzdHJ1Y3QgZHJtX21vZGVfc2V0ICpzZXQpCiAJaWYgKHJldCkKIAkJZ290byBv dXQ7CiAKLQlpbnRlbF91cGRhdGVfcGlwZV9zaXplKHRvX2ludGVsX2NydGMoc2V0LT5jcnRjKSk7 Ci0KIAlyZXQgPSBpbnRlbF9zZXRfbW9kZV9jaGVja2VkKHN0YXRlKTsKIAlpZiAocmV0KSB7CiAJ CURSTV9ERUJVR19LTVMoImZhaWxlZCB0byBzZXQgbW9kZSBvbiBbQ1JUQzolZF0sIGVyciA9ICVk XG4iLApAQCAtMTM3NjIsMTAgKzEzNzkyLDYgQEAgaW50ZWxfY29tbWl0X3ByaW1hcnlfcGxhbmUo c3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJaWYgKCFjcnRjLT5zdGF0ZS0+YWN0aXZlKQogCQly ZXR1cm47CiAKLQlpZiAoc3RhdGUtPnZpc2libGUpCi0JCS8qIEZJWE1FOiBraWxsIHRoaXMgZmFz dGJvb3QgaGFjayAqLwotCQlpbnRlbF91cGRhdGVfcGlwZV9zaXplKGludGVsX2NydGMpOwotCiAJ ZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX3ByaW1hcnlfcGxhbmUoY3J0YywgZmIsIGNydGMtPngs IGNydGMtPnkpOwogfQogCkBAIC0xMzc4NSw4ICsxMzgxMSwxMSBAQCBzdGF0aWMgdm9pZCBpbnRl bF9iZWdpbl9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IGNydGMtPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2ludGVs X3N0YXRlID0KKwkJdG9faW50ZWxfY3J0Y19zdGF0ZShvbGRfY3J0Y19zdGF0ZSk7CisJYm9vbCBt b2Rlc2V0ID0gbmVlZHNfbW9kZXNldChjcnRjLT5zdGF0ZSk7CiAKLQlpZiAoIW5lZWRzX21vZGVz ZXQoY3J0Yy0+c3RhdGUpKQorCWlmICghbW9kZXNldCkKIAkJaW50ZWxfcHJlX3BsYW5lX3VwZGF0 ZShpbnRlbF9jcnRjKTsKIAogCWlmIChpbnRlbF9jcnRjLT5hdG9taWMudXBkYXRlX3dtX3ByZSkK QEAgLTEzODAwLDcgKzEzODI5LDEyIEBAIHN0YXRpYyB2b2lkIGludGVsX2JlZ2luX2NydGNfY29t bWl0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCWludGVsX3BpcGVfdXBkYXRlX3N0YXJ0KGlu dGVsX2NydGMsCiAJCQkJCQkmaW50ZWxfY3J0Yy0+YXRvbWljLnN0YXJ0X3ZibF9jb3VudCk7CiAK LQlpZiAoIW5lZWRzX21vZGVzZXQoY3J0Yy0+c3RhdGUpICYmIElOVEVMX0lORk8oZGV2KS0+Z2Vu ID49IDkpCisJaWYgKG1vZGVzZXQpCisJCXJldHVybjsKKworCWlmICh0b19pbnRlbF9jcnRjX3N0 YXRlKGNydGMtPnN0YXRlKS0+dXBkYXRlX3BpcGUpCisJCWludGVsX3VwZGF0ZV9waXBlX2NvbmZp ZyhpbnRlbF9jcnRjLCBvbGRfaW50ZWxfc3RhdGUpOworCWVsc2UgaWYgKElOVEVMX0lORk8oZGV2 KS0+Z2VuID49IDkpCiAJCXNrbF9kZXRhY2hfc2NhbGVycyhpbnRlbF9jcnRjKTsKIH0KIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCA1NDlmYzQzMzNkODkuLmY3ZTcyOTIzMmYwMyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTMzMiw2ICszMzIsOCBAQCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSB7CiAjZGVmaW5lIFBJUEVfQ09ORklHX1FVSVJLX0lOSEVSSVRFRF9NT0RFCSgx PDwxKSAvKiBtb2RlIGluaGVyaXRlZCBmcm9tIGZpcm13YXJlICovCiAJdW5zaWduZWQgbG9uZyBx dWlya3M7CiAKKwlib29sIHVwZGF0ZV9waXBlOworCiAJLyogUGlwZSBzb3VyY2Ugc2l6ZSAoaWUu IHBhbmVsIGZpdHRlciBpbnB1dCBzaXplKQogCSAqIEFsbCBwbGFuZXMgd2lsbCBiZSBwb3NpdGlv bmVkIGluc2lkZSB0aGlzIHNwYWNlLAogCSAqIGFuZCBnZXQgY2xpcHBlZCBhdCB0aGUgZWRnZXMu ICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYwppbmRleCA1MmQyMGNlYTE4MmMuLjIyMDM3 MDE2MWFhYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jCkBAIC01NzksOSArNTc5LDYg QEAgc3RhdGljIGJvb2wgaW50ZWxfZmJkZXZfaW5pdF9iaW9zKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGM7CiAJdW5zaWduZWQgaW50IG1heF9z aXplID0gMDsKIAotCWlmICghaTkxNS5mYXN0Ym9vdCkKLQkJcmV0dXJuIGZhbHNlOwotCiAJLyog RmluZCB0aGUgbGFyZ2VzdCBmYiAqLwogCWZvcl9lYWNoX2NydGMoZGV2LCBjcnRjKSB7CiAJCXN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPQotLSAKMi4xLjAKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==