From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: [PATCH v3] drm/i915/icl: implement the tc/legacy HPD {dis, }connect flows Date: Wed, 1 Aug 2018 10:34:41 -0700 Message-ID: <20180801173441.9789-1-paulo.r.zanoni@intel.com> References: <20180731234504.5553-1-paulo.r.zanoni@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6AF506E4A2 for ; Wed, 1 Aug 2018 17:34:46 +0000 (UTC) In-Reply-To: <20180731234504.5553-1-paulo.r.zanoni@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: Paulo Zanoni , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org VW5saWtlIHRoZSBvdGhlciBwb3J0cywgVEMgcG9ydHMgYXJlIG5vdCBhdmFpbGFibGUgdG8gdXNl IGFzIHNvb24gYXMKd2UgZ2V0IGEgaG90cGx1Zy4gVGhlIFRDIFBIWXMgY2FuIGJlIHNoYXJlZCBi ZXR3ZWVuIG11bHRpcGxlCmNvbnRyb2xsZXJzOiBkaXNwbGF5LCBVU0IsIGV0Yy4gQXMgYSByZXN1 bHQsIGhhbmRzaGFraW5nIHRocm91Z2ggRklBCmlzIHJlcXVpcmVkIGFyb3VuZCBjb25uZWN0IGFu ZCBkaXNjb25uZWN0IHRvIGNsZWFubHkgdHJhbnNmZXIKb3duZXJzaGlwIHdpdGggdGhlIGNvbnRy b2xsZXIgYW5kIHNldCB0aGUgdHlwZS1DIHBvd2VyIHN0YXRlLgoKVGhpcyBwYXRjaCBpbXBsZW1l bnRzIHRoZSBmbG93IHNlcXVlbmNlcyBkZXNjcmliZWQgYnkgb3VyCnNwZWNpZmljYXRpb24uIFdl IG9wdCB0byBncmFiIG93bmVyc2hpcCBvZiB0aGUgcG9ydHMgYXMgc29vbiBhcyB3ZSBnZXQKdGhl IGhvdHBsdWdzIGluIG9yZGVyIHRvIHNpbXBsaWZ5IHRoZSBpbnRlcmFjdGlvbnMgYW5kIGF2b2lk IHN1cnByaXNlcwppbiB0aGUgdXNlciBzcGFjZSBzaWRlLiBXZSBtYXkgY29uc2lkZXIgY2hhbmdp bmcgdGhpcyBpbiB0aGUgZnV0dXJlLApvbmNlIHdlIGltcHJvdmUgb3VyIHRlc3RpbmcgY2FwYWJp bGl0aWVzIG9uIHRoaXMgYXJlYS4KCnYyOgogKiBUaGlzIHVuaWZpZXMgdGhlIERQIGFuZCBIRE1J IHBhdGNoZXMgc28gd2UgY2FuIGRpc2N1c3MgZXZlcnl0aGluZwogICBhdCBvbmNlIHNvIHBlb3Bs ZSBsb29raW5nIGF0IHJhbmRvbSBzaW5nbGUgcGF0Y2hlcyBjYW4gYWN0dWFsbHkKICAgdW5kZXJz dGFuZCB0aGUgZGlyZWN0aW9uLgogKiBJIGZvdW5kIG91dCB0aGUgc3BlYyB3YXMgdXBkYXRlZCBh IHdoaWxlIGFnby4gVGhlcmUncyBhIHNtYWxsCiAgIGRpZmZlcmVuY2UgaW4gdGhlIGNvbm5lY3Qg ZmxvdyBhbmQgdGhlIHBhdGNoIHdhcyB1cGRhdGVkIGZvciB0aGF0LgogKiBPdXIgc3BlYyBhbHNv IG5vdyBnaXZlcyBhIGdvb2QgZXhwbGFuYXRpb24gb24gd2hhdCBpcyByZWFsbHkKICAgaGFwcGVu aW5nLiBBcyBhIHJlc3VsdCwgY29tbWVudHMgd2VyZSBhZGRlZC4KICogQWRkIHNvbWUgbW9yZSBj b21tZW50cyBhcyByZXF1ZXN0ZWQgYnkgUm9kcmlnbyAoUm9kcmlnbykuCnYzOgogKiBEb3duZ3Jh ZGUgYSBEUk1fRVJST1IgdGhhdCBzaG91bGRuJ3QgZXZlciBoYXBwZW4gYnV0IHdlIGNhbid0IGFj dAogICBvbiBpbiBjYXNlIGl0IGRvZXMgKENocmlzKS4KCkJTcGVjOiAyMTc1MCwgNDI1MC4KQ2M6 IEFuaW1lc2ggTWFubmEgPGFuaW1lc2gubWFubmFAaW50ZWwuY29tPgpDYzogUm9kcmlnbyBWaXZp IDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBQYXVsbyBaYW5vbmkgPHBh dWxvLnIuemFub25pQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oICAgfCAgIDYgKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgfCAxMTAg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2hkbWkuYyB8ICAxMSArKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDEyMyBpbnNlcnRp b25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IDFkYTFj Nzc0Mzc4NS4uYTVmNGRmZTllYmRmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTEwNzUw LDQgKzEwNzUwLDEwIEBAIGVudW0gc2tsX3Bvd2VyX2dhdGUgewogI2RlZmluZSAgIERQX0xBTkVf QVNTSUdOTUVOVF9NQVNLKHRjX3BvcnQpCSgweGYgPDwgKCh0Y19wb3J0KSAqIDgpKQogI2RlZmlu ZSAgIERQX0xBTkVfQVNTSUdOTUVOVCh0Y19wb3J0LCB4KQkoKHgpIDw8ICgodGNfcG9ydCkgKiA4 KSkKIAorI2RlZmluZSBQT1JUX1RYX0RGTEVYRFBQTVMJCQkJX01NSU8oMHgxNjM4OTApCisjZGVm aW5lICAgRFBfUEhZX01PREVfU1RBVFVTX0NPTVBMRVRFRCh0Y19wb3J0KQkJKDEgPDwgKHRjX3Bv cnQpKQorCisjZGVmaW5lIFBPUlRfVFhfREZMRVhEUENTU1MJCQkJX01NSU8oMHgxNjM4OTQpCisj ZGVmaW5lICAgRFBfUEhZX01PREVfU1RBVFVTX05PVF9TQUZFKHRjX3BvcnQpCQkoMSA8PCAodGNf cG9ydCkpCisKICNlbmRpZiAvKiBfSTkxNV9SRUdfSF8gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j CmluZGV4IGZlYzIxYWEzZGI5My4uODZlZGVkNjEzNDU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw LmMKQEAgLTQ4MTgsNiArNDgxOCwxMDQgQEAgc3RhdGljIHZvaWQgaWNsX3VwZGF0ZV90Y19wb3J0 X3R5cGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJICAgICAgdHlwZV9z dHIpOwogfQogCisvKgorICogVGhpcyBmdW5jdGlvbiBpbXBsZW1lbnRzIHRoZSBmaXJzdCBwYXJ0 IG9mIHRoZSBDb25uZWN0IEZsb3cgZGVzY3JpYmVkIGJ5IG91cgorICogc3BlY2lmaWNhdGlvbiwg R2VuMTEgVHlwZUMgUHJvZ3JhbW1pbmcgY2hhcHRlci4gVGhlIHJlc3Qgb2YgdGhlIGZsb3cgKHJl YWRpbmcKKyAqIGxhbmVzLCBFRElELCBldGMpIGlzIGRvbmUgYXMgbmVlZGVkIGluIHRoZSB0eXBp Y2FsIHBsYWNlcy4KKyAqCisgKiBVbmxpa2UgdGhlIG90aGVyIHBvcnRzLCB0eXBlLUMgcG9ydHMg YXJlIG5vdCBhdmFpbGFibGUgdG8gdXNlIGFzIHNvb24gYXMgd2UKKyAqIGdldCBhIGhvdHBsdWcu IFRoZSB0eXBlLUMgUEhZcyBjYW4gYmUgc2hhcmVkIGJldHdlZW4gbXVsdGlwbGUgY29udHJvbGxl cnM6CisgKiBkaXNwbGF5LCBVU0IsIGV0Yy4gQXMgYSByZXN1bHQsIGhhbmRzaGFraW5nIHRocm91 Z2ggRklBIGlzIHJlcXVpcmVkIGFyb3VuZAorICogY29ubmVjdCBhbmQgZGlzY29ubmVjdCB0byBj bGVhbmx5IHRyYW5zZmVyIG93bmVyc2hpcCB3aXRoIHRoZSBjb250cm9sbGVyIGFuZAorICogc2V0 IHRoZSB0eXBlLUMgcG93ZXIgc3RhdGUuCisgKgorICogV2UgY291bGQgb3B0IHRvIG9ubHkgZG8g dGhlIGNvbm5lY3QgZmxvdyB3aGVuIHdlIGFjdHVhbGx5IHRyeSB0byB1c2UgdGhlIEFVWAorICog Y2hhbm5lbHMgb3IgZG8gYSBtb2Rlc2V0LCB0aGVuIGltbWVkaWF0ZWx5IHJ1biB0aGUgZGlzY29u bmVjdCBmbG93IGFmdGVyCisgKiB1c2FnZSwgYnV0IHRoZXJlIGFyZSBzb21lIGltcGxpY2F0aW9u cyBvbiB0aGlzIGZvciBhIGR5bmFtaWMgZW52aXJvbm1lbnQ6CisgKiB0aGluZ3MgbWF5IGdvIGF3 YXkgb3IgY2hhbmdlIGJlaGluZCBvdXIgYmFja3MuIFNvIGZvciBub3cgb3VyIGRyaXZlciBpcwor ICogYWx3YXlzIHRyeWluZyB0byBhY3F1aXJlIG93bmVyc2hpcCBvZiB0aGUgY29udHJvbGxlciBh cyBzb29uIGFzIGl0IGdldHMgYW4KKyAqIGludGVycnVwdCAob3IgcG9sbHMgc3RhdGUgYW5kIHNl ZXMgYSBwb3J0IGlzIGNvbm5lY3RlZCkgYW5kIG9ubHkgZ2l2ZXMgaXQKKyAqIGJhY2sgd2hlbiBp dCBzZWVzIGEgZGlzY29ubmVjdC4gSW1wbGVtZW50YXRpb24gb2YgYSBtb3JlIGZpbmUtZ3JhaW5l ZCBtb2RlbAorICogd2lsbCByZXF1aXJlIGEgbG90IG9mIGNvb3JkaW5hdGlvbiB3aXRoIHVzZXIg c3BhY2UgYW5kIHRob3JvdWdoIHRlc3RpbmcgZm9yCisgKiB0aGUgZXh0cmEgcG9zc2libGUgY2Fz ZXMuCisgKi8KK3N0YXRpYyBib29sIGljbF90Y19waHlfY29ubmVjdChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkgICAgICAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq ZGlnX3BvcnQpCit7CisJZW51bSB0Y19wb3J0IHRjX3BvcnQgPSBpbnRlbF9wb3J0X3RvX3RjKGRl dl9wcml2LCBkaWdfcG9ydC0+YmFzZS5wb3J0KTsKKwl1MzIgdmFsOworCisJaWYgKGRpZ19wb3J0 LT50Y190eXBlICE9IFRDX1BPUlRfTEVHQUNZICYmCisJICAgIGRpZ19wb3J0LT50Y190eXBlICE9 IFRDX1BPUlRfVFlQRUMpCisJCXJldHVybiB0cnVlOworCisJdmFsID0gSTkxNV9SRUFEKFBPUlRf VFhfREZMRVhEUFBNUyk7CisJaWYgKCEodmFsICYgRFBfUEhZX01PREVfU1RBVFVTX0NPTVBMRVRF RCh0Y19wb3J0KSkpIHsKKwkJRFJNX0RFQlVHX0tNUygiRFAgUEhZIGZvciBUQyBwb3J0ICVkIG5v dCByZWFkeVxuIiwgdGNfcG9ydCk7CisJCXJldHVybiBmYWxzZTsKKwl9CisKKwkvKgorCSAqIFRo aXMgZnVuY3Rpb24gbWF5IGJlIGNhbGxlZCBtYW55IHRpbWVzIGluIGEgcm93IHdpdGhvdXQgYW4g SFBEIGV2ZW50CisJICogaW4gYmV0d2Vlbiwgc28gdHJ5IHRvIGF2b2lkIHRoZSB3cml0ZSB3aGVu IHdlIGNhbi4KKwkgKi8KKwl2YWwgPSBJOTE1X1JFQUQoUE9SVF9UWF9ERkxFWERQQ1NTUyk7CisJ aWYgKCEodmFsICYgRFBfUEhZX01PREVfU1RBVFVTX05PVF9TQUZFKHRjX3BvcnQpKSkgeworCQl2 YWwgfD0gRFBfUEhZX01PREVfU1RBVFVTX05PVF9TQUZFKHRjX3BvcnQpOworCQlJOTE1X1dSSVRF KFBPUlRfVFhfREZMRVhEUENTU1MsIHZhbCk7CisJfQorCisJLyoKKwkgKiBOb3cgd2UgaGF2ZSB0 byByZS1jaGVjayB0aGUgbGl2ZSBzdGF0ZSwgaW4gY2FzZSB0aGUgcG9ydCByZWNlbnRseQorCSAq IGJlY2FtZSBkaXNjb25uZWN0ZWQuIE5vdCBuZWNlc3NhcnkgZm9yIGxlZ2FjeSBtb2RlLgorCSAq LworCWlmIChkaWdfcG9ydC0+dGNfdHlwZSA9PSBUQ19QT1JUX1RZUEVDICYmCisJICAgICEoSTkx NV9SRUFEKFBPUlRfVFhfREZMRVhEUFNQKSAmIFRDX0xJVkVfU1RBVEVfVEModGNfcG9ydCkpKSB7 CisJCURSTV9ERUJVR19LTVMoIlRDIFBIWSAlZCBzdWRkZW4gZGlzY29ubmVjdC5cbiIsIHRjX3Bv cnQpOworCQl2YWwgPSBJOTE1X1JFQUQoUE9SVF9UWF9ERkxFWERQQ1NTUyk7CisJCXZhbCAmPSB+ RFBfUEhZX01PREVfU1RBVFVTX05PVF9TQUZFKHRjX3BvcnQpOworCQlJOTE1X1dSSVRFKFBPUlRf VFhfREZMRVhEUENTU1MsIHZhbCk7CisJCXJldHVybiBmYWxzZTsKKwl9CisKKwlyZXR1cm4gdHJ1 ZTsKK30KKworLyoKKyAqIFNlZSB0aGUgY29tbWVudCBhdCB0aGUgY29ubmVjdCBmdW5jdGlvbi4g VGhpcyBpbXBsZW1lbnRzIHRoZSBEaXNjb25uZWN0CisgKiBGbG93LgorICovCitzdGF0aWMgdm9p ZCBpY2xfdGNfcGh5X2Rpc2Nvbm5lY3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAorCQkJCSAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCit7CisJZW51bSB0 Y19wb3J0IHRjX3BvcnQgPSBpbnRlbF9wb3J0X3RvX3RjKGRldl9wcml2LCBkaWdfcG9ydC0+YmFz ZS5wb3J0KTsKKwl1MzIgdmFsOworCisJaWYgKGRpZ19wb3J0LT50Y190eXBlICE9IFRDX1BPUlRf TEVHQUNZICYmCisJICAgIGRpZ19wb3J0LT50Y190eXBlICE9IFRDX1BPUlRfVFlQRUMpCisJCXJl dHVybjsKKworCS8qCisJICogVGhpcyBmdW5jdGlvbiBtYXkgYmUgY2FsbGVkIG1hbnkgdGltZXMg aW4gYSByb3cgd2l0aG91dCBhbiBIUEQgZXZlbnQKKwkgKiBpbiBiZXR3ZWVuLCBzbyB0cnkgdG8g YXZvaWQgdGhlIHdyaXRlIHdoZW4gd2UgY2FuLgorCSAqLworCXZhbCA9IEk5MTVfUkVBRChQT1JU X1RYX0RGTEVYRFBDU1NTKTsKKwlpZiAodmFsICYgRFBfUEhZX01PREVfU1RBVFVTX05PVF9TQUZF KHRjX3BvcnQpKSB7CisJCXZhbCAmPSB+RFBfUEhZX01PREVfU1RBVFVTX05PVF9TQUZFKHRjX3Bv cnQpOworCQlJOTE1X1dSSVRFKFBPUlRfVFhfREZMRVhEUENTU1MsIHZhbCk7CisJfQorfQorCisv KgorICogVGhlIHR5cGUtQyBwb3J0cyBhcmUgZGlmZmVyZW50IGJlY2F1c2UgZXZlbiB3aGVuIHRo ZXkgYXJlIGNvbm5lY3RlZCwgdGhleSBtYXkKKyAqIG5vdCBiZSBhdmFpbGFibGUvdXNhYmxlIGJ5 IHRoZSBncmFwaGljcyBkcml2ZXI6IHNlZSB0aGUgY29tbWVudCBvbgorICogaWNsX3RjX3BoeV9j b25uZWN0KCkuIFNvIGluIG91ciBkcml2ZXIgaW5zdGVhZCBvZiBhZGRpbmcgdGhlIGFkZGl0aW9u YWwKKyAqIGNvbmNlcHQgb2YgInVzYWJsZSIgYW5kIG1ha2UgZXZlcnl0aGluZyBjaGVjayBmb3Ig ImNvbm5lY3RlZCBhbmQgdXNhYmxlIiB3ZQorICogZGVmaW5lIGEgcG9ydCBhcyAiY29ubmVjdGVk IiB3aGVuIGl0IGlzIG5vdCBvbmx5IGNvbm5lY3RlZCwgYnV0IGFsc28gd2hlbiBpdAorICogaXMg dXNhYmxlIGJ5IHRoZSByZXN0IG9mIHRoZSBkcml2ZXIuIFRoYXQgbWFpbnRhaW5zIHRoZSBvbGQg YXNzdW1wdGlvbiB0aGF0CisgKiBjb25uZWN0ZWQgcG9ydHMgYXJlIHVzYWJsZSwgYW5kIGF2b2lk cyBleHBvc2luZyB0byB0aGUgdXNlcnMgb2JqZWN0cyB0aGV5CisgKiBjYW4ndCByZWFsbHkgdXNl LgorICovCiBzdGF0aWMgYm9vbCBpY2xfdGNfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50 ZWxfZGlnX3BvcnQpCiB7CkBAIC00ODM2LDEyICs0OTM0LDE3IEBAIHN0YXRpYyBib29sIGljbF90 Y19wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJaXNf dHlwZWMgPSBkcHNwICYgVENfTElWRV9TVEFURV9UQyh0Y19wb3J0KTsKIAlpc190YnQgPSBkcHNw ICYgVENfTElWRV9TVEFURV9UQlQodGNfcG9ydCk7CiAKLQlpZiAoIWlzX2xlZ2FjeSAmJiAhaXNf dHlwZWMgJiYgIWlzX3RidCkKKwlpZiAoIWlzX2xlZ2FjeSAmJiAhaXNfdHlwZWMgJiYgIWlzX3Ri dCkgeworCQlpY2xfdGNfcGh5X2Rpc2Nvbm5lY3QoZGV2X3ByaXYsIGludGVsX2RpZ19wb3J0KTsK IAkJcmV0dXJuIGZhbHNlOworCX0KIAogCWljbF91cGRhdGVfdGNfcG9ydF90eXBlKGRldl9wcml2 LCBpbnRlbF9kaWdfcG9ydCwgaXNfbGVnYWN5LCBpc190eXBlYywKIAkJCQlpc190YnQpOwogCisJ aWYgKCFpY2xfdGNfcGh5X2Nvbm5lY3QoZGV2X3ByaXYsIGludGVsX2RpZ19wb3J0KSkKKwkJcmV0 dXJuIGZhbHNlOworCiAJcmV0dXJuIHRydWU7CiB9CiAKQEAgLTQ4NjksNiArNDk3MiwxMSBAQCBz dGF0aWMgYm9vbCBpY2xfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlcikKICAqIGludGVsX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQgLSBpcyB0aGUgc3Bl Y2lmaWVkIHBvcnQgY29ubmVjdGVkPwogICogQGVuY29kZXI6IGludGVsX2VuY29kZXIKICAqCisg KiBJbiBjYXNlcyB3aGVyZSB0aGVyZSdzIGEgY29ubmVjdG9yIHBoeXNpY2FsbHkgY29ubmVjdGVk IGJ1dCBpdCBjYW4ndCBiZSB1c2VkCisgKiBieSBvdXIgaGFyZHdhcmUgd2UgYWxzbyByZXR1cm4g ZmFsc2UsIHNpbmNlIHRoZSByZXN0IG9mIHRoZSBkcml2ZXIgc2hvdWxkCisgKiBwcmV0dHkgbXVj aCB0cmVhdCB0aGUgcG9ydCBhcyBkaXNjb25uZWN0ZWQuIFRoaXMgaXMgcmVsZXZhbnQgZm9yIHR5 cGUtQworICogKHN0YXJ0aW5nIG9uIElDTCkgd2hlcmUgdGhlcmUncyBvd25lcnNoaXAgaW52b2x2 ZWQuCisgKgogICogUmV0dXJuICV0cnVlIGlmIHBvcnQgaXMgY29ubmVjdGVkLCAlZmFsc2Ugb3Ro ZXJ3aXNlLgogICovCiBib29sIGludGVsX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKaW5kZXggODM2 M2ZiZDE4ZWU4Li41NDgxOTllNTliNmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKQEAg LTE5MDUsMjEgKzE5MDUsMjYgQEAgaW50ZWxfaGRtaV9zZXRfZWRpZChzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQogc3RhdGljIGVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMKIGludGVs X2hkbWlfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wgZm9yY2Up CiB7Ci0JZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cyBzdGF0dXM7CisJZW51bSBkcm1fY29ubmVj dG9yX3N0YXR1cyBzdGF0dXMgPSBjb25uZWN0b3Jfc3RhdHVzX2Rpc2Nvbm5lY3RlZDsKIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+ZGV2KTsK KwlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGludGVsX2F0dGFjaGVkX2hkbWkoY29u bmVjdG9yKTsKKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9ICZoZG1pX3RvX2RpZ19w b3J0KGludGVsX2hkbWkpLT5iYXNlOwogCiAJRFJNX0RFQlVHX0tNUygiW0NPTk5FQ1RPUjolZDol c11cbiIsCiAJCSAgICAgIGNvbm5lY3Rvci0+YmFzZS5pZCwgY29ubmVjdG9yLT5uYW1lKTsKIAog CWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBQT1dFUl9ET01BSU5fR01CVVMpOwog CisJaWYgKElTX0lDRUxBS0UoZGV2X3ByaXYpICYmCisJICAgICFpbnRlbF9kaWdpdGFsX3BvcnRf Y29ubmVjdGVkKGVuY29kZXIpKQorCQlnb3RvIG91dDsKKwogCWludGVsX2hkbWlfdW5zZXRfZWRp ZChjb25uZWN0b3IpOwogCiAJaWYgKGludGVsX2hkbWlfc2V0X2VkaWQoY29ubmVjdG9yKSkKIAkJ c3RhdHVzID0gY29ubmVjdG9yX3N0YXR1c19jb25uZWN0ZWQ7Ci0JZWxzZQotCQlzdGF0dXMgPSBj b25uZWN0b3Jfc3RhdHVzX2Rpc2Nvbm5lY3RlZDsKIAorb3V0OgogCWludGVsX2Rpc3BsYXlfcG93 ZXJfcHV0KGRldl9wcml2LCBQT1dFUl9ET01BSU5fR01CVVMpOwogCiAJcmV0dXJuIHN0YXR1czsK LS0gCjIuMTQuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==