From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH 04/13] drm/i915: Store a direct pointer to shared dpll in intel_crtc_state Date: Fri, 26 Feb 2016 15:54:17 +0200 Message-ID: <1456494866-7665-5-git-send-email-ander.conselvan.de.oliveira@intel.com> References: <1456494866-7665-1-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 6D0E96EAEF for ; Fri, 26 Feb 2016 13:54:38 +0000 (UTC) In-Reply-To: <1456494866-7665-1-git-send-email-ander.conselvan.de.oliveira@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 Cc: Ander Conselvan de Oliveira List-Id: intel-gfx@lists.freedesktop.org Q2hhbmdlIHRoZSB0eXBlIG9mIGludGVsX2NydGNfc3RhdGUtPnNoYXJlZF9kcGxsIHRvIGJlIGEg cG9pbnRlciB0byBhCnNoYXJlZCBkcGxsLiBXaXRoIHRoaXMgdGhlcmUgaXMgbm8gbmVlZCB0byBm aXJzdCBjb252ZXJ0IHRoZSBpZCBzdG9yZWQKaW4gdGhlIGNydGMgc3RhdGUgdG8gYSBwb2ludGVy IGluIG9yZGVyIHRvIHVzZSBpdC4gSXQgZG9lcyBpbnRyb2R1Y2UgYQpiaXQgb2YgaGFzc2xlIG9u IGRvaW5nIHRoZSBvcHBvc2l0ZS4KClRoZSBsb25nIHRlcm0gb2JqZWN0aXZlIGlzIHRvIGhpZGUg ZGV0YWlscyBhYm91dCBkcGxsIGlkcyBiZWhpbmQgdGhlCnNoYXJlZCBkcGxsIGludGVyZmFjZS4K ClNpZ25lZC1vZmYtYnk6IEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2ZWlyYSA8YW5kZXIuY29uc2Vs dmFuLmRlLm9saXZlaXJhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kZGkuYyAgICAgIHwgICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgIHwgMTA4ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMgfCAgNTEgKysrKysrKysrKysrLS0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICB8ICAxOSArKysrKy0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2x2ZHMuYyAgICAgfCAgIDIgKy0KIDUgZmlsZXMgY2hhbmdlZCwgMTMy IGluc2VydGlvbnMoKyksIDUyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMK aW5kZXggZWI2YjU1Yy4uYTJiMzNkMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGRpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKQEAgLTEy MDksNiArMTIwOSw3IEBAIGhzd19kZGlfcGxsX3NlbGVjdChzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YywKIAkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCSAg IHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyKQogeworCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfY3J0Yy0+YmFzZS5kZXYpOwogCWlu dCBjbG9jayA9IGNydGNfc3RhdGUtPnBvcnRfY2xvY2s7CiAKIAlpZiAoaW50ZWxfZW5jb2Rlci0+ dHlwZSA9PSBJTlRFTF9PVVRQVVRfSERNSSkgewpAQCAtMTI0NCw3ICsxMjQ1LDggQEAgaHN3X2Rk aV9wbGxfc2VsZWN0KHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAogCQkgICAgV0FSTl9P TihzcGxsLT5od19zdGF0ZS5zcGxsICE9IGNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUuc3BsbCkp CiAJCQlyZXR1cm4gZmFsc2U7CiAKLQkJY3J0Y19zdGF0ZS0+c2hhcmVkX2RwbGwgPSBEUExMX0lE X1NQTEw7CisJCWNydGNfc3RhdGUtPnNoYXJlZF9kcGxsID0KKwkJCWludGVsX2dldF9zaGFyZWRf ZHBsbF9ieV9pZChkZXZfcHJpdiwgRFBMTF9JRF9TUExMKTsKIAkJc3BsbC0+aHdfc3RhdGUuc3Bs bCA9IGNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUuc3BsbDsKIAkJc3BsbC0+Y3J0Y19tYXNrIHw9 IDEgPDwgaW50ZWxfY3J0Yy0+cGlwZTsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKaW5kZXggZGY0OTMyNC4uZTcyMzMyMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwpAQCAtMTgyOCw4ICsxODI4LDcgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfZW5hYmxlX3Bj aF90cmFuc2NvZGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlCVUdfT04o IUhBU19QQ0hfU1BMSVQoZGV2KSk7CiAKIAkvKiBNYWtlIHN1cmUgUENIIERQTEwgaXMgZW5hYmxl ZCAqLwotCWFzc2VydF9zaGFyZWRfZHBsbF9lbmFibGVkKGRldl9wcml2LAotCQkJCSAgIGludGVs X2NydGNfdG9fc2hhcmVkX2RwbGwoaW50ZWxfY3J0YykpOworCWFzc2VydF9zaGFyZWRfZHBsbF9l bmFibGVkKGRldl9wcml2LCBpbnRlbF9jcnRjLT5jb25maWctPnNoYXJlZF9kcGxsKTsKIAogCS8q IEZESSBtdXN0IGJlIGZlZWRpbmcgdXMgYml0cyBmb3IgUENIIHBvcnRzICovCiAJYXNzZXJ0X2Zk aV90eF9lbmFibGVkKGRldl9wcml2LCBwaXBlKTsKQEAgLTQwMjQsNyArNDAyMyw4IEBAIHN0YXRp YyB2b2lkIGlyb25sYWtlX3BjaF9lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCQl0ZW1w ID0gSTkxNV9SRUFEKFBDSF9EUExMX1NFTCk7CiAJCXRlbXAgfD0gVFJBTlNfRFBMTF9FTkFCTEUo cGlwZSk7CiAJCXNlbCA9IFRSQU5TX0RQTExCX1NFTChwaXBlKTsKLQkJaWYgKGludGVsX2NydGMt PmNvbmZpZy0+c2hhcmVkX2RwbGwgPT0gRFBMTF9JRF9QQ0hfUExMX0IpCisJCWlmIChpbnRlbF9j cnRjLT5jb25maWctPnNoYXJlZF9kcGxsID09CisJCSAgICBpbnRlbF9nZXRfc2hhcmVkX2RwbGxf YnlfaWQoZGV2X3ByaXYsIERQTExfSURfUENIX1BMTF9CKSkKIAkJCXRlbXAgfD0gc2VsOwogCQll bHNlCiAJCQl0ZW1wICY9IH5zZWw7CkBAIC00NzI0LDcgKzQ3MjQsNyBAQCBzdGF0aWMgdm9pZCBo YXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAkJaW50ZWxfc2V0X3Bj aF9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhkZXZfcHJpdiwgVFJBTlNDT0RFUl9BLAogCQkJCQkJ ICAgICAgZmFsc2UpOwogCi0JaWYgKGludGVsX2NydGNfdG9fc2hhcmVkX2RwbGwoaW50ZWxfY3J0 YykpCisJaWYgKGludGVsX2NydGMtPmNvbmZpZy0+c2hhcmVkX2RwbGwpCiAJCWludGVsX2VuYWJs ZV9zaGFyZWRfZHBsbChpbnRlbF9jcnRjKTsKIAogCWlmIChpbnRlbF9jcnRjLT5jb25maWctPmhh c19kcF9lbmNvZGVyKQpAQCAtNzg5MSw3ICs3ODkxLDcgQEAgc3RhdGljIGJvb2wgaTl4eF9nZXRf cGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJCXJldHVybiBmYWxzZTsKIAog CXBpcGVfY29uZmlnLT5jcHVfdHJhbnNjb2RlciA9IChlbnVtIHRyYW5zY29kZXIpIGNydGMtPnBp cGU7Ci0JcGlwZV9jb25maWctPnNoYXJlZF9kcGxsID0gRFBMTF9JRF9QUklWQVRFOworCXBpcGVf Y29uZmlnLT5zaGFyZWRfZHBsbCA9IE5VTEw7CiAKIAlyZXQgPSBmYWxzZTsKIApAQCAtOTA5NSw3 ICs5MDk1LDcgQEAgc3RhdGljIGJvb2wgaXJvbmxha2VfZ2V0X3BpcGVfY29uZmlnKHN0cnVjdCBp bnRlbF9jcnRjICpjcnRjLAogCQlyZXR1cm4gZmFsc2U7CiAKIAlwaXBlX2NvbmZpZy0+Y3B1X3Ry YW5zY29kZXIgPSAoZW51bSB0cmFuc2NvZGVyKSBjcnRjLT5waXBlOwotCXBpcGVfY29uZmlnLT5z aGFyZWRfZHBsbCA9IERQTExfSURfUFJJVkFURTsKKwlwaXBlX2NvbmZpZy0+c2hhcmVkX2RwbGwg PSBOVUxMOwogCiAJcmV0ID0gZmFsc2U7CiAJdG1wID0gSTkxNV9SRUFEKFBJUEVDT05GKGNydGMt PnBpcGUpKTsKQEAgLTkxMjQsNiArOTEyNCw3IEBAIHN0YXRpYyBib29sIGlyb25sYWtlX2dldF9w aXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAogCWlmIChJOTE1X1JFQUQoUENI X1RSQU5TQ09ORihjcnRjLT5waXBlKSkgJiBUUkFOU19FTkFCTEUpIHsKIAkJc3RydWN0IGludGVs X3NoYXJlZF9kcGxsICpwbGw7CisJCWVudW0gaW50ZWxfZHBsbF9pZCBwbGxfaWQ7CiAKIAkJcGlw ZV9jb25maWctPmhhc19wY2hfZW5jb2RlciA9IHRydWU7CiAKQEAgLTkxMzQsMTcgKzkxMzUsMTgg QEAgc3RhdGljIGJvb2wgaXJvbmxha2VfZ2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjLAogCQlpcm9ubGFrZV9nZXRfZmRpX21fbl9jb25maWcoY3J0YywgcGlwZV9jb25maWcp OwogCiAJCWlmIChIQVNfUENIX0lCWChkZXZfcHJpdi0+ZGV2KSkgewotCQkJcGlwZV9jb25maWct PnNoYXJlZF9kcGxsID0KLQkJCQkoZW51bSBpbnRlbF9kcGxsX2lkKSBjcnRjLT5waXBlOworCQkJ cGxsX2lkID0gKGVudW0gaW50ZWxfZHBsbF9pZCkgY3J0Yy0+cGlwZTsKIAkJfSBlbHNlIHsKIAkJ CXRtcCA9IEk5MTVfUkVBRChQQ0hfRFBMTF9TRUwpOwogCQkJaWYgKHRtcCAmIFRSQU5TX0RQTExC X1NFTChjcnRjLT5waXBlKSkKLQkJCQlwaXBlX2NvbmZpZy0+c2hhcmVkX2RwbGwgPSBEUExMX0lE X1BDSF9QTExfQjsKKwkJCQlwbGxfaWQgPSBEUExMX0lEX1BDSF9QTExfQjsKIAkJCWVsc2UKLQkJ CQlwaXBlX2NvbmZpZy0+c2hhcmVkX2RwbGwgPSBEUExMX0lEX1BDSF9QTExfQTsKKwkJCQlwbGxf aWQ9IERQTExfSURfUENIX1BMTF9BOwogCQl9CiAKLQkJcGxsID0gJmRldl9wcml2LT5zaGFyZWRf ZHBsbHNbcGlwZV9jb25maWctPnNoYXJlZF9kcGxsXTsKKwkJcGlwZV9jb25maWctPnNoYXJlZF9k cGxsID0KKwkJCWludGVsX2dldF9zaGFyZWRfZHBsbF9ieV9pZChkZXZfcHJpdiwgcGxsX2lkKTsK KwkJcGxsID0gcGlwZV9jb25maWctPnNoYXJlZF9kcGxsOwogCiAJCVdBUk5fT04oIXBsbC0+Z2V0 X2h3X3N0YXRlKGRldl9wcml2LCBwbGwsCiAJCQkJCSAgICZwaXBlX2NvbmZpZy0+ZHBsbF9od19z dGF0ZSkpOwpAQCAtOTU4MCwyOCArOTU4MiwzNCBAQCBzdGF0aWMgdm9pZCBieHRfZ2V0X2RkaV9w bGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCWVudW0gcG9ydCBwb3J0 LAogCQkJCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKIHsKKwllbnVtIGlu dGVsX2RwbGxfaWQgaWQ7CisKIAlzd2l0Y2ggKHBvcnQpIHsKIAljYXNlIFBPUlRfQToKIAkJcGlw ZV9jb25maWctPmRkaV9wbGxfc2VsID0gU0tMX0RQTEwwOwotCQlwaXBlX2NvbmZpZy0+c2hhcmVk X2RwbGwgPSBEUExMX0lEX1NLTF9EUExMMTsKKwkJaWQgPSBEUExMX0lEX1NLTF9EUExMMTsKIAkJ YnJlYWs7CiAJY2FzZSBQT1JUX0I6CiAJCXBpcGVfY29uZmlnLT5kZGlfcGxsX3NlbCA9IFNLTF9E UExMMTsKLQkJcGlwZV9jb25maWctPnNoYXJlZF9kcGxsID0gRFBMTF9JRF9TS0xfRFBMTDI7CisJ CWlkID0gRFBMTF9JRF9TS0xfRFBMTDI7CiAJCWJyZWFrOwogCWNhc2UgUE9SVF9DOgogCQlwaXBl X2NvbmZpZy0+ZGRpX3BsbF9zZWwgPSBTS0xfRFBMTDI7Ci0JCXBpcGVfY29uZmlnLT5zaGFyZWRf ZHBsbCA9IERQTExfSURfU0tMX0RQTEwzOworCQlpZCA9IERQTExfSURfU0tMX0RQTEwzOwogCQli cmVhazsKIAlkZWZhdWx0OgogCQlEUk1fRVJST1IoIkluY29ycmVjdCBwb3J0IHR5cGVcbiIpOwor CQlyZXR1cm47CiAJfQorCisJcGlwZV9jb25maWctPnNoYXJlZF9kcGxsID0gaW50ZWxfZ2V0X3No YXJlZF9kcGxsX2J5X2lkKGRldl9wcml2LCBpZCk7CiB9CiAKIHN0YXRpYyB2b2lkIHNreWxha2Vf Z2V0X2RkaV9wbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCWVudW0g cG9ydCBwb3J0LAogCQkJCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKIHsK KwllbnVtIGludGVsX2RwbGxfaWQgaWQ7CiAJdTMyIHRlbXAsIGRwbGxfY3RsMTsKIAogCXRlbXAg PSBJOTE1X1JFQUQoRFBMTF9DVFJMMikgJiBEUExMX0NUUkwyX0RESV9DTEtfU0VMX01BU0socG9y dCk7CkBAIC05NjE2LDM2ICs5NjI0LDUzIEBAIHN0YXRpYyB2b2lkIHNreWxha2VfZ2V0X2RkaV9w bGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkgKi8KIAkJZHBsbF9jdGwx ID0gSTkxNV9SRUFEKERQTExfQ1RSTDEpOwogCQlwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0ZS5j dHJsMSA9IGRwbGxfY3RsMSAmIDB4M2Y7Ci0JCWJyZWFrOworCQlyZXR1cm47CiAJY2FzZSBTS0xf RFBMTDE6Ci0JCXBpcGVfY29uZmlnLT5zaGFyZWRfZHBsbCA9IERQTExfSURfU0tMX0RQTEwxOwor CQlpZCA9IERQTExfSURfU0tMX0RQTEwxOwogCQlicmVhazsKIAljYXNlIFNLTF9EUExMMjoKLQkJ cGlwZV9jb25maWctPnNoYXJlZF9kcGxsID0gRFBMTF9JRF9TS0xfRFBMTDI7CisJCWlkID0gRFBM TF9JRF9TS0xfRFBMTDI7CiAJCWJyZWFrOwogCWNhc2UgU0tMX0RQTEwzOgotCQlwaXBlX2NvbmZp Zy0+c2hhcmVkX2RwbGwgPSBEUExMX0lEX1NLTF9EUExMMzsKKwkJaWQgPSBEUExMX0lEX1NLTF9E UExMMzsKIAkJYnJlYWs7CisJZGVmYXVsdDoKKwkJTUlTU0lOR19DQVNFKHBpcGVfY29uZmlnLT5k ZGlfcGxsX3NlbCk7CisJCXJldHVybjsKIAl9CisKKwlwaXBlX2NvbmZpZy0+c2hhcmVkX2RwbGwg PSBpbnRlbF9nZXRfc2hhcmVkX2RwbGxfYnlfaWQoZGV2X3ByaXYsIGlkKTsKIH0KIAogc3RhdGlj IHZvaWQgaGFzd2VsbF9nZXRfZGRpX3BsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAJCQkJZW51bSBwb3J0IHBvcnQsCiAJCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBp cGVfY29uZmlnKQogeworCWVudW0gaW50ZWxfZHBsbF9pZCBpZDsKKwogCXBpcGVfY29uZmlnLT5k ZGlfcGxsX3NlbCA9IEk5MTVfUkVBRChQT1JUX0NMS19TRUwocG9ydCkpOwogCiAJc3dpdGNoIChw aXBlX2NvbmZpZy0+ZGRpX3BsbF9zZWwpIHsKIAljYXNlIFBPUlRfQ0xLX1NFTF9XUlBMTDE6Ci0J CXBpcGVfY29uZmlnLT5zaGFyZWRfZHBsbCA9IERQTExfSURfV1JQTEwxOworCQlpZCA9IERQTExf SURfV1JQTEwxOwogCQlicmVhazsKIAljYXNlIFBPUlRfQ0xLX1NFTF9XUlBMTDI6Ci0JCXBpcGVf Y29uZmlnLT5zaGFyZWRfZHBsbCA9IERQTExfSURfV1JQTEwyOworCQlpZCA9IERQTExfSURfV1JQ TEwyOwogCQlicmVhazsKIAljYXNlIFBPUlRfQ0xLX1NFTF9TUExMOgotCQlwaXBlX2NvbmZpZy0+ c2hhcmVkX2RwbGwgPSBEUExMX0lEX1NQTEw7CisJCWlkID0gRFBMTF9JRF9TUExMOwogCQlicmVh azsKKwlkZWZhdWx0OgorCQlNSVNTSU5HX0NBU0UocGlwZV9jb25maWctPmRkaV9wbGxfc2VsKTsK KwkJLyogZmFsbCB0aHJvdWdoICovCisJY2FzZSBQT1JUX0NMS19TRUxfTk9ORToKKwljYXNlIFBP UlRfQ0xLX1NFTF9MQ1BMTF84MTA6CisJY2FzZSBQT1JUX0NMS19TRUxfTENQTExfMTM1MDoKKwlj YXNlIFBPUlRfQ0xLX1NFTF9MQ1BMTF8yNzAwOgorCQlyZXR1cm47CiAJfQorCisJcGlwZV9jb25m aWctPnNoYXJlZF9kcGxsID0gaW50ZWxfZ2V0X3NoYXJlZF9kcGxsX2J5X2lkKGRldl9wcml2LCBp ZCk7CiB9CiAKIHN0YXRpYyB2b2lkIGhhc3dlbGxfZ2V0X2RkaV9wb3J0X3N0YXRlKHN0cnVjdCBp bnRlbF9jcnRjICpjcnRjLApAQCAtOTY2OCw5ICs5NjkzLDggQEAgc3RhdGljIHZvaWQgaGFzd2Vs bF9nZXRfZGRpX3BvcnRfc3RhdGUoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJZWxzZQogCQlo YXN3ZWxsX2dldF9kZGlfcGxsKGRldl9wcml2LCBwb3J0LCBwaXBlX2NvbmZpZyk7CiAKLQlpZiAo cGlwZV9jb25maWctPnNoYXJlZF9kcGxsID49IDApIHsKLQkJcGxsID0gJmRldl9wcml2LT5zaGFy ZWRfZHBsbHNbcGlwZV9jb25maWctPnNoYXJlZF9kcGxsXTsKLQorCXBsbCA9IHBpcGVfY29uZmln LT5zaGFyZWRfZHBsbDsKKwlpZiAocGxsKSB7CiAJCVdBUk5fT04oIXBsbC0+Z2V0X2h3X3N0YXRl KGRldl9wcml2LCBwbGwsCiAJCQkJCSAgICZwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0ZSkpOwog CX0KQEAgLTk3MTAsNyArOTczNCw3IEBAIHN0YXRpYyBib29sIGhhc3dlbGxfZ2V0X3BpcGVfY29u ZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCXJldCA9IGZhbHNlOwogCiAJcGlwZV9jb25m aWctPmNwdV90cmFuc2NvZGVyID0gKGVudW0gdHJhbnNjb2RlcikgY3J0Yy0+cGlwZTsKLQlwaXBl X2NvbmZpZy0+c2hhcmVkX2RwbGwgPSBEUExMX0lEX1BSSVZBVEU7CisJcGlwZV9jb25maWctPnNo YXJlZF9kcGxsID0gTlVMTDsKIAogCXRtcCA9IEk5MTVfUkVBRChUUkFOU19ERElfRlVOQ19DVEwo VFJBTlNDT0RFUl9FRFApKTsKIAlpZiAodG1wICYgVFJBTlNfRERJX0ZVTkNfRU5BQkxFKSB7CkBA IC0xMTcwMiw3ICsxMTcyNiw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfY3J0Y19hdG9taWNfY2hlY2so c3RydWN0IGRybV9jcnRjICpjcnRjLAogCiAJaWYgKG1vZGVfY2hhbmdlZCAmJiBjcnRjX3N0YXRl LT5lbmFibGUgJiYKIAkgICAgZGV2X3ByaXYtPmRpc3BsYXkuY3J0Y19jb21wdXRlX2Nsb2NrICYm Ci0JICAgICFXQVJOX09OKHBpcGVfY29uZmlnLT5zaGFyZWRfZHBsbCAhPSBEUExMX0lEX1BSSVZB VEUpKSB7CisJICAgICFXQVJOX09OKHBpcGVfY29uZmlnLT5zaGFyZWRfZHBsbCkpIHsKIAkJcmV0 ID0gZGV2X3ByaXYtPmRpc3BsYXkuY3J0Y19jb21wdXRlX2Nsb2NrKGludGVsX2NydGMsCiAJCQkJ CQkJICAgcGlwZV9jb25maWcpOwogCQlpZiAocmV0KQpAQCAtMTIwMjYsNyArMTIwNTAsNyBAQCBj bGVhcl9pbnRlbF9jcnRjX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KQogCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSB0bXBfc3RhdGU7CiAJc3RydWN0IGludGVsX2NydGNf c2NhbGVyX3N0YXRlIHNjYWxlcl9zdGF0ZTsKIAlzdHJ1Y3QgaW50ZWxfZHBsbF9od19zdGF0ZSBk cGxsX2h3X3N0YXRlOwotCWVudW0gaW50ZWxfZHBsbF9pZCBzaGFyZWRfZHBsbDsKKwlzdHJ1Y3Qg aW50ZWxfc2hhcmVkX2RwbGwgKnNoYXJlZF9kcGxsOwogCXVpbnQzMl90IGRkaV9wbGxfc2VsOwog CWJvb2wgZm9yY2VfdGhydTsKIApAQCAtMTIyOTYsNiArMTIzMjAsMTUgQEAgaW50ZWxfcGlwZV9j b25maWdfY29tcGFyZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlyZXQgPSBmYWxzZTsgXAog CX0KIAorI2RlZmluZSBQSVBFX0NPTkZfQ0hFQ0tfUChuYW1lKQlcCisJaWYgKGN1cnJlbnRfY29u ZmlnLT5uYW1lICE9IHBpcGVfY29uZmlnLT5uYW1lKSB7IFwKKwkJSU5URUxfRVJSX09SX0RCR19L TVMoIm1pc21hdGNoIGluICIgI25hbWUgIiAiIFwKKwkJCSAgIihleHBlY3RlZCAlcCwgZm91bmQg JXApXG4iLCBcCisJCQkgIGN1cnJlbnRfY29uZmlnLT5uYW1lLCBcCisJCQkgIHBpcGVfY29uZmln LT5uYW1lKTsgXAorCQlyZXQgPSBmYWxzZTsgXAorCX0KKwogI2RlZmluZSBQSVBFX0NPTkZfQ0hF Q0tfTV9OKG5hbWUpIFwKIAlpZiAoIWludGVsX2NvbXBhcmVfbGlua19tX24oJmN1cnJlbnRfY29u ZmlnLT5uYW1lLCBcCiAJCQkJICAgICZwaXBlX2NvbmZpZy0+bmFtZSxcCkBAIC0xMjQ2Myw3ICsx MjQ5Niw3IEBAIGludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKIAogCVBJUEVfQ09ORl9DSEVDS19YKGRkaV9wbGxfc2VsKTsKIAotCVBJUEVfQ09ORl9DSEVD S19JKHNoYXJlZF9kcGxsKTsKKwlQSVBFX0NPTkZfQ0hFQ0tfUChzaGFyZWRfZHBsbCk7CiAJUElQ RV9DT05GX0NIRUNLX1goZHBsbF9od19zdGF0ZS5kcGxsKTsKIAlQSVBFX0NPTkZfQ0hFQ0tfWChk cGxsX2h3X3N0YXRlLmRwbGxfbWQpOwogCVBJUEVfQ09ORl9DSEVDS19YKGRwbGxfaHdfc3RhdGUu ZnAwKTsKQEAgLTEyNDgyLDYgKzEyNTE1LDcgQEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCiAjdW5kZWYgUElQRV9DT05GX0NIRUNLX1gKICN1bmRl ZiBQSVBFX0NPTkZfQ0hFQ0tfSQorI3VuZGVmIFBJUEVfQ09ORl9DSEVDS19QCiAjdW5kZWYgUElQ RV9DT05GX0NIRUNLX0lfQUxUCiAjdW5kZWYgUElQRV9DT05GX0NIRUNLX0ZMQUdTCiAjdW5kZWYg UElQRV9DT05GX0NIRUNLX0NMT0NLX0ZVWlpZCkBAIC0xMjY4NSw3ICsxMjcxOSw4IEBAIGNoZWNr X3NoYXJlZF9kcGxsX3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJaW50IGk7CiAKIAlm b3IgKGkgPSAwOyBpIDwgZGV2X3ByaXYtPm51bV9zaGFyZWRfZHBsbDsgaSsrKSB7Ci0JCXN0cnVj dCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsID0gJmRldl9wcml2LT5zaGFyZWRfZHBsbHNbaV07CisJ CXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsID0KKwkJCWludGVsX2dldF9zaGFyZWRfZHBs bF9ieV9pZChkZXZfcHJpdiwgaSk7CiAJCWludCBlbmFibGVkX2NydGNzID0gMCwgYWN0aXZlX2Ny dGNzID0gMDsKIAkJYm9vbCBhY3RpdmU7CiAKQEAgLTEyNzA3LDkgKzEyNzQyLDkgQEAgY2hlY2tf c2hhcmVkX2RwbGxfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJICAgICBwbGwtPm9u LCBhY3RpdmUpOwogCiAJCWZvcl9lYWNoX2ludGVsX2NydGMoZGV2LCBjcnRjKSB7Ci0JCQlpZiAo Y3J0Yy0+YmFzZS5zdGF0ZS0+ZW5hYmxlICYmIGludGVsX2NydGNfdG9fc2hhcmVkX2RwbGwoY3J0 YykgPT0gcGxsKQorCQkJaWYgKGNydGMtPmJhc2Uuc3RhdGUtPmVuYWJsZSAmJiBjcnRjLT5jb25m aWctPnNoYXJlZF9kcGxsID09IHBsbCkKIAkJCQllbmFibGVkX2NydGNzKys7Ci0JCQlpZiAoY3J0 Yy0+YWN0aXZlICYmIGludGVsX2NydGNfdG9fc2hhcmVkX2RwbGwoY3J0YykgPT0gcGxsKQorCQkJ aWYgKGNydGMtPmFjdGl2ZSAmJiBjcnRjLT5jb25maWctPnNoYXJlZF9kcGxsID09IHBsbCkKIAkJ CQlhY3RpdmVfY3J0Y3MrKzsKIAkJfQogCQlJOTE1X1NUQVRFX1dBUk4ocGxsLT5hY3RpdmUgIT0g YWN0aXZlX2NydGNzLApAQCAtMTI4MDAsMjAgKzEyODM1LDIxIEBAIHN0YXRpYyB2b2lkIGludGVs X21vZGVzZXRfY2xlYXJfcGxscyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAKIAlm b3JfZWFjaF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBjcnRjX3N0YXRlLCBpKSB7CiAJCXN0 cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKLQkJaW50 IG9sZF9kcGxsID0gdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSktPnNoYXJlZF9kcGxs OworCQlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKm9sZF9kcGxsID0KKwkJCXRvX2ludGVsX2Ny dGNfc3RhdGUoY3J0Yy0+c3RhdGUpLT5zaGFyZWRfZHBsbDsKIAogCQlpZiAoIW5lZWRzX21vZGVz ZXQoY3J0Y19zdGF0ZSkpCiAJCQljb250aW51ZTsKIAotCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNy dGNfc3RhdGUpLT5zaGFyZWRfZHBsbCA9IERQTExfSURfUFJJVkFURTsKKwkJdG9faW50ZWxfY3J0 Y19zdGF0ZShjcnRjX3N0YXRlKS0+c2hhcmVkX2RwbGwgPSBOVUxMOwogCi0JCWlmIChvbGRfZHBs bCA9PSBEUExMX0lEX1BSSVZBVEUpCisJCWlmICghb2xkX2RwbGwpCiAJCQljb250aW51ZTsKIAog CQlpZiAoIXNoYXJlZF9kcGxsKQogCQkJc2hhcmVkX2RwbGwgPSBpbnRlbF9hdG9taWNfZ2V0X3No YXJlZF9kcGxsX3N0YXRlKHN0YXRlKTsKIAotCQlzaGFyZWRfZHBsbFtvbGRfZHBsbF0uY3J0Y19t YXNrICY9IH4oMSA8PCBpbnRlbF9jcnRjLT5waXBlKTsKKwkJaW50ZWxfc2hhcmVkX2RwbGxfY29u ZmlnX3B1dChzaGFyZWRfZHBsbCwgb2xkX2RwbGwsIGludGVsX2NydGMpOwogCX0KIH0KIApAQCAt MTU0MzUsNyArMTU0NzEsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdf c3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJcGxsLT5hY3RpdmUgPSAwOwogCQlwbGwt PmNvbmZpZy5jcnRjX21hc2sgPSAwOwogCQlmb3JfZWFjaF9pbnRlbF9jcnRjKGRldiwgY3J0Yykg ewotCQkJaWYgKGNydGMtPmFjdGl2ZSAmJiBpbnRlbF9jcnRjX3RvX3NoYXJlZF9kcGxsKGNydGMp ID09IHBsbCkgeworCQkJaWYgKGNydGMtPmFjdGl2ZSAmJiBjcnRjLT5jb25maWctPnNoYXJlZF9k cGxsID09IHBsbCkgewogCQkJCXBsbC0+YWN0aXZlKys7CiAJCQkJcGxsLT5jb25maWcuY3J0Y19t YXNrIHw9IDEgPDwgY3J0Yy0+cGlwZTsKIAkJCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwbGxfbWdyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxs X21nci5jCmluZGV4IDExZWZmZTMuLjg4OWNlZWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwbGxfbWdyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHBsbF9tZ3IuYwpAQCAtMjQsMTQgKzI0LDQzIEBACiAjaW5jbHVkZSAiaW50ZWxfZHJ2LmgiCiAK IHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqCi1pbnRlbF9jcnRjX3RvX3NoYXJlZF9kcGxsKHN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjKQoraW50ZWxfZ2V0X3NoYXJlZF9kcGxsX2J5X2lkKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCSAgICBlbnVtIGludGVsX2RwbGxfaWQg aWQpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gY3J0Yy0+YmFzZS5k ZXYtPmRldl9wcml2YXRlOworCXJldHVybiAmZGV2X3ByaXYtPnNoYXJlZF9kcGxsc1tpZF07Cit9 CiAKLQlpZiAoY3J0Yy0+Y29uZmlnLT5zaGFyZWRfZHBsbCA8IDApCi0JCXJldHVybiBOVUxMOwor ZW51bSBpbnRlbF9kcGxsX2lkCitpbnRlbF9nZXRfc2hhcmVkX2RwbGxfaWQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxs KQoreworCWlmIChXQVJOX09OKHBsbCA8IGRldl9wcml2LT5zaGFyZWRfZHBsbHN8fAorCQkgICAg cGxsID4gJmRldl9wcml2LT5zaGFyZWRfZHBsbHNbZGV2X3ByaXYtPm51bV9zaGFyZWRfZHBsbF0p KQorCQlyZXR1cm4gLTE7CisKKwlyZXR1cm4gKGVudW0gaW50ZWxfZHBsbF9pZCkgKHBsbCAtIGRl dl9wcml2LT5zaGFyZWRfZHBsbHMpOworfQorCit2b2lkCitpbnRlbF9zaGFyZWRfZHBsbF9jb25m aWdfZ2V0KHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbF9jb25maWcgKmNvbmZpZywKKwkJCSAgICAg c3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwsCisJCQkgICAgIHN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo Y3J0Yy0+YmFzZS5kZXYpOworCWVudW0gaW50ZWxfZHBsbF9pZCBpZCA9IGludGVsX2dldF9zaGFy ZWRfZHBsbF9pZChkZXZfcHJpdiwgcGxsKTsKKworCWNvbmZpZ1tpZF0uY3J0Y19tYXNrIHw9IDEg PDwgY3J0Yy0+cGlwZTsKK30KKwordm9pZAoraW50ZWxfc2hhcmVkX2RwbGxfY29uZmlnX3B1dChz dHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGxfY29uZmlnICpjb25maWcsCisJCQkgICAgIHN0cnVjdCBp bnRlbF9zaGFyZWRfZHBsbCAqcGxsLAorCQkJICAgICBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykK K3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJh c2UuZGV2KTsKKwllbnVtIGludGVsX2RwbGxfaWQgaWQgPSBpbnRlbF9nZXRfc2hhcmVkX2RwbGxf aWQoZGV2X3ByaXYsIHBsbCk7CiAKLQlyZXR1cm4gJmRldl9wcml2LT5zaGFyZWRfZHBsbHNbY3J0 Yy0+Y29uZmlnLT5zaGFyZWRfZHBsbF07CisJY29uZmlnW2lkXS5jcnRjX21hc2sgJj0gfigxIDw8 IGNydGMtPnBpcGUpOwogfQogCiAvKiBGb3IgSUxLKyAqLwpAQCAtNTUsNyArODQsNyBAQCB2b2lk IGludGVsX3ByZXBhcmVfc2hhcmVkX2RwbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiB7CiAJ c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGludGVsX3No YXJlZF9kcGxsICpwbGwgPSBpbnRlbF9jcnRjX3RvX3NoYXJlZF9kcGxsKGNydGMpOworCXN0cnVj dCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsID0gY3J0Yy0+Y29uZmlnLT5zaGFyZWRfZHBsbDsKIAog CWlmIChXQVJOX09OKHBsbCA9PSBOVUxMKSkKIAkJcmV0dXJuOwpAQCAtODIsNyArMTExLDcgQEAg dm9pZCBpbnRlbF9lbmFibGVfc2hhcmVkX2RwbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiB7 CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGludGVs X3NoYXJlZF9kcGxsICpwbGwgPSBpbnRlbF9jcnRjX3RvX3NoYXJlZF9kcGxsKGNydGMpOworCXN0 cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsID0gY3J0Yy0+Y29uZmlnLT5zaGFyZWRfZHBsbDsK IAogCWlmIChXQVJOX09OKHBsbCA9PSBOVUxMKSkKIAkJcmV0dXJuOwpAQCAtMTEyLDcgKzE0MSw3 IEBAIHZvaWQgaW50ZWxfZGlzYWJsZV9zaGFyZWRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YykKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlzdHJ1Y3Qg aW50ZWxfc2hhcmVkX2RwbGwgKnBsbCA9IGludGVsX2NydGNfdG9fc2hhcmVkX2RwbGwoY3J0Yyk7 CisJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwgPSBjcnRjLT5jb25maWctPnNoYXJlZF9k cGxsOwogCiAJLyogUENIIG9ubHkgYXZhaWxhYmxlIG9uIElMSysgKi8KIAlpZiAoSU5URUxfSU5G TyhkZXYpLT5nZW4gPCA1KQpAQCAtMjY1LDExICsyOTQsMTEgQEAgaW50ZWxfZ2V0X3NoYXJlZF9k cGxsKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCQlzaGFyZWRfZHBsbFtpXS5od19zdGF0ZSA9 CiAJCQljcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlOwogCi0JY3J0Y19zdGF0ZS0+c2hhcmVkX2Rw bGwgPSBpOworCWNydGNfc3RhdGUtPnNoYXJlZF9kcGxsID0gcGxsOwogCURSTV9ERUJVR19EUklW RVIoInVzaW5nICVzIGZvciBwaXBlICVjXG4iLCBwbGwtPm5hbWUsCiAJCQkgcGlwZV9uYW1lKGNy dGMtPnBpcGUpKTsKIAotCXNoYXJlZF9kcGxsW2ldLmNydGNfbWFzayB8PSAxIDw8IGNydGMtPnBp cGU7CisJaW50ZWxfc2hhcmVkX2RwbGxfY29uZmlnX2dldChzaGFyZWRfZHBsbCwgcGxsLCBjcnRj KTsKIAogCXJldHVybiBwbGw7CiB9CkBAIC0zNjAsNyArMzg5LDcgQEAgc3RhdGljIHZvaWQgaWJ4 X3BjaF9kcGxsX2Rpc2FibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCiAJ LyogTWFrZSBzdXJlIG5vIHRyYW5zY29kZXIgaXNuJ3Qgc3RpbGwgZGVwZW5kaW5nIG9uIHVzLiAq LwogCWZvcl9lYWNoX2ludGVsX2NydGMoZGV2LCBjcnRjKSB7Ci0JCWlmIChpbnRlbF9jcnRjX3Rv X3NoYXJlZF9kcGxsKGNydGMpID09IHBsbCkKKwkJaWYgKGNydGMtPmNvbmZpZy0+c2hhcmVkX2Rw bGwgPT0gcGxsKQogCQkJYXNzZXJ0X3BjaF90cmFuc2NvZGVyX2Rpc2FibGVkKGRldl9wcml2LCBj cnRjLT5waXBlKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggOTZlODRkMy4u MGE5MjljMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTQ0MSw4ICs0NDEsOCBAQCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7CiAJICogaGFzd2VsbC4gKi8KIAlzdHJ1Y3QgZHBsbCBk cGxsOwogCi0JLyogU2VsZWN0ZWQgZHBsbCB3aGVuIHNoYXJlZCBvciBEUExMX0lEX1BSSVZBVEUu ICovCi0JZW51bSBpbnRlbF9kcGxsX2lkIHNoYXJlZF9kcGxsOworCS8qIFNlbGVjdGVkIGRwbGwg d2hlbiBzaGFyZWQgb3IgTlVMTC4gKi8KKwlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnNoYXJl ZF9kcGxsOwogCiAJLyoKIAkgKiAtIFBPUlRfQ0xLX1NFTCBmb3IgRERJIHBvcnRzIG9uIEhTVy9C RFcuCkBAIC0xMTQ3LDcgKzExNDcsMjAgQEAgdm9pZCBhc3NlcnRfcGNoX3RyYW5zY29kZXJfZGlz YWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgICBlbnVtIHBp cGUgcGlwZSk7CiAKIC8qIHNoYXJlZCBkcGxsIGZ1bmN0aW9ucyAqLwotc3RydWN0IGludGVsX3No YXJlZF9kcGxsICppbnRlbF9jcnRjX3RvX3NoYXJlZF9kcGxsKHN0cnVjdCBpbnRlbF9jcnRjICpj cnRjKTsKK3N0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqCitpbnRlbF9nZXRfc2hhcmVkX2RwbGxf YnlfaWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJICAgIGVudW0gaW50 ZWxfZHBsbF9pZCBpZCk7CitlbnVtIGludGVsX2RwbGxfaWQKK2ludGVsX2dldF9zaGFyZWRfZHBs bF9pZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkgc3RydWN0IGludGVs X3NoYXJlZF9kcGxsICpwbGwpOwordm9pZAoraW50ZWxfc2hhcmVkX2RwbGxfY29uZmlnX2dldChz dHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGxfY29uZmlnICpjb25maWcsCisJCQkgICAgIHN0cnVjdCBp bnRlbF9zaGFyZWRfZHBsbCAqcGxsLAorCQkJICAgICBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7 Cit2b2lkCitpbnRlbF9zaGFyZWRfZHBsbF9jb25maWdfcHV0KHN0cnVjdCBpbnRlbF9zaGFyZWRf ZHBsbF9jb25maWcgKmNvbmZpZywKKwkJCSAgICAgc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpw bGwsCisJCQkgICAgIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKTsKIHZvaWQgYXNzZXJ0X3NoYXJl ZF9kcGxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCXN0cnVjdCBpbnRl bF9zaGFyZWRfZHBsbCAqcGxsLAogCQkJYm9vbCBzdGF0ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s dmRzLmMKaW5kZXggMzBhODQwMy4uYTA0MmE2ZjI4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9sdmRzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZk cy5jCkBAIC0xNTEsNyArMTUxLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHJlX2VuYWJsZV9sdmRz KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCWlmIChIQVNfUENIX1NQTElUKGRldikp IHsKIAkJYXNzZXJ0X2ZkaV9yeF9wbGxfZGlzYWJsZWQoZGV2X3ByaXYsIHBpcGUpOwogCQlhc3Nl cnRfc2hhcmVkX2RwbGxfZGlzYWJsZWQoZGV2X3ByaXYsCi0JCQkJCSAgICBpbnRlbF9jcnRjX3Rv X3NoYXJlZF9kcGxsKGNydGMpKTsKKwkJCQkJICAgIGNydGMtPmNvbmZpZy0+c2hhcmVkX2RwbGwp OwogCX0gZWxzZSB7CiAJCWFzc2VydF9wbGxfZGlzYWJsZWQoZGV2X3ByaXYsIHBpcGUpOwogCX0K LS0gCjIuNC4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK