From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id AB9A6A04B7; Wed, 14 Oct 2020 11:15:42 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0FBED1DB4F; Wed, 14 Oct 2020 11:15:40 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 34B111C23F for ; Wed, 14 Oct 2020 11:15:38 +0200 (CEST) IronPort-SDR: Zjz4lkZCHzKbyNDnCrb8+ENlYlbb5UIKNY10GKJTk8lSDswBDY97Ofe/5Eiatv+MZOpcZP1QMY VgQhpqbjgI0Q== X-IronPort-AV: E=McAfee;i="6000,8403,9773"; a="163435568" X-IronPort-AV: E=Sophos;i="5.77,374,1596524400"; d="scan'208";a="163435568" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Oct 2020 02:15:35 -0700 IronPort-SDR: rBGGgKF0G+vsTnVQon8efn8IJJEnJLddL9VAyMwmYhMVoONirEtBZ0CEpzh1rCLEkkMABstu4K diJEJPFSMPHg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,374,1596524400"; d="scan'208";a="330397913" Received: from irsmsx602.ger.corp.intel.com ([163.33.146.8]) by orsmga002.jf.intel.com with ESMTP; 14 Oct 2020 02:15:34 -0700 Received: from shsmsx601.ccr.corp.intel.com (10.109.6.141) by irsmsx602.ger.corp.intel.com (163.33.146.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 14 Oct 2020 10:15:32 +0100 Received: from shsmsx601.ccr.corp.intel.com ([10.109.6.141]) by SHSMSX601.ccr.corp.intel.com ([10.109.6.141]) with mapi id 15.01.1713.004; Wed, 14 Oct 2020 17:15:30 +0800 From: "Guo, Jia" To: "Burakov, Anatoly" , "dev@dpdk.org" CC: "Ma, Liang J" , Thomas Monjalon , "Yigit, Ferruh" , "Andrew Rybchenko" , Ray Kinsella , "Neil Horman" , "Hunt, David" , "Ananyev, Konstantin" , "jerinjacobk@gmail.com" , "Richardson, Bruce" , "McDaniel, Timothy" , "Eads, Gage" , "Macnamara, Chris" Thread-Topic: [dpdk-dev] [PATCH v5 04/10] ethdev: add simple power management API Thread-Index: AQHWnlX1mX45MqzKfk68xzuXvfdTG6mWb+8Q///gE4CAAIegMA== Date: Wed, 14 Oct 2020 09:15:30 +0000 Message-ID: References: <1601647919-25312-1-git-send-email-liang.j.ma@intel.com> <931cbea6d091f16a51ad7eed736b4b6e69df93aa.1602258833.git.anatoly.burakov@intel.com> <05a92739-b0f5-5808-cedf-4fd1c4d44f97@intel.com> In-Reply-To: <05a92739-b0f5-5808-cedf-4fd1c4d44f97@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 x-originating-ip: [10.239.127.36] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v5 04/10] ethdev: add simple power management API X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEJ1cmFrb3YsIEFuYXRvbHkg PGFuYXRvbHkuYnVyYWtvdkBpbnRlbC5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgT2N0b2JlciAx NCwgMjAyMCA1OjA3IFBNDQo+IFRvOiBHdW8sIEppYSA8amlhLmd1b0BpbnRlbC5jb20+OyBkZXZA ZHBkay5vcmcNCj4gQ2M6IE1hLCBMaWFuZyBKIDxsaWFuZy5qLm1hQGludGVsLmNvbT47IFRob21h cyBNb25qYWxvbg0KPiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IFlpZ2l0LCBGZXJydWggPGZlcnJ1 aC55aWdpdEBpbnRlbC5jb20+OyBBbmRyZXcNCj4gUnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtv QG9rdGV0bGFicy5ydT47IFJheSBLaW5zZWxsYQ0KPiA8bWRyQGFzaHJvZS5ldT47IE5laWwgSG9y bWFuIDxuaG9ybWFuQHR1eGRyaXZlci5jb20+OyBIdW50LCBEYXZpZA0KPiA8ZGF2aWQuaHVudEBp bnRlbC5jb20+OyBBbmFueWV2LCBLb25zdGFudGluDQo+IDxrb25zdGFudGluLmFuYW55ZXZAaW50 ZWwuY29tPjsgamVyaW5qYWNvYmtAZ21haWwuY29tOyBSaWNoYXJkc29uLA0KPiBCcnVjZSA8YnJ1 Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+OyBNY0RhbmllbCwgVGltb3RoeQ0KPiA8dGltb3RoeS5t Y2RhbmllbEBpbnRlbC5jb20+OyBFYWRzLCBHYWdlIDxnYWdlLmVhZHNAaW50ZWwuY29tPjsNCj4g TWFjbmFtYXJhLCBDaHJpcyA8Y2hyaXMubWFjbmFtYXJhQGludGVsLmNvbT4NCj4gU3ViamVjdDog UmU6IFtkcGRrLWRldl0gW1BBVENIIHY1IDA0LzEwXSBldGhkZXY6IGFkZCBzaW1wbGUgcG93ZXIN Cj4gbWFuYWdlbWVudCBBUEkNCj4gDQo+IE9uIDE0LU9jdC0yMCA0OjEwIEFNLCBHdW8sIEppYSB3 cm90ZToNCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBk ZXYgPGRldi1ib3VuY2VzQGRwZGsub3JnPiBPbiBCZWhhbGYgT2YgQW5hdG9seSBCdXJha292DQo+ ID4+IFNlbnQ6IFNhdHVyZGF5LCBPY3RvYmVyIDEwLCAyMDIwIDEyOjAyIEFNDQo+ID4+IFRvOiBk ZXZAZHBkay5vcmcNCj4gPj4gQ2M6IE1hLCBMaWFuZyBKIDxsaWFuZy5qLm1hQGludGVsLmNvbT47 IFRob21hcyBNb25qYWxvbg0KPiA+PiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IFlpZ2l0LCBGZXJy dWggPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyBBbmRyZXcNCj4gPj4gUnliY2hlbmtvIDxhbmRy ZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT47IFJheSBLaW5zZWxsYQ0KPiA+PiA8bWRyQGFzaHJv ZS5ldT47IE5laWwgSG9ybWFuIDxuaG9ybWFuQHR1eGRyaXZlci5jb20+OyBIdW50LCBEYXZpZA0K PiA+PiA8ZGF2aWQuaHVudEBpbnRlbC5jb20+OyBBbmFueWV2LCBLb25zdGFudGluDQo+ID4+IDxr b25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tPjsgamVyaW5qYWNvYmtAZ21haWwuY29tOyBSaWNo YXJkc29uLA0KPiA+PiBCcnVjZSA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+OyBNY0Rhbmll bCwgVGltb3RoeQ0KPiA+PiA8dGltb3RoeS5tY2RhbmllbEBpbnRlbC5jb20+OyBFYWRzLCBHYWdl IDxnYWdlLmVhZHNAaW50ZWwuY29tPjsNCj4gPj4gTWFjbmFtYXJhLCBDaHJpcyA8Y2hyaXMubWFj bmFtYXJhQGludGVsLmNvbT4NCj4gPj4gU3ViamVjdDogW2RwZGstZGV2XSBbUEFUQ0ggdjUgMDQv MTBdIGV0aGRldjogYWRkIHNpbXBsZSBwb3dlcg0KPiA+PiBtYW5hZ2VtZW50IEFQSQ0KPiA+Pg0K PiA+PiBGcm9tOiBMaWFuZyBNYSA8bGlhbmcuai5tYUBpbnRlbC5jb20+DQo+ID4+DQo+ID4+IEFk ZCBhIHNpbXBsZSBBUEkgdG8gYWxsb3cgZ2V0dGluZyBhZGRyZXNzIG9mIG5leHQgUlggZGVzY3Jp cHRvciBmcm9tDQo+ID4+IHRoZSBQTUQsIGFzIHdlbGwgYXMgcmVsZWFzZSBub3RlcyBpbmZvcm1h dGlvbi4NCj4gPj4NCj4gPj4gU2lnbmVkLW9mZi1ieTogTGlhbmcgTWEgPGxpYW5nLmoubWFAaW50 ZWwuY29tPg0KPiA+PiBTaWduZWQtb2ZmLWJ5OiBBbmF0b2x5IEJ1cmFrb3YgPGFuYXRvbHkuYnVy YWtvdkBpbnRlbC5jb20+DQo+ID4+IC0tLQ0KPiANCj4gSGkgSmlhLA0KPiANCj4gVGhhbmtzIGZv ciB5b3VyIHJldmlldy4gUmVzcG9uc2VzIGJlbG93Lg0KPiANCj4gPj4NCj4gPj4gTm90ZXM6DQo+ ID4+ICAgICAgdjU6DQo+ID4+ICAgICAgLSBCcmluZyBmdW5jdGlvbiBmb3JtYXQgaW4gbGluZSB3 aXRoIG90aGVyIGZ1bmN0aW9ucyBpbiB0aGUgZmlsZQ0KPiA+PiAgICAgIC0gRW5zdXJlIHRoZSBB UEkgaXMgc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIgYmVmb3JlIGNhbGxpbmcgaXQNCj4gPj4gKEtv bnN0YW50aW4pDQo+ID4+DQo+ID4+ICAgZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMF8x MS5yc3QgICB8IDE2ICsrKysrKysrKysrKysrDQo+ID4+ICAgbGliL2xpYnJ0ZV9ldGhkZXYvcnRl X2V0aGRldi5jICAgICAgICAgICB8IDE3ICsrKysrKysrKysrKysrDQo+ID4+ICAgbGliL2xpYnJ0 ZV9ldGhkZXYvcnRlX2V0aGRldi5oICAgICAgICAgICB8IDI0ICsrKysrKysrKysrKysrKysrKysr DQo+ID4+ICAgbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldl9kcml2ZXIuaCAgICB8IDI4DQo+ ICsrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+PiAgIGxpYi9saWJydGVfZXRoZGV2L3J0ZV9l dGhkZXZfdmVyc2lvbi5tYXAgfCAgMSArDQo+ID4+ICAgNSBmaWxlcyBjaGFuZ2VkLCA4NiBpbnNl cnRpb25zKCspDQo+ID4+DQo+ID4+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9y ZWxlYXNlXzIwXzExLnJzdA0KPiA+PiBiL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjBf MTEucnN0DQo+ID4+IGluZGV4IDgwOGJkYzRlNTQuLmU4NWFmNWQzZTkgMTAwNjQ0DQo+ID4+IC0t LSBhL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjBfMTEucnN0DQo+ID4+ICsrKyBiL2Rv Yy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjBfMTEucnN0DQo+ID4+IEBAIC01NSw2ICs1NSwx MSBAQCBOZXcgRmVhdHVyZXMNCj4gPj4gICAgICAgIEFsc28sIG1ha2Ugc3VyZSB0byBzdGFydCB0 aGUgYWN0dWFsIHRleHQgYXQgdGhlIG1hcmdpbi4NCj4gPj4NCj4gPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA+Pg0KPiA+PiArKiAqKmV0 aGRldjogYWRkIDEgbmV3IEVYUEVSSU1FTlRBTCBBUEkgZm9yIFBNRCBwb3dlcg0KPiA+PiBtYW5h Z2VtZW50LioqDQo+ID4+ICsNCj4gPj4gKyAgKiBgYHJ0ZV9ldGhfZ2V0X3dha2VfYWRkcigpYGAN Cj4gPj4gKyAgKiBhZGQgbmV3IGV0aF9kZXZfb3BzIGBgZ2V0X3dha2VfYWRkcmBgDQo+ID4+ICsN Cj4gPj4gICAqICoqVXBkYXRlZCBCcm9hZGNvbSBibnh0IGRyaXZlci4qKg0KPiA+Pg0KPiA+PiAg ICAgVXBkYXRlZCB0aGUgQnJvYWRjb20gYm54dCBkcml2ZXIgd2l0aCBuZXcgZmVhdHVyZXMgYW5k DQo+ID4+IGltcHJvdmVtZW50cywNCj4gPj4gaW5jbHVkaW5nOg0KPiA+PiBAQCAtMTM2LDYgKzE0 MSwxNyBAQCBOZXcgRmVhdHVyZXMNCj4gPj4gICAgICogRXh0ZXJuIG9iamVjdHMgYW5kIGZ1bmN0 aW9ucyBjYW4gYmUgcGx1Z2dlZCBpbnRvIHRoZSBwaXBlbGluZS4NCj4gPj4gICAgICogVHJhbnNh Y3Rpb24tb3JpZW50ZWQgdGFibGUgdXBkYXRlcy4NCj4gPj4NCj4gPj4gKyogKipBZGQgUE1EIHBv d2VyIG1hbmFnZW1lbnQgbWVjaGFuaXNtKioNCj4gPj4gKw0KPiA+PiArICAzIG5ldyBFdGhlcm5l dCBQTUQgcG93ZXIgbWFuYWdlbWVudCBtZWNoYW5pc20gaXMgYWRkZWQgdGhyb3VnaA0KPiA+DQo+ ID4gIiBtZWNoYW5pc21zIGFyZSAiIHBsZWFzZS4NCj4gPg0KPiA+PiArIGV4aXN0aW5nICBSWCBj YWxsYmFjayBpbmZyYXN0cnVjdHVyZS4NCj4gPj4gKw0KPiA+PiArICAqIEFkZCBwb3dlciBzYXZp bmcgc2NoZW1lIGJhc2VkIG9uIFVNV0FJVCBpbnN0cnVjdGlvbiAoeDg2IG9ubHkpDQo+ID4+ICsg ICogQWRkIHBvd2VyIHNhdmluZyBzY2hlbWUgYmFzZWQgb24gYGBydGVfcGF1c2UoKWBgDQo+ID4+ ICsgICogQWRkIHBvd2VyIHNhdmluZyBzY2hlbWUgYmFzZWQgb24gZnJlcXVlbmN5IHNjYWxpbmcg dGhyb3VnaCB0aGUNCj4gPj4gKyBwb3dlciBsaWJyYXJ5DQo+ID4+ICsgICogQWRkIG5ldyBFWFBF UklNRU5UQUwgQVBJDQo+ID4+IGBgcnRlX3Bvd2VyX3BtZF9tZ210X3F1ZXVlX2VuYWJsZSgpYGAN Cj4gPj4gKyAgKiBBZGQgbmV3IEVYUEVSSU1FTlRBTCBBUEkNCj4gPj4gYGBydGVfcG93ZXJfcG1k X21nbXRfcXVldWVfZGlzYWJsZSgpYGANCj4gPj4gKw0KPiA+DQo+ID4gQ291bGQgdGhpcyBkb2Mg YmUgc2VwYXJhdGUgdG8gb3RoZXIgc3BlY2lmaWMgcGF0Y2ggaWYgaXQgaXMgbm90IHJlbGF0ZWQg d2l0aCB0aGlzDQo+IHBhdGNoPw0KPiANCj4gSXQgaXMgcmVsYXRlZCAtIGl0J3MgdGhlIGRvYyBj aGFuZ2VzIHRoYXQgYWRkIG1lbnRpb24gb2YgdGhpcyBBUEkuIEkgd2FzIHVuZGVyDQo+IHRoZSBp bXByZXNzaW9uIGN1cnJlbnQgcG9saWN5IHdhcyBoYXZpbmcgZG9jIHVwZGF0ZXMgaW4gdGhlIHNh bWUgcGF0Y2ggYXMNCj4gdGhlIGNoYW5nZXMgbWFkZT8NCj4gDQoNCkRvIHlvdSB0aGluayB0aGlz IHBhcnQgd291bGQgYmUgYmV0dGVyIHNlcGFyYXRlIGludG8gW1BBVENIIHY1IDA1LzEwXT8NCg0K PiA+DQo+ID4+DQo+ID4+ICAgUmVtb3ZlZCBJdGVtcw0KPiA+PiAgIC0tLS0tLS0tLS0tLS0NCj4g Pj4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXYuYw0KPiA+PiBiL2xp Yi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXYuYyBpbmRleCA0OGQxMzMzYjE3Li4zNTIxMDhmNDNj IDEwMDY0NA0KPiA+PiAtLS0gYS9saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2LmMNCj4gPj4g KysrIGIvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldi5jDQo+ID4+IEBAIC00ODA0LDYgKzQ4 MDQsMjMgQEAgcnRlX2V0aF90eF9idXJzdF9tb2RlX2dldCh1aW50MTZfdCBwb3J0X2lkLA0KPiA+ PiB1aW50MTZfdCBxdWV1ZV9pZCwNCj4gPj4gICAJCSAgICAgICBkZXYtPmRldl9vcHMtPnR4X2J1 cnN0X21vZGVfZ2V0KGRldiwgcXVldWVfaWQsDQo+IG1vZGUpKTsgIH0NCj4gPj4NCj4gPj4gK2lu dA0KPiA+PiArcnRlX2V0aF9nZXRfd2FrZV9hZGRyKHVpbnQxNl90IHBvcnRfaWQsIHVpbnQxNl90 IHF1ZXVlX2lkLA0KPiA+PiArCQl2b2xhdGlsZSB2b2lkICoqd2FrZV9hZGRyLCB1aW50NjRfdCAq ZXhwZWN0ZWQsIHVpbnQ2NF90DQo+ID4+ICptYXNrKSB7DQo+ID4+ICsJc3RydWN0IHJ0ZV9ldGhf ZGV2ICpkZXY7DQo+ID4+ICsNCj4gPj4gKwlSVEVfRVRIX1ZBTElEX1BPUlRJRF9PUl9FUlJfUkVU KHBvcnRfaWQsIC1FTk9ERVYpOw0KPiA+PiArDQo+ID4+ICsJZGV2ID0gJnJ0ZV9ldGhfZGV2aWNl c1twb3J0X2lkXTsNCj4gPj4gKw0KPiA+PiArCVJURV9GVU5DX1BUUl9PUl9FUlJfUkVUKCpkZXYt PmRldl9vcHMtPmdldF93YWtlX2FkZHIsIC0NCj4gPj4gRU5PVFNVUCk7DQo+ID4+ICsNCj4gPj4g KwlyZXR1cm4gZXRoX2Vycihwb3J0X2lkLA0KPiA+PiArCQlkZXYtPmRldl9vcHMtPmdldF93YWtl X2FkZHIoZGV2LT5kYXRhLQ0KPiA+Pj4gcnhfcXVldWVzW3F1ZXVlX2lkXSwNCj4gPj4gKwkJCXdh a2VfYWRkciwgZXhwZWN0ZWQsIG1hc2spKTsNCj4gPj4gK30NCj4gPj4gKw0KPiA+PiAgIGludA0K PiA+PiAgIHJ0ZV9ldGhfZGV2X3NldF9tY19hZGRyX2xpc3QodWludDE2X3QgcG9ydF9pZCwNCj4g Pj4gICAJCQkgICAgIHN0cnVjdCBydGVfZXRoZXJfYWRkciAqbWNfYWRkcl9zZXQsIGRpZmYgLS1n aXQNCj4gPj4gYS9saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2LmggYi9saWIvbGlicnRlX2V0 aGRldi9ydGVfZXRoZGV2LmgNCj4gPj4gaW5kZXgNCj4gPj4gZDJiZjc0ZjEyOC4uYTZjZmUzY2Q1 NyAxMDA2NDQNCj4gPj4gLS0tIGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldi5oDQo+ID4+ ICsrKyBiL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXYuaA0KPiA+PiBAQCAtNDAxNCw2ICs0 MDE0LDMwIEBAIF9fcnRlX2V4cGVyaW1lbnRhbCAgaW50DQo+ID4+IHJ0ZV9ldGhfdHhfYnVyc3Rf bW9kZV9nZXQodWludDE2X3QgcG9ydF9pZCwgdWludDE2X3QgcXVldWVfaWQsDQo+ID4+ICAgCXN0 cnVjdCBydGVfZXRoX2J1cnN0X21vZGUgKm1vZGUpOw0KPiA+Pg0KPiA+PiArLyoqDQo+ID4+ICsg KiBSZXRyaWV2ZSB0aGUgd2FrZSB1cCBhZGRyZXNzIGZyb20gc3BlY2lmaWMgcXVldWUNCj4gPj4g KyAqDQo+ID4+ICsgKiBAcGFyYW0gcG9ydF9pZA0KPiA+PiArICogICBUaGUgcG9ydCBpZGVudGlm aWVyIG9mIHRoZSBFdGhlcm5ldCBkZXZpY2UuDQo+ID4+ICsgKiBAcGFyYW0gcXVldWVfaWQNCj4g Pj4gKyAqICAgVGhlIFR4IHF1ZXVlIG9uIHRoZSBFdGhlcm5ldCBkZXZpY2UgZm9yIHdoaWNoIGlu Zm9ybWF0aW9uDQo+ID4+ICsgKiAgIHdpbGwgYmUgcmV0cmlldmVkLg0KPiA+PiArICogQHBhcmFt IHdha2VfYWRkcg0KPiA+PiArICogICBUaGUgcG9pbnRlciBwb2ludCB0byB0aGUgYWRkcmVzcyB3 aGljaCBpcyB1c2VkIGZvciBtb25pdG9yaW5nLg0KPiA+PiArICogQHBhcmFtIGV4cGVjdGVkDQo+ ID4+ICsgKiAgIFRoZSBwb2ludGVyIHBvaW50IHRvIHZhbHVlIHRvIGJlIGV4cGVjdGVkIHdoZW4g ZGVzY3JpcHRvciBpcyBzZXQuDQo+ID4+ICsgKiBAcGFyYW0gbWFzaw0KPiA+PiArICogICBUaGUg cG9pbnRlciBwb2ludCB0byBjb21wYXJpc29uIGJpdG1hc2sgZm9yIHRoZSBleHBlY3RlZCB2YWx1 ZS4NCj4gPj4gKyAqDQo+ID4+ICsgKiBAcmV0dXJuDQo+ID4+ICsgKiAgIC0gMDogU3VjY2Vzcy4N Cj4gPj4gKyAqICAgLUVJTlZBTDogRmFpbGVkIHRvIGdldCB3YWtlIGFkZHJlc3MuDQo+ID4+ICsg Ki8NCj4gPg0KPiA+IElzIHRoYXQgIi1FSU5WQUwgIiBpcyB0aGUgb25seSBlcnJvciB2YWx1ZSB3 aGljaCB3aWxsIGJlIHJldHVybj8NCj4gDQo+IEFsc28gLUVOT1RTVVAsIGknbGwgYWRkIHRoaXMs IHRoYW5rcy4NCj4gDQo+ID4NCj4gPj4gK19fcnRlX2V4cGVyaW1lbnRhbA0KPiA+PiAraW50IHJ0 ZV9ldGhfZ2V0X3dha2VfYWRkcih1aW50MTZfdCBwb3J0X2lkLCB1aW50MTZfdCBxdWV1ZV9pZCwN Cj4gPj4gKwkJCSAgdm9sYXRpbGUgdm9pZCAqKndha2VfYWRkciwNCj4gPj4gKwkJCSAgdWludDY0 X3QgKmV4cGVjdGVkLCB1aW50NjRfdCAqbWFzayk7DQo+ID4+ICsNCj4gPj4gICAvKioNCj4gPj4g ICAgKiBSZXRyaWV2ZSBkZXZpY2UgcmVnaXN0ZXJzIGFuZCByZWdpc3RlciBhdHRyaWJ1dGVzIChu dW1iZXIgb2YgcmVnaXN0ZXJzDQo+IGFuZA0KPiA+PiAgICAqIHJlZ2lzdGVyIHNpemUpDQo+ID4+ IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2X2RyaXZlci5oDQo+ID4+ IGIvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldl9kcml2ZXIuaA0KPiA+PiBpbmRleCBjMzA2 MmMyNDZjLi45MzVkNDZmMjVjIDEwMDY0NA0KPiA+PiAtLS0gYS9saWIvbGlicnRlX2V0aGRldi9y dGVfZXRoZGV2X2RyaXZlci5oDQo+ID4+ICsrKyBiL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhk ZXZfZHJpdmVyLmgNCj4gPj4gQEAgLTU3NCw2ICs1NzQsMzEgQEAgdHlwZWRlZiBpbnQgKCpldGhf dHhfaGFpcnBpbl9xdWV1ZV9zZXR1cF90KQ0KPiA+PiAgIAkgdWludDE2X3QgbmJfdHhfZGVzYywN Cj4gPj4gICAJIGNvbnN0IHN0cnVjdCBydGVfZXRoX2hhaXJwaW5fY29uZiAqaGFpcnBpbl9jb25m KTsNCj4gPj4NCj4gPj4gKy8qKg0KPiA+PiArICogQGludGVybmFsDQo+ID4+ICsgKiBHZXQgdGhl IFdha2UgdXAgYWRkcmVzcy4NCj4gPj4gKyAqDQo+ID4+ICsgKiBAcGFyYW0gcnhxDQo+ID4+ICsg KiAgIEV0aGRldiBxdWV1ZSBwb2ludGVyLg0KPiA+PiArICogQHBhcmFtIHRhaWxfZGVzY19hZGRy DQo+ID4+ICsgKiAgIFRoZSBwb2ludGVyIHBvaW50IHRvIGRlc2NyaXB0b3IgYWRkcmVzcyB2YXIu DQo+ID4+ICsgKiBAcGFyYW0gZXhwZWN0ZWQNCj4gPj4gKyAqICAgVGhlIHBvaW50ZXIgcG9pbnQg dG8gdmFsdWUgdG8gYmUgZXhwZWN0ZWQgd2hlbiBkZXNjcmlwdG9yIGlzIHNldC4NCj4gPj4gKyAq IEBwYXJhbSBtYXNrDQo+ID4+ICsgKiAgIFRoZSBwb2ludGVyIHBvaW50IHRvIGNvbXBhcmlzb24g Yml0bWFzayBmb3IgdGhlIGV4cGVjdGVkIHZhbHVlLg0KPiA+PiArICogQHJldHVybg0KPiA+PiAr ICogICBOZWdhdGl2ZSBlcnJubyB2YWx1ZSBvbiBlcnJvciwgMCBvbiBzdWNjZXNzLg0KPiA+PiAr ICoNCj4gPj4gKyAqIEByZXR2YWwgMA0KPiA+PiArICogICBTdWNjZXNzLg0KPiA+PiArICogQHJl dHZhbCAtRUlOVkFMDQo+ID4+ICsgKiAgIEZhaWxlZCB0byBnZXQgZGVzY3JpcHRvciBhZGRyZXNz Lg0KPiA+PiArICovDQo+ID4NCj4gPiBUaGUgcXVlc3Rpb24gaXMgdGhlIHNhbWUgYXMgYWJvdmUu DQo+IA0KPiBUaGlzIGlzIGEgZHJpdmVyIGZ1bmN0aW9uIHBvaW50ZXIsIHNvIHJldHVybiB2YWx1 ZSB3aWxsIGRlcGVuZCBvbiBkcml2ZXINCj4gaW1wbGVtZW50YXRpb24uIFNvIGZhciB3ZSBvbmx5 IHNlZSAwIG9yIC1FSU5WQUwgdmFsdWVzIGZyb20gdGhlIGRyaXZlciBpdHNlbGYsDQo+IHdoaWxl IC1FTk9UU1VQIHdpbGwgYmUgcmV0dXJuZWQgYnkgZXRoZGV2IGluIGNhc2UgdGhlcmUgaXMgbm8g ZHJpdmVyDQo+IGltcGxlbWVudGF0aW9uIG9mIHRoaXMgZnVuY3Rpb24uIFNvLCBpbiB0aGlzIGNh c2UgdGhpcyBpcyBjb3JyZWN0Lg0KPiANCg0KT2suDQoNCj4gPg0KPiA+PiArdHlwZWRlZiBpbnQg KCpldGhfZ2V0X3dha2VfYWRkcl90KQ0KPiA+PiArCSh2b2lkICpyeHEsIHZvbGF0aWxlIHZvaWQg Kip0YWlsX2Rlc2NfYWRkciwNCj4gPj4gKwkgdWludDY0X3QgKmV4cGVjdGVkLCB1aW50NjRfdCAq bWFzayk7DQo+ID4+ICsNCj4gPj4gKw0KPiA+PiAgIC8qKg0KPiA+PiAgICAqIEBpbnRlcm5hbCBB IHN0cnVjdHVyZSBjb250YWluaW5nIHRoZSBmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgYW4NCj4gRXRo ZXJuZXQNCj4gPj4gZHJpdmVyLg0KPiA+PiAgICAqLw0KPiA+PiBAQCAtNzEzLDYgKzczOCw5IEBA IHN0cnVjdCBldGhfZGV2X29wcyB7DQo+ID4+ICAgCS8qKjwgU2V0IHVwIGRldmljZSBSWCBoYWly cGluIHF1ZXVlLiAqLw0KPiA+PiAgIAlldGhfdHhfaGFpcnBpbl9xdWV1ZV9zZXR1cF90IHR4X2hh aXJwaW5fcXVldWVfc2V0dXA7DQo+ID4+ICAgCS8qKjwgU2V0IHVwIGRldmljZSBUWCBoYWlycGlu IHF1ZXVlLiAqLw0KPiA+PiArCWV0aF9nZXRfd2FrZV9hZGRyX3QgZ2V0X3dha2VfYWRkcjsNCj4g Pj4gKwkvKio8IEdldCB3YWtlIHVwIGFkZHJlc3MuICovDQo+ID4+ICsNCj4gPj4gICB9Ow0KPiA+ Pg0KPiA+PiAgIC8qKg0KPiA+PiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0 aGRldl92ZXJzaW9uLm1hcA0KPiA+PiBiL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXZfdmVy c2lvbi5tYXANCj4gPj4gaW5kZXggYzk1ZWY1MTU3YS4uM2NiMjA5Mzk4MCAxMDA2NDQNCj4gPj4g LS0tIGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldl92ZXJzaW9uLm1hcA0KPiA+PiArKysg Yi9saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2X3ZlcnNpb24ubWFwDQo+ID4+IEBAIC0yMjks NiArMjI5LDcgQEAgRVhQRVJJTUVOVEFMIHsNCj4gPj4gICAJIyBhZGRlZCBpbiAyMC4xMQ0KPiA+ PiAgIAlydGVfZXRoX2xpbmtfc3BlZWRfdG9fc3RyOw0KPiA+PiAgIAlydGVfZXRoX2xpbmtfdG9f c3RyOw0KPiA+PiArCXJ0ZV9ldGhfZ2V0X3dha2VfYWRkcjsNCj4gPj4gICB9Ow0KPiA+Pg0KPiA+ PiAgIElOVEVSTkFMIHsNCj4gPj4gLS0NCj4gPj4gMi4xNy4xDQo+IA0KPiANCj4gLS0NCj4gVGhh bmtzLA0KPiBBbmF0b2x5DQo=