From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chon Ming Lee Subject: [PATCH 1/2] drm/i915/vlv: Make the vlv_dpio_read/vlv_dpio_write more PHY centric Date: Wed, 30 Oct 2013 11:11:17 +0800 Message-ID: <1383102678-7150-1-git-send-email-chon.ming.lee@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 [143.182.124.37]) by gabe.freedesktop.org (Postfix) with ESMTP id 570EFEE723 for ; Tue, 29 Oct 2013 20:12:27 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org dmx2X2RwaW9fcmVhZC93cml0ZSBzaG91bGQgYmUgZGVzY3JpYmUgbW9yZSBpbiBQSFkgY2VudHJp YyBpbnN0ZWFkIG9mCmRpc3BsYXkgY29udHJvbGxlciBjZW50cmljLgpDcmVhdGUgYSBlbnVtIGRw aW9fY2hhbm5lbCBmb3IgY2hhbm5lbCBpbmRleCBhbmQgZW51bSBkcGlvX3BoeSBmb3IgUEhZCmlu ZGV4LiAgVGhpcyBzaG91bGQgYmV0dGVyIHRvIGdhdGhlciBmb3IgdXBjb21pbmcgcGxhdGZvcm0u Cgp2MjogUmViYXNlIHRoZSBjb2RlIGJhc2VkIG9uCmRybS9pOTE1L3ZsdjogRml4IHR5cG8gaW4g dGhlIERQSU8gcmVnaXN0ZXIgZGVmaW5lLgoKU3VnZ2VzdGVkLWJ5OiBWaWxsZSBTeXJqw6Rsw6Qg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBDaG9uIE1pbmcg TGVlIDxjaG9uLm1pbmcubGVlQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oICAgICAgIHwgICAxMyArKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3JlZy5oICAgICAgIHwgICAgMiArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jICB8ICAgMTYgKysrKysrKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYyAgICAgICB8ICAgIDkgKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaCAgICAgIHwgICAgNyArKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9oZG1pLmMgICAgIHwgICAgOSArKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3NpZGViYW5kLmMgfCAgIDEzICsrLS0tLS0tLS0tLS0KIDcgZmlsZXMgY2hhbmdlZCwgNDEgaW5z ZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXgg MjczMWZiYi4uYjE2MDlhZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC04OCw2ICs4OCwx OCBAQCBlbnVtIHBvcnQgewogfTsKICNkZWZpbmUgcG9ydF9uYW1lKHApICgocCkgKyAnQScpCiAK KyNkZWZpbmUgSTkxNV9OVU1fUEhZU19WTFYgMQorCitlbnVtIGRwaW9fY2hhbm5lbCB7CisJRFBJ T19DSDAsCisJRFBJT19DSDEKK307CisKK2VudW0gZHBpb19waHkgeworCURQSU9fUEhZMCwKKwlE UElPX1BIWTEKK307CisKIGVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gewogCVBPV0VS X0RPTUFJTl9QSVBFX0EsCiAJUE9XRVJfRE9NQUlOX1BJUEVfQiwKQEAgLTE0MDEsNiArMTQxMyw3 IEBAIHR5cGVkZWYgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCWludCBudW1fc2hhcmVkX2Rw bGw7CiAJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsIHNoYXJlZF9kcGxsc1tJOTE1X05VTV9QTExT XTsKIAlzdHJ1Y3QgaW50ZWxfZGRpX3BsbHMgZGRpX3BsbHM7CisJaW50IHZsdl9waHlbSTkxNV9O VU1fUEhZU19WTFZdOwogCiAJLyogUmVjbG9ja2luZyBzdXBwb3J0ICovCiAJYm9vbCByZW5kZXJf cmVjbG9ja19hdmFpbDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IGY3ZWNhZDIuLmRkOGZm M2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaApAQCAtNDQ3LDYgKzQ0Nyw4IEBACiAjZGVmaW5l IERQSU9fVFgzX1NXSU5HX0NUTDQocGlwZSkgX1BJUEUocGlwZSwgX0RQSU9fVFgzX1NXSU5HX0NU TDRfQSwgXAogCQkJCQlfRFBJT19UWDNfU1dJTkdfQ1RMNF9CKQogCisjZGVmaW5lIERQSU9fUEhZ X1BPUlQocGlwZSkJCShkZXZfcHJpdi0+dmx2X3BoeVtwaXBlID4+IDFdKQorCiAvKgogICogUGVy IHBpcGUvUExMIERQSU8gcmVncwogICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK aW5kZXggOGY0MGFlMy4uYzA4ZjlmOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YwpAQCAtMTM2MSw2ICsxMzYxLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfaW5pdF9kcGlvKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCiAJaWYgKCFJU19WQUxMRVlWSUVXKGRldikpCiAJCXJldHVybjsK IAorCWRldl9wcml2LT52bHZfcGh5W0RQSU9fUEhZMF0gPSBJT1NGX1BPUlRfRFBJTzsKIAkvKgog CSAqIEZyb20gVkxWMkEwX0RQX2VEUF9EUElPX2RyaXZlcl92Ymlvc19ub3Rlc18xMC5kb2N4IC0K IAkgKiAgNi4JRGUtYXNzZXJ0IGNtbl9yZXNldC9zaWRlX3Jlc2V0LiBTYW1lIGFzIFZMViBYMC4K QEAgLTE0OTQsMTggKzE0OTUsMjUgQEAgc3RhdGljIHZvaWQgdmx2X2Rpc2FibGVfcGxsKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwaXBlIHBpcGUpCiAJUE9TVElOR19S RUFEKERQTEwocGlwZSkpOwogfQogCi12b2lkIHZsdl93YWl0X3BvcnRfcmVhZHkoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBpbnQgcG9ydCkKK3ZvaWQgdmx2X3dhaXRfcG9ydF9y ZWFkeShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCXN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgKmRwb3J0KQogewogCXUzMiBwb3J0X21hc2s7CiAKLQlpZiAoIXBvcnQpCisJ c3dpdGNoIChkcG9ydC0+cG9ydCkgeworCWNhc2UgUE9SVF9COgogCQlwb3J0X21hc2sgPSBEUExM X1BPUlRCX1JFQURZX01BU0s7Ci0JZWxzZQorCQlicmVhazsKKwljYXNlIFBPUlRfQzoKIAkJcG9y dF9tYXNrID0gRFBMTF9QT1JUQ19SRUFEWV9NQVNLOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlC VUcoKTsKKwl9CiAKIAlpZiAod2FpdF9mb3IoKEk5MTVfUkVBRChEUExMKDApKSAmIHBvcnRfbWFz aykgPT0gMCwgMTAwMCkpCiAJCVdBUk4oMSwgInRpbWVkIG91dCB3YWl0aW5nIGZvciBwb3J0ICVj IHJlYWR5OiAweCUwOHhcbiIsCi0JCSAgICAgJ0InICsgcG9ydCwgSTkxNV9SRUFEKERQTEwoMCkp KTsKKwkJICAgICAnQicgKyBkcG9ydC0+cG9ydCwgSTkxNV9SRUFEKERQTEwoMCkpKTsKIH0KIAog LyoqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwppbmRleCBiM2NjMzMzLi41ZDAwYzgzIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwLmMKQEAgLTE4MzEsNyArMTgzMSw3IEBAIHN0YXRpYyB2b2lkIHZsdl9w cmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRl bF9jcnRjID0gdG9faW50ZWxfY3J0YyhlbmNvZGVyLT5iYXNlLmNydGMpOwotCWludCBwb3J0ID0g dmx2X2Rwb3J0X3RvX2NoYW5uZWwoZHBvcnQpOworCWVudW0gZHBpb19jaGFubmVsIHBvcnQgPSB2 bHZfZHBvcnRfdG9fY2hhbm5lbChkcG9ydCk7CiAJaW50IHBpcGUgPSBpbnRlbF9jcnRjLT5waXBl OwogCXN0cnVjdCBlZHBfcG93ZXJfc2VxIHBvd2VyX3NlcTsKIAl1MzIgdmFsOwpAQCAtMTgzOSw3 ICsxODM5LDYgQEAgc3RhdGljIHZvaWQgdmx2X3ByZV9lbmFibGVfZHAoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIpCiAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRwaW9fbG9jayk7CiAKIAl2 YWwgPSB2bHZfZHBpb19yZWFkKGRldl9wcml2LCBwaXBlLCBEUElPX0RBVEFfTEFORV9BKHBvcnQp KTsKLQl2YWwgPSAwOwogCWlmIChwaXBlKQogCQl2YWwgfD0gKDE8PDIxKTsKIAllbHNlCkBAIC0x ODU4LDcgKzE4NTcsNyBAQCBzdGF0aWMgdm9pZCB2bHZfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlcikKIAogCWludGVsX2VuYWJsZV9kcChlbmNvZGVyKTsKIAotCXZs dl93YWl0X3BvcnRfcmVhZHkoZGV2X3ByaXYsIHBvcnQpOworCXZsdl93YWl0X3BvcnRfcmVhZHko ZGV2X3ByaXYsIGRwb3J0KTsKIH0KIAogc3RhdGljIHZvaWQgdmx2X2RwX3ByZV9wbGxfZW5hYmxl KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQpAQCAtMTg2OCw3ICsxODY3LDcgQEAgc3Rh dGljIHZvaWQgdmx2X2RwX3ByZV9wbGxfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZh dGU7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPQogCQl0b19pbnRlbF9jcnRjKGVu Y29kZXItPmJhc2UuY3J0Yyk7Ci0JaW50IHBvcnQgPSB2bHZfZHBvcnRfdG9fY2hhbm5lbChkcG9y dCk7CisJZW51bSBkcGlvX2NoYW5uZWwgcG9ydCA9IHZsdl9kcG9ydF90b19jaGFubmVsKGRwb3J0 KTsKIAlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7CiAKIAkvKiBQcm9ncmFtIFR4IGxhbmUg cmVzZXRzIHRvIGRlZmF1bHQgKi8KQEAgLTIwMjUsNyArMjAyNCw3IEBAIHN0YXRpYyB1aW50MzJf dCBpbnRlbF92bHZfc2lnbmFsX2xldmVscyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCXVu c2lnbmVkIGxvbmcgZGVtcGhfcmVnX3ZhbHVlLCBwcmVlbXBoX3JlZ192YWx1ZSwKIAkJdW5pcXRy YW5zY2FsZV9yZWdfdmFsdWU7CiAJdWludDhfdCB0cmFpbl9zZXQgPSBpbnRlbF9kcC0+dHJhaW5f c2V0WzBdOwotCWludCBwb3J0ID0gdmx2X2Rwb3J0X3RvX2NoYW5uZWwoZHBvcnQpOworCWVudW0g ZHBpb19jaGFubmVsIHBvcnQgPSB2bHZfZHBvcnRfdG9fY2hhbm5lbChkcG9ydCk7CiAJaW50IHBp cGUgPSBpbnRlbF9jcnRjLT5waXBlOwogCiAJc3dpdGNoICh0cmFpbl9zZXQgJiBEUF9UUkFJTl9Q UkVfRU1QSEFTSVNfTUFTSykgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCA5ZDI2MjRm Li4wNTI2ZDQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtNDkwLDkgKzQ5MCw5IEBA IHZsdl9kcG9ydF90b19jaGFubmVsKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRwb3J0KQog ewogCXN3aXRjaCAoZHBvcnQtPnBvcnQpIHsKIAljYXNlIFBPUlRfQjoKLQkJcmV0dXJuIDA7CisJ CXJldHVybiBEUElPX0NIMDsKIAljYXNlIFBPUlRfQzoKLQkJcmV0dXJuIDE7CisJCXJldHVybiBE UElPX0NIMTsKIAlkZWZhdWx0OgogCQlCVUcoKTsKIAl9CkBAIC02MzcsNyArNjM3LDggQEAgZW51 bSB0cmFuc2NvZGVyIGludGVsX3BpcGVfdG9fY3B1X3RyYW5zY29kZXIoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAogdm9pZCBpbnRlbF93YWl0X2Zvcl92Ymxhbmsoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgaW50IHBpcGUpOwogdm9pZCBpbnRlbF93YWl0X2Zvcl9waXBlX29mZihz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgcGlwZSk7CiBpbnQgaXJvbmxha2VfZ2V0X2xhbmVz X3JlcXVpcmVkKGludCB0YXJnZXRfY2xvY2ssIGludCBsaW5rX2J3LCBpbnQgYnBwKTsKLXZvaWQg dmx2X3dhaXRfcG9ydF9yZWFkeShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGlu dCBwb3J0KTsKK3ZvaWQgdmx2X3dhaXRfcG9ydF9yZWFkeShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCisJCQkgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZHBvcnQpOwogYm9v bCBpbnRlbF9nZXRfbG9hZF9kZXRlY3RfcGlwZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yLAogCQkJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAogCQkJCXN0cnVjdCBpbnRl bF9sb2FkX2RldGVjdF9waXBlICpvbGQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCmluZGV4 IDUxYTgzMzYuLjQ5OTc3YzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKQEAgLTEwODEs NyArMTA4MSw3IEBAIHN0YXRpYyB2b2lkIHZsdl9oZG1pX3ByZV9lbmFibGUoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIpCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9CiAJCXRv X2ludGVsX2NydGMoZW5jb2Rlci0+YmFzZS5jcnRjKTsKLQlpbnQgcG9ydCA9IHZsdl9kcG9ydF90 b19jaGFubmVsKGRwb3J0KTsKKwllbnVtIGRwaW9fY2hhbm5lbCBwb3J0ID0gdmx2X2Rwb3J0X3Rv X2NoYW5uZWwoZHBvcnQpOwogCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKIAl1MzIgdmFs OwogCkBAIC0xMDkxLDcgKzEwOTEsNiBAQCBzdGF0aWMgdm9pZCB2bHZfaGRtaV9wcmVfZW5hYmxl KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCS8qIEVuYWJsZSBjbG9jayBjaGFubmVs cyBmb3IgdGhpcyBwb3J0ICovCiAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRwaW9fbG9jayk7CiAJ dmFsID0gdmx2X2RwaW9fcmVhZChkZXZfcHJpdiwgcGlwZSwgRFBJT19EQVRBX0xBTkVfQShwb3J0 KSk7Ci0JdmFsID0gMDsKIAlpZiAocGlwZSkKIAkJdmFsIHw9ICgxPDwyMSk7CiAJZWxzZQpAQCAt MTEyNCw3ICsxMTIzLDcgQEAgc3RhdGljIHZvaWQgdmx2X2hkbWlfcHJlX2VuYWJsZShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAogCWludGVsX2VuYWJsZV9oZG1pKGVuY29kZXIpOwog Ci0Jdmx2X3dhaXRfcG9ydF9yZWFkeShkZXZfcHJpdiwgcG9ydCk7CisJdmx2X3dhaXRfcG9ydF9y ZWFkeShkZXZfcHJpdiwgZHBvcnQpOwogfQogCiBzdGF0aWMgdm9pZCB2bHZfaGRtaV9wcmVfcGxs X2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKQEAgLTExMzQsNyArMTEzMyw3 IEBAIHN0YXRpYyB2b2lkIHZsdl9oZG1pX3ByZV9wbGxfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPQogCQl0b19pbnRl bF9jcnRjKGVuY29kZXItPmJhc2UuY3J0Yyk7Ci0JaW50IHBvcnQgPSB2bHZfZHBvcnRfdG9fY2hh bm5lbChkcG9ydCk7CisJZW51bSBkcGlvX2NoYW5uZWwgcG9ydCA9IHZsdl9kcG9ydF90b19jaGFu bmVsKGRwb3J0KTsKIAlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7CiAKIAlpZiAoIUlTX1ZB TExFWVZJRVcoZGV2KSkKQEAgLTExNjksNyArMTE2OCw3IEBAIHN0YXRpYyB2b2lkIHZsdl9oZG1p X3Bvc3RfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBlbmNvZGVyLT5iYXNlLmRldi0+ZGV2X3ByaXZhdGU7 CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPQogCQl0b19pbnRlbF9jcnRjKGVuY29k ZXItPmJhc2UuY3J0Yyk7Ci0JaW50IHBvcnQgPSB2bHZfZHBvcnRfdG9fY2hhbm5lbChkcG9ydCk7 CisJZW51bSBkcGlvX2NoYW5uZWwgcG9ydCA9IHZsdl9kcG9ydF90b19jaGFubmVsKGRwb3J0KTsK IAlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7CiAKIAkvKiBSZXNldCBsYW5lcyB0byBhdm9p ZCBIRE1JIGZsaWNrZXIgKFZMViB3L2EpICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zaWRlYmFuZC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2lkZWJh bmQuYwppbmRleCA5OTQ0ZDgxLi4xNTkyMTBmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zaWRlYmFuZC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Np ZGViYW5kLmMKQEAgLTE2MCwyNyArMTYwLDE4IEBAIHZvaWQgdmx2X2dwc19jb3JlX3dyaXRlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIHJlZywgdTMyIHZhbCkKIAkJCVBV TklUX09QQ09ERV9SRUdfV1JJVEUsIHJlZywgJnZhbCk7CiB9CiAKLXN0YXRpYyB1MzIgdmx2X2dl dF9waHlfcG9ydChlbnVtIHBpcGUgcGlwZSkKLXsKLQl1MzIgcG9ydCA9IElPU0ZfUE9SVF9EUElP OwotCi0JV0FSTl9PTiAoKHBpcGUgIT0gUElQRV9BKSAmJiAocGlwZSAhPSBQSVBFX0IpKTsKLQot CXJldHVybiBwb3J0OwotfQotCiB1MzIgdmx2X2RwaW9fcmVhZChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsIGVudW0gcGlwZSBwaXBlLCBpbnQgcmVnKQogewogCXUzMiB2YWwgPSAw OwogCi0Jdmx2X3NpZGViYW5kX3J3KGRldl9wcml2LCBEUElPX0RFVkZOLCB2bHZfZ2V0X3BoeV9w b3J0KHBpcGUpLAorCXZsdl9zaWRlYmFuZF9ydyhkZXZfcHJpdiwgRFBJT19ERVZGTiwgRFBJT19Q SFlfUE9SVChwaXBlKSwKIAkJCURQSU9fT1BDT0RFX1JFR19SRUFELCByZWcsICZ2YWwpOwogCXJl dHVybiB2YWw7CiB9CiAKIHZvaWQgdmx2X2RwaW9fd3JpdGUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LCBlbnVtIHBpcGUgcGlwZSwgaW50IHJlZywgdTMyIHZhbCkKIHsKLQl2bHZf c2lkZWJhbmRfcncoZGV2X3ByaXYsIERQSU9fREVWRk4sIHZsdl9nZXRfcGh5X3BvcnQocGlwZSks CisJdmx2X3NpZGViYW5kX3J3KGRldl9wcml2LCBEUElPX0RFVkZOLCBEUElPX1BIWV9QT1JUKHBp cGUpLAogCQkJRFBJT19PUENPREVfUkVHX1dSSVRFLCByZWcsICZ2YWwpOwogfQogCi0tIAoxLjcu Ny42CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=