From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1DA8CC433FE for ; Fri, 24 Sep 2021 19:54:37 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DD6CF61050 for ; Fri, 24 Sep 2021 19:54:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org DD6CF61050 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 743556E247; Fri, 24 Sep 2021 19:54:36 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 39B5C6E247 for ; Fri, 24 Sep 2021 19:54:35 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10117"; a="203648165" X-IronPort-AV: E=Sophos;i="5.85,320,1624345200"; d="scan'208";a="203648165" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Sep 2021 12:54:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,320,1624345200"; d="scan'208";a="586186378" Received: from irsmsx601.ger.corp.intel.com ([163.33.146.7]) by orsmga004.jf.intel.com with ESMTP; 24 Sep 2021 12:54:33 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by irsmsx601.ger.corp.intel.com (163.33.146.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Fri, 24 Sep 2021 20:54:32 +0100 Received: from orsmsx610.amr.corp.intel.com ([10.22.229.23]) by ORSMSX610.amr.corp.intel.com ([10.22.229.23]) with mapi id 15.01.2242.012; Fri, 24 Sep 2021 12:54:30 -0700 From: "Souza, Jose" To: "intel-gfx@lists.freedesktop.org" , "Deak, Imre" Thread-Topic: [PATCH 05/13] drm/i915/tc: Add/use helpers to retrieve TypeC port properties Thread-Index: AQHXrn7k/YUZ7HkqRUqMInykhdofDau0FeqA Date: Fri, 24 Sep 2021 19:54:30 +0000 Message-ID: References: <20210921002313.1132357-1-imre.deak@intel.com> <20210921002313.1132357-6-imre.deak@intel.com> In-Reply-To: <20210921002313.1132357-6-imre.deak@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.22.254.132] Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH 05/13] drm/i915/tc: Add/use helpers to retrieve TypeC port properties X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gVHVlLCAyMDIxLTA5LTIxIGF0IDAzOjIzICswMzAwLCBJbXJlIERlYWsgd3JvdGU6DQo+IElu c3RlYWQgb2YgZGlyZWN0bHkgYWNjZXNzaW5nIHRoZSBUeXBlQyBwb3J0IGludGVybmFsIHN0cnVj dCBtZW1iZXJzLA0KPiBhZGQvdXNlIGhlbHBlcnMgdG8gcmV0cmlldmUgdGhlIGNvcnJlc3BvbmRp bmcgcHJvcGVydGllcy4NCj4gDQo+IE5vIGZ1bmN0aW9uYWwgY2hhbmdlLg0KDQpSZXZpZXdlZC1i eTogSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSA8am9zZS5zb3V6YUBpbnRlbC5jb20+DQoNCj4gDQo+ IENjOiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4NCj4gU2ln bmVkLW9mZi1ieTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPg0KPiAtLS0NCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMgICAgICB8IDMxICsrKysrKyst LS0tLS0tLS0tLS0NCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eS5jICB8ICA2ICstLS0NCj4gIC4uLi9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93 ZXIuYyAgICB8ICA0ICstLQ0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k cF9hdXguYyAgIHwgIDYgKy0tLQ0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kcGxsX21nci5jIHwgIDUgKy0tDQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX3RjLmMgICAgICAgfCAyNCArKysrKysrKysrKysrKw0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF90Yy5oICAgICAgIHwgIDQgKysrDQo+ICA3IGZpbGVzIGNoYW5nZWQs IDQ2IGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jDQo+IGluZGV4IGM0ZWQ0Njc1ZjU3OTEuLmI5MTk0ZDZh NGRmZTcgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGRpLmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYw0K PiBAQCAtMjg4LDcgKzI4OCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9pbml0X2RwX2J1Zl9y ZWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsDQo+ICANCj4gIAlpZiAoSVNfQUxERVJM QUtFX1AoaTkxNSkgJiYgaW50ZWxfcGh5X2lzX3RjKGk5MTUsIHBoeSkpIHsNCj4gIAkJaW50ZWxf ZHAtPkRQIHw9IGRkaV9idWZfcGh5X2xpbmtfcmF0ZShjcnRjX3N0YXRlLT5wb3J0X2Nsb2NrKTsN Cj4gLQkJaWYgKGRpZ19wb3J0LT50Y19tb2RlICE9IFRDX1BPUlRfVEJUX0FMVCkNCj4gKwkJaWYg KCFpbnRlbF90Y19wb3J0X2luX3RidF9hbHRfbW9kZShkaWdfcG9ydCkpDQo+ICAJCQlpbnRlbF9k cC0+RFAgfD0gRERJX0JVRl9DVExfVENfUEhZX09XTkVSU0hJUDsNCj4gIAl9DQo+ICB9DQo+IEBA IC04ODUsOCArODg1LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX2dldF9wb3dlcl9kb21haW5z KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLA0KPiAgDQo+ICAJZGlnX3BvcnQgPSBlbmNf dG9fZGlnX3BvcnQoZW5jb2Rlcik7DQo+ICANCj4gLQlpZiAoIWludGVsX3BoeV9pc190YyhkZXZf cHJpdiwgcGh5KSB8fA0KPiAtCSAgICBkaWdfcG9ydC0+dGNfbW9kZSAhPSBUQ19QT1JUX1RCVF9B TFQpIHsNCj4gKwlpZiAoIWludGVsX3RjX3BvcnRfaW5fdGJ0X2FsdF9tb2RlKGRpZ19wb3J0KSkg ew0KPiAgCQlkcm1fV0FSTl9PTigmZGV2X3ByaXYtPmRybSwgZGlnX3BvcnQtPmRkaV9pb193YWtl cmVmKTsNCj4gIAkJZGlnX3BvcnQtPmRkaV9pb193YWtlcmVmID0gaW50ZWxfZGlzcGxheV9wb3dl cl9nZXQoZGV2X3ByaXYsDQo+ICAJCQkJCQkJCSAgIGRpZ19wb3J0LT5kZGlfaW9fcG93ZXJfZG9t YWluKTsNCj4gQEAgLTExODAsNyArMTE3OSw3IEBAIHN0YXRpYyB2b2lkIGljbF9tZ19waHlfZGRp X3Zzd2luZ19zZXF1ZW5jZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwNCj4gIAlpbnQg bl9lbnRyaWVzLCBsbjsNCj4gIAl1MzIgdmFsOw0KPiAgDQo+IC0JaWYgKGVuY190b19kaWdfcG9y dChlbmNvZGVyKS0+dGNfbW9kZSA9PSBUQ19QT1JUX1RCVF9BTFQpDQo+ICsJaWYgKGludGVsX3Rj X3BvcnRfaW5fdGJ0X2FsdF9tb2RlKGVuY190b19kaWdfcG9ydChlbmNvZGVyKSkpDQo+ICAJCXJl dHVybjsNCj4gIA0KPiAgCWRkaV90cmFuc2xhdGlvbnMgPSBlbmNvZGVyLT5nZXRfYnVmX3RyYW5z KGVuY29kZXIsIGNydGNfc3RhdGUsICZuX2VudHJpZXMpOw0KPiBAQCAtMTMxNyw3ICsxMzE2LDcg QEAgdGdsX2RrbF9waHlfZGRpX3Zzd2luZ19zZXF1ZW5jZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwNCj4gIAl1MzIgdmFsLCBkcGNudF9tYXNrLCBkcGNudF92YWw7DQo+ICAJaW50IG5f ZW50cmllcywgbG47DQo+ICANCj4gLQlpZiAoZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpLT50Y19t b2RlID09IFRDX1BPUlRfVEJUX0FMVCkNCj4gKwlpZiAoaW50ZWxfdGNfcG9ydF9pbl90YnRfYWx0 X21vZGUoZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpKSkNCj4gIAkJcmV0dXJuOw0KPiAgDQo+ICAJ ZGRpX3RyYW5zbGF0aW9ucyA9IGVuY29kZXItPmdldF9idWZfdHJhbnMoZW5jb2RlciwgY3J0Y19z dGF0ZSwgJm5fZW50cmllcyk7DQo+IEBAIC0yMDg0LDcgKzIwODMsNyBAQCBpY2xfcHJvZ3JhbV9t Z19kcF9tb2RlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0LA0KPiAgCXU4IHdp ZHRoOw0KPiAgDQo+ICAJaWYgKCFpbnRlbF9waHlfaXNfdGMoZGV2X3ByaXYsIHBoeSkgfHwNCj4g LQkgICAgZGlnX3BvcnQtPnRjX21vZGUgPT0gVENfUE9SVF9UQlRfQUxUKQ0KPiArCSAgICBpbnRl bF90Y19wb3J0X2luX3RidF9hbHRfbW9kZShkaWdfcG9ydCkpDQo+ICAJCXJldHVybjsNCj4gIA0K PiAgCWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTIpIHsNCj4gQEAgLTIxMDksNyArMjEw OCw3IEBAIGljbF9wcm9ncmFtX21nX2RwX21vZGUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq ZGlnX3BvcnQsDQo+ICAJc3dpdGNoIChwaW5fYXNzaWdubWVudCkgew0KPiAgCWNhc2UgMHgwOg0K PiAgCQlkcm1fV0FSTl9PTigmZGV2X3ByaXYtPmRybSwNCj4gLQkJCSAgICBkaWdfcG9ydC0+dGNf bW9kZSAhPSBUQ19QT1JUX0xFR0FDWSk7DQo+ICsJCQkgICAgIWludGVsX3RjX3BvcnRfaW5fbGVn YWN5X21vZGUoZGlnX3BvcnQpKTsNCj4gIAkJaWYgKHdpZHRoID09IDEpIHsNCj4gIAkJCWxuMSB8 PSBNR19EUF9NT0RFX0NGR19EUF9YMV9NT0RFOw0KPiAgCQl9IGVsc2Ugew0KPiBAQCAtMjM1NCw3 ICsyMzUzLDYgQEAgc3RhdGljIHZvaWQgZGcyX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRl bF9hdG9taWNfc3RhdGUgKnN0YXRlLA0KPiAgew0KPiAgCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7DQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7DQo+IC0JZW51bSBwaHkg cGh5ID0gaW50ZWxfcG9ydF90b19waHkoZGV2X3ByaXYsIGVuY29kZXItPnBvcnQpOw0KPiAgCXN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KGVuY29k ZXIpOw0KPiAgCWJvb2wgaXNfbXN0ID0gaW50ZWxfY3J0Y19oYXNfdHlwZShjcnRjX3N0YXRlLCBJ TlRFTF9PVVRQVVRfRFBfTVNUKTsNCj4gIAlpbnQgbGV2ZWwgPSBpbnRlbF9kZGlfZHBfbGV2ZWwo aW50ZWxfZHAsIGNydGNfc3RhdGUpOw0KPiBAQCAtMjM3OCw4ICsyMzc2LDcgQEAgc3RhdGljIHZv aWQgZGcyX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRl LA0KPiAgCWludGVsX2RkaV9lbmFibGVfY2xvY2soZW5jb2RlciwgY3J0Y19zdGF0ZSk7DQo+ICAN Cj4gIAkvKiA0LiBFbmFibGUgSU8gcG93ZXIgKi8NCj4gLQlpZiAoIWludGVsX3BoeV9pc190Yyhk ZXZfcHJpdiwgcGh5KSB8fA0KPiAtCSAgICBkaWdfcG9ydC0+dGNfbW9kZSAhPSBUQ19QT1JUX1RC VF9BTFQpDQo+ICsJaWYgKCFpbnRlbF90Y19wb3J0X2luX3RidF9hbHRfbW9kZShkaWdfcG9ydCkp DQo+ICAJCWRpZ19wb3J0LT5kZGlfaW9fd2FrZXJlZiA9IGludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0 KGRldl9wcml2LA0KPiAgCQkJCQkJCQkgICBkaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbik7 DQo+ICANCj4gQEAgLTI0NjgsNyArMjQ2NSw2IEBAIHN0YXRpYyB2b2lkIHRnbF9kZGlfcHJlX2Vu YWJsZV9kcChzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwNCj4gIHsNCj4gIAlzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGVuY29kZXIpOw0KPiAgCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5k ZXYpOw0KPiAtCWVudW0gcGh5IHBoeSA9IGludGVsX3BvcnRfdG9fcGh5KGRldl9wcml2LCBlbmNv ZGVyLT5wb3J0KTsNCj4gIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGVu Y190b19kaWdfcG9ydChlbmNvZGVyKTsNCj4gIAlib29sIGlzX21zdCA9IGludGVsX2NydGNfaGFz X3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0RQX01TVCk7DQo+ICAJaW50IGxldmVsID0g aW50ZWxfZGRpX2RwX2xldmVsKGludGVsX2RwLCBjcnRjX3N0YXRlKTsNCj4gQEAgLTI1MDUsOCAr MjUwMSw3IEBAIHN0YXRpYyB2b2lkIHRnbF9kZGlfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxf YXRvbWljX3N0YXRlICpzdGF0ZSwNCj4gIAlpbnRlbF9kZGlfZW5hYmxlX2Nsb2NrKGVuY29kZXIs IGNydGNfc3RhdGUpOw0KPiAgDQo+ICAJLyogNS4gSWYgSU8gcG93ZXIgaXMgY29udHJvbGxlZCB0 aHJvdWdoIFBXUl9XRUxMX0NUTCwgRW5hYmxlIElPIFBvd2VyICovDQo+IC0JaWYgKCFpbnRlbF9w aHlfaXNfdGMoZGV2X3ByaXYsIHBoeSkgfHwNCj4gLQkgICAgZGlnX3BvcnQtPnRjX21vZGUgIT0g VENfUE9SVF9UQlRfQUxUKSB7DQo+ICsJaWYgKCFpbnRlbF90Y19wb3J0X2luX3RidF9hbHRfbW9k ZShkaWdfcG9ydCkpIHsNCj4gIAkJZHJtX1dBUk5fT04oJmRldl9wcml2LT5kcm0sIGRpZ19wb3J0 LT5kZGlfaW9fd2FrZXJlZik7DQo+ICAJCWRpZ19wb3J0LT5kZGlfaW9fd2FrZXJlZiA9IGludGVs X2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LA0KPiAgCQkJCQkJCQkgICBkaWdfcG9ydC0+ZGRp X2lvX3Bvd2VyX2RvbWFpbik7DQo+IEBAIC0yNjExLDcgKzI2MDYsNiBAQCBzdGF0aWMgdm9pZCBo c3dfZGRpX3ByZV9lbmFibGVfZHAoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsDQo+ ICAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChlbmNvZGVyKTsN Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXIt PmJhc2UuZGV2KTsNCj4gIAllbnVtIHBvcnQgcG9ydCA9IGVuY29kZXItPnBvcnQ7DQo+IC0JZW51 bSBwaHkgcGh5ID0gaW50ZWxfcG9ydF90b19waHkoZGV2X3ByaXYsIHBvcnQpOw0KPiAgCXN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIp Ow0KPiAgCWJvb2wgaXNfbXN0ID0gaW50ZWxfY3J0Y19oYXNfdHlwZShjcnRjX3N0YXRlLCBJTlRF TF9PVVRQVVRfRFBfTVNUKTsNCj4gIAlpbnQgbGV2ZWwgPSBpbnRlbF9kZGlfZHBfbGV2ZWwoaW50 ZWxfZHAsIGNydGNfc3RhdGUpOw0KPiBAQCAtMjYzMCw4ICsyNjI0LDcgQEAgc3RhdGljIHZvaWQg aHN3X2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLA0K PiAgDQo+ICAJaW50ZWxfZGRpX2VuYWJsZV9jbG9jayhlbmNvZGVyLCBjcnRjX3N0YXRlKTsNCj4g IA0KPiAtCWlmICghaW50ZWxfcGh5X2lzX3RjKGRldl9wcml2LCBwaHkpIHx8DQo+IC0JICAgIGRp Z19wb3J0LT50Y19tb2RlICE9IFRDX1BPUlRfVEJUX0FMVCkgew0KPiArCWlmICghaW50ZWxfdGNf cG9ydF9pbl90YnRfYWx0X21vZGUoZGlnX3BvcnQpKSB7DQo+ICAJCWRybV9XQVJOX09OKCZkZXZf cHJpdi0+ZHJtLCBkaWdfcG9ydC0+ZGRpX2lvX3dha2VyZWYpOw0KPiAgCQlkaWdfcG9ydC0+ZGRp X2lvX3dha2VyZWYgPSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwNCj4gIAkJCQkJ CQkJICAgZGlnX3BvcnQtPmRkaV9pb19wb3dlcl9kb21haW4pOw0KPiBAQCAtMjgwMSw3ICsyNzk0 LDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3Bvc3RfZGlzYWJsZV9kcChzdHJ1Y3QgaW50ZWxf YXRvbWljX3N0YXRlICpzdGF0ZSwNCj4gIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gJmRp Z19wb3J0LT5kcDsNCj4gIAlib29sIGlzX21zdCA9IGludGVsX2NydGNfaGFzX3R5cGUob2xkX2Ny dGNfc3RhdGUsDQo+ICAJCQkJCSAgSU5URUxfT1VUUFVUX0RQX01TVCk7DQo+IC0JZW51bSBwaHkg cGh5ID0gaW50ZWxfcG9ydF90b19waHkoZGV2X3ByaXYsIGVuY29kZXItPnBvcnQpOw0KPiAgDQo+ ICAJaWYgKCFpc19tc3QpDQo+ICAJCWludGVsX2RwX3NldF9pbmZvZnJhbWVzKGVuY29kZXIsIGZh bHNlLA0KPiBAQCAtMjg0NCw4ICsyODM2LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3Bvc3Rf ZGlzYWJsZV9kcChzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwNCj4gIAlpbnRlbF9w cHNfdmRkX29uKGludGVsX2RwKTsNCj4gIAlpbnRlbF9wcHNfb2ZmKGludGVsX2RwKTsNCj4gIA0K PiAtCWlmICghaW50ZWxfcGh5X2lzX3RjKGRldl9wcml2LCBwaHkpIHx8DQo+IC0JICAgIGRpZ19w b3J0LT50Y19tb2RlICE9IFRDX1BPUlRfVEJUX0FMVCkNCj4gKwlpZiAoIWludGVsX3RjX3BvcnRf aW5fdGJ0X2FsdF9tb2RlKGRpZ19wb3J0KSkNCj4gIAkJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQo ZGV2X3ByaXYsDQo+ICAJCQkJCWRpZ19wb3J0LT5kZGlfaW9fcG93ZXJfZG9tYWluLA0KPiAgCQkJ CQlmZXRjaF9hbmRfemVybygmZGlnX3BvcnQtPmRkaV9pb193YWtlcmVmKSk7DQo+IEBAIC0zMzIy LDcgKzMzMTMsNyBAQCBpbnRlbF9kZGlfcHJlX3BsbF9lbmFibGUoc3RydWN0IGludGVsX2F0b21p Y19zdGF0ZSAqc3RhdGUsDQo+ICAJCQkJCQlpbnRlbF9kZGlfbWFpbl9saW5rX2F1eF9kb21haW4o ZGlnX3BvcnQpKTsNCj4gIAl9DQo+ICANCj4gLQlpZiAoaXNfdGNfcG9ydCAmJiBkaWdfcG9ydC0+ dGNfbW9kZSAhPSBUQ19QT1JUX1RCVF9BTFQpDQo+ICsJaWYgKGlzX3RjX3BvcnQgJiYgIWludGVs X3RjX3BvcnRfaW5fdGJ0X2FsdF9tb2RlKGRpZ19wb3J0KSkNCj4gIAkJLyoNCj4gIAkJICogUHJv Z3JhbSB0aGUgbGFuZSBjb3VudCBmb3Igc3RhdGljL2R5bmFtaWMgY29ubmVjdGlvbnMgb24NCj4g IAkJICogVHlwZS1DIHBvcnRzLiAgU2tpcCB0aGlzIHN0ZXAgZm9yIFRCVC4NCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMNCj4gaW5kZXggODU0Nzg0Mjkz NTM4OS4uZGRkOGFhNjU2MDM1MiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kaXNwbGF5LmMNCj4gQEAgLTMzNjEsMTEgKzMzNjEsNyBAQCBlbnVtIGludGVs X2Rpc3BsYXlfcG93ZXJfZG9tYWluIGludGVsX3BvcnRfdG9fcG93ZXJfZG9tYWluKGVudW0gcG9y dCBwb3J0KQ0KPiAgZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbg0KPiAgaW50ZWxfYXV4 X3Bvd2VyX2RvbWFpbihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkNCj4gIHsN Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRpZ19wb3J0 LT5iYXNlLmJhc2UuZGV2KTsNCj4gLQllbnVtIHBoeSBwaHkgPSBpbnRlbF9wb3J0X3RvX3BoeShk ZXZfcHJpdiwgZGlnX3BvcnQtPmJhc2UucG9ydCk7DQo+IC0NCj4gLQlpZiAoaW50ZWxfcGh5X2lz X3RjKGRldl9wcml2LCBwaHkpICYmDQo+IC0JICAgIGRpZ19wb3J0LT50Y19tb2RlID09IFRDX1BP UlRfVEJUX0FMVCkgew0KPiArCWlmIChpbnRlbF90Y19wb3J0X2luX3RidF9hbHRfbW9kZShkaWdf cG9ydCkpIHsNCj4gIAkJc3dpdGNoIChkaWdfcG9ydC0+YXV4X2NoKSB7DQo+ICAJCWNhc2UgQVVY X0NIX0M6DQo+ICAJCQlyZXR1cm4gUE9XRVJfRE9NQUlOX0FVWF9DX1RCVDsNCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmMNCj4gaW5k ZXggY2NlMWE5MjZmY2MxMC4uZWUwMzQ4MzA0NzYzMiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmMNCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmMNCj4gQEAgLTU2MCw3 ICs1NjAsNyBAQCBzdGF0aWMgdm9pZCBpY2xfdGNfcG9ydF9hc3NlcnRfcmVmX2hlbGQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LA0KPiAgCWlmIChkcm1fV0FSTl9PTigmZGV2X3By aXYtPmRybSwgIWRpZ19wb3J0KSkNCj4gIAkJcmV0dXJuOw0KPiAgDQo+IC0JaWYgKERJU1BMQVlf VkVSKGRldl9wcml2KSA9PSAxMSAmJiBkaWdfcG9ydC0+dGNfbGVnYWN5X3BvcnQpDQo+ICsJaWYg KERJU1BMQVlfVkVSKGRldl9wcml2KSA9PSAxMSAmJiBpbnRlbF90Y19jb2xkX3JlcXVpcmVzX2F1 eF9wdyhkaWdfcG9ydCkpDQo+ICAJCXJldHVybjsNCj4gIA0KPiAgCWRybV9XQVJOX09OKCZkZXZf cHJpdi0+ZHJtLCAhaW50ZWxfdGNfcG9ydF9yZWZfaGVsZChkaWdfcG9ydCkpOw0KPiBAQCAtNjI5 LDcgKzYyOSw3IEBAIGljbF90Y19waHlfYXV4X3Bvd2VyX3dlbGxfZW5hYmxlKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwNCj4gIAkgKiBleGl0IHNlcXVlbmNlLg0KPiAgCSAqLw0K PiAgCXRpbWVvdXRfZXhwZWN0ZWQgPSBpc190YnQgfHwgaW50ZWxfdGNfY29sZF9yZXF1aXJlc19h dXhfcHcoZGlnX3BvcnQpOw0KPiAtCWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPT0gMTEgJiYg ZGlnX3BvcnQtPnRjX2xlZ2FjeV9wb3J0KQ0KPiArCWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikg PT0gMTEgJiYgaW50ZWxfdGNfY29sZF9yZXF1aXJlc19hdXhfcHcoZGlnX3BvcnQpKQ0KPiAgCQlp Y2xfdGNfY29sZF9leGl0KGRldl9wcml2KTsNCj4gIA0KPiAgCWhzd193YWl0X2Zvcl9wb3dlcl93 ZWxsX2VuYWJsZShkZXZfcHJpdiwgcG93ZXJfd2VsbCwgdGltZW91dF9leHBlY3RlZCk7DQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX2F1eC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9hdXguYw0KPiBpbmRleCBkOWIy YTc4MzEwMWQwLi5mYmUxMTY2YmM1YTY0IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2RwX2F1eC5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZHBfYXV4LmMNCj4gQEAgLTE1MCw5ICsxNTAsNiBAQCBzdGF0aWMgdTMy IHNrbF9nZXRfYXV4X3NlbmRfY3RsKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsDQo+ICAJCQkJ dTMyIHVudXNlZCkNCj4gIHsNCj4gIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9y dCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsNCj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSA9DQo+IC0JCQl0b19pOTE1KGRpZ19wb3J0LT5iYXNlLmJhc2UuZGV2KTsNCj4gLQll bnVtIHBoeSBwaHkgPSBpbnRlbF9wb3J0X3RvX3BoeShpOTE1LCBkaWdfcG9ydC0+YmFzZS5wb3J0 KTsNCj4gIAl1MzIgcmV0Ow0KPiAgDQo+ICAJLyoNCj4gQEAgLTE3MCw4ICsxNjcsNyBAQCBzdGF0 aWMgdTMyIHNrbF9nZXRfYXV4X3NlbmRfY3RsKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsDQo+ ICAJICAgICAgRFBfQVVYX0NIX0NUTF9GV19TWU5DX1BVTFNFX1NLTCgzMikgfA0KPiAgCSAgICAg IERQX0FVWF9DSF9DVExfU1lOQ19QVUxTRV9TS0woMzIpOw0KPiAgDQo+IC0JaWYgKGludGVsX3Bo eV9pc190YyhpOTE1LCBwaHkpICYmDQo+IC0JICAgIGRpZ19wb3J0LT50Y19tb2RlID09IFRDX1BP UlRfVEJUX0FMVCkNCj4gKwlpZiAoaW50ZWxfdGNfcG9ydF9pbl90YnRfYWx0X21vZGUoZGlnX3Bv cnQpKQ0KPiAgCQlyZXQgfD0gRFBfQVVYX0NIX0NUTF9UQlRfSU87DQo+ICANCj4gIAlyZXR1cm4g cmV0Ow0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k cGxsX21nci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcGxsX21nci5j DQo+IGluZGV4IDA1NTk5MmQwOTljN2MuLjBhN2UwNGRiMDRiZTQgMTAwNjQ0DQo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBsbF9tZ3IuYw0KPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwbGxfbWdyLmMNCj4gQEAgLTI2LDYgKzI2 LDcgQEANCj4gICNpbmNsdWRlICJpbnRlbF9kcGlvX3BoeS5oIg0KPiAgI2luY2x1ZGUgImludGVs X2RwbGwuaCINCj4gICNpbmNsdWRlICJpbnRlbF9kcGxsX21nci5oIg0KPiArI2luY2x1ZGUgImlu dGVsX3RjLmgiDQo+ICANCj4gIC8qKg0KPiAgICogRE9DOiBEaXNwbGF5IFBMTHMNCj4gQEAgLTMx MDEsOCArMzEwMiw4IEBAIHN0YXRpYyB2b2lkIGljbF91cGRhdGVfYWN0aXZlX2RwbGwoc3RydWN0 IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsDQo+ICAJCWVuY190b19kaWdfcG9ydChlbmNvZGVy KTsNCj4gIA0KPiAgCWlmIChwcmltYXJ5X3BvcnQgJiYNCj4gLQkgICAgKHByaW1hcnlfcG9ydC0+ dGNfbW9kZSA9PSBUQ19QT1JUX0RQX0FMVCB8fA0KPiAtCSAgICAgcHJpbWFyeV9wb3J0LT50Y19t b2RlID09IFRDX1BPUlRfTEVHQUNZKSkNCj4gKwkgICAgKGludGVsX3RjX3BvcnRfaW5fZHBfYWx0 X21vZGUocHJpbWFyeV9wb3J0KSB8fA0KPiArCSAgICAgaW50ZWxfdGNfcG9ydF9pbl9sZWdhY3lf bW9kZShwcmltYXJ5X3BvcnQpKSkNCj4gIAkJcG9ydF9kcGxsX2lkID0gSUNMX1BPUlRfRFBMTF9N R19QSFk7DQo+ICANCj4gIAlpY2xfc2V0X2FjdGl2ZV9wb3J0X2RwbGwoY3J0Y19zdGF0ZSwgcG9y dF9kcGxsX2lkKTsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfdGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdGMuYw0KPiBp bmRleCAxZjc2YzExZDcwODM0Li41MTFjNDZlMzZlMjM3IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF90Yy5jDQo+IEBAIC0yMyw2ICsyMywzMCBAQCBzdGF0aWMgY29u c3QgY2hhciAqdGNfcG9ydF9tb2RlX25hbWUoZW51bSB0Y19wb3J0X21vZGUgbW9kZSkNCj4gIAly ZXR1cm4gbmFtZXNbbW9kZV07DQo+ICB9DQo+ICANCj4gK3N0YXRpYyBib29sIGludGVsX3RjX3Bv cnRfaW5fbW9kZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCwNCj4gKwkJCQkg IGVudW0gdGNfcG9ydF9tb2RlIG1vZGUpDQo+ICt7DQo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUgPSB0b19pOTE1KGRpZ19wb3J0LT5iYXNlLmJhc2UuZGV2KTsNCj4gKwllbnVtIHBo eSBwaHkgPSBpbnRlbF9wb3J0X3RvX3BoeShpOTE1LCBkaWdfcG9ydC0+YmFzZS5wb3J0KTsNCj4g Kw0KPiArCXJldHVybiBpbnRlbF9waHlfaXNfdGMoaTkxNSwgcGh5KSAmJiBkaWdfcG9ydC0+dGNf bW9kZSA9PSBtb2RlOw0KPiArfQ0KPiArDQo+ICtib29sIGludGVsX3RjX3BvcnRfaW5fdGJ0X2Fs dF9tb2RlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQ0KPiArew0KPiArCXJl dHVybiBpbnRlbF90Y19wb3J0X2luX21vZGUoZGlnX3BvcnQsIFRDX1BPUlRfVEJUX0FMVCk7DQo+ ICt9DQo+ICsNCj4gK2Jvb2wgaW50ZWxfdGNfcG9ydF9pbl9kcF9hbHRfbW9kZShzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkNCj4gK3sNCj4gKwlyZXR1cm4gaW50ZWxfdGNfcG9y dF9pbl9tb2RlKGRpZ19wb3J0LCBUQ19QT1JUX0RQX0FMVCk7DQo+ICt9DQo+ICsNCj4gK2Jvb2wg aW50ZWxfdGNfcG9ydF9pbl9sZWdhY3lfbW9kZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpk aWdfcG9ydCkNCj4gK3sNCj4gKwlyZXR1cm4gaW50ZWxfdGNfcG9ydF9pbl9tb2RlKGRpZ19wb3J0 LCBUQ19QT1JUX0xFR0FDWSk7DQo+ICt9DQo+ICsNCj4gIHN0YXRpYyBlbnVtIGludGVsX2Rpc3Bs YXlfcG93ZXJfZG9tYWluDQo+ICB0Y19jb2xkX2dldF9wb3dlcl9kb21haW4oc3RydWN0IGludGVs X2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpDQo+ICB7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX3RjLmgNCj4gaW5kZXggMGM4ODFmNjQ1ZTI3OS4uMGZkY2RkYjRmYzg3MCAxMDA2 NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90Yy5oDQo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdGMuaA0KPiBAQCAtMTIsNiAr MTIsMTAgQEANCj4gIHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQ7DQo+ICBzdHJ1Y3QgaW50ZWxf ZW5jb2RlcjsNCj4gIA0KPiArYm9vbCBpbnRlbF90Y19wb3J0X2luX3RidF9hbHRfbW9kZShzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCk7DQo+ICtib29sIGludGVsX3RjX3BvcnRf aW5fZHBfYWx0X21vZGUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpOw0KPiAr Ym9vbCBpbnRlbF90Y19wb3J0X2luX2xlZ2FjeV9tb2RlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmRpZ19wb3J0KTsNCj4gKw0KPiAgYm9vbCBpbnRlbF90Y19wb3J0X2Nvbm5lY3RlZChzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rlcik7DQo+ICB2b2lkIGludGVsX3RjX3BvcnRfZGlzY29u bmVjdF9waHkoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpOw0KPiAgDQoNCg==